diff --git a/addon/controllers/application.js b/addon/controllers/application.js new file mode 100644 index 0000000..4192a6c --- /dev/null +++ b/addon/controllers/application.js @@ -0,0 +1,199 @@ +import Controller from '@ember/controller'; +import { action } from '@ember/object'; +import { inject as service } from '@ember/service'; + +export default class ApplicationController extends Controller { + @service fetch; + + get navigationItems() { + return [ + { + label: 'Dashboard', + description: 'Ledger dashboard and financial overview.', + icon: 'chart-simple', + route: 'console.ledger.home', + keywords: ['overview', 'metrics', 'finance dashboard'], + }, + { + label: 'Billing', + description: 'Invoices and reusable invoice templates.', + icon: 'file-invoice-dollar', + children: [ + { + label: 'Invoices', + description: 'Create, send, and manage customer invoices.', + icon: 'file-invoice-dollar', + route: 'console.ledger.billing.invoices.index', + keywords: ['receivables', 'customers', 'payments due'], + }, + { + label: 'Invoice Templates', + description: 'Design reusable invoice templates.', + icon: 'file-code', + route: 'console.ledger.billing.invoice-templates.index', + keywords: ['templates', 'invoice design', 'documents'], + }, + ], + }, + { + label: 'Payments', + description: 'Transactions, wallets, and payment gateways.', + icon: 'money-bill-transfer', + children: [ + { + label: 'Transactions', + description: 'Review payment and wallet transaction history.', + icon: 'money-bill-transfer', + route: 'console.ledger.payments.transactions.index', + keywords: ['payments', 'charges', 'refunds', 'settlements'], + }, + { + label: 'Wallets', + description: 'Manage company, customer, and driver wallets.', + icon: 'wallet', + route: 'console.ledger.payments.wallets.index', + keywords: ['balances', 'top ups', 'payouts'], + }, + { + label: 'Gateways', + description: 'Configure payment gateway integrations.', + icon: 'credit-card', + route: 'console.ledger.payments.gateways.index', + keywords: ['stripe', 'payment providers', 'checkout'], + }, + ], + }, + { + label: 'Accounting', + description: 'Chart of accounts, journals, and general ledger.', + icon: 'calculator', + children: [ + { + label: 'Chart of Accounts', + description: 'Manage the ledger account structure.', + icon: 'sitemap', + route: 'console.ledger.accounting.accounts.index', + keywords: ['accounts', 'coa', 'accounting'], + }, + { + label: 'Journal Entries', + description: 'Browse and create double-entry journal entries.', + icon: 'book', + route: 'console.ledger.accounting.journal.index', + keywords: ['journals', 'debits', 'credits'], + }, + { + label: 'General Ledger', + description: 'Review posted activity across accounts.', + icon: 'scroll', + route: 'console.ledger.accounting.general-ledger', + keywords: ['ledger', 'posted transactions', 'account activity'], + }, + ], + }, + { + label: 'Reports', + description: 'Financial statements and operational reports.', + icon: 'chart-line', + children: [ + { + label: 'Income Statement', + description: 'Revenue, expenses, and net income.', + icon: 'chart-line', + route: 'console.ledger.reports.income-statement', + keywords: ['profit and loss', 'pnl', 'revenue', 'expenses'], + }, + { + label: 'Balance Sheet', + description: 'Assets, liabilities, and equity.', + icon: 'scale-balanced', + route: 'console.ledger.reports.balance-sheet', + keywords: ['assets', 'liabilities', 'equity'], + }, + { + label: 'Trial Balance', + description: 'Debit and credit balances by account.', + icon: 'list-check', + route: 'console.ledger.reports.trial-balance', + keywords: ['debits', 'credits', 'balances'], + }, + { + label: 'Cash Flow', + description: 'Cash movement over the selected period.', + icon: 'water', + route: 'console.ledger.reports.cash-flow', + keywords: ['cash', 'inflow', 'outflow'], + }, + { + label: 'AR Aging', + description: 'Outstanding receivables by age bucket.', + icon: 'clock', + route: 'console.ledger.reports.ar-aging', + keywords: ['receivables', 'overdue invoices', 'aging'], + }, + { + label: 'Wallet Summary', + description: 'Wallet balances and activity summary.', + icon: 'wallet', + route: 'console.ledger.reports.wallet-summary', + keywords: ['wallet report', 'balances'], + }, + ], + }, + { + label: 'Settings', + description: 'Ledger billing, payment, and accounting settings.', + icon: 'gear', + children: [ + { + label: 'Invoice Settings', + description: 'Configure invoice numbering, defaults, and templates.', + icon: 'file-invoice', + route: 'console.ledger.settings.invoice', + keywords: ['invoice defaults', 'numbering', 'template'], + }, + { + label: 'Payment Settings', + description: 'Configure payment defaults and gateway behavior.', + icon: 'gear', + route: 'console.ledger.settings.payment', + keywords: ['payments', 'gateway defaults'], + }, + { + label: 'Accounting Settings', + description: 'Configure accounting automation and posting behavior.', + icon: 'calculator', + route: 'console.ledger.settings.accounting', + keywords: ['journal automation', 'posting', 'accounts'], + }, + ], + }, + ]; + } + + @action + async searchNavigation({ query, limit = 12 }) { + const trimmedQuery = query?.trim(); + + if (!trimmedQuery) { + return []; + } + + try { + const response = await this.fetch.get( + 'search', + { + query: trimmedQuery, + limit, + }, + { + namespace: 'ledger/int/v1', + } + ); + + return response.results ?? []; + } catch (_) { + return []; + } + } +} diff --git a/addon/templates/application.hbs b/addon/templates/application.hbs index 620e7c5..31f5e9a 100644 --- a/addon/templates/application.hbs +++ b/addon/templates/application.hbs @@ -1,38 +1,6 @@ - Dashboard - - - Invoices - Invoice Templates - - - - Transactions - Wallets - Gateways - - - - Chart of Accounts - Journal Entries - General Ledger - - - - Income Statement - Balance Sheet - Trial Balance - Cash Flow - AR Aging - Wallet Summary - - - - Invoice Settings - Payment Settings - Accounting Settings - + {{outlet}} - \ No newline at end of file + diff --git a/app/controllers/application.js b/app/controllers/application.js new file mode 100644 index 0000000..21b90ae --- /dev/null +++ b/app/controllers/application.js @@ -0,0 +1 @@ +export { default } from '@fleetbase/ledger-engine/controllers/application'; diff --git a/composer.json b/composer.json index e6e2bb4..09a2ba7 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "name": "fleetbase/ledger-api", - "version": "0.0.4", + "version": "0.0.5", "description": "Accounting & Invoicing Extension for Fleetbase", "keywords": [ "fleetbase", diff --git a/extension.json b/extension.json index 2b4a680..22a6f7c 100644 --- a/extension.json +++ b/extension.json @@ -1,6 +1,6 @@ { "name": "Ledger", - "version": "0.0.4", + "version": "0.0.5", "description": "Accounting & Invoicing Extension for Fleetbase", "repository": "https://github.com/fleetbase/ledger", "license": "AGPL-3.0-or-later", diff --git a/package.json b/package.json index 65c3ef4..cc62ff0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fleetbase/ledger-engine", - "version": "0.0.4", + "version": "0.0.5", "description": "Accounting & Invoicing Extension for Fleetbase", "keywords": [ "fleetbase-extension", @@ -44,9 +44,9 @@ }, "dependencies": { "@babel/core": "^7.23.2", - "@fleetbase/ember-core": "^0.3.21", - "@fleetbase/ember-ui": "^0.3.33", - "@fleetbase/fleetops-data": "^0.1.36", + "@fleetbase/ember-core": "^0.3.22", + "@fleetbase/ember-ui": "^0.3.34", + "@fleetbase/fleetops-data": "^0.1.37", "@fortawesome/ember-fontawesome": "^2.0.0", "@fortawesome/fontawesome-svg-core": "6.4.0", "@fortawesome/free-brands-svg-icons": "6.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 07e4e1e..785a56d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,14 +12,14 @@ importers: specifier: ^7.23.2 version: 7.29.0 '@fleetbase/ember-core': - specifier: ^0.3.21 - version: 0.3.21(@ember/string@3.1.1)(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0)(webpack@5.89.0) + specifier: ^0.3.22 + version: 0.3.22(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0)(webpack@5.89.0) '@fleetbase/ember-ui': - specifier: ^0.3.33 - version: 0.3.33(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.23.2))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(postcss@8.5.8)(rollup@2.79.1)(tracked-built-ins@3.4.0(@babel/core@7.23.2))(webpack@5.89.0) + specifier: ^0.3.34 + version: 0.3.34(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.29.0))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(postcss@8.5.8)(rollup@2.79.1)(tracked-built-ins@3.4.0(@babel/core@7.29.0))(webpack@5.89.0) '@fleetbase/fleetops-data': - specifier: ^0.1.36 - version: 0.1.36(@ember/string@3.1.1)(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0)(webpack@5.89.0) + specifier: ^0.1.37 + version: 0.1.37(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0)(webpack@5.89.0) '@fortawesome/ember-fontawesome': specifier: ^2.0.0 version: 2.0.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(rollup@2.79.1)(webpack@5.89.0) @@ -71,7 +71,7 @@ importers: version: 2.0.0 '@ember/test-helpers': specifier: ^3.2.0 - version: 3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) + version: 3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) '@embroider/test-setup': specifier: ^3.0.2 version: 3.0.2 @@ -1847,6 +1847,10 @@ packages: resolution: {integrity: sha512-EfI9cJ5/3QSUJtwm7x1MXrx3TEa2p7RNgSHefy7fvGm8/DP1xUFL25nST1NaHbHcqR1UhMlrTtv5iUIDoVzeQQ==} engines: {node: 12.* || 14.* || >= 16} + '@embroider/addon-shim@1.10.3': + resolution: {integrity: sha512-GYbaiC1v9inbiwVg5s+Sd14Jc66NYxg23mEOocgWAZFCtOfhMnRLaLAA6SytW76myVVYImGHX5PFK4PVuH2yng==} + engines: {node: 12.* || 14.* || >= 16} + '@embroider/addon-shim@1.8.3': resolution: {integrity: sha512-7pyHwzT6ESXc3nZsB8rfnirLkUhQWdvj6CkYH+0MUPN74mX4rslf7pnBqZE/KZkW3uBIaBYvU8fxi0hcKC/Paw==} engines: {node: 12.* || 14.* || >= 16} @@ -1893,6 +1897,10 @@ packages: resolution: {integrity: sha512-/SusdG+zgosc3t+9sPFVKSFOYyiSgLfXOT6lYNWoG1YtnhWDxlK4S8leZ0jhcVjemdaHln5rTyxCnq8oFLxqpQ==} engines: {node: 12.* || 14.* || >= 16} + '@embroider/shared-internals@3.1.1': + resolution: {integrity: sha512-IlxD8okTt9cRUFpJKD8gTuQUBuEflrhCUju1xZFdYvmGm5XVqHPfG4I6+bEdKb8NO92aqHxr9SYuYibDmpMM9w==} + engines: {node: 12.* || 14.* || >= 16} + '@embroider/test-setup@3.0.2': resolution: {integrity: sha512-cq/xp06CAB8rAGnObeJux7qALnAX2MatMVLjWyGDr3ogS5lHTNXZVCv4ltTM3pJ8EsZWpPM32dtUZqSJFkGibQ==} engines: {node: 12.* || 14.* || >= 16} @@ -1961,20 +1969,16 @@ packages: peerDependencies: ember-source: '>= 4.0.0' - '@fleetbase/ember-core@0.3.20': - resolution: {integrity: sha512-eqY15urfqFkC26TJO/irdCxke9VE7ywcLodM3K6iDEXR+FFk50YIWnXzvU8PvEQ1EZCRJdyEERvCc9FnypXFQA==} + '@fleetbase/ember-core@0.3.22': + resolution: {integrity: sha512-tCYgxJoemUXgjsUztzeJZSwU2ejDp5x2WYI3FsBO55AlcC+mfWm0FsYtuPd9xd9PoO1jZ3T3VyvQQ06HRPtqWw==} engines: {node: '>= 18'} - '@fleetbase/ember-core@0.3.21': - resolution: {integrity: sha512-hBIisQfGuuWolyzUnIx+l6M7JtiLMXxhOM1UlAITJ3kIXK0gLclHX3JxF9zoonSnkzNtOe9/TbzIFuKlJVbG9w==} + '@fleetbase/ember-ui@0.3.34': + resolution: {integrity: sha512-l67lrbpeh0JRLDHr1sJ3QnxP6vPKwVW614CVWEASs6ZImGCBr6CK3DjsT3h+1uslQa51dpixN/stiQ+C/Z1etA==} engines: {node: '>= 18'} - '@fleetbase/ember-ui@0.3.33': - resolution: {integrity: sha512-XUkRFR/hPfXq1pGadPvEZVTGU7f1D4IHzXcyKVmppY5AxPjgk8PeteoFnNdwZmbGdkTFzifydeG313DltBWlUg==} - engines: {node: '>= 18'} - - '@fleetbase/fleetops-data@0.1.36': - resolution: {integrity: sha512-w8FmeoCYcWHIoaN5Oxk8XDkxI+va1dwUZCeFDJ2/6oaJ/n6sCFknki67AmYJ0cFJEqHPskUgA8uaQlqw9ZGJXA==} + '@fleetbase/fleetops-data@0.1.37': + resolution: {integrity: sha512-VGVWaGlwQAqHWA9/A80jKAjoDkAM7U9Ve1UVmKkCTlolqUd5/k/Z66rVC0iFUijj8qzkMCdahdh3mBPQ6x71WA==} engines: {node: '>= 18'} '@floating-ui/core@1.7.5': @@ -6557,6 +6561,9 @@ packages: lodash@4.17.23: resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} + log-symbols@2.2.0: resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} engines: {node: '>=4'} @@ -7321,6 +7328,10 @@ packages: pkg-entry-points@1.1.1: resolution: {integrity: sha512-BhZa7iaPmB4b3vKIACoppyUoYn8/sFs17VJJtzrzPZvEnN2nqrgg911tdL65lA2m1ml6UI3iPeYbZQ4VXpn1mA==} + pkg-entry-points@1.1.2: + resolution: {integrity: sha512-bmmM+SdLXNNetFr4o53QiiZRZicls2apmzj8HRpo4bU+3nJHiPO/omv8TXHIOzTcirua3YBAwTlKE+7zkICh4g==} + engines: {node: '>=20.19.5'} + pkg-up@2.0.0: resolution: {integrity: sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg==} engines: {node: '>=4'} @@ -8195,6 +8206,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.8.4: + resolution: {integrity: sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==} + engines: {node: '>=10'} + hasBin: true + send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -11467,7 +11483,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.29.0) '@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.2)': @@ -12470,6 +12486,16 @@ snapshots: - '@babel/core' - supports-color + '@ember/render-modifiers@2.1.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))': + dependencies: + '@embroider/macros': 1.20.0(@babel/core@7.23.2) + ember-cli-babel: 7.26.11 + ember-modifier-manager-polyfill: 1.2.0(@babel/core@7.23.2) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) + transitivePeerDependencies: + - '@babel/core' + - supports-color + '@ember/string@3.1.1': dependencies: ember-cli-babel: 7.26.11 @@ -12492,6 +12518,22 @@ snapshots: - supports-color - webpack + '@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0)': + dependencies: + '@ember/test-waiters': 3.1.0 + '@embroider/macros': 1.13.5 + '@simple-dom/interface': 1.4.0 + broccoli-debug: 0.6.5 + broccoli-funnel: 3.0.8 + ember-auto-import: 2.8.1(webpack@5.89.0) + ember-cli-babel: 7.26.11 + ember-cli-htmlbars: 6.3.0 + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) + transitivePeerDependencies: + - '@glint/template' + - supports-color + - webpack + '@ember/test-waiters@3.1.0': dependencies: calculate-cache-key-for-tree: 2.0.0 @@ -12510,6 +12552,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@embroider/addon-shim@1.10.3': + dependencies: + '@embroider/shared-internals': 3.1.1 + broccoli-funnel: 3.0.8 + common-ancestor-path: 1.0.1 + semver: 7.8.4 + transitivePeerDependencies: + - supports-color + '@embroider/addon-shim@1.8.3': dependencies: '@embroider/shared-internals': 1.8.3 @@ -12618,6 +12669,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@embroider/shared-internals@3.1.1': + dependencies: + babel-import-util: 3.0.1 + debug: 4.4.3 + ember-rfc176-data: 0.3.18 + fs-extra: 9.1.0 + is-subdir: 1.2.0 + js-string-escape: 1.0.1 + lodash: 4.18.1 + minimatch: 3.1.5 + pkg-entry-points: 1.1.2 + resolve-package-path: 4.0.3 + resolve.exports: 2.0.3 + semver: 7.8.4 + typescript-memoize: 1.1.1 + transitivePeerDependencies: + - supports-color + '@embroider/test-setup@3.0.2': dependencies: lodash: 4.17.21 @@ -12633,22 +12702,32 @@ snapshots: - '@babel/core' - supports-color - '@embroider/util@1.13.5(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))': + '@embroider/util@1.12.1(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))': dependencies: '@embroider/macros': 1.20.0(@babel/core@7.23.2) broccoli-funnel: 3.0.8 ember-cli-babel: 7.26.11 - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) transitivePeerDependencies: - '@babel/core' - supports-color - '@embroider/util@1.13.5(@babel/core@7.29.0)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))': + '@embroider/util@1.13.5(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))': + dependencies: + '@embroider/macros': 1.20.0(@babel/core@7.23.2) + broccoli-funnel: 3.0.8 + ember-cli-babel: 7.26.11 + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) + transitivePeerDependencies: + - '@babel/core' + - supports-color + + '@embroider/util@1.13.5(@babel/core@7.29.0)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))': dependencies: '@embroider/macros': 1.20.0(@babel/core@7.29.0) broccoli-funnel: 3.0.8 ember-cli-babel: 7.26.11 - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) transitivePeerDependencies: - '@babel/core' - supports-color @@ -12682,48 +12761,16 @@ snapshots: transitivePeerDependencies: - '@typescript-eslint/types' - '@fleetbase/ember-accounting@0.0.1(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))': + '@fleetbase/ember-accounting@0.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))': dependencies: '@babel/core': 7.23.2 ember-cli-babel: 8.2.0(@babel/core@7.23.2) ember-cli-htmlbars: 6.3.0 - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) - transitivePeerDependencies: - - supports-color - - '@fleetbase/ember-core@0.3.20(@ember/string@3.1.1)(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0)(webpack@5.89.0)': - dependencies: - '@babel/core': 7.23.2 - compress-json: 3.4.0 - date-fns: 2.30.0 - ember-auto-import: 2.8.1(webpack@5.89.0) - ember-can: 6.0.0(@babel/core@7.23.2)(@ember/string@3.1.1)(ember-inflector@4.0.3(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - ember-cli-babel: 8.2.0(@babel/core@7.23.2) - ember-cli-htmlbars: 6.3.0 - ember-cli-notifications: 9.1.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - ember-concurrency: 4.0.6(@babel/core@7.23.2) - ember-decorators: 6.1.1 - ember-get-config: 2.1.1(@babel/core@7.23.2) - ember-inflector: 4.0.3(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - ember-intl: 6.3.2(@babel/core@7.23.2)(webpack@5.89.0) - ember-loading: 2.0.0(@babel/core@7.23.2) - ember-local-storage: 2.0.7(@babel/core@7.23.2) - ember-simple-auth: 6.1.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0) - ember-wormhole: 0.6.0 - socketcluster-client: 17.2.2 + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) transitivePeerDependencies: - - '@ember/string' - - '@glint/template' - - bufferutil - - ember-resolver - - ember-source - - eslint - supports-color - - typescript - - utf-8-validate - - webpack - '@fleetbase/ember-core@0.3.21(@ember/string@3.1.1)(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0)(webpack@5.89.0)': + '@fleetbase/ember-core@0.3.22(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0)(webpack@5.89.0)': dependencies: '@babel/core': 7.23.2 compress-json: 3.4.0 @@ -12740,11 +12787,12 @@ snapshots: ember-intl: 6.3.2(@babel/core@7.23.2)(webpack@5.89.0) ember-loading: 2.0.0(@babel/core@7.23.2) ember-local-storage: 2.0.7(@babel/core@7.23.2) - ember-simple-auth: 6.1.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0) + ember-simple-auth: 6.1.0(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0) ember-wormhole: 0.6.0 socketcluster-client: 17.2.2 transitivePeerDependencies: - '@ember/string' + - '@ember/test-helpers' - '@glint/template' - bufferutil - ember-resolver @@ -12755,17 +12803,17 @@ snapshots: - utf-8-validate - webpack - '@fleetbase/ember-ui@0.3.33(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.23.2))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(postcss@8.5.8)(rollup@2.79.1)(tracked-built-ins@3.4.0(@babel/core@7.23.2))(webpack@5.89.0)': + '@fleetbase/ember-ui@0.3.34(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.29.0))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(postcss@8.5.8)(rollup@2.79.1)(tracked-built-ins@3.4.0(@babel/core@7.29.0))(webpack@5.89.0)': dependencies: '@babel/core': 7.23.2 - '@ember/render-modifiers': 2.1.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) + '@ember/render-modifiers': 2.1.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) '@ember/string': 3.1.1 '@embroider/addon': 0.30.0 '@embroider/macros': 1.20.0(@babel/core@7.23.2) '@event-calendar/core': 5.7.1 - '@fleetbase/ember-accounting': 0.0.1(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) + '@fleetbase/ember-accounting': 0.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) '@floating-ui/dom': 1.7.6 - '@fortawesome/ember-fontawesome': 2.0.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(rollup@2.79.1)(webpack@5.89.0) + '@fortawesome/ember-fontawesome': 2.0.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(rollup@2.79.1)(webpack@5.89.0) '@fortawesome/fontawesome-svg-core': 6.4.0 '@fortawesome/free-brands-svg-icons': 6.4.0 '@fortawesome/free-solid-svg-icons': 6.4.0 @@ -12798,35 +12846,35 @@ snapshots: chart.js: 4.5.1 chartjs-adapter-date-fns: 3.0.0(chart.js@4.5.1)(date-fns@2.30.0) date-fns: 2.30.0 - ember-animated: 1.1.4(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) + ember-animated: 1.1.4(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) ember-auto-import: 2.8.1(webpack@5.89.0) - ember-basic-dropdown: 8.4.0(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.23.2))(@glimmer/tracking@1.1.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - ember-can: 6.0.0(@babel/core@7.23.2)(@ember/string@3.1.1)(ember-inflector@4.0.3(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) + ember-basic-dropdown: 8.4.0(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.29.0))(@glimmer/tracking@1.1.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) + ember-can: 6.0.0(@babel/core@7.23.2)(@ember/string@3.1.1)(ember-inflector@4.0.3(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) ember-cli-babel: 8.3.1(@babel/core@7.23.2) ember-cli-htmlbars: 6.3.0 ember-cli-postcss: 8.2.0 ember-cli-string-helpers: 6.1.0 ember-composable-helpers: 5.0.0 - ember-concurrency: 4.0.6(@babel/core@7.23.2) - ember-drag-sort: 4.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) - ember-file-upload: 8.4.0(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.23.2))(@glimmer/tracking@1.1.2)(ember-modifier@4.3.0(@babel/core@7.23.2))(tracked-built-ins@3.4.0(@babel/core@7.23.2))(webpack@5.89.0) + ember-concurrency: 4.0.6(@babel/core@7.29.0) + ember-drag-sort: 4.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) + ember-file-upload: 8.4.0(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.29.0))(@glimmer/tracking@1.1.2)(ember-modifier@4.3.0(@babel/core@7.23.2))(tracked-built-ins@3.4.0(@babel/core@7.29.0))(webpack@5.89.0) ember-focus-trap: 1.2.0(@babel/core@7.23.2) ember-get-config: 2.1.1(@babel/core@7.23.2) - ember-gridstack: 4.0.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) - ember-inflector: 4.0.3(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - ember-leaflet: 5.1.3(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(leaflet@1.9.4)(webpack@5.89.0) + ember-gridstack: 4.0.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) + ember-inflector: 4.0.3(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) + ember-leaflet: 5.1.3(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(leaflet@1.9.4)(webpack@5.89.0) ember-loading: 2.0.0(@babel/core@7.23.2) - ember-math-helpers: 4.0.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - ember-modifier: 4.3.0(@babel/core@7.23.2) + ember-math-helpers: 4.0.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) + ember-modifier: 4.3.0(@babel/core@7.29.0) ember-on-helper: 0.1.0 - ember-power-calendar: 0.18.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - ember-power-select: 8.6.2(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.23.2))(@glimmer/tracking@1.1.2)(ember-basic-dropdown@8.4.0(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.23.2))(@glimmer/tracking@1.1.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-concurrency@4.0.6(@babel/core@7.23.2))(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) + ember-power-calendar: 0.18.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) + ember-power-select: 8.6.2(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.29.0))(@glimmer/tracking@1.1.2)(ember-basic-dropdown@8.4.0(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.29.0))(@glimmer/tracking@1.1.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-concurrency@4.0.6(@babel/core@7.23.2))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) ember-ref-bucket: 4.1.0(@babel/core@7.23.2) ember-responsive: 5.0.0 ember-style-modifier: 3.1.1(@babel/core@7.23.2)(@ember/string@3.1.1)(webpack@5.89.0) ember-tag-input: 3.1.0 - ember-truth-helpers: 4.0.3(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - ember-window-mock: 0.9.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) + ember-truth-helpers: 4.0.3(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) + ember-window-mock: 0.9.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) ember-wormhole: 0.6.0 gridstack: 7.3.0 imask: 6.6.3 @@ -12861,15 +12909,16 @@ snapshots: - webpack-command - yaml - '@fleetbase/fleetops-data@0.1.36(@ember/string@3.1.1)(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0)(webpack@5.89.0)': + '@fleetbase/fleetops-data@0.1.37(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0)(webpack@5.89.0)': dependencies: '@babel/core': 7.23.2 - '@fleetbase/ember-core': 0.3.20(@ember/string@3.1.1)(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0)(webpack@5.89.0) + '@fleetbase/ember-core': 0.3.22(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0)(webpack@5.89.0) date-fns: 2.30.0 ember-cli-babel: 8.2.0(@babel/core@7.23.2) ember-cli-htmlbars: 6.3.0 transitivePeerDependencies: - '@ember/string' + - '@ember/test-helpers' - '@glint/template' - bufferutil - ember-resolver @@ -12963,6 +13012,32 @@ snapshots: - supports-color - webpack + '@fortawesome/ember-fontawesome@2.0.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(rollup@2.79.1)(webpack@5.89.0)': + dependencies: + '@fortawesome/fontawesome-svg-core': 6.4.0 + '@rollup/plugin-node-resolve': 15.2.3(rollup@2.79.1) + array-unique: 0.3.2 + broccoli-file-creator: 2.1.1 + broccoli-merge-trees: 4.2.0 + broccoli-plugin: 4.0.7 + broccoli-rollup: 5.0.0 + broccoli-source: 3.0.1 + camel-case: 4.1.2 + ember-ast-helpers: 0.4.0 + ember-auto-import: 2.8.1(webpack@5.89.0) + ember-cli-babel: 7.26.11 + ember-cli-htmlbars: 6.3.0 + ember-get-config: 2.1.1(@babel/core@7.23.2) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) + find-yarn-workspace-root: 2.0.0 + glob: 10.3.10 + transitivePeerDependencies: + - '@babel/core' + - '@glint/template' + - rollup + - supports-color + - webpack + '@fortawesome/fontawesome-common-types@6.4.0': {} '@fortawesome/fontawesome-svg-core@6.4.0': @@ -15886,9 +15961,9 @@ snapshots: transitivePeerDependencies: - '@babel/core' - decorator-transforms@2.3.2(@babel/core@7.23.2): + decorator-transforms@2.3.2(@babel/core@7.29.0): dependencies: - '@babel/plugin-syntax-decorators': 7.29.7(@babel/core@7.23.2) + '@babel/plugin-syntax-decorators': 7.29.7(@babel/core@7.29.0) babel-import-util: 3.0.1 transitivePeerDependencies: - '@babel/core' @@ -16032,15 +16107,15 @@ snapshots: minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - ember-animated@1.1.4(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)): + ember-animated@1.1.4(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): dependencies: '@embroider/addon-shim': 1.10.2 '@embroider/macros': 1.20.0(@babel/core@7.23.2) - '@embroider/util': 1.12.1(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) + '@embroider/util': 1.12.1(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) assert-never: 1.4.0 - ember-element-helper: 0.8.5(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) + ember-element-helper: 0.8.5(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) optionalDependencies: - '@ember/test-helpers': 3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) + '@ember/test-helpers': 3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) transitivePeerDependencies: - '@babel/core' - '@glint/environment-ember-loose' @@ -16197,22 +16272,22 @@ snapshots: - supports-color - webpack - ember-basic-dropdown@8.4.0(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.23.2))(@glimmer/tracking@1.1.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)): + ember-basic-dropdown@8.4.0(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.29.0))(@glimmer/tracking@1.1.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): dependencies: '@babel/core': 7.29.0 - '@ember/test-helpers': 3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) + '@ember/test-helpers': 3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) '@embroider/addon-shim': 1.10.2 '@embroider/macros': 1.20.0(@babel/core@7.29.0) - '@embroider/util': 1.13.5(@babel/core@7.29.0)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - '@glimmer/component': 1.1.2(@babel/core@7.23.2) + '@embroider/util': 1.13.5(@babel/core@7.29.0)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) + '@glimmer/component': 1.1.2(@babel/core@7.29.0) '@glimmer/tracking': 1.1.2 decorator-transforms: 2.3.1(@babel/core@7.29.0) ember-element-helper: 0.8.8 - ember-lifeline: 7.0.0(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0)) + ember-lifeline: 7.0.0(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0)) ember-modifier: 4.3.0(@babel/core@7.29.0) - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) ember-style-modifier: 4.5.1(@babel/core@7.29.0)(@ember/string@3.1.1) - ember-truth-helpers: 4.0.3(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) + ember-truth-helpers: 4.0.3(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) transitivePeerDependencies: - '@ember/string' - '@glint/environment-ember-loose' @@ -16243,18 +16318,6 @@ snapshots: - '@glint/template' - supports-color - ember-can@6.0.0(@babel/core@7.23.2)(@ember/string@3.1.1)(ember-inflector@4.0.3(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)): - dependencies: - '@ember/string': 3.1.1 - '@embroider/addon-shim': 1.10.2 - decorator-transforms: 2.3.1(@babel/core@7.23.2) - ember-inflector: 4.0.3(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - ember-resolver: 11.0.1(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) - transitivePeerDependencies: - - '@babel/core' - - supports-color - ember-can@6.0.0(@babel/core@7.23.2)(@ember/string@3.1.1)(ember-inflector@4.0.3(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): dependencies: '@ember/string': 3.1.1 @@ -16541,15 +16604,6 @@ snapshots: transitivePeerDependencies: - supports-color - ember-cli-notifications@9.1.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)): - dependencies: - '@embroider/addon-shim': 1.10.2 - decorator-transforms: 2.3.1(@babel/core@7.23.2) - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) - transitivePeerDependencies: - - '@babel/core' - - supports-color - ember-cli-notifications@9.1.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): dependencies: '@embroider/addon-shim': 1.10.2 @@ -16666,7 +16720,7 @@ snapshots: dependencies: '@babel/plugin-transform-typescript': 7.5.5(@babel/core@7.29.0) ansi-to-html: 0.6.15 - debug: 4.4.3 + debug: 4.3.4 ember-cli-babel-plugin-helpers: 1.1.1 execa: 2.1.0 fs-extra: 8.1.0 @@ -16916,6 +16970,22 @@ snapshots: - supports-color - webpack + ember-composability-tools@1.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0): + dependencies: + '@babel/core': 7.23.2 + '@ember/render-modifiers': 2.1.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) + '@glimmer/component': 1.1.2(@babel/core@7.23.2) + ember-auto-import: 2.8.1(webpack@5.89.0) + ember-cli-babel: 8.2.0(@babel/core@7.23.2) + ember-cli-htmlbars: 6.3.0 + ember-element-helper: 0.8.5(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) + transitivePeerDependencies: + - '@glint/environment-ember-loose' + - '@glint/template' + - supports-color + - webpack + ember-composable-helpers@5.0.0: dependencies: '@babel/core': 7.23.2 @@ -16980,13 +17050,6 @@ snapshots: - '@babel/core' - supports-color - ember-cookies@1.3.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)): - dependencies: - '@embroider/addon-shim': 1.10.2 - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) - transitivePeerDependencies: - - supports-color - ember-cookies@1.3.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): dependencies: '@embroider/addon-shim': 1.10.2 @@ -17046,26 +17109,26 @@ snapshots: - '@babel/core' - supports-color - ember-drag-sort@4.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0): + ember-drag-sort@4.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0): dependencies: '@babel/core': 7.29.0 ember-auto-import: 2.12.1(webpack@5.89.0) ember-cli-babel: 8.2.0(@babel/core@7.29.0) ember-cli-htmlbars: 6.3.0 ember-element-helper: 0.8.8 - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) ember-template-imports: 4.4.0 transitivePeerDependencies: - '@glint/template' - supports-color - webpack - ember-element-helper@0.6.1(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)): + ember-element-helper@0.6.1(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): dependencies: - '@embroider/util': 1.12.1(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) + '@embroider/util': 1.12.1(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) ember-cli-babel: 7.26.11 ember-cli-htmlbars: 6.3.0 - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) transitivePeerDependencies: - '@babel/core' - '@glint/environment-ember-loose' @@ -17083,6 +17146,17 @@ snapshots: - '@glint/template' - supports-color + ember-element-helper@0.8.5(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): + dependencies: + '@embroider/addon-shim': 1.8.3 + '@embroider/util': 1.12.1(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) + transitivePeerDependencies: + - '@babel/core' + - '@glint/environment-ember-loose' + - '@glint/template' + - supports-color + ember-element-helper@0.8.8: dependencies: '@embroider/addon-shim': 1.10.2 @@ -17113,17 +17187,17 @@ snapshots: - '@glint/template' - supports-color - ember-file-upload@8.4.0(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.23.2))(@glimmer/tracking@1.1.2)(ember-modifier@4.3.0(@babel/core@7.23.2))(tracked-built-ins@3.4.0(@babel/core@7.23.2))(webpack@5.89.0): + ember-file-upload@8.4.0(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.29.0))(@glimmer/tracking@1.1.2)(ember-modifier@4.3.0(@babel/core@7.23.2))(tracked-built-ins@3.4.0(@babel/core@7.29.0))(webpack@5.89.0): dependencies: - '@ember/test-helpers': 3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) + '@ember/test-helpers': 3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) '@ember/test-waiters': 3.1.0 '@embroider/addon-shim': 1.10.2 '@embroider/macros': 1.20.0(@babel/core@7.23.2) - '@glimmer/component': 1.1.2(@babel/core@7.23.2) + '@glimmer/component': 1.1.2(@babel/core@7.29.0) '@glimmer/tracking': 1.1.2 ember-auto-import: 2.8.1(webpack@5.89.0) - ember-modifier: 4.3.0(@babel/core@7.23.2) - tracked-built-ins: 3.4.0(@babel/core@7.23.2) + ember-modifier: 4.3.0(@babel/core@7.29.0) + tracked-built-ins: 3.4.0(@babel/core@7.29.0) transitivePeerDependencies: - '@babel/core' - '@glint/template' @@ -17139,12 +17213,12 @@ snapshots: - '@babel/core' - supports-color - ember-functions-as-helper-polyfill@2.1.3(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)): + ember-functions-as-helper-polyfill@2.1.3(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): dependencies: ember-cli-babel: 7.26.11 ember-cli-typescript: 5.2.1 ember-cli-version-checker: 5.1.2 - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) transitivePeerDependencies: - supports-color @@ -17157,14 +17231,14 @@ snapshots: - '@glint/template' - supports-color - ember-gridstack@4.0.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0): + ember-gridstack@4.0.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0): dependencies: - '@ember/render-modifiers': 2.1.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) + '@ember/render-modifiers': 2.1.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) ember-auto-import: 2.8.1(webpack@5.89.0) ember-cli-babel: 7.26.11 ember-cli-htmlbars: 6.3.0 - ember-modifier: 4.3.0(@babel/core@7.23.2) - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) + ember-modifier: 4.3.0(@babel/core@7.29.0) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) gridstack: 7.3.0 transitivePeerDependencies: - '@babel/core' @@ -17251,7 +17325,7 @@ snapshots: - supports-color - webpack - ember-leaflet@5.1.3(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(leaflet@1.9.4)(webpack@5.89.0): + ember-leaflet@5.1.3(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(leaflet@1.9.4)(webpack@5.89.0): dependencies: '@glimmer/component': 1.1.2(@babel/core@7.23.2) '@glimmer/tracking': 1.1.2 @@ -17259,10 +17333,10 @@ snapshots: broccoli-merge-trees: 4.2.0 ember-cli-babel: 7.26.11 ember-cli-htmlbars: 6.3.0 - ember-composability-tools: 1.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) + ember-composability-tools: 1.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) ember-in-element-polyfill: 1.0.1 ember-render-helpers: 0.2.0 - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) fastboot-transform: 0.1.3 leaflet: 1.9.4 resolve: 1.22.11 @@ -17273,11 +17347,11 @@ snapshots: - supports-color - webpack - ember-lifeline@7.0.0(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0)): + ember-lifeline@7.0.0(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0)): dependencies: '@embroider/addon-shim': 1.10.2 optionalDependencies: - '@ember/test-helpers': 3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) + '@ember/test-helpers': 3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) transitivePeerDependencies: - supports-color @@ -17323,6 +17397,13 @@ snapshots: transitivePeerDependencies: - supports-color + ember-math-helpers@4.0.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): + dependencies: + '@embroider/addon-shim': 1.8.7 + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) + transitivePeerDependencies: + - supports-color + ember-modifier-manager-polyfill@1.2.0(@babel/core@7.23.2): dependencies: ember-cli-babel: 7.26.11 @@ -17343,18 +17424,10 @@ snapshots: - '@babel/core' - supports-color - ember-modifier@4.3.0(@babel/core@7.23.2): - dependencies: - '@embroider/addon-shim': 1.10.2 - decorator-transforms: 2.3.1(@babel/core@7.23.2) - transitivePeerDependencies: - - '@babel/core' - - supports-color - ember-modifier@4.3.0(@babel/core@7.29.0): dependencies: '@embroider/addon-shim': 1.10.2 - decorator-transforms: 2.3.1(@babel/core@7.29.0) + decorator-transforms: 2.3.1(@babel/core@7.23.2) transitivePeerDependencies: - '@babel/core' - supports-color @@ -17371,7 +17444,7 @@ snapshots: transitivePeerDependencies: - supports-color - ember-power-calendar@0.18.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)): + ember-power-calendar@0.18.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): dependencies: ember-assign-helper: 0.4.0 ember-cli-babel: 7.26.11 @@ -17379,7 +17452,7 @@ snapshots: ember-cli-htmlbars: 6.3.0 ember-concurrency: 2.3.7(@babel/core@7.23.2) ember-decorators: 6.1.1 - ember-element-helper: 0.6.1(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) + ember-element-helper: 0.6.1(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) ember-truth-helpers: 3.1.1 transitivePeerDependencies: - '@babel/core' @@ -17388,21 +17461,21 @@ snapshots: - ember-source - supports-color - ember-power-select@8.6.2(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.23.2))(@glimmer/tracking@1.1.2)(ember-basic-dropdown@8.4.0(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.23.2))(@glimmer/tracking@1.1.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)))(ember-concurrency@4.0.6(@babel/core@7.23.2))(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)): + ember-power-select@8.6.2(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.29.0))(@glimmer/tracking@1.1.2)(ember-basic-dropdown@8.4.0(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.29.0))(@glimmer/tracking@1.1.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)))(ember-concurrency@4.0.6(@babel/core@7.23.2))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): dependencies: - '@ember/test-helpers': 3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) + '@ember/test-helpers': 3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) '@embroider/addon-shim': 1.10.2 - '@embroider/util': 1.13.5(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - '@glimmer/component': 1.1.2(@babel/core@7.23.2) + '@embroider/util': 1.13.5(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) + '@glimmer/component': 1.1.2(@babel/core@7.29.0) '@glimmer/tracking': 1.1.2 decorator-transforms: 2.3.1(@babel/core@7.23.2) ember-assign-helper: 0.5.1 - ember-basic-dropdown: 8.4.0(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.23.2))(@glimmer/tracking@1.1.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - ember-concurrency: 4.0.6(@babel/core@7.23.2) - ember-lifeline: 7.0.0(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0)) - ember-modifier: 4.3.0(@babel/core@7.23.2) - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) - ember-truth-helpers: 4.0.3(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) + ember-basic-dropdown: 8.4.0(@ember/string@3.1.1)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(@glimmer/component@1.1.2(@babel/core@7.29.0))(@glimmer/tracking@1.1.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) + ember-concurrency: 4.0.6(@babel/core@7.29.0) + ember-lifeline: 7.0.0(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0)) + ember-modifier: 4.3.0(@babel/core@7.29.0) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) + ember-truth-helpers: 4.0.3(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) transitivePeerDependencies: - '@babel/core' - '@glint/environment-ember-loose' @@ -17449,14 +17522,6 @@ snapshots: transitivePeerDependencies: - supports-color - ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)): - dependencies: - ember-cli-babel: 7.26.11 - optionalDependencies: - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) - transitivePeerDependencies: - - supports-color - ember-resolver@11.0.1(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): dependencies: ember-cli-babel: 7.26.11 @@ -17481,23 +17546,7 @@ snapshots: transitivePeerDependencies: - supports-color - ember-simple-auth@6.1.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0): - dependencies: - '@babel/eslint-parser': 7.28.6(@babel/core@7.23.2)(eslint@8.52.0) - '@ember/test-waiters': 3.1.0 - '@embroider/addon-shim': 1.10.2 - '@embroider/macros': 1.20.0(@babel/core@7.23.2) - ember-cli-is-package-missing: 1.0.0 - ember-cookies: 1.3.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - silent-error: 1.1.1 - transitivePeerDependencies: - - '@babel/core' - - '@glint/template' - - ember-source - - eslint - - supports-color - - ember-simple-auth@6.1.0(@babel/core@7.23.2)(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0): + ember-simple-auth@6.1.0(@babel/core@7.23.2)(@ember/test-helpers@3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0))(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(eslint@8.52.0): dependencies: '@babel/eslint-parser': 7.28.6(@babel/core@7.23.2)(eslint@8.52.0) '@ember/test-waiters': 3.1.0 @@ -17506,6 +17555,8 @@ snapshots: ember-cli-is-package-missing: 1.0.0 ember-cookies: 1.3.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) silent-error: 1.1.1 + optionalDependencies: + '@ember/test-helpers': 3.2.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0))(webpack@5.89.0) transitivePeerDependencies: - '@babel/core' - '@glint/template' @@ -17634,7 +17685,7 @@ snapshots: '@ember/string': 3.1.1 ember-auto-import: 2.8.1(webpack@5.89.0) ember-cli-babel: 7.26.11 - ember-modifier: 4.3.0(@babel/core@7.23.2) + ember-modifier: 4.3.0(@babel/core@7.29.0) transitivePeerDependencies: - '@babel/core' - '@glint/template' @@ -17732,11 +17783,11 @@ snapshots: transitivePeerDependencies: - supports-color - ember-truth-helpers@4.0.3(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)): + ember-truth-helpers@4.0.3(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): dependencies: '@embroider/addon-shim': 1.10.2 - ember-functions-as-helper-polyfill: 2.1.3(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)) - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) + ember-functions-as-helper-polyfill: 2.1.3(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) transitivePeerDependencies: - supports-color @@ -17767,11 +17818,11 @@ snapshots: - encoding - supports-color - ember-window-mock@0.9.0(ember-source@5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0)): + ember-window-mock@0.9.0(ember-source@5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0)): dependencies: ember-cli-babel: 7.26.11 ember-cli-htmlbars: 6.3.0 - ember-source: 5.4.0(@babel/core@7.23.2)(@glimmer/component@1.1.2(@babel/core@7.23.2))(rsvp@4.8.5)(webpack@5.89.0) + ember-source: 5.4.0(@babel/core@7.29.0)(@glimmer/component@1.1.2(@babel/core@7.29.0))(rsvp@4.8.5)(webpack@5.89.0) transitivePeerDependencies: - supports-color @@ -19678,6 +19729,8 @@ snapshots: lodash@4.17.23: {} + lodash@4.18.1: {} + log-symbols@2.2.0: dependencies: chalk: 2.4.2 @@ -20465,6 +20518,8 @@ snapshots: pkg-entry-points@1.1.1: {} + pkg-entry-points@1.1.2: {} + pkg-up@2.0.0: dependencies: find-up: 2.1.0 @@ -21453,6 +21508,8 @@ snapshots: semver@7.7.4: {} + semver@7.8.4: {} + send@0.18.0: dependencies: debug: 2.6.9 @@ -22342,10 +22399,10 @@ snapshots: tr46@0.0.3: {} - tracked-built-ins@3.4.0(@babel/core@7.23.2): + tracked-built-ins@3.4.0(@babel/core@7.29.0): dependencies: - '@embroider/addon-shim': 1.10.2 - decorator-transforms: 2.3.2(@babel/core@7.23.2) + '@embroider/addon-shim': 1.10.3 + decorator-transforms: 2.3.2(@babel/core@7.29.0) ember-tracked-storage-polyfill: 1.0.1 transitivePeerDependencies: - '@babel/core' @@ -22707,7 +22764,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.23.0 + browserslist: 4.28.2 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 es-module-lexer: 1.4.1 diff --git a/server/src/Http/Controllers/Internal/v1/SearchController.php b/server/src/Http/Controllers/Internal/v1/SearchController.php new file mode 100644 index 0000000..5817773 --- /dev/null +++ b/server/src/Http/Controllers/Internal/v1/SearchController.php @@ -0,0 +1,245 @@ +input('query') ?: $request->input('q'))); + $limit = max(1, min((int) $request->input('limit', 12), 24)); + + if ($query === '') { + return response()->json(['results' => []]); + } + + $types = $this->requestedTypes($request); + $perTypeLimit = max(1, (int) ceil($limit / max(count($types), 1))); + $results = collect(); + + foreach ($types as $type) { + if (!$this->canSearchType($type)) { + continue; + } + + $results = $results->merge($this->searchType($type, $query, $perTypeLimit)); + } + + return response()->json([ + 'results' => $results->take($limit)->values(), + ]); + } + + private function requestedTypes(Request $request): array + { + $types = $request->input('types', self::SEARCH_TYPES); + + if (is_string($types)) { + $types = array_filter(array_map('trim', explode(',', $types))); + } + + if (!is_array($types)) { + return self::SEARCH_TYPES; + } + + $types = array_values(array_intersect($types, self::SEARCH_TYPES)); + + return empty($types) ? self::SEARCH_TYPES : $types; + } + + private function canSearchType(string $type): bool + { + $permissions = [ + 'invoices' => 'ledger see invoice', + 'templates' => 'ledger see invoice-template', + 'wallets' => 'ledger see wallet', + 'transactions' => 'ledger see transaction', + 'gateways' => 'ledger see gateway', + 'accounts' => 'ledger see account', + 'journals' => 'ledger see journal', + ]; + + $user = Auth::getUserFromSession(); + + if ($user?->isAdmin()) { + return true; + } + + return Auth::can($permissions[$type]); + } + + private function searchType(string $type, string $query, int $limit): Collection + { + return match ($type) { + 'invoices' => $this->searchInvoices($query, $limit), + 'templates' => $this->searchTemplates($query, $limit), + 'wallets' => $this->searchWallets($query, $limit), + 'transactions' => $this->searchTransactions($query, $limit), + 'gateways' => $this->searchGateways($query, $limit), + 'accounts' => $this->searchAccounts($query, $limit), + 'journals' => $this->searchJournals($query, $limit), + default => collect(), + }; + } + + private function searchInvoices(string $query, int $limit): Collection + { + return Invoice::where('company_uuid', session('company')) + ->where(function (Builder $builder) use ($query) { + $this->whereLike($builder, ['number', 'public_id', 'uuid', 'status', 'currency', 'customer_uuid', 'customer_type'], $query); + }) + ->limit($limit) + ->get(['uuid', 'public_id', 'number', 'status', 'currency', 'total_amount', 'balance']) + ->map(fn (Invoice $invoice) => [ + 'label' => $invoice->number ?: $invoice->public_id, + 'description' => trim(implode(' ', array_filter([$invoice->status, $invoice->currency, $invoice->public_id]))), + 'icon' => 'file-invoice-dollar', + 'type' => 'Invoice', + 'route' => 'console.ledger.billing.invoices.index.details', + 'models' => [$invoice->uuid], + 'breadcrumb' => 'Ledger > Billing > Invoices', + ]); + } + + private function searchTemplates(string $query, int $limit): Collection + { + return Template::where('company_uuid', session('company')) + ->where('context_type', 'ledger-invoice') + ->where(function (Builder $builder) use ($query) { + $this->whereLike($builder, ['name', 'description', 'context_type', 'public_id', 'uuid'], $query); + }) + ->limit($limit) + ->get(['uuid', 'public_id', 'name', 'description', 'context_type']) + ->map(fn (Template $template) => [ + 'label' => $template->name ?: $template->public_id, + 'description' => $template->description ?: 'Ledger invoice template', + 'icon' => 'file-code', + 'type' => 'Invoice Template', + 'route' => 'console.ledger.billing.invoice-templates.index.edit', + 'models' => [$template->uuid], + 'breadcrumb' => 'Ledger > Billing > Invoice Templates', + ]); + } + + private function searchWallets(string $query, int $limit): Collection + { + return Wallet::where('company_uuid', session('company')) + ->where(function (Builder $builder) use ($query) { + $this->whereLike($builder, ['public_id', 'uuid', 'name', 'description', 'currency', 'status'], $query); + }) + ->limit($limit) + ->get(['uuid', 'public_id', 'name', 'description', 'currency', 'status', 'balance']) + ->map(fn (Wallet $wallet) => [ + 'label' => $wallet->name ?: $wallet->public_id, + 'description' => trim(implode(' ', array_filter([$wallet->status, $wallet->currency, $wallet->description]))), + 'icon' => 'wallet', + 'type' => 'Wallet', + 'route' => 'console.ledger.payments.wallets.index.details', + 'models' => [$wallet->uuid], + 'breadcrumb' => 'Ledger > Payments > Wallets', + ]); + } + + private function searchTransactions(string $query, int $limit): Collection + { + return Transaction::where('company_uuid', session('company')) + ->where(function (Builder $builder) use ($query) { + $this->whereLike($builder, ['public_id', 'uuid', 'amount', 'currency', 'status', 'type', 'description', 'reference'], $query); + }) + ->limit($limit) + ->get(['uuid', 'public_id', 'amount', 'currency', 'status', 'type', 'description', 'reference']) + ->map(fn (Transaction $transaction) => [ + 'label' => $transaction->public_id ?: $transaction->reference, + 'description' => trim(implode(' ', array_filter([$transaction->status, $transaction->currency, $transaction->description ?: $transaction->reference]))), + 'icon' => 'money-bill-transfer', + 'type' => 'Transaction', + 'route' => 'console.ledger.payments.transactions.index.details', + 'models' => [$transaction->uuid], + 'breadcrumb' => 'Ledger > Payments > Transactions', + ]); + } + + private function searchGateways(string $query, int $limit): Collection + { + return Gateway::where('company_uuid', session('company')) + ->where(function (Builder $builder) use ($query) { + $this->whereLike($builder, ['public_id', 'uuid', 'name', 'driver', 'description', 'status', 'environment'], $query); + }) + ->limit($limit) + ->get(['uuid', 'public_id', 'name', 'driver', 'description', 'status', 'environment']) + ->map(fn (Gateway $gateway) => [ + 'label' => $gateway->name ?: $gateway->public_id, + 'description' => trim(implode(' ', array_filter([$gateway->driver, $gateway->status, $gateway->environment, $gateway->description]))), + 'icon' => 'credit-card', + 'type' => 'Gateway', + 'route' => 'console.ledger.payments.gateways.index.details', + 'models' => [$gateway->uuid], + 'breadcrumb' => 'Ledger > Payments > Gateways', + ]); + } + + private function searchAccounts(string $query, int $limit): Collection + { + return Account::where('company_uuid', session('company')) + ->where(function (Builder $builder) use ($query) { + $this->whereLike($builder, ['public_id', 'uuid', 'name', 'code', 'type', 'description', 'currency', 'status'], $query); + }) + ->limit($limit) + ->get(['uuid', 'public_id', 'name', 'code', 'type', 'description', 'currency', 'status']) + ->map(fn (Account $account) => [ + 'label' => $account->name ?: $account->code, + 'description' => trim(implode(' ', array_filter([$account->code, $account->type, $account->currency, $account->description]))), + 'icon' => 'sitemap', + 'type' => 'Account', + 'route' => 'console.ledger.accounting.accounts.index.details', + 'models' => [$account->uuid], + 'breadcrumb' => 'Ledger > Accounting > Chart of Accounts', + ]); + } + + private function searchJournals(string $query, int $limit): Collection + { + return Journal::where('company_uuid', session('company')) + ->where(function (Builder $builder) use ($query) { + $this->whereLike($builder, ['public_id', 'uuid', 'number', 'reference', 'memo', 'type', 'status', 'description', 'currency'], $query); + }) + ->limit($limit) + ->get(['uuid', 'public_id', 'number', 'reference', 'memo', 'type', 'status', 'description', 'currency']) + ->map(fn (Journal $journal) => [ + 'label' => $journal->number ?: $journal->public_id, + 'description' => trim(implode(' ', array_filter([$journal->status, $journal->type, $journal->currency, $journal->description ?: $journal->memo]))), + 'icon' => 'book', + 'type' => 'Journal Entry', + 'route' => 'console.ledger.accounting.journal.index.details', + 'models' => [$journal->uuid], + 'breadcrumb' => 'Ledger > Accounting > Journal Entries', + ]); + } + + private function whereLike(Builder $builder, array $columns, string $query): void + { + $like = '%' . Str::replace(['%', '_'], ['\\%', '\\_'], $query) . '%'; + + foreach ($columns as $index => $column) { + $method = $index === 0 ? 'where' : 'orWhere'; + $builder->{$method}($column, 'like', $like); + } + } +} diff --git a/server/src/routes.php b/server/src/routes.php index dbe9266..3934215 100644 --- a/server/src/routes.php +++ b/server/src/routes.php @@ -169,6 +169,11 @@ function ($router, $controller) { $router->post('accounting-settings', 'SettingController@saveAccountingSettings'); }); + // ---------------------------------------------------------------- + // Search + // ---------------------------------------------------------------- + $router->get('search', 'SearchController@search'); + // ---------------------------------------------------------------- // Reports & Financial Statements // ---------------------------------------------------------------- diff --git a/server/tests/Feature.php b/server/tests/Feature.php index ac5c80b..7475344 100644 --- a/server/tests/Feature.php +++ b/server/tests/Feature.php @@ -17,6 +17,31 @@ ->toContain('reports/dashboard/activity'); }); +test('ledger navigator search endpoint is registered', function () { + $routes = file_get_contents(__DIR__ . '/../src/routes.php'); + $controller = file_get_contents(__DIR__ . '/../src/Http/Controllers/Internal/v1/SearchController.php'); + + expect($routes) + ->toContain("\$router->get('search', 'SearchController@search')"); + + expect($controller) + ->toContain("private const SEARCH_TYPES = ['invoices', 'templates', 'wallets', 'transactions', 'gateways', 'accounts', 'journals']") + ->toContain("return response()->json(['results' => []]);") + ->toContain("'invoices' => 'ledger see invoice'") + ->toContain("'templates' => 'ledger see invoice-template'") + ->toContain("'transactions' => 'ledger see transaction'") + ->toContain("'route' => 'console.ledger.billing.invoices.index.details'") + ->toContain("'route' => 'console.ledger.payments.wallets.index.details'") + ->toContain("'route' => 'console.ledger.accounting.journal.index.details'") + ->toContain("'models' => [\$invoice->uuid]") + ->toContain("'models' => [\$template->uuid]") + ->toContain("'models' => [\$wallet->uuid]") + ->toContain("'models' => [\$transaction->uuid]") + ->toContain("'models' => [\$gateway->uuid]") + ->toContain("'models' => [\$account->uuid]") + ->toContain("'models' => [\$journal->uuid]"); +}); + test('order accounting observer preserves seed metadata on storefront sale journal entries', function () { $observer = file_get_contents(__DIR__ . '/../src/Observers/OrderAccountingObserver.php'); diff --git a/tests/unit/controllers/application-test.js b/tests/unit/controllers/application-test.js new file mode 100644 index 0000000..98513ed --- /dev/null +++ b/tests/unit/controllers/application-test.js @@ -0,0 +1,121 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'fleetbase-ledger-engine/tests/helpers'; + +class FetchStub { + requests = []; + response = { + results: [ + { + label: 'INV-0001', + description: 'draft USD invoice_123', + icon: 'file-invoice-dollar', + type: 'Invoice', + route: 'console.ledger.billing.invoices.index.details', + breadcrumb: 'Ledger > Billing > Invoices', + models: ['invoice_uuid'], + }, + ], + }; + + get(url, params, options) { + this.requests.push({ url, params, options }); + return Promise.resolve(this.response); + } +} + +module('Unit | Controller | application', function (hooks) { + setupTest(hooks); + + hooks.beforeEach(function () { + this.owner.register('service:fetch', FetchStub); + }); + + test('it builds Ledger sidebar navigator root items and nested sections', function (assert) { + const controller = this.owner.lookup('controller:application'); + const items = controller.navigationItems; + + assert.deepEqual( + items.map((item) => item.label), + ['Dashboard', 'Billing', 'Payments', 'Accounting', 'Reports', 'Settings'], + 'root items match the Ledger sidebar sections' + ); + assert.deepEqual( + items.map((item) => item.icon), + ['chart-simple', 'file-invoice-dollar', 'money-bill-transfer', 'calculator', 'chart-line', 'gear'], + 'root items keep Ledger-specific icons' + ); + + assert.strictEqual(items[0].route, 'console.ledger.home'); + assert.deepEqual( + items[1].children.map((item) => item.route), + ['console.ledger.billing.invoices.index', 'console.ledger.billing.invoice-templates.index'], + 'billing children keep existing routes' + ); + assert.deepEqual( + items[2].children.map((item) => item.route), + ['console.ledger.payments.transactions.index', 'console.ledger.payments.wallets.index', 'console.ledger.payments.gateways.index'], + 'payment children keep existing routes' + ); + assert.deepEqual( + items[3].children.map((item) => item.route), + ['console.ledger.accounting.accounts.index', 'console.ledger.accounting.journal.index', 'console.ledger.accounting.general-ledger'], + 'accounting children keep existing routes' + ); + assert.deepEqual( + items[4].children.map((item) => item.route), + [ + 'console.ledger.reports.income-statement', + 'console.ledger.reports.balance-sheet', + 'console.ledger.reports.trial-balance', + 'console.ledger.reports.cash-flow', + 'console.ledger.reports.ar-aging', + 'console.ledger.reports.wallet-summary', + ], + 'report children keep existing routes' + ); + assert.deepEqual( + items[5].children.map((item) => item.route), + ['console.ledger.settings.invoice', 'console.ledger.settings.payment', 'console.ledger.settings.accounting'], + 'settings children keep existing routes' + ); + }); + + test('it fetches Ledger resource search results for the sidebar navigator', async function (assert) { + const controller = this.owner.lookup('controller:application'); + const fetch = this.owner.lookup('service:fetch'); + const results = await controller.searchNavigation({ query: ' inv ', limit: 12 }); + + assert.deepEqual( + fetch.requests, + [ + { + url: 'search', + params: { query: 'inv', limit: 12 }, + options: { namespace: 'ledger/int/v1' }, + }, + ], + 'calls the Ledger search endpoint with the trimmed query' + ); + assert.deepEqual(results, fetch.response.results, 'returns navigator-ready endpoint results'); + }); + + test('it skips blank Ledger search queries', async function (assert) { + const controller = this.owner.lookup('controller:application'); + const fetch = this.owner.lookup('service:fetch'); + const results = await controller.searchNavigation({ query: ' ', limit: 12 }); + + assert.deepEqual(results, []); + assert.deepEqual(fetch.requests, [], 'blank queries do not call the adapter'); + }); + + test('it returns empty Ledger search results when the adapter fails', async function (assert) { + const controller = this.owner.lookup('controller:application'); + const fetch = this.owner.lookup('service:fetch'); + + fetch.get = () => Promise.reject(new Error('adapter failed')); + + const results = await controller.searchNavigation({ query: 'invoice', limit: 12 }); + + assert.deepEqual(results, []); + }); +});