From 8d34354d53ca8097bf839994cb48faad7bf3d183 Mon Sep 17 00:00:00 2001 From: Charles Fries Date: Thu, 12 Oct 2023 12:23:52 -0700 Subject: [PATCH 1/4] WIP --- .../components/form/power-select-multiple.hbs | 43 + .../components/form/power-select-multiple.ts | 35 + addon/components/form/power-select.hbs | 63 ++ addon/components/form/power-select.ts | 34 + addon/styles/design-system.css | 112 +++ app/components/form/power-select-multiple.ts | 1 + app/components/form/power-select.ts | 1 + package-lock.json | 886 ++++++++++++++++-- package.json | 2 + tests/dummy/app/controllers/comps/form.ts | 4 + tests/dummy/app/templates/comps/form.hbs | 26 + .../form/power-select-multiple-test.ts | 30 + .../components/form/power-select-test.ts | 26 + .../power-select-multiple-with-create.d.ts | 21 + .../components/power-select-with-create.d.ts | 26 + .../components/power-select-multiple.d.ts | 20 + .../components/power-select.d.ts | 24 + types/glint.d.ts | 14 + 18 files changed, 1289 insertions(+), 79 deletions(-) create mode 100644 addon/components/form/power-select-multiple.hbs create mode 100644 addon/components/form/power-select-multiple.ts create mode 100644 addon/components/form/power-select.hbs create mode 100644 addon/components/form/power-select.ts create mode 100644 app/components/form/power-select-multiple.ts create mode 100644 app/components/form/power-select.ts create mode 100644 tests/integration/components/form/power-select-multiple-test.ts create mode 100644 tests/integration/components/form/power-select-test.ts create mode 100644 types/ember-power-select-with-create/components/power-select-multiple-with-create.d.ts create mode 100644 types/ember-power-select-with-create/components/power-select-with-create.d.ts create mode 100644 types/ember-power-select/components/power-select-multiple.d.ts create mode 100644 types/ember-power-select/components/power-select.d.ts diff --git a/addon/components/form/power-select-multiple.hbs b/addon/components/form/power-select-multiple.hbs new file mode 100644 index 00000000..53c70caf --- /dev/null +++ b/addon/components/form/power-select-multiple.hbs @@ -0,0 +1,43 @@ + + +{{#if @onCreate}} + + {{yield option}} + +{{else}} + + {{yield option}} + +{{/if}} + +{{#if @help}} + +{{/if}} \ No newline at end of file diff --git a/addon/components/form/power-select-multiple.ts b/addon/components/form/power-select-multiple.ts new file mode 100644 index 00000000..2deeb84f --- /dev/null +++ b/addon/components/form/power-select-multiple.ts @@ -0,0 +1,35 @@ +import Component from '@glimmer/component'; + +import type EmberArray from '@ember/array'; + +interface FormPowerSelectMultipleSignature { + Args: { + options: T[]; + selected: T[] | EmberArray; + disabled?: boolean; + placeholder?: string; + label?: string; + help?: string; + identifier: string; + required?: boolean; + renderInPlace?: boolean; + searchEnabled?: boolean; + searchField?: string; + onChange: (selected: never[]) => void; + onCreate?: (query: string) => void; + }; + Blocks: { + default: [T]; + }; + Element: HTMLElement; +} + +export default class FormPowerSelectMultiple extends Component< + FormPowerSelectMultipleSignature +> {} + +declare module '@glint/environment-ember-loose/registry' { + export default interface Registry { + 'Form::PowerSelectMultiple': typeof FormPowerSelectMultiple; + } +} diff --git a/addon/components/form/power-select.hbs b/addon/components/form/power-select.hbs new file mode 100644 index 00000000..ff3b28a2 --- /dev/null +++ b/addon/components/form/power-select.hbs @@ -0,0 +1,63 @@ + + +{{#if @onCreate}} + + {{! @glint-ignore }} + {{yield option}} + +{{else}} + + {{! @glint-ignore }} + {{yield option}} + +{{/if}} + +{{!-- +
+ {{or @invalidFeedback "Please select a value."}} +
--}} + +{{#if @help}} + +{{/if}} \ No newline at end of file diff --git a/addon/components/form/power-select.ts b/addon/components/form/power-select.ts new file mode 100644 index 00000000..90436ccf --- /dev/null +++ b/addon/components/form/power-select.ts @@ -0,0 +1,34 @@ +import Component from '@glimmer/component'; + +import type { Group } from 'ember-power-select/addon/utils/group-utils'; + +interface FormPowerSelectSignature { + Args: { + options?: (T | Group)[]; + selected: T | null | undefined; + label?: string; + identifier: string; + required?: boolean; + disabled?: boolean; + search?: (query: string) => T[]; + searchField?: string; + allowClear?: boolean; + help?: string; + onChange: (selected: never) => void; + onCreate?: (query: string) => void; + }; + Blocks: { + default: [T]; + }; + Element: HTMLElement; +} + +export default class FormPowerSelect extends Component< + FormPowerSelectSignature +> {} + +declare module '@glint/environment-ember-loose/registry' { + export default interface Registry { + 'Form::PowerSelect': typeof FormPowerSelect; + } +} diff --git a/addon/styles/design-system.css b/addon/styles/design-system.css index 8b7fd8a3..78c5a771 100644 --- a/addon/styles/design-system.css +++ b/addon/styles/design-system.css @@ -69,3 +69,115 @@ aside.collapsed nav .fa-fw { .yeti-table-pagination-controls-page-info { margin-right: auto; } + +/* ember-power-select */ + +.ember-power-select-trigger { + display: flex; + align-items: center; + width: 100%; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + line-height: 1.5; + background-color: var(--bs-body-bg); + background-image: var(--bs-form-select-bg-img), + var(--bs-form-select-bg-icon, none); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: var(--bs-border-width) solid var(--bs-border-color); + + /* @include border-radius($form-select-border-radius, 0); + @include box-shadow($form-select-box-shadow); + @include transition($form-select-transition); */ + + &:focus { + border-color: $form-select-focus-border-color; + outline: 0; + + /* @if $enable-shadows { + @include box-shadow( + $form-select-box-shadow, + $form-select-focus-box-shadow + ); + } @else { + box-shadow: $form-select-focus-box-shadow; + } */ + } + + &[aria-disabled="true"] { + cursor: default; + } + + .ember-power-select-placeholder, + .ember-power-select-selected-item { + width: 100%; + margin-left: 0; + } + + .ember-power-select-clear-btn { + position: static; + float: right; + font-size: 150%; + line-height: 1; + margin-left: 0.5rem; + } + + .ember-power-select-status-icon { + display: none; + } +} + +.ember-power-select-dropdown { + background-color: var(--bs-body-bg); + border: var(--bs-border-width) solid var(--bs-border-color-translucent) !important; + box-shadow: var(--bs-dropdown-box-shadow); +} + +.ember-power-select-search { + padding: 0.5rem; + line-height: 1.5; + background-color: var(--bs-tertiary-bg); + border-bottom: var(--bs-border-width) solid var(--bs-border-color); +} + +.ember-power-select-search-input { + padding: 0.375rem 0.75rem; + border: var(--bs-border-width) solid var(--bs-border-color); + + /* @include transition($input-transition); */ +} + +.ember-power-select-search-input:focus { + color: $input-focus-color; + background-color: $input-focus-bg; + border-color: $input-focus-border-color; + outline: 0; + box-shadow: $input-focus-box-shadow; +} + +.ember-power-select-options { + padding: 0.5rem 0; +} + +.ember-power-select-option { + padding: 0.25rem 1rem; +} + +.ember-power-select-option[aria-selected="true"] { + color: #fff; + background-color: #0d6efd; +} + +.ember-power-select-multiple-trigger { + padding-left: 0.5rem; +} + +.ember-power-select-multiple-option { + border: none; + margin: 0; + margin-right: 0.25rem; +} + +.ember-basic-dropdown { + min-width: 0; +} diff --git a/app/components/form/power-select-multiple.ts b/app/components/form/power-select-multiple.ts new file mode 100644 index 00000000..c06eccd6 --- /dev/null +++ b/app/components/form/power-select-multiple.ts @@ -0,0 +1 @@ +export { default } from '@trusted-american/design-system/components/form/power-select-multiple'; diff --git a/app/components/form/power-select.ts b/app/components/form/power-select.ts new file mode 100644 index 00000000..8e911d7b --- /dev/null +++ b/app/components/form/power-select.ts @@ -0,0 +1 @@ +export { default } from '@trusted-american/design-system/components/form/power-select'; diff --git a/package-lock.json b/package-lock.json index 9a59ba2a..8e24cea3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,8 @@ "ember-cli-clipboard": "^1.0.0", "ember-cli-htmlbars": "^6.2.0", "ember-cli-typescript": "^5.2.1", + "ember-power-select": "^7.1.2", + "ember-power-select-with-create": "^2.0.0", "ember-simple-bootstrap": "^0.0.38", "ember-yeti-table": "^1.7.4", "identicon.js": "^2.3.3" @@ -1992,7 +1994,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/@ember/string/-/string-3.1.1.tgz", "integrity": "sha512-UbXJ+k3QOrYN4SRPHgXCqYIJ+yWWUg1+vr0H4DhdQPTy8LJfyqwZ2tc5uqpSSnEXE+/1KopHBE5J8GDagAg5cg==", - "dev": true, "dependencies": { "ember-cli-babel": "^7.26.6" }, @@ -2051,13 +2052,13 @@ } }, "node_modules/@embroider/macros": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@embroider/macros/-/macros-1.10.0.tgz", - "integrity": "sha512-LMbfQGk/a+f6xtvAv5fq/wf2LRxETnbgSCLUf/z6ebzmuskOUxrke+uP55chF/loWrARi9g6erFQ7RDOUoBMSg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@embroider/macros/-/macros-1.13.2.tgz", + "integrity": "sha512-AUgJ71xG8kjuTx8XB1AQNBiebJuXRfhcHr318dCwnQz9VRXdYSnEEqf38XRvGYIoCvIyn/3c72LrSwzaJqknOA==", "dependencies": { - "@embroider/shared-internals": "2.0.0", + "@embroider/shared-internals": "2.5.0", "assert-never": "^1.2.1", - "babel-import-util": "^1.1.0", + "babel-import-util": "^2.0.0", "ember-cli-babel": "^7.26.6", "find-up": "^5.0.0", "lodash": "^4.17.21", @@ -2066,14 +2067,31 @@ }, "engines": { "node": "12.* || 14.* || >= 16" + }, + "peerDependencies": { + "@glint/template": "^1.0.0" + }, + "peerDependenciesMeta": { + "@glint/template": { + "optional": true + } + } + }, + "node_modules/@embroider/macros/node_modules/babel-import-util": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/babel-import-util/-/babel-import-util-2.0.1.tgz", + "integrity": "sha512-N1ZfNprtf/37x0R05J0QCW/9pCAcuI+bjZIK9tlu0JEkwEST7ssdD++gxHRbD58AiG5QE5OuNYhRoEFsc1wESw==", + "engines": { + "node": ">= 12.*" } }, "node_modules/@embroider/shared-internals": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@embroider/shared-internals/-/shared-internals-2.0.0.tgz", - "integrity": "sha512-qZ2/xky9mWm5YC6noOa6AiAwgISEQ78YTZNv4SNu2PFgEK/H+Ha/3ddngzGSsnXkVnIHZyxIBzhxETonQYHY9g==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@embroider/shared-internals/-/shared-internals-2.5.0.tgz", + "integrity": "sha512-7qzrb7GVIyNqeY0umxoeIvjDC+ay1b+wb2yCVuYTUYrFfLAkLEy9FNI3iWCi3RdQ9OFjgcAxAnwsAiPIMZZ3pQ==", "dependencies": { - "babel-import-util": "^1.1.0", + "babel-import-util": "^2.0.0", + "debug": "^4.3.2", "ember-rfc176-data": "^0.3.17", "fs-extra": "^9.1.0", "js-string-escape": "^1.0.1", @@ -2086,6 +2104,14 @@ "node": "12.* || 14.* || >= 16" } }, + "node_modules/@embroider/shared-internals/node_modules/babel-import-util": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/babel-import-util/-/babel-import-util-2.0.1.tgz", + "integrity": "sha512-N1ZfNprtf/37x0R05J0QCW/9pCAcuI+bjZIK9tlu0JEkwEST7ssdD++gxHRbD58AiG5QE5OuNYhRoEFsc1wESw==", + "engines": { + "node": ">= 12.*" + } + }, "node_modules/@embroider/test-setup": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@embroider/test-setup/-/test-setup-3.0.1.tgz", @@ -2116,12 +2142,11 @@ } }, "node_modules/@embroider/util": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@embroider/util/-/util-1.10.0.tgz", - "integrity": "sha512-utAFKoq6ajI27jyqjvX3PiGL4m+ZyGVlVNbSbE/nOqi2llRyAkh5ltH1WkIK7jhdwQFJouo1NpOSj9J3/HDa3A==", - "dev": true, + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@embroider/util/-/util-1.12.0.tgz", + "integrity": "sha512-P4M1QADEH9ceIYC9mwHeV+6DDgEIQQYFfZi728nVKqTAxakXoiLgu/BCyQmEGyow9fYEPYaC1boDCZxW2JQAXg==", "dependencies": { - "@embroider/macros": "^1.10.0", + "@embroider/macros": "^1.13.0", "broccoli-funnel": "^3.0.5", "ember-cli-babel": "^7.26.11" }, @@ -2129,10 +2154,14 @@ "node": "14.* || >= 16" }, "peerDependencies": { - "@glint/template": "^1.0.0-beta.1", + "@glint/environment-ember-loose": "^1.0.0", + "@glint/template": "^1.0.0", "ember-source": "*" }, "peerDependenciesMeta": { + "@glint/environment-ember-loose": { + "optional": true + }, "@glint/template": { "optional": true } @@ -2810,7 +2839,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@glimmer/tracking/-/tracking-1.1.2.tgz", "integrity": "sha512-cyV32zsHh+CnftuRX84ALZpd2rpbDrhLhJnTXn9W//QpqdRZ5rdMsxSY9fOsj0CKEc706tmEU299oNnDc0d7tA==", - "dev": true, "dependencies": { "@glimmer/env": "^0.1.7", "@glimmer/validator": "^0.44.0" @@ -2824,8 +2852,7 @@ "node_modules/@glimmer/validator": { "version": "0.44.0", "resolved": "https://registry.npmjs.org/@glimmer/validator/-/validator-0.44.0.tgz", - "integrity": "sha512-i01plR0EgFVz69GDrEuFgq1NheIjZcyTy3c7q+w7d096ddPVeVcRzU3LKaqCfovvLJ+6lJx40j45ecycASUUyw==", - "dev": true + "integrity": "sha512-i01plR0EgFVz69GDrEuFgq1NheIjZcyTy3c7q+w7d096ddPVeVcRzU3LKaqCfovvLJ+6lJx40j45ecycASUUyw==" }, "node_modules/@glimmer/vm-babel-plugins": { "version": "0.84.2", @@ -2876,7 +2903,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@glint/environment-ember-loose/-/environment-ember-loose-1.0.2.tgz", "integrity": "sha512-tVLYzAx6c/4vcSaijiAubwR27/+K2tujuozArxeNud58MTwncGxhUkCHSM9xl+wn4VJjsjkzI6+nmzjEdkszSg==", - "dev": true, + "devOptional": true, "peerDependencies": { "@glimmer/component": "^1.1.2", "@glint/template": "^1.0.2", @@ -3231,7 +3258,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/ember/-/ember-4.0.3.tgz", "integrity": "sha512-lRhIsa05KxPctv2mhVS/3lOwM8xnppEDsZu595Y+lE3IJhmhnXTjl3Ek+HMOPf53We2DFps+YeXSLm/UFiCILQ==", - "dev": true, + "devOptional": true, "dependencies": { "@types/ember__application": "*", "@types/ember__array": "*", @@ -3257,7 +3284,7 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/ember__application/-/ember__application-4.0.5.tgz", "integrity": "sha512-qnU1RFZ3oIfw7ncLSjYqe1p236SU5OMQQVPaXISpNcVr4IEAl6yZ6Txm8pxI7DKo7isHV8sHssPBara9oqccVA==", - "dev": true, + "devOptional": true, "dependencies": { "@glimmer/component": "^1.1.0", "@types/ember": "*", @@ -3272,7 +3299,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/ember__array/-/ember__array-4.0.3.tgz", "integrity": "sha512-G6kbLaS3ke4QspHkgLlGY0t1v0G22hGavyphezZucj7LLk1N+r11w913CYkBg3cJsJD+TG2Wo4eVbgRcotvuvQ==", - "dev": true, + "devOptional": true, "dependencies": { "@types/ember": "*", "@types/ember__array": "*", @@ -3283,7 +3310,7 @@ "version": "4.0.13", "resolved": "https://registry.npmjs.org/@types/ember__component/-/ember__component-4.0.13.tgz", "integrity": "sha512-mxPme8PexMrv/GPUOE9uPzxjVhHhrznGG4HRUsZNvrHwBbvVwJ/ClgDxz1NZeaYrKhAstQ6QjorssoEXaoer+A==", - "dev": true, + "devOptional": true, "dependencies": { "@types/ember": "*", "@types/ember__component": "*", @@ -3294,7 +3321,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/ember__controller/-/ember__controller-4.0.4.tgz", "integrity": "sha512-+f0knTIJJkRX5xijeSI/n4FvLfhMFFxIxODyFFFFB483EryYuts3QzpTwU5D66WQ5rAbZvpPRXRMPTTCNJoUhg==", - "dev": true, + "devOptional": true, "dependencies": { "@types/ember__object": "*" } @@ -3303,7 +3330,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/ember__debug/-/ember__debug-4.0.3.tgz", "integrity": "sha512-LvSLFgNlzpbsdb479ohS2szCFwkAsaqPnTjyPML7xFF3r3VGFMQjVNTXQpFYQCKTMAC1FYRX1N6hw/8lpXWHKA==", - "dev": true, + "devOptional": true, "dependencies": { "@types/ember__debug": "*", "@types/ember__object": "*", @@ -3320,7 +3347,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/ember__engine/-/ember__engine-4.0.4.tgz", "integrity": "sha512-dxQf3ESRjTJtCHbd42/ReUpQUAUsn/VtI6+S07jrsgCbAQEr8Qkh/dJpd9Cta8N+DpbY1CUH58D4HxdOC4Ip3A==", - "dev": true, + "devOptional": true, "dependencies": { "@types/ember__engine": "*", "@types/ember__object": "*", @@ -3331,13 +3358,13 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/ember__error/-/ember__error-4.0.2.tgz", "integrity": "sha512-0KVIvGrpyYzO4dmBm04ovJ/Fd7DjiXABxkKX42O8U01OL6O+Q+m3euQuJbB5wkYVANnvBHpcHlxRUI2y9KmzYg==", - "dev": true + "devOptional": true }, "node_modules/@types/ember__object": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/ember__object/-/ember__object-4.0.5.tgz", "integrity": "sha512-gXrywWBwoW7J9y9yJqoZ0m1qtiyMdrEi29cJdF1xI2qOnMqaZeuSCMYaPQMsyq52/YnVIG2EnGzo6eUD57J4Nw==", - "dev": true, + "devOptional": true, "dependencies": { "@types/ember": "*", "@types/ember__object": "*", @@ -3348,19 +3375,19 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/ember__owner/-/ember__owner-4.0.3.tgz", "integrity": "sha512-vwVKdLNYKXMOxJXwMnFQh7TkWfkp6berH6Kc/VK8is1bPgaBB7X/c50rjNmM2o7zI5LJSPm1khxcDidfyXnimg==", - "dev": true + "devOptional": true }, "node_modules/@types/ember__polyfills": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/ember__polyfills/-/ember__polyfills-4.0.1.tgz", "integrity": "sha512-IT3oovEPxLiaNCcPqY5hdVlgiRaMT8gIIrJodFt5MDEashCZDYJMn2XlqUtTXcYIFaume32PbbTBCxuhd3rhHA==", - "dev": true + "devOptional": true }, "node_modules/@types/ember__routing": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/@types/ember__routing/-/ember__routing-4.0.12.tgz", "integrity": "sha512-zxPS43JP8/dEmNrSucN5KzTvOm+JUrbFGWsJ1m5a395FwxYbpgs7JujV0JWl+eVhnCh/PmsNcCdJT16+jouktQ==", - "dev": true, + "devOptional": true, "dependencies": { "@types/ember": "*", "@types/ember__controller": "*", @@ -3373,7 +3400,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/ember__runloop/-/ember__runloop-4.0.2.tgz", "integrity": "sha512-E0/n/O/JnPQpMrabsDKtVOXX4tbCrOA116HjmD+eorgsPFLm8tAUwl3wQGroeJt8BSE7uHjsQdDA7JUkbsT3IQ==", - "dev": true, + "devOptional": true, "dependencies": { "@types/ember": "*", "@types/ember__runloop": "*" @@ -3383,7 +3410,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/ember__service/-/ember__service-4.0.2.tgz", "integrity": "sha512-7SCTMEexxOdkpkgdyf1QLFQJhoAq6aqP6dPH9fcG8N5mTMvZGLMNIKGG9bldiq3NzHS9Pxogu3qgo5yMfc2+jA==", - "dev": true, + "devOptional": true, "dependencies": { "@types/ember__object": "*" } @@ -3392,19 +3419,19 @@ "version": "3.0.10", "resolved": "https://registry.npmjs.org/@types/ember__string/-/ember__string-3.0.10.tgz", "integrity": "sha512-dxbW06IqPdieA4SEyUfyCUnL8iqUnzdcLUtrfkf8g+DSP2K/RGiexfG6w2NOyOetq8gw8F/WUpNYfMmBcB6Smw==", - "dev": true + "devOptional": true }, "node_modules/@types/ember__template": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/ember__template/-/ember__template-4.0.1.tgz", "integrity": "sha512-hAxzdJa0zNvZSoHoCbtd0KGt6Dls4Aph9EwdtbUcdnlMiSUtEDUdKTtDbUrysqJjxGBr4vWIdJEqWtZ0/Y8KBw==", - "dev": true + "devOptional": true }, "node_modules/@types/ember__test": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/ember__test/-/ember__test-4.0.1.tgz", "integrity": "sha512-EXFbZcROB9mUNHiDRyhyoJGXRIzxgo++smS3/kmmDlhM8/pIdULLKJSelTcFOy3e/VuZhf8y8ZCJLXKP74oCBQ==", - "dev": true, + "devOptional": true, "dependencies": { "@types/ember__application": "*" } @@ -3413,7 +3440,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/ember__utils/-/ember__utils-4.0.2.tgz", "integrity": "sha512-LWkLgf09/GqyrUuoKtAB6qP7n36yAzc2yOh1L5fVpZGCBv5KQiGWUQv5uBoo4c1mllD+IBOMxei3bR4cx6SwZA==", - "dev": true, + "devOptional": true, "dependencies": { "@types/ember": "*" } @@ -3492,7 +3519,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/htmlbars-inline-precompile/-/htmlbars-inline-precompile-3.0.0.tgz", "integrity": "sha512-n1YwM/Q937KmS9W4Ytran71nzhhcT2FDQI00eRGBNUyeErLZspBdDBewEe1F8tcRlUdsCVo2AZBLJsRjEceTRg==", - "dev": true + "devOptional": true }, "node_modules/@types/identicon.js": { "version": "2.3.1", @@ -3569,7 +3596,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/rsvp/-/rsvp-4.0.4.tgz", "integrity": "sha512-J3Ol++HCC7/hwZhanDvggFYU/GtxHxE/e7cGRWxR04BF7Tt3TqJZ84BkzQgDxmX0uu8IagiyfmfoUlBACh2Ilg==", - "dev": true + "devOptional": true }, "node_modules/@types/semver": { "version": "7.5.0", @@ -9601,6 +9628,18 @@ "node": "14.* || >= 16" } }, + "node_modules/ember-assign-helper": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/ember-assign-helper/-/ember-assign-helper-0.4.0.tgz", + "integrity": "sha512-GKHhT4HD2fhtDnuBk6eCdCA8XGew9hY7TVs8zjrykegiI7weC0CGtpJscmIG3O0gEEb0d07UTkF2pjfNGLx4Nw==", + "dependencies": { + "ember-cli-babel": "^7.26.0", + "ember-cli-htmlbars": "^6.0.0" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/ember-ast-helpers": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/ember-ast-helpers/-/ember-ast-helpers-0.3.5.tgz", @@ -9725,6 +9764,31 @@ "node": "10.* || >= 12.*" } }, + "node_modules/ember-basic-dropdown": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/ember-basic-dropdown/-/ember-basic-dropdown-7.2.2.tgz", + "integrity": "sha512-H8mNW9nL2gJG59wkX6V+9S0PWktxvF1hGkRvlqaeegLCnCl9ML+z1QXxt8eMNdaVj7+7BXZ3nKy0mU9wMuxRIQ==", + "dependencies": { + "@ember/render-modifiers": "^2.0.5", + "@embroider/macros": "^1.12.0", + "@embroider/util": "^1.11.0", + "@glimmer/component": "^1.1.2", + "@glimmer/tracking": "^1.1.2", + "ember-auto-import": "^2.6.3", + "ember-cli-babel": "^7.26.11", + "ember-cli-htmlbars": "^6.2.0", + "ember-cli-typescript": "^5.2.1", + "ember-element-helper": "^0.8.2", + "ember-get-config": "^2.1.1", + "ember-maybe-in-element": "^2.1.0", + "ember-modifier": "^3.2.7 || ^4.0.0", + "ember-style-modifier": "^0.8.0 || ^1.0.0 || ^2.0.0 || ^3.0.0", + "ember-truth-helpers": "^2.1.0 || ^3.0.0" + }, + "engines": { + "node": "16.* || >= 18" + } + }, "node_modules/ember-breadcrumb-trail": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/ember-breadcrumb-trail/-/ember-breadcrumb-trail-0.2.0.tgz", @@ -11578,6 +11642,26 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/ember-concurrency": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/ember-concurrency/-/ember-concurrency-3.1.1.tgz", + "integrity": "sha512-doXFYYfy1C7jez+jDDlfahTp03QdjXeSY/W3Zbnx/q3UNJ9g10Shf2d7M/HvWo/TC22eU+6dPLIpqd/6q4pR+Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/types": "^7.12.13", + "@glimmer/tracking": "^1.1.2", + "ember-cli-babel": "^7.26.11", + "ember-cli-babel-plugin-helpers": "^1.1.1", + "ember-cli-htmlbars": "^6.2.0", + "ember-compatibility-helpers": "^1.2.0" + }, + "engines": { + "node": "16.* || >= 18" + }, + "peerDependencies": { + "ember-source": "^3.28.0 || ^4.0.0 || >=5.0.0" + } + }, "node_modules/ember-decorators": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/ember-decorators/-/ember-decorators-6.1.1.tgz", @@ -11647,6 +11731,51 @@ "node": "10.* || >= 12" } }, + "node_modules/ember-element-helper": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/ember-element-helper/-/ember-element-helper-0.8.5.tgz", + "integrity": "sha512-yZYzuasn6ZC8Nwv0MpaLYGtm68ZxIBSNSe/CYxNWkDdgcuAb2lAG1gx37XkwBIiwPQET0W2agwq7++/HwdMF8g==", + "dependencies": { + "@embroider/addon-shim": "1.8.3", + "@embroider/util": "^1.0.0" + }, + "engines": { + "node": "14.* || 16.* || >= 18" + }, + "peerDependencies": { + "ember-source": "^3.8 || ^4.0.0 || >= 5.0.0" + } + }, + "node_modules/ember-element-helper/node_modules/@embroider/addon-shim": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@embroider/addon-shim/-/addon-shim-1.8.3.tgz", + "integrity": "sha512-7pyHwzT6ESXc3nZsB8rfnirLkUhQWdvj6CkYH+0MUPN74mX4rslf7pnBqZE/KZkW3uBIaBYvU8fxi0hcKC/Paw==", + "dependencies": { + "@embroider/shared-internals": "^1.8.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "12.* || 14.* || >= 16" + } + }, + "node_modules/ember-element-helper/node_modules/@embroider/shared-internals": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@embroider/shared-internals/-/shared-internals-1.8.3.tgz", + "integrity": "sha512-N5Gho6Qk8z5u+mxLCcMYAoQMbN4MmH+z2jXwQHVs859bxuZTxwF6kKtsybDAASCtd2YGxEmzcc1Ja/wM28824w==", + "dependencies": { + "babel-import-util": "^1.1.0", + "ember-rfc176-data": "^0.3.17", + "fs-extra": "^9.1.0", + "js-string-escape": "^1.0.1", + "lodash": "^4.17.21", + "resolve-package-path": "^4.0.1", + "semver": "^7.3.5", + "typescript-memoize": "^1.0.1" + }, + "engines": { + "node": "12.* || 14.* || >= 16" + } + }, "node_modules/ember-event-helpers": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ember-event-helpers/-/ember-event-helpers-0.1.1.tgz", @@ -11958,6 +12087,19 @@ "which": "bin/which" } }, + "node_modules/ember-maybe-in-element": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ember-maybe-in-element/-/ember-maybe-in-element-2.1.0.tgz", + "integrity": "sha512-6WAzPbf4BNQIQzkur2+zRJJJ/PKQoujIYgFjrpj3fOPy8iRlxVUm0/B41qbFyg1LE6bVbg0cWbuESWEvJ9Rswg==", + "dependencies": { + "ember-cli-babel": "^7.26.11", + "ember-cli-htmlbars": "^6.1.1", + "ember-cli-version-checker": "^5.1.2" + }, + "engines": { + "node": "10.* || >= 12" + } + }, "node_modules/ember-modifier": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ember-modifier/-/ember-modifier-4.1.0.tgz", @@ -12235,6 +12377,42 @@ "node": "12.* || 14.* || >= 16" } }, + "node_modules/ember-power-select": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ember-power-select/-/ember-power-select-7.1.2.tgz", + "integrity": "sha512-Iw4gzeieRbpqWd7ndUY35uArxbhBaFZQD5v8QyttaIeBOFl/cQL7Rbyyg01AFVJRfKvbDKVWkbPqgHaoie9rWQ==", + "dependencies": { + "@ember/string": "^3.1.1", + "@embroider/util": "^1.11.0", + "@glimmer/component": "^1.1.2", + "@glimmer/tracking": "^1.1.2", + "ember-assign-helper": "^0.4.0", + "ember-basic-dropdown": "^7.2.2", + "ember-cli-babel": "^7.26.11", + "ember-cli-htmlbars": "^6.2.0", + "ember-cli-typescript": "^5.0.0", + "ember-concurrency": "^2.0.0 || ^3.0.0", + "ember-text-measurer": "^0.6.0", + "ember-truth-helpers": "^3.1.0" + }, + "engines": { + "node": "16.* || >= 18" + } + }, + "node_modules/ember-power-select-with-create": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ember-power-select-with-create/-/ember-power-select-with-create-2.0.0.tgz", + "integrity": "sha512-tyHZpi6J8L3qkhWxQtZ4o4ciuVIvYGbsOIxPHI3KW12x6+sHRpKx0asveYrMnFOYip2qWh+PudKQnnfVzJ9uiA==", + "dependencies": { + "@embroider/util": "^1.0.0", + "ember-cli-babel": "^7.26.11", + "ember-cli-htmlbars": "^6.1.0", + "ember-power-select": "^7.0.0" + }, + "engines": { + "node": "14.* || >= 16" + } + }, "node_modules/ember-qunit": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/ember-qunit/-/ember-qunit-6.2.0.tgz", @@ -12401,6 +12579,22 @@ "node": "10.* || 12.* || >= 14" } }, + "node_modules/ember-style-modifier": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ember-style-modifier/-/ember-style-modifier-3.0.1.tgz", + "integrity": "sha512-WHRVIiqY/dpwDtVWlnHW0P4Z+Jha8QEwfaQdIF2ckJL77ZKdjbV2j1XZymS0Nzj61EGx5BM+YEsGL16r3hLv2A==", + "dependencies": { + "ember-auto-import": "^2.5.0", + "ember-cli-babel": "^7.26.11", + "ember-modifier": "^3.2.7 || ^4.0.0" + }, + "engines": { + "node": "14.* || 16.* || >= 18" + }, + "peerDependencies": { + "@ember/string": "^3.0.1" + } + }, "node_modules/ember-template-imports": { "version": "3.4.2", "resolved": "https://registry.npmjs.org/ember-template-imports/-/ember-template-imports-3.4.2.tgz", @@ -12734,6 +12928,217 @@ "node": "12.* || 14.* || >= 16.*" } }, + "node_modules/ember-text-measurer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/ember-text-measurer/-/ember-text-measurer-0.6.0.tgz", + "integrity": "sha512-/aZs2x2i6kT4a5tAW+zenH2wg8AbRK9jKxLkbVsKl/1ublNl27idVRdov1gJ+zgWu3DNK7whcfVycXtlaybYQw==", + "dependencies": { + "ember-cli-babel": "^7.19.0", + "ember-cli-htmlbars": "^4.3.1" + }, + "engines": { + "node": "10.* || >= 12" + } + }, + "node_modules/ember-text-measurer/node_modules/babel-plugin-htmlbars-inline-precompile": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-htmlbars-inline-precompile/-/babel-plugin-htmlbars-inline-precompile-3.2.0.tgz", + "integrity": "sha512-IUeZmgs9tMUGXYu1vfke5I18yYJFldFGdNFQOWslXTnDWXzpwPih7QFduUqvT+awDpDuNtXpdt5JAf43Q1Hhzg==", + "engines": { + "node": "8.* || 10.* || >= 12.*" + } + }, + "node_modules/ember-text-measurer/node_modules/broccoli-output-wrapper": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/broccoli-output-wrapper/-/broccoli-output-wrapper-2.0.0.tgz", + "integrity": "sha512-V/ozejo+snzNf75i/a6iTmp71k+rlvqjE3+jYfimuMwR1tjNNRdtfno+NGNQB2An9bIAeqZnKhMDurAznHAdtA==", + "dependencies": { + "heimdalljs-logger": "^0.1.10" + } + }, + "node_modules/ember-text-measurer/node_modules/broccoli-persistent-filter": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-2.3.1.tgz", + "integrity": "sha512-hVsmIgCDrl2NFM+3Gs4Cr2TA6UPaIZip99hN8mtkaUPgM8UeVnCbxelCvBjUBHo0oaaqP5jzqqnRVvb568Yu5g==", + "dependencies": { + "async-disk-cache": "^1.2.1", + "async-promise-queue": "^1.0.3", + "broccoli-plugin": "^1.0.0", + "fs-tree-diff": "^2.0.0", + "hash-for-dep": "^1.5.0", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "mkdirp": "^0.5.1", + "promise-map-series": "^0.2.1", + "rimraf": "^2.6.1", + "rsvp": "^4.7.0", + "symlink-or-copy": "^1.0.1", + "sync-disk-cache": "^1.3.3", + "walk-sync": "^1.0.0" + }, + "engines": { + "node": "6.* || >= 8.*" + } + }, + "node_modules/ember-text-measurer/node_modules/broccoli-persistent-filter/node_modules/broccoli-plugin": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-1.3.1.tgz", + "integrity": "sha512-DW8XASZkmorp+q7J4EeDEZz+LoyKLAd2XZULXyD9l4m9/hAKV3vjHmB1kiUshcWAYMgTP1m2i4NnqCE/23h6AQ==", + "dependencies": { + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^2.3.4", + "symlink-or-copy": "^1.1.8" + } + }, + "node_modules/ember-text-measurer/node_modules/broccoli-persistent-filter/node_modules/matcher-collection": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.1.2.tgz", + "integrity": "sha512-YQ/teqaOIIfUHedRam08PB3NK7Mjct6BvzRnJmpGDm8uFXpNr1sbY4yuflI5JcEs6COpYA0FpRQhSDBf1tT95g==", + "dependencies": { + "minimatch": "^3.0.2" + } + }, + "node_modules/ember-text-measurer/node_modules/broccoli-persistent-filter/node_modules/walk-sync": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-1.1.4.tgz", + "integrity": "sha512-nowc9thB/Jg0KW4TgxoRjLLYRPvl3DB/98S89r4ZcJqq2B0alNcKDh6pzLkBSkPMzRSMsJghJHQi79qw0YWEkA==", + "dependencies": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^1.1.1" + } + }, + "node_modules/ember-text-measurer/node_modules/broccoli-plugin": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-3.1.0.tgz", + "integrity": "sha512-7w7FP8WJYjLvb0eaw27LO678TGGaom++49O1VYIuzjhXjK5kn2+AMlDm7CaUFw4F7CLGoVQeZ84d8gICMJa4lA==", + "dependencies": { + "broccoli-node-api": "^1.6.0", + "broccoli-output-wrapper": "^2.0.0", + "fs-merger": "^3.0.1", + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^2.3.4", + "symlink-or-copy": "^1.1.8" + }, + "engines": { + "node": "8.* || 10.* || >= 12.*" + } + }, + "node_modules/ember-text-measurer/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/ember-text-measurer/node_modules/ember-cli-htmlbars": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-4.5.0.tgz", + "integrity": "sha512-bYJpK1pqFu9AadDAGTw05g2LMNzY8xTCIqQm7dMJmKEoUpLRFbPf4SfHXrktzDh7Q5iggl6Skzf1M0bPlIxARw==", + "dependencies": { + "@ember/edition-utils": "^1.2.0", + "babel-plugin-htmlbars-inline-precompile": "^3.2.0", + "broccoli-debug": "^0.6.5", + "broccoli-persistent-filter": "^2.3.1", + "broccoli-plugin": "^3.1.0", + "common-tags": "^1.8.0", + "ember-cli-babel-plugin-helpers": "^1.1.0", + "fs-tree-diff": "^2.0.1", + "hash-for-dep": "^1.5.1", + "heimdalljs-logger": "^0.1.10", + "json-stable-stringify": "^1.0.1", + "semver": "^6.3.0", + "strip-bom": "^4.0.0", + "walk-sync": "^2.0.2" + }, + "engines": { + "node": "8.* || 10.* || >= 12.*" + } + }, + "node_modules/ember-text-measurer/node_modules/fs-tree-diff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", + "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", + "dependencies": { + "@types/symlink-or-copy": "^1.2.0", + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/ember-text-measurer/node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ember-text-measurer/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ember-text-measurer/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/ember-text-measurer/node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/ember-text-measurer/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/ember-text-measurer/node_modules/sync-disk-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/sync-disk-cache/-/sync-disk-cache-1.3.4.tgz", + "integrity": "sha512-GlkGeM81GPPEKz/lH7QUTbvqLq7K/IUTuaKDSMulP9XQ42glqNJIN/RKgSOw4y8vxL1gOVvj+W7ruEO4s36eCw==", + "dependencies": { + "debug": "^2.1.3", + "heimdalljs": "^0.2.3", + "mkdirp": "^0.5.0", + "rimraf": "^2.2.8", + "username-sync": "^1.0.2" + } + }, + "node_modules/ember-text-measurer/node_modules/walk-sync": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", + "integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==", + "dependencies": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^2.0.0", + "minimatch": "^3.0.4" + }, + "engines": { + "node": "8.* || >= 10.*" + } + }, "node_modules/ember-truth-helpers": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/ember-truth-helpers/-/ember-truth-helpers-3.1.1.tgz", @@ -26537,7 +26942,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/@ember/string/-/string-3.1.1.tgz", "integrity": "sha512-UbXJ+k3QOrYN4SRPHgXCqYIJ+yWWUg1+vr0H4DhdQPTy8LJfyqwZ2tc5uqpSSnEXE+/1KopHBE5J8GDagAg5cg==", - "dev": true, "requires": { "ember-cli-babel": "^7.26.6" } @@ -26581,26 +26985,34 @@ } }, "@embroider/macros": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@embroider/macros/-/macros-1.10.0.tgz", - "integrity": "sha512-LMbfQGk/a+f6xtvAv5fq/wf2LRxETnbgSCLUf/z6ebzmuskOUxrke+uP55chF/loWrARi9g6erFQ7RDOUoBMSg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@embroider/macros/-/macros-1.13.2.tgz", + "integrity": "sha512-AUgJ71xG8kjuTx8XB1AQNBiebJuXRfhcHr318dCwnQz9VRXdYSnEEqf38XRvGYIoCvIyn/3c72LrSwzaJqknOA==", "requires": { - "@embroider/shared-internals": "2.0.0", + "@embroider/shared-internals": "2.5.0", "assert-never": "^1.2.1", - "babel-import-util": "^1.1.0", + "babel-import-util": "^2.0.0", "ember-cli-babel": "^7.26.6", "find-up": "^5.0.0", "lodash": "^4.17.21", "resolve": "^1.20.0", "semver": "^7.3.2" + }, + "dependencies": { + "babel-import-util": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/babel-import-util/-/babel-import-util-2.0.1.tgz", + "integrity": "sha512-N1ZfNprtf/37x0R05J0QCW/9pCAcuI+bjZIK9tlu0JEkwEST7ssdD++gxHRbD58AiG5QE5OuNYhRoEFsc1wESw==" + } } }, "@embroider/shared-internals": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@embroider/shared-internals/-/shared-internals-2.0.0.tgz", - "integrity": "sha512-qZ2/xky9mWm5YC6noOa6AiAwgISEQ78YTZNv4SNu2PFgEK/H+Ha/3ddngzGSsnXkVnIHZyxIBzhxETonQYHY9g==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@embroider/shared-internals/-/shared-internals-2.5.0.tgz", + "integrity": "sha512-7qzrb7GVIyNqeY0umxoeIvjDC+ay1b+wb2yCVuYTUYrFfLAkLEy9FNI3iWCi3RdQ9OFjgcAxAnwsAiPIMZZ3pQ==", "requires": { - "babel-import-util": "^1.1.0", + "babel-import-util": "^2.0.0", + "debug": "^4.3.2", "ember-rfc176-data": "^0.3.17", "fs-extra": "^9.1.0", "js-string-escape": "^1.0.1", @@ -26608,6 +27020,13 @@ "resolve-package-path": "^4.0.1", "semver": "^7.3.5", "typescript-memoize": "^1.0.1" + }, + "dependencies": { + "babel-import-util": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/babel-import-util/-/babel-import-util-2.0.1.tgz", + "integrity": "sha512-N1ZfNprtf/37x0R05J0QCW/9pCAcuI+bjZIK9tlu0JEkwEST7ssdD++gxHRbD58AiG5QE5OuNYhRoEFsc1wESw==" + } } }, "@embroider/test-setup": { @@ -26621,12 +27040,11 @@ } }, "@embroider/util": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@embroider/util/-/util-1.10.0.tgz", - "integrity": "sha512-utAFKoq6ajI27jyqjvX3PiGL4m+ZyGVlVNbSbE/nOqi2llRyAkh5ltH1WkIK7jhdwQFJouo1NpOSj9J3/HDa3A==", - "dev": true, + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@embroider/util/-/util-1.12.0.tgz", + "integrity": "sha512-P4M1QADEH9ceIYC9mwHeV+6DDgEIQQYFfZi728nVKqTAxakXoiLgu/BCyQmEGyow9fYEPYaC1boDCZxW2JQAXg==", "requires": { - "@embroider/macros": "^1.10.0", + "@embroider/macros": "^1.13.0", "broccoli-funnel": "^3.0.5", "ember-cli-babel": "^7.26.11" } @@ -27182,7 +27600,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@glimmer/tracking/-/tracking-1.1.2.tgz", "integrity": "sha512-cyV32zsHh+CnftuRX84ALZpd2rpbDrhLhJnTXn9W//QpqdRZ5rdMsxSY9fOsj0CKEc706tmEU299oNnDc0d7tA==", - "dev": true, "requires": { "@glimmer/env": "^0.1.7", "@glimmer/validator": "^0.44.0" @@ -27196,8 +27613,7 @@ "@glimmer/validator": { "version": "0.44.0", "resolved": "https://registry.npmjs.org/@glimmer/validator/-/validator-0.44.0.tgz", - "integrity": "sha512-i01plR0EgFVz69GDrEuFgq1NheIjZcyTy3c7q+w7d096ddPVeVcRzU3LKaqCfovvLJ+6lJx40j45ecycASUUyw==", - "dev": true + "integrity": "sha512-i01plR0EgFVz69GDrEuFgq1NheIjZcyTy3c7q+w7d096ddPVeVcRzU3LKaqCfovvLJ+6lJx40j45ecycASUUyw==" }, "@glimmer/vm-babel-plugins": { "version": "0.84.2", @@ -27243,7 +27659,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@glint/environment-ember-loose/-/environment-ember-loose-1.0.2.tgz", "integrity": "sha512-tVLYzAx6c/4vcSaijiAubwR27/+K2tujuozArxeNud58MTwncGxhUkCHSM9xl+wn4VJjsjkzI6+nmzjEdkszSg==", - "dev": true, + "devOptional": true, "requires": {} }, "@glint/template": { @@ -27503,7 +27919,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/ember/-/ember-4.0.3.tgz", "integrity": "sha512-lRhIsa05KxPctv2mhVS/3lOwM8xnppEDsZu595Y+lE3IJhmhnXTjl3Ek+HMOPf53We2DFps+YeXSLm/UFiCILQ==", - "dev": true, + "devOptional": true, "requires": { "@types/ember__application": "*", "@types/ember__array": "*", @@ -27529,7 +27945,7 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/ember__application/-/ember__application-4.0.5.tgz", "integrity": "sha512-qnU1RFZ3oIfw7ncLSjYqe1p236SU5OMQQVPaXISpNcVr4IEAl6yZ6Txm8pxI7DKo7isHV8sHssPBara9oqccVA==", - "dev": true, + "devOptional": true, "requires": { "@glimmer/component": "^1.1.0", "@types/ember": "*", @@ -27544,7 +27960,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/ember__array/-/ember__array-4.0.3.tgz", "integrity": "sha512-G6kbLaS3ke4QspHkgLlGY0t1v0G22hGavyphezZucj7LLk1N+r11w913CYkBg3cJsJD+TG2Wo4eVbgRcotvuvQ==", - "dev": true, + "devOptional": true, "requires": { "@types/ember": "*", "@types/ember__array": "*", @@ -27555,7 +27971,7 @@ "version": "4.0.13", "resolved": "https://registry.npmjs.org/@types/ember__component/-/ember__component-4.0.13.tgz", "integrity": "sha512-mxPme8PexMrv/GPUOE9uPzxjVhHhrznGG4HRUsZNvrHwBbvVwJ/ClgDxz1NZeaYrKhAstQ6QjorssoEXaoer+A==", - "dev": true, + "devOptional": true, "requires": { "@types/ember": "*", "@types/ember__component": "*", @@ -27566,7 +27982,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/ember__controller/-/ember__controller-4.0.4.tgz", "integrity": "sha512-+f0knTIJJkRX5xijeSI/n4FvLfhMFFxIxODyFFFFB483EryYuts3QzpTwU5D66WQ5rAbZvpPRXRMPTTCNJoUhg==", - "dev": true, + "devOptional": true, "requires": { "@types/ember__object": "*" } @@ -27575,7 +27991,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/ember__debug/-/ember__debug-4.0.3.tgz", "integrity": "sha512-LvSLFgNlzpbsdb479ohS2szCFwkAsaqPnTjyPML7xFF3r3VGFMQjVNTXQpFYQCKTMAC1FYRX1N6hw/8lpXWHKA==", - "dev": true, + "devOptional": true, "requires": { "@types/ember__debug": "*", "@types/ember__object": "*", @@ -27592,7 +28008,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/ember__engine/-/ember__engine-4.0.4.tgz", "integrity": "sha512-dxQf3ESRjTJtCHbd42/ReUpQUAUsn/VtI6+S07jrsgCbAQEr8Qkh/dJpd9Cta8N+DpbY1CUH58D4HxdOC4Ip3A==", - "dev": true, + "devOptional": true, "requires": { "@types/ember__engine": "*", "@types/ember__object": "*", @@ -27603,13 +28019,13 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/ember__error/-/ember__error-4.0.2.tgz", "integrity": "sha512-0KVIvGrpyYzO4dmBm04ovJ/Fd7DjiXABxkKX42O8U01OL6O+Q+m3euQuJbB5wkYVANnvBHpcHlxRUI2y9KmzYg==", - "dev": true + "devOptional": true }, "@types/ember__object": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/ember__object/-/ember__object-4.0.5.tgz", "integrity": "sha512-gXrywWBwoW7J9y9yJqoZ0m1qtiyMdrEi29cJdF1xI2qOnMqaZeuSCMYaPQMsyq52/YnVIG2EnGzo6eUD57J4Nw==", - "dev": true, + "devOptional": true, "requires": { "@types/ember": "*", "@types/ember__object": "*", @@ -27620,19 +28036,19 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/ember__owner/-/ember__owner-4.0.3.tgz", "integrity": "sha512-vwVKdLNYKXMOxJXwMnFQh7TkWfkp6berH6Kc/VK8is1bPgaBB7X/c50rjNmM2o7zI5LJSPm1khxcDidfyXnimg==", - "dev": true + "devOptional": true }, "@types/ember__polyfills": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/ember__polyfills/-/ember__polyfills-4.0.1.tgz", "integrity": "sha512-IT3oovEPxLiaNCcPqY5hdVlgiRaMT8gIIrJodFt5MDEashCZDYJMn2XlqUtTXcYIFaume32PbbTBCxuhd3rhHA==", - "dev": true + "devOptional": true }, "@types/ember__routing": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/@types/ember__routing/-/ember__routing-4.0.12.tgz", "integrity": "sha512-zxPS43JP8/dEmNrSucN5KzTvOm+JUrbFGWsJ1m5a395FwxYbpgs7JujV0JWl+eVhnCh/PmsNcCdJT16+jouktQ==", - "dev": true, + "devOptional": true, "requires": { "@types/ember": "*", "@types/ember__controller": "*", @@ -27645,7 +28061,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/ember__runloop/-/ember__runloop-4.0.2.tgz", "integrity": "sha512-E0/n/O/JnPQpMrabsDKtVOXX4tbCrOA116HjmD+eorgsPFLm8tAUwl3wQGroeJt8BSE7uHjsQdDA7JUkbsT3IQ==", - "dev": true, + "devOptional": true, "requires": { "@types/ember": "*", "@types/ember__runloop": "*" @@ -27655,7 +28071,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/ember__service/-/ember__service-4.0.2.tgz", "integrity": "sha512-7SCTMEexxOdkpkgdyf1QLFQJhoAq6aqP6dPH9fcG8N5mTMvZGLMNIKGG9bldiq3NzHS9Pxogu3qgo5yMfc2+jA==", - "dev": true, + "devOptional": true, "requires": { "@types/ember__object": "*" } @@ -27664,19 +28080,19 @@ "version": "3.0.10", "resolved": "https://registry.npmjs.org/@types/ember__string/-/ember__string-3.0.10.tgz", "integrity": "sha512-dxbW06IqPdieA4SEyUfyCUnL8iqUnzdcLUtrfkf8g+DSP2K/RGiexfG6w2NOyOetq8gw8F/WUpNYfMmBcB6Smw==", - "dev": true + "devOptional": true }, "@types/ember__template": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/ember__template/-/ember__template-4.0.1.tgz", "integrity": "sha512-hAxzdJa0zNvZSoHoCbtd0KGt6Dls4Aph9EwdtbUcdnlMiSUtEDUdKTtDbUrysqJjxGBr4vWIdJEqWtZ0/Y8KBw==", - "dev": true + "devOptional": true }, "@types/ember__test": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/ember__test/-/ember__test-4.0.1.tgz", "integrity": "sha512-EXFbZcROB9mUNHiDRyhyoJGXRIzxgo++smS3/kmmDlhM8/pIdULLKJSelTcFOy3e/VuZhf8y8ZCJLXKP74oCBQ==", - "dev": true, + "devOptional": true, "requires": { "@types/ember__application": "*" } @@ -27685,7 +28101,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/ember__utils/-/ember__utils-4.0.2.tgz", "integrity": "sha512-LWkLgf09/GqyrUuoKtAB6qP7n36yAzc2yOh1L5fVpZGCBv5KQiGWUQv5uBoo4c1mllD+IBOMxei3bR4cx6SwZA==", - "dev": true, + "devOptional": true, "requires": { "@types/ember": "*" } @@ -27766,7 +28182,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/htmlbars-inline-precompile/-/htmlbars-inline-precompile-3.0.0.tgz", "integrity": "sha512-n1YwM/Q937KmS9W4Ytran71nzhhcT2FDQI00eRGBNUyeErLZspBdDBewEe1F8tcRlUdsCVo2AZBLJsRjEceTRg==", - "dev": true + "devOptional": true }, "@types/identicon.js": { "version": "2.3.1", @@ -27843,7 +28259,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/rsvp/-/rsvp-4.0.4.tgz", "integrity": "sha512-J3Ol++HCC7/hwZhanDvggFYU/GtxHxE/e7cGRWxR04BF7Tt3TqJZ84BkzQgDxmX0uu8IagiyfmfoUlBACh2Ilg==", - "dev": true + "devOptional": true }, "@types/semver": { "version": "7.5.0", @@ -32773,6 +33189,15 @@ "prop-types": "^15.7.2" } }, + "ember-assign-helper": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/ember-assign-helper/-/ember-assign-helper-0.4.0.tgz", + "integrity": "sha512-GKHhT4HD2fhtDnuBk6eCdCA8XGew9hY7TVs8zjrykegiI7weC0CGtpJscmIG3O0gEEb0d07UTkF2pjfNGLx4Nw==", + "requires": { + "ember-cli-babel": "^7.26.0", + "ember-cli-htmlbars": "^6.0.0" + } + }, "ember-ast-helpers": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/ember-ast-helpers/-/ember-ast-helpers-0.3.5.tgz", @@ -32886,6 +33311,28 @@ } } }, + "ember-basic-dropdown": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/ember-basic-dropdown/-/ember-basic-dropdown-7.2.2.tgz", + "integrity": "sha512-H8mNW9nL2gJG59wkX6V+9S0PWktxvF1hGkRvlqaeegLCnCl9ML+z1QXxt8eMNdaVj7+7BXZ3nKy0mU9wMuxRIQ==", + "requires": { + "@ember/render-modifiers": "^2.0.5", + "@embroider/macros": "^1.12.0", + "@embroider/util": "^1.11.0", + "@glimmer/component": "^1.1.2", + "@glimmer/tracking": "^1.1.2", + "ember-auto-import": "^2.6.3", + "ember-cli-babel": "^7.26.11", + "ember-cli-htmlbars": "^6.2.0", + "ember-cli-typescript": "^5.2.1", + "ember-element-helper": "^0.8.2", + "ember-get-config": "^2.1.1", + "ember-maybe-in-element": "^2.1.0", + "ember-modifier": "4.1.0", + "ember-style-modifier": "^0.8.0 || ^1.0.0 || ^2.0.0 || ^3.0.0", + "ember-truth-helpers": "^2.1.0 || ^3.0.0" + } + }, "ember-breadcrumb-trail": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/ember-breadcrumb-trail/-/ember-breadcrumb-trail-0.2.0.tgz", @@ -34407,6 +34854,20 @@ } } }, + "ember-concurrency": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/ember-concurrency/-/ember-concurrency-3.1.1.tgz", + "integrity": "sha512-doXFYYfy1C7jez+jDDlfahTp03QdjXeSY/W3Zbnx/q3UNJ9g10Shf2d7M/HvWo/TC22eU+6dPLIpqd/6q4pR+Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/types": "^7.12.13", + "@glimmer/tracking": "^1.1.2", + "ember-cli-babel": "^7.26.11", + "ember-cli-babel-plugin-helpers": "^1.1.1", + "ember-cli-htmlbars": "^6.2.0", + "ember-compatibility-helpers": "^1.2.0" + } + }, "ember-decorators": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/ember-decorators/-/ember-decorators-6.1.1.tgz", @@ -34463,6 +34924,41 @@ "ember-compatibility-helpers": "^1.2.1" } }, + "ember-element-helper": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/ember-element-helper/-/ember-element-helper-0.8.5.tgz", + "integrity": "sha512-yZYzuasn6ZC8Nwv0MpaLYGtm68ZxIBSNSe/CYxNWkDdgcuAb2lAG1gx37XkwBIiwPQET0W2agwq7++/HwdMF8g==", + "requires": { + "@embroider/addon-shim": "1.8.3", + "@embroider/util": "^1.0.0" + }, + "dependencies": { + "@embroider/addon-shim": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@embroider/addon-shim/-/addon-shim-1.8.3.tgz", + "integrity": "sha512-7pyHwzT6ESXc3nZsB8rfnirLkUhQWdvj6CkYH+0MUPN74mX4rslf7pnBqZE/KZkW3uBIaBYvU8fxi0hcKC/Paw==", + "requires": { + "@embroider/shared-internals": "^1.8.3", + "semver": "^7.3.5" + } + }, + "@embroider/shared-internals": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@embroider/shared-internals/-/shared-internals-1.8.3.tgz", + "integrity": "sha512-N5Gho6Qk8z5u+mxLCcMYAoQMbN4MmH+z2jXwQHVs859bxuZTxwF6kKtsybDAASCtd2YGxEmzcc1Ja/wM28824w==", + "requires": { + "babel-import-util": "^1.1.0", + "ember-rfc176-data": "^0.3.17", + "fs-extra": "^9.1.0", + "js-string-escape": "^1.0.1", + "lodash": "^4.17.21", + "resolve-package-path": "^4.0.1", + "semver": "^7.3.5", + "typescript-memoize": "^1.0.1" + } + } + } + }, "ember-event-helpers": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ember-event-helpers/-/ember-event-helpers-0.1.1.tgz", @@ -34711,6 +35207,16 @@ } } }, + "ember-maybe-in-element": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ember-maybe-in-element/-/ember-maybe-in-element-2.1.0.tgz", + "integrity": "sha512-6WAzPbf4BNQIQzkur2+zRJJJ/PKQoujIYgFjrpj3fOPy8iRlxVUm0/B41qbFyg1LE6bVbg0cWbuESWEvJ9Rswg==", + "requires": { + "ember-cli-babel": "^7.26.11", + "ember-cli-htmlbars": "^6.1.1", + "ember-cli-version-checker": "^5.1.2" + } + }, "ember-modifier": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ember-modifier/-/ember-modifier-4.1.0.tgz", @@ -34935,6 +35441,36 @@ "ember-cli-babel": "^7.26.6" } }, + "ember-power-select": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ember-power-select/-/ember-power-select-7.1.2.tgz", + "integrity": "sha512-Iw4gzeieRbpqWd7ndUY35uArxbhBaFZQD5v8QyttaIeBOFl/cQL7Rbyyg01AFVJRfKvbDKVWkbPqgHaoie9rWQ==", + "requires": { + "@ember/string": "^3.1.1", + "@embroider/util": "^1.11.0", + "@glimmer/component": "^1.1.2", + "@glimmer/tracking": "^1.1.2", + "ember-assign-helper": "^0.4.0", + "ember-basic-dropdown": "^7.2.2", + "ember-cli-babel": "^7.26.11", + "ember-cli-htmlbars": "^6.2.0", + "ember-cli-typescript": "^5.0.0", + "ember-concurrency": "^2.0.0 || ^3.0.0", + "ember-text-measurer": "^0.6.0", + "ember-truth-helpers": "^3.1.0" + } + }, + "ember-power-select-with-create": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ember-power-select-with-create/-/ember-power-select-with-create-2.0.0.tgz", + "integrity": "sha512-tyHZpi6J8L3qkhWxQtZ4o4ciuVIvYGbsOIxPHI3KW12x6+sHRpKx0asveYrMnFOYip2qWh+PudKQnnfVzJ9uiA==", + "requires": { + "@embroider/util": "^1.0.0", + "ember-cli-babel": "^7.26.11", + "ember-cli-htmlbars": "^6.1.0", + "ember-power-select": "^7.0.0" + } + }, "ember-qunit": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/ember-qunit/-/ember-qunit-6.2.0.tgz", @@ -35059,6 +35595,16 @@ "node-fetch": "^2.6.0" } }, + "ember-style-modifier": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ember-style-modifier/-/ember-style-modifier-3.0.1.tgz", + "integrity": "sha512-WHRVIiqY/dpwDtVWlnHW0P4Z+Jha8QEwfaQdIF2ckJL77ZKdjbV2j1XZymS0Nzj61EGx5BM+YEsGL16r3hLv2A==", + "requires": { + "ember-auto-import": "^2.5.0", + "ember-cli-babel": "^7.26.11", + "ember-modifier": "4.1.0" + } + }, "ember-template-imports": { "version": "3.4.2", "resolved": "https://registry.npmjs.org/ember-template-imports/-/ember-template-imports-3.4.2.tgz", @@ -35299,6 +35845,188 @@ "ember-cli-version-checker": "^5.1.2" } }, + "ember-text-measurer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/ember-text-measurer/-/ember-text-measurer-0.6.0.tgz", + "integrity": "sha512-/aZs2x2i6kT4a5tAW+zenH2wg8AbRK9jKxLkbVsKl/1ublNl27idVRdov1gJ+zgWu3DNK7whcfVycXtlaybYQw==", + "requires": { + "ember-cli-babel": "^7.19.0", + "ember-cli-htmlbars": "^4.3.1" + }, + "dependencies": { + "babel-plugin-htmlbars-inline-precompile": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-htmlbars-inline-precompile/-/babel-plugin-htmlbars-inline-precompile-3.2.0.tgz", + "integrity": "sha512-IUeZmgs9tMUGXYu1vfke5I18yYJFldFGdNFQOWslXTnDWXzpwPih7QFduUqvT+awDpDuNtXpdt5JAf43Q1Hhzg==" + }, + "broccoli-output-wrapper": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/broccoli-output-wrapper/-/broccoli-output-wrapper-2.0.0.tgz", + "integrity": "sha512-V/ozejo+snzNf75i/a6iTmp71k+rlvqjE3+jYfimuMwR1tjNNRdtfno+NGNQB2An9bIAeqZnKhMDurAznHAdtA==", + "requires": { + "heimdalljs-logger": "^0.1.10" + } + }, + "broccoli-persistent-filter": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-2.3.1.tgz", + "integrity": "sha512-hVsmIgCDrl2NFM+3Gs4Cr2TA6UPaIZip99hN8mtkaUPgM8UeVnCbxelCvBjUBHo0oaaqP5jzqqnRVvb568Yu5g==", + "requires": { + "async-disk-cache": "^1.2.1", + "async-promise-queue": "^1.0.3", + "broccoli-plugin": "^1.0.0", + "fs-tree-diff": "^2.0.0", + "hash-for-dep": "^1.5.0", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "mkdirp": "^0.5.1", + "promise-map-series": "^0.2.1", + "rimraf": "^2.6.1", + "rsvp": "^4.7.0", + "symlink-or-copy": "^1.0.1", + "sync-disk-cache": "^1.3.3", + "walk-sync": "^1.0.0" + }, + "dependencies": { + "broccoli-plugin": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-1.3.1.tgz", + "integrity": "sha512-DW8XASZkmorp+q7J4EeDEZz+LoyKLAd2XZULXyD9l4m9/hAKV3vjHmB1kiUshcWAYMgTP1m2i4NnqCE/23h6AQ==", + "requires": { + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^2.3.4", + "symlink-or-copy": "^1.1.8" + } + }, + "matcher-collection": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.1.2.tgz", + "integrity": "sha512-YQ/teqaOIIfUHedRam08PB3NK7Mjct6BvzRnJmpGDm8uFXpNr1sbY4yuflI5JcEs6COpYA0FpRQhSDBf1tT95g==", + "requires": { + "minimatch": "^3.0.2" + } + }, + "walk-sync": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-1.1.4.tgz", + "integrity": "sha512-nowc9thB/Jg0KW4TgxoRjLLYRPvl3DB/98S89r4ZcJqq2B0alNcKDh6pzLkBSkPMzRSMsJghJHQi79qw0YWEkA==", + "requires": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^1.1.1" + } + } + } + }, + "broccoli-plugin": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-3.1.0.tgz", + "integrity": "sha512-7w7FP8WJYjLvb0eaw27LO678TGGaom++49O1VYIuzjhXjK5kn2+AMlDm7CaUFw4F7CLGoVQeZ84d8gICMJa4lA==", + "requires": { + "broccoli-node-api": "^1.6.0", + "broccoli-output-wrapper": "^2.0.0", + "fs-merger": "^3.0.1", + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^2.3.4", + "symlink-or-copy": "^1.1.8" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ember-cli-htmlbars": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-4.5.0.tgz", + "integrity": "sha512-bYJpK1pqFu9AadDAGTw05g2LMNzY8xTCIqQm7dMJmKEoUpLRFbPf4SfHXrktzDh7Q5iggl6Skzf1M0bPlIxARw==", + "requires": { + "@ember/edition-utils": "^1.2.0", + "babel-plugin-htmlbars-inline-precompile": "^3.2.0", + "broccoli-debug": "^0.6.5", + "broccoli-persistent-filter": "^2.3.1", + "broccoli-plugin": "^3.1.0", + "common-tags": "^1.8.0", + "ember-cli-babel-plugin-helpers": "^1.1.0", + "fs-tree-diff": "^2.0.1", + "hash-for-dep": "^1.5.1", + "heimdalljs-logger": "^0.1.10", + "json-stable-stringify": "^1.0.1", + "semver": "^6.3.0", + "strip-bom": "^4.0.0", + "walk-sync": "^2.0.2" + } + }, + "fs-tree-diff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", + "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", + "requires": { + "@types/symlink-or-copy": "^1.2.0", + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + }, + "sync-disk-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/sync-disk-cache/-/sync-disk-cache-1.3.4.tgz", + "integrity": "sha512-GlkGeM81GPPEKz/lH7QUTbvqLq7K/IUTuaKDSMulP9XQ42glqNJIN/RKgSOw4y8vxL1gOVvj+W7ruEO4s36eCw==", + "requires": { + "debug": "^2.1.3", + "heimdalljs": "^0.2.3", + "mkdirp": "^0.5.0", + "rimraf": "^2.2.8", + "username-sync": "^1.0.2" + } + }, + "walk-sync": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", + "integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==", + "requires": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^2.0.0", + "minimatch": "^3.0.4" + } + } + } + }, "ember-truth-helpers": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/ember-truth-helpers/-/ember-truth-helpers-3.1.1.tgz", diff --git a/package.json b/package.json index 3321ae4e..e67ca7cd 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,8 @@ "ember-cli-clipboard": "^1.0.0", "ember-cli-htmlbars": "^6.2.0", "ember-cli-typescript": "^5.2.1", + "ember-power-select": "^7.1.2", + "ember-power-select-with-create": "^2.0.0", "ember-simple-bootstrap": "^0.0.38", "ember-yeti-table": "^1.7.4", "identicon.js": "^2.3.3" diff --git a/tests/dummy/app/controllers/comps/form.ts b/tests/dummy/app/controllers/comps/form.ts index d78c1d75..355f9ad0 100644 --- a/tests/dummy/app/controllers/comps/form.ts +++ b/tests/dummy/app/controllers/comps/form.ts @@ -8,4 +8,8 @@ export default class CompsFormController extends Controller { radio?: unknown; value?: string | null | undefined; status?: 'active' | 'inactive'; + + options = ['A', 'B', 'C']; + selected?: string; + multipleSelected: string[] = []; } diff --git a/tests/dummy/app/templates/comps/form.hbs b/tests/dummy/app/templates/comps/form.hbs index 326a6cb9..d6053cc4 100644 --- a/tests/dummy/app/templates/comps/form.hbs +++ b/tests/dummy/app/templates/comps/form.hbs @@ -54,6 +54,32 @@ placeholder="Phone" /> + + + + {{item}} + + + + + + {{item}} + + + {{! @glint-ignore }} + {{option}} + + `); + + assert.dom().hasText('Label'); + }); + } +); diff --git a/tests/integration/components/form/power-select-test.ts b/tests/integration/components/form/power-select-test.ts new file mode 100644 index 00000000..a15d4357 --- /dev/null +++ b/tests/integration/components/form/power-select-test.ts @@ -0,0 +1,26 @@ +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'dummy/tests/helpers'; +import { render } from '@ember/test-helpers'; +import { hbs } from 'ember-cli-htmlbars'; + +module('Integration | Component | form/power-select', function (hooks) { + setupRenderingTest(hooks); + + test('it renders', async function (assert) { + await render(hbs` + + {{! @glint-ignore }} + {{option}} + + `); + + assert.dom().hasText('Label Choose…'); + }); +}); diff --git a/types/ember-power-select-with-create/components/power-select-multiple-with-create.d.ts b/types/ember-power-select-with-create/components/power-select-multiple-with-create.d.ts new file mode 100644 index 00000000..59c36d14 --- /dev/null +++ b/types/ember-power-select-with-create/components/power-select-multiple-with-create.d.ts @@ -0,0 +1,21 @@ +import Component from '@glimmer/component'; + +import type EmberArray from '@ember/array'; + +export default class PowerSelectMultipleWithCreate extends Component<{ + Args: { + options: T[] | EmberArray; + selected: T[] | EmberArray; + disabled?: unknown; + placeholder?: string; + renderInPlace?: boolean; + searchEnabled?: boolean; + searchField?: string; + onChange: (selected: never) => void; + onCreate: (query: string) => void; + }; + Blocks: { + default: [T]; + }; + Element: HTMLElement; +}> {} diff --git a/types/ember-power-select-with-create/components/power-select-with-create.d.ts b/types/ember-power-select-with-create/components/power-select-with-create.d.ts new file mode 100644 index 00000000..14c41fe0 --- /dev/null +++ b/types/ember-power-select-with-create/components/power-select-with-create.d.ts @@ -0,0 +1,26 @@ +import Component from '@glimmer/component'; + +import type EmberArray from '@ember/array'; + +export default class PowerSelectWithCreate extends Component<{ + Element: HTMLElement; + Args: { + options?: T[] | EmberArray; + selected: T; + disabled?: unknown; + placeholder?: string; + renderInPlace?: boolean; + searchEnabled?: boolean; + searchField?: string; + searchPlaceholder?: string; + search?: (query: string) => unknown[]; + allowClear?: boolean; + showCreatePosition?: string; + matcher?: unknown; + onChange: (selected: never) => void; + onCreate?: (query: string) => void; + }; + Blocks: { + default: [T]; + }; +}> {} diff --git a/types/ember-power-select/components/power-select-multiple.d.ts b/types/ember-power-select/components/power-select-multiple.d.ts new file mode 100644 index 00000000..93f2ca37 --- /dev/null +++ b/types/ember-power-select/components/power-select-multiple.d.ts @@ -0,0 +1,20 @@ +import Component from '@glimmer/component'; + +import type EmberArray from '@ember/array'; + +export default class PowerSelectMultiple extends Component<{ + Args: { + options?: T[] | EmberArray; + selected: T[] | EmberArray; + disabled?: unknown; + placeholder?: string; + renderInPlace?: boolean; + searchEnabled?: boolean; + searchField?: string; + onChange: (selected: never[]) => void; + }; + Blocks: { + default: [T]; + }; + Element: HTMLElement; +}> {} diff --git a/types/ember-power-select/components/power-select.d.ts b/types/ember-power-select/components/power-select.d.ts new file mode 100644 index 00000000..00b41042 --- /dev/null +++ b/types/ember-power-select/components/power-select.d.ts @@ -0,0 +1,24 @@ +import Component from '@glimmer/component'; + +import type EmberArray from '@ember/array'; + +export default class PowerSelect extends Component<{ + Args: { + options?: T[] | EmberArray; + selected: T; + disabled?: unknown; + placeholder?: string; + renderInPlace?: boolean; + searchEnabled?: boolean; + searchField?: string; + searchPlaceholder?: string; + allowClear?: boolean; + search?: (query: string) => unknown[]; + matcher?: unknown; + onChange: (selected: never) => void; + }; + Blocks: { + default: [T]; + }; + Element: HTMLElement; +}> {} diff --git a/types/glint.d.ts b/types/glint.d.ts index 48f703d9..4dafe1d9 100644 --- a/types/glint.d.ts +++ b/types/glint.d.ts @@ -8,6 +8,10 @@ import { YetiTableBody, YetiTableFooter, } from '@trusted-american/design-system/components/table'; +import type PowerSelect from 'ember-power-select/components/power-select'; +import type PowerSelectMultiple from 'ember-power-select/components/power-select-multiple'; +import type PowerSelectWithCreate from 'ember-power-select-with-create/components/power-select-with-create'; +import type PowerSelectMultipleWithCreate from 'ember-power-select-with-create/components/power-select-multiple-with-create'; declare module '@glint/environment-ember-loose/registry' { export default interface Registry extends EmberSimpleBootstrapRegistry { @@ -94,6 +98,16 @@ declare module '@glint/environment-ember-loose/registry' { Return: void; }>; + // ember-power-select + + PowerSelect: typeof PowerSelect; + PowerSelectMultiple: typeof PowerSelectMultiple; + + // ember-power-select-with-create + + PowerSelectWithCreate: typeof PowerSelectWithCreate; + PowerSelectMultipleWithCreate: typeof PowerSelectMultipleWithCreate; + // ember-truth-helpers and: HelperLike<{ Args: { Positional: [...value: unknown[]] }; From c1e9f8d888da412029e5fb00f92ffb3f27e1b643 Mon Sep 17 00:00:00 2001 From: Charles Fries Date: Thu, 12 Oct 2023 12:24:58 -0700 Subject: [PATCH 2/4] WIP --- addon/styles/design-system.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addon/styles/design-system.css b/addon/styles/design-system.css index 78c5a771..93a17989 100644 --- a/addon/styles/design-system.css +++ b/addon/styles/design-system.css @@ -91,7 +91,7 @@ aside.collapsed nav .fa-fw { @include transition($form-select-transition); */ &:focus { - border-color: $form-select-focus-border-color; + /* border-color: $form-select-focus-border-color; */ outline: 0; /* @if $enable-shadows { @@ -147,13 +147,13 @@ aside.collapsed nav .fa-fw { /* @include transition($input-transition); */ } -.ember-power-select-search-input:focus { +/* .ember-power-select-search-input:focus { color: $input-focus-color; background-color: $input-focus-bg; border-color: $input-focus-border-color; outline: 0; box-shadow: $input-focus-box-shadow; -} +} */ .ember-power-select-options { padding: 0.5rem 0; From b296d6b6b0a64e870186fabf44ea235034a6ceb6 Mon Sep 17 00:00:00 2001 From: Charles Fries Date: Thu, 12 Oct 2023 12:27:03 -0700 Subject: [PATCH 3/4] Fix --- .../form/{power-select-multiple.ts => power-select-multiple.js} | 0 app/components/form/{power-select.ts => power-select.js} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename app/components/form/{power-select-multiple.ts => power-select-multiple.js} (100%) rename app/components/form/{power-select.ts => power-select.js} (100%) diff --git a/app/components/form/power-select-multiple.ts b/app/components/form/power-select-multiple.js similarity index 100% rename from app/components/form/power-select-multiple.ts rename to app/components/form/power-select-multiple.js diff --git a/app/components/form/power-select.ts b/app/components/form/power-select.js similarity index 100% rename from app/components/form/power-select.ts rename to app/components/form/power-select.js From 95e280afb12c1e348b173974dda30d66a26dfff4 Mon Sep 17 00:00:00 2001 From: Charles Fries Date: Thu, 12 Oct 2023 12:38:05 -0700 Subject: [PATCH 4/4] Fix CSS --- addon/styles/design-system.css | 70 +++++++++++++++++----------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/addon/styles/design-system.css b/addon/styles/design-system.css index 93a17989..911aec1d 100644 --- a/addon/styles/design-system.css +++ b/addon/styles/design-system.css @@ -89,42 +89,42 @@ aside.collapsed nav .fa-fw { /* @include border-radius($form-select-border-radius, 0); @include box-shadow($form-select-box-shadow); @include transition($form-select-transition); */ +} + +.ember-power-select-trigger:focus { + /* border-color: $form-select-focus-border-color; */ + outline: 0; + + /* @if $enable-shadows { + @include box-shadow( + $form-select-box-shadow, + $form-select-focus-box-shadow + ); + } @else { + box-shadow: $form-select-focus-box-shadow; + } */ +} + +.ember-power-select-trigger[aria-disabled="true"] { + cursor: default; +} - &:focus { - /* border-color: $form-select-focus-border-color; */ - outline: 0; - - /* @if $enable-shadows { - @include box-shadow( - $form-select-box-shadow, - $form-select-focus-box-shadow - ); - } @else { - box-shadow: $form-select-focus-box-shadow; - } */ - } - - &[aria-disabled="true"] { - cursor: default; - } - - .ember-power-select-placeholder, - .ember-power-select-selected-item { - width: 100%; - margin-left: 0; - } - - .ember-power-select-clear-btn { - position: static; - float: right; - font-size: 150%; - line-height: 1; - margin-left: 0.5rem; - } - - .ember-power-select-status-icon { - display: none; - } +.ember-power-select-placeholder, +.ember-power-select-selected-item { + width: 100%; + margin-left: 0; +} + +.ember-power-select-clear-btn { + position: static; + float: right; + font-size: 150%; + line-height: 1; + margin-left: 0.5rem; +} + +.ember-power-select-status-icon { + display: none; } .ember-power-select-dropdown {