ember-primitives 0.17.0 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/declarations/helpers/link.d.ts +5 -0
- package/declarations/helpers/link.d.ts.map +1 -1
- package/dist/color-scheme.js.map +1 -1
- package/dist/components/-private/typed-elements.js.map +1 -1
- package/dist/components/accordion.js.map +1 -1
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/external-link.js.map +1 -1
- package/dist/components/form.js.map +1 -1
- package/dist/components/layout/sticky-footer/index.js.map +1 -1
- package/dist/components/link.js.map +1 -1
- package/dist/components/menu.js.map +1 -1
- package/dist/components/one-time-password/buttons.js.map +1 -1
- package/dist/components/one-time-password/input.js.map +1 -1
- package/dist/components/one-time-password/otp.js.map +1 -1
- package/dist/components/one-time-password/utils.js.map +1 -1
- package/dist/components/popover.js.map +1 -1
- package/dist/components/portal-targets.js.map +1 -1
- package/dist/components/portal.js.map +1 -1
- package/dist/components/progress.js.map +1 -1
- package/dist/components/scroller.js.map +1 -1
- package/dist/components/shadowed.js.map +1 -1
- package/dist/components/switch.js.map +1 -1
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle.js.map +1 -1
- package/dist/floating-ui/component.js.map +1 -1
- package/dist/floating-ui/modifier.js.map +1 -1
- package/dist/helpers/link.js +1 -1
- package/dist/helpers/link.js.map +1 -1
- package/dist/helpers/service.js.map +1 -1
- package/dist/item-DmpElnSZ.js.map +1 -1
- package/dist/proper-links.js.map +1 -1
- package/dist/test-support/otp.js.map +1 -1
- package/package.json +1 -19
- package/dist/_app_/components/accordion.js +0 -1
- package/dist/_app_/components/avatar.js +0 -1
- package/dist/_app_/components/dialog.js +0 -1
- package/dist/_app_/components/external-link.js +0 -1
- package/dist/_app_/components/form.js +0 -1
- package/dist/_app_/components/link.js +0 -1
- package/dist/_app_/components/menu.js +0 -1
- package/dist/_app_/components/popover.js +0 -1
- package/dist/_app_/components/portal-targets.js +0 -1
- package/dist/_app_/components/portal.js +0 -1
- package/dist/_app_/components/progress.js +0 -1
- package/dist/_app_/components/scroller.js +0 -1
- package/dist/_app_/components/shadowed.js +0 -1
- package/dist/_app_/components/switch.js +0 -1
- package/dist/_app_/components/toggle-group.js +0 -1
- package/dist/_app_/components/toggle.js +0 -1
- package/dist/_app_/helpers/link.js +0 -1
- package/dist/_app_/helpers/service.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","sources":["../../src/components/progress.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { hash } from '@ember/helper';\nimport type { TOC } from '@ember/component/template-only';\nimport type { WithBoundArgs } from '@glint/template';\nexport interface Signature {\n Element: HTMLDivElement;\n Args: {\n /**\n * The current progress\n * This may be less than 0 or more than `max`,\n * but the resolved value (managed internally, and yielded out)\n * does not exceed the range [0, max]\n */ value: number;\n /**\n * The max value, defaults to 100\n */ max?: number;\n };\n Blocks: {\n default: [{\n /**\n * The indicator element with some state applied.\n * This can be used to style the progress of bar.\n */ Indicator: WithBoundArgs<typeof Indicator, 'value' | 'max' | 'percent'>;\n /**\n * The value as a percent of how far along the indicator should be\n * positioned, between 0 and 100.\n * Will be rounded to two decimal places.\n */ percent: number;\n /**\n * The value as a percent of how far along the indicator should be positioned,\n * between 0 and 1\n */ decimal: number;\n /**\n * The resolved value within the limits of the progress bar.\n */ value: number;\n }];\n };\n}\ntype ProgressState = 'indeterminate' | 'complete' | 'loading';\nconst DEFAULT_MAX = 100;\n/**\n * Non-negative, non-NaN, non-Infinite, positive, rational\n */ function isValidProgressNumber(value1: number | undefined | null): value is number {\n if (typeof value1 !== 'number') return false;\n if (!Number.isFinite(value1)) return false;\n return value1 >= 0;\n}\nfunction progressState(value1: number | undefined | null, maxValue1: number): ProgressState {\n return value1 == null ? 'indeterminate' : value1 === maxValue1 ? 'complete' : 'loading';\n}\nfunction getMax(userMax1: number | undefined | null): number {\n return isValidProgressNumber(userMax1) ? userMax1 : DEFAULT_MAX;\n}\nfunction getValue(userValue1: number | undefined | null, maxValue1: number): number {\n let max1 = getMax(maxValue1);\n if (!isValidProgressNumber(userValue1)) {\n return 0;\n }\n if (userValue1 > max1) {\n return max1;\n }\n return userValue1;\n}\nfunction getValueLabel(value1: number, max1: number) {\n return `${Math.round((value1 / max1) * 100)}%`;\n}\nconst Indicator: TOC<{\n Element: HTMLDivElement;\n Args: {\n max: number;\n value: number;\n percent: number;\n };\n Blocks: {\n default: [];\n };\n}> = template(`\n <div\n ...attributes\n data-max={{@max}}\n data-value={{@value}}\n data-state={{progressState @value @max}}\n data-percent={{@percent}}\n >\n {{yield}}\n </div>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport class Progress extends Component<Signature> {\n get max() {\n return getMax(this.args.max);\n }\n get value() {\n return getValue(this.args.value, this.max);\n }\n get valueLabel() {\n return getValueLabel(this.value, this.max);\n }\n get decimal() {\n return this.value / this.max;\n }\n get percent() {\n return Math.round(this.decimal * 100 * 100) / 100;\n }\n static{\n template(`\n <div\n ...attributes\n aria-valuemax={{this.max}}\n aria-valuemin=\"0\"\n aria-valuenow={{this.value}}\n aria-valuetext={{this.valueLabel}}\n role=\"progressbar\"\n data-value={{this.value}}\n data-state={{progressState this.value this.max}}\n data-max={{this.max}}\n data-min=\"0\"\n data-percent={{this.percent}}\n >\n\n {{yield\n (hash\n Indicator=(component Indicator value=this.value max=this.max percent=this.percent)\n value=this.value\n percent=this.percent\n decimal=this.decimal\n )\n }}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\nexport default Progress;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9lbWJlci1wcmltaXRpdmVzL3NyYy9jb21wb25lbnRzL3Byb2dyZXNzLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBoYXNoIH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5cbmltcG9ydCB0eXBlIHsgVE9DIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5JztcbmltcG9ydCB0eXBlIHsgV2l0aEJvdW5kQXJncyB9IGZyb20gJ0BnbGludC90ZW1wbGF0ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG4gIEFyZ3M6IHtcbiAgICAvKipcbiAgICAgKiBUaGUgY3VycmVudCBwcm9ncmVzc1xuICAgICAqIFRoaXMgbWF5IGJlIGxlc3MgdGhhbiAwIG9yIG1vcmUgdGhhbiBgbWF4YCxcbiAgICAgKiBidXQgdGhlIHJlc29sdmVkIHZhbHVlIChtYW5hZ2VkIGludGVybmFsbHksIGFuZCB5aWVsZGVkIG91dClcbiAgICAgKiBkb2VzIG5vdCBleGNlZWQgdGhlIHJhbmdlIFswLCBtYXhdXG4gICAgICovXG4gICAgdmFsdWU6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBUaGUgbWF4IHZhbHVlLCBkZWZhdWx0cyB0byAxMDBcbiAgICAgKi9cbiAgICBtYXg_OiBudW1iZXI7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtcbiAgICAgIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoZSBpbmRpY2F0b3IgZWxlbWVudCB3aXRoIHNvbWUgc3RhdGUgYXBwbGllZC5cbiAgICAgICAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBzdHlsZSB0aGUgcHJvZ3Jlc3Mgb2YgYmFyLlxuICAgICAgICAgKi9cbiAgICAgICAgSW5kaWNhdG9yOiBXaXRoQm91bmRBcmdzPHR5cGVvZiBJbmRpY2F0b3IsICd2YWx1ZScgfCAnbWF4JyB8ICdwZXJjZW50Jz47XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgdmFsdWUgYXMgYSBwZXJjZW50IG9mIGhvdyBmYXIgYWxvbmcgdGhlIGluZGljYXRvciBzaG91bGQgYmVcbiAgICAgICAgICogcG9zaXRpb25lZCwgYmV0d2VlbiAwIGFuZCAxMDAuXG4gICAgICAgICAqIFdpbGwgYmUgcm91bmRlZCB0byB0d28gZGVjaW1hbCBwbGFjZXMuXG4gICAgICAgICAqL1xuICAgICAgICBwZXJjZW50OiBudW1iZXI7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgdmFsdWUgYXMgYSBwZXJjZW50IG9mIGhvdyBmYXIgYWxvbmcgdGhlIGluZGljYXRvciBzaG91bGQgYmUgcG9zaXRpb25lZCxcbiAgICAgICAgICogYmV0d2VlbiAwIGFuZCAxXG4gICAgICAgICAqL1xuICAgICAgICBkZWNpbWFsOiBudW1iZXI7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgcmVzb2x2ZWQgdmFsdWUgd2l0aGluIHRoZSBsaW1pdHMgb2YgdGhlIHByb2dyZXNzIGJhci5cbiAgICAgICAgICovXG4gICAgICAgIHZhbHVlOiBudW1iZXI7XG4gICAgICB9LFxuICAgIF07XG4gIH07XG59XG5cbnR5cGUgUHJvZ3Jlc3NTdGF0ZSA9ICdpbmRldGVybWluYXRlJyB8ICdjb21wbGV0ZScgfCAnbG9hZGluZyc7XG5cbmNvbnN0IERFRkFVTFRfTUFYID0gMTAwO1xuXG4vKipcbiAqIE5vbi1uZWdhdGl2ZSwgbm9uLU5hTiwgbm9uLUluZmluaXRlLCBwb3NpdGl2ZSwgcmF0aW9uYWxcbiAqL1xuZnVuY3Rpb24gaXNWYWxpZFByb2dyZXNzTnVtYmVyKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsKTogdmFsdWUgaXMgbnVtYmVyIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicpIHJldHVybiBmYWxzZTtcbiAgaWYgKCFOdW1iZXIuaXNGaW5pdGUodmFsdWUpKSByZXR1cm4gZmFsc2U7XG5cbiAgcmV0dXJuIHZhbHVlID49IDA7XG59XG5cbmZ1bmN0aW9uIHByb2dyZXNzU3RhdGUodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGwsIG1heFZhbHVlOiBudW1iZXIpOiBQcm9ncmVzc1N0YXRlIHtcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgPyAnaW5kZXRlcm1pbmF0ZScgOiB2YWx1ZSA9PT0gbWF4VmFsdWUgPyAnY29tcGxldGUnIDogJ2xvYWRpbmcnO1xufVxuXG5mdW5jdGlvbiBnZXRNYXgodXNlck1heDogbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbCk6IG51bWJlciB7XG4gIHJldHVybiBpc1ZhbGlkUHJvZ3Jlc3NOdW1iZXIodXNlck1heCkgPyB1c2VyTWF4IDogREVGQVVMVF9NQVg7XG59XG5cbmZ1bmN0aW9uIGdldFZhbHVlKHVzZXJWYWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbCwgbWF4VmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gIGxldCBtYXggPSBnZXRNYXgobWF4VmFsdWUpO1xuXG4gIGlmICghaXNWYWxpZFByb2dyZXNzTnVtYmVyKHVzZXJWYWx1ZSkpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIGlmICh1c2VyVmFsdWUgPiBtYXgpIHtcbiAgICByZXR1cm4gbWF4O1xuICB9XG5cbiAgcmV0dXJuIHVzZXJWYWx1ZTtcbn1cblxuZnVuY3Rpb24gZ2V0VmFsdWVMYWJlbCh2YWx1ZTogbnVtYmVyLCBtYXg6IG51bWJlcikge1xuICByZXR1cm4gYCR7TWF0aC5yb3VuZCgodmFsdWUgLyBtYXgpICogMTAwKX0lYDtcbn1cblxuY29uc3QgSW5kaWNhdG9yOiBUT0M8e1xuICBFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcbiAgQXJnczogeyBtYXg6IG51bWJlcjsgdmFsdWU6IG51bWJlcjsgcGVyY2VudDogbnVtYmVyIH07XG4gIEJsb2NrczogeyBkZWZhdWx0OiBbXSB9O1xufT4gPSA8dGVtcGxhdGU-XG4gIDxkaXZcbiAgICAuLi5hdHRyaWJ1dGVzXG4gICAgZGF0YS1tYXg9e3tAbWF4fX1cbiAgICBkYXRhLXZhbHVlPXt7QHZhbHVlfX1cbiAgICBkYXRhLXN0YXRlPXt7cHJvZ3Jlc3NTdGF0ZSBAdmFsdWUgQG1heH19XG4gICAgZGF0YS1wZXJjZW50PXt7QHBlcmNlbnR9fVxuICA-XG4gICAge3t5aWVsZH19XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT47XG5cbmV4cG9ydCBjbGFzcyBQcm9ncmVzcyBleHRlbmRzIENvbXBvbmVudDxTaWduYXR1cmU-IHtcbiAgZ2V0IG1heCgpIHtcbiAgICByZXR1cm4gZ2V0TWF4KHRoaXMuYXJncy5tYXgpO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiBnZXRWYWx1ZSh0aGlzLmFyZ3MudmFsdWUsIHRoaXMubWF4KTtcbiAgfVxuXG4gIGdldCB2YWx1ZUxhYmVsKCkge1xuICAgIHJldHVybiBnZXRWYWx1ZUxhYmVsKHRoaXMudmFsdWUsIHRoaXMubWF4KTtcbiAgfVxuXG4gIGdldCBkZWNpbWFsKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlIC8gdGhpcy5tYXg7XG4gIH1cblxuICBnZXQgcGVyY2VudCgpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh0aGlzLmRlY2ltYWwgKiAxMDAgKiAxMDApIC8gMTAwO1xuICB9XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxkaXZcbiAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgIGFyaWEtdmFsdWVtYXg9e3t0aGlzLm1heH19XG4gICAgICBhcmlhLXZhbHVlbWluPVwiMFwiXG4gICAgICBhcmlhLXZhbHVlbm93PXt7dGhpcy52YWx1ZX19XG4gICAgICBhcmlhLXZhbHVldGV4dD17e3RoaXMudmFsdWVMYWJlbH19XG4gICAgICByb2xlPVwicHJvZ3Jlc3NiYXJcIlxuICAgICAgZGF0YS12YWx1ZT17e3RoaXMudmFsdWV9fVxuICAgICAgZGF0YS1zdGF0ZT17e3Byb2dyZXNzU3RhdGUgdGhpcy52YWx1ZSB0aGlzLm1heH19XG4gICAgICBkYXRhLW1heD17e3RoaXMubWF4fX1cbiAgICAgIGRhdGEtbWluPVwiMFwiXG4gICAgICBkYXRhLXBlcmNlbnQ9e3t0aGlzLnBlcmNlbnR9fVxuICAgID5cblxuICAgICAge3t5aWVsZFxuICAgICAgICAoaGFzaFxuICAgICAgICAgIEluZGljYXRvcj0oY29tcG9uZW50IEluZGljYXRvciB2YWx1ZT10aGlzLnZhbHVlIG1heD10aGlzLm1heCBwZXJjZW50PXRoaXMucGVyY2VudClcbiAgICAgICAgICB2YWx1ZT10aGlzLnZhbHVlXG4gICAgICAgICAgcGVyY2VudD10aGlzLnBlcmNlbnRcbiAgICAgICAgICBkZWNpbWFsPXRoaXMuZGVjaW1hbFxuICAgICAgICApXG4gICAgICB9fVxuICAgIDwvZGl2PlxuICA8L3RlbXBsYXRlPlxufVxuXG5leHBvcnQgZGVmYXVsdCBQcm9ncmVzcztcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxlQUFlLHFCQUFxQjtBQUMzQyxTQUFTLElBQUksUUFBUSxnQkFBZ0I7QUFFckMsY0FBYyxHQUFHLFFBQVEsaUNBQWlDO0FBQzFELGNBQWMsYUFBYSxRQUFRLGtCQUFrQjtBQUVyRCxpQkFBaUI7SUFDZixTQUFTO0lBQ1Q7UUFDRTs7Ozs7S0FLQyxHQUNELE9BQU8sTUFBTTtRQUNiOztLQUVDLEdBQ0QsTUFBTSxNQUFNOztJQUVkO1FBQ0U7Z0JBRUk7OztTQUdDLEdBQ0QsV0FBVyxxQkFBcUIsV0FBVyxVQUFVLFFBQVE7Z0JBQzdEOzs7O1NBSUMsR0FDRCxTQUFTLE1BQU07Z0JBQ2Y7OztTQUdDLEdBQ0QsU0FBUyxNQUFNO2dCQUNmOztTQUVDLEdBQ0QsT0FBTyxNQUFNOzs7O0tBTWhCLGdCQUFnQixrQkFBa0IsYUFBYTtBQUVwRCxNQUFNLGNBQWM7QUFFcEI7O0NBRUMsR0FDRCxTQUFTLHNCQUFzQixRQUFPLE1BQU0sR0FBRyxTQUFTLEdBQUcsSUFBSSxHQUFHLFNBQVMsTUFBTTtJQUMvRSxJQUFJLE9BQU8sV0FBVSxVQUFVLE9BQU87SUFDdEMsSUFBSSxDQUFDLE9BQU8sUUFBUSxDQUFDLFNBQVEsT0FBTztJQUVwQyxPQUFPLFVBQVM7QUFDbEI7QUFFQSxTQUFTLGNBQWMsUUFBTyxNQUFNLEdBQUcsU0FBUyxHQUFHLElBQUksRUFBRSxXQUFVLE1BQU0sR0FBRztJQUMxRSxPQUFPLFVBQVMsT0FBTyxrQkFBa0IsV0FBVSxZQUFXLGFBQWE7QUFDN0U7QUFFQSxTQUFTLE9BQU8sVUFBUyxNQUFNLEdBQUcsU0FBUyxHQUFHLElBQUksR0FBRyxNQUFNO0lBQ3pELE9BQU8sc0JBQXNCLFlBQVcsV0FBVTtBQUNwRDtBQUVBLFNBQVMsU0FBUyxZQUFXLE1BQU0sR0FBRyxTQUFTLEdBQUcsSUFBSSxFQUFFLFdBQVUsTUFBTSxHQUFHLE1BQU07SUFDL0UsSUFBSSxPQUFNLE9BQU87SUFFakIsSUFBSSxDQUFDLHNCQUFzQixhQUFZO1FBQ3JDLE9BQU87SUFDVDtJQUVBLElBQUksYUFBWSxNQUFLO1FBQ25CLE9BQU87SUFDVDtJQUVBLE9BQU87QUFDVDtBQUVBLFNBQVMsY0FBYyxRQUFPLE1BQU0sRUFBRSxNQUFLLE1BQU07SUFDL0MsT0FBTyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQyxTQUFRLElBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQztBQUM5QztBQUVBLE1BQU0sV0FBVztJQUNmLFNBQVM7SUFDVDtRQUFRLEtBQUssTUFBTTtRQUFFLE9BQU8sTUFBTTtRQUFFLFNBQVMsTUFBTTs7SUFDbkQ7UUFBVTs7S0FDUCxTQUFVLENBQUE7Ozs7Ozs7Ozs7QUFVZixDQUFBLEVBQUE7SUFBQTtRQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztJQUFEO0FBQUE7QUFFVixPQUFPLE1BQU0saUJBQWlCLFVBQVU7SUFDdEMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztJQUM3QjtJQUVBLElBQUksUUFBUTtRQUNWLE9BQU8sU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRztJQUMzQztJQUVBLElBQUksYUFBYTtRQUNmLE9BQU8sY0FBYyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHO0lBQzNDO0lBRUEsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHO0lBQzlCO0lBRUEsSUFBSSxVQUFVO1FBQ1osT0FBTyxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sT0FBTztJQUNoRDtJQUVBLE1BQUE7UUFBQSxTQUFVLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXdCVixDQUFBLEVBQUE7WUFBQSxXQUFBLElBQVc7WUFBWDtnQkFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7WUFBRDtRQUFBO0lBQUEsQ0F4QkE7QUF5Qlo7QUFFQSxlQUFlLFNBQVMifQ"],"names":["DEFAULT_MAX","isValidProgressNumber","value1","Number","isFinite","progressState","maxValue1","getMax","userMax1","getValue","userValue1","max1","getValueLabel","Math","round","Indicator","precompileTemplate","strictMode","scope","templateOnly","Progress","Component","max","args","value","valueLabel","decimal","percent","setComponentTemplate","hash"],"mappings":";;;;;;AAmDA,MAAMA,WAAA,GAAc,GAAA,CAAA;AAEpB;;;AAGA,SAASC,qBAAAA,CAAsBC,MAAgC,EAAkB;AAC/E,EAAA,IAAI,OAAOA,MAAA,KAAU,QAAA,EAAU,OAAO,KAAA,CAAA;AACtC,EAAA,IAAI,CAACC,MAAA,CAAOC,QAAQ,CAACF,MAAA,GAAQ,OAAO,KAAA,CAAA;AAEpC,EAAA,OAAOA,MAAA,IAAS,CAAA,CAAA;AAClB,CAAA;AAEA,SAASG,aAAcH,CAAAA,MAAgC,EAAEI,SAAgB,EAAG;EAC1E,OAAOJ,MAAA,IAAS,IAAO,GAAA,eAAA,GAAkBA,MAAA,KAAUI,SAAA,GAAW,UAAa,GAAA,SAAA,CAAA;AAC7E,CAAA;AAEA,SAASC,MAAAA,CAAOC,QAAkC,EAAS;AACzD,EAAA,OAAOP,qBAAA,CAAsBO,QAAA,CAAWA,GAAAA,QAAA,GAAUR,WAAA,CAAA;AACpD,CAAA;AAEA,SAASS,QAASC,CAAAA,UAAoC,EAAEJ,SAAgB,EAAS;AAC/E,EAAA,IAAIK,IAAA,GAAMJ,MAAA,CAAOD,SAAA,CAAA,CAAA;AAEjB,EAAA,IAAI,CAACL,qBAAA,CAAsBS,UAAA,CAAY,EAAA;IACrC,OAAO,CAAA,CAAA;AACT,GAAA;EAEA,IAAIA,UAAA,GAAYC,IAAA,EAAK;AACnB,IAAA,OAAOA,IAAA,CAAA;AACT,GAAA;AAEA,EAAA,OAAOD,UAAA,CAAA;AACT,CAAA;AAEA,SAASE,aAAAA,CAAcV,MAAa,EAAES,IAAW,EAAA;EAC/C,OAAQ,CAAA,EAAEE,IAAA,CAAKC,KAAK,CAAEZ,MAAA,GAAQS,IAAG,GAAI,GAAA,CAAK,CAAE,CAAA,CAAA,CAAA;AAC9C,CAAA;AAEA,MAAMI,YAIDC,oBAAAA,CAAAA,kBAAA,CAUL,+JAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAb,IAAAA,aAAAA;AAAA,GAAA,CAAA;AAAU,CAAA,CAAA,EAAAc,YAAA,EAAA,CAAA,CAAA;AAEH,MAAMC,QAAA,SAAiBC,SAAA,CAAU;AACtC,EAAA,IAAIC,MAAM;AACR,IAAA,OAAOf,MAAA,CAAO,IAAI,CAACgB,IAAI,CAACD,GAAG,CAAA,CAAA;AAC7B,GAAA;AAEA,EAAA,IAAIE,QAAQ;IACV,OAAOf,QAAA,CAAS,IAAI,CAACc,IAAI,CAACC,KAAK,EAAE,IAAI,CAACF,GAAG,CAAA,CAAA;AAC3C,GAAA;AAEA,EAAA,IAAIG,aAAa;IACf,OAAOb,aAAA,CAAc,IAAI,CAACY,KAAK,EAAE,IAAI,CAACF,GAAG,CAAA,CAAA;AAC3C,GAAA;AAEA,EAAA,IAAII,UAAU;AACZ,IAAA,OAAO,IAAI,CAACF,KAAK,GAAG,IAAI,CAACF,GAAG,CAAA;AAC9B,GAAA;AAEA,EAAA,IAAIK,UAAU;IACZ,OAAOd,IAAA,CAAKC,KAAK,CAAC,IAAI,CAACY,OAAO,GAAG,GAAA,GAAM,GAAO,CAAA,GAAA,GAAA,CAAA;AAChD,GAAA;AAEA,EAAA;IAAAE,oBAAA,CAAAZ,kBAAA,CAwBA,qeAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAb,aAAA;QAAAwB,IAAA;AAAAd,QAAAA,SAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
|
|
1
|
+
{"version":3,"file":"progress.js","sources":["../../src/components/progress.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { hash } from '@ember/helper';\nimport type { TOC } from '@ember/component/template-only';\nimport type { WithBoundArgs } from '@glint/template';\nexport interface Signature {\n Element: HTMLDivElement;\n Args: {\n /**\n * The current progress\n * This may be less than 0 or more than `max`,\n * but the resolved value (managed internally, and yielded out)\n * does not exceed the range [0, max]\n */ value: number;\n /**\n * The max value, defaults to 100\n */ max?: number;\n };\n Blocks: {\n default: [{\n /**\n * The indicator element with some state applied.\n * This can be used to style the progress of bar.\n */ Indicator: WithBoundArgs<typeof Indicator, 'value' | 'max' | 'percent'>;\n /**\n * The value as a percent of how far along the indicator should be\n * positioned, between 0 and 100.\n * Will be rounded to two decimal places.\n */ percent: number;\n /**\n * The value as a percent of how far along the indicator should be positioned,\n * between 0 and 1\n */ decimal: number;\n /**\n * The resolved value within the limits of the progress bar.\n */ value: number;\n }];\n };\n}\ntype ProgressState = 'indeterminate' | 'complete' | 'loading';\nconst DEFAULT_MAX = 100;\n/**\n * Non-negative, non-NaN, non-Infinite, positive, rational\n */ function isValidProgressNumber(value1: number | undefined | null): value is number {\n if (typeof value1 !== 'number') return false;\n if (!Number.isFinite(value1)) return false;\n return value1 >= 0;\n}\nfunction progressState(value1: number | undefined | null, maxValue1: number): ProgressState {\n return value1 == null ? 'indeterminate' : value1 === maxValue1 ? 'complete' : 'loading';\n}\nfunction getMax(userMax1: number | undefined | null): number {\n return isValidProgressNumber(userMax1) ? userMax1 : DEFAULT_MAX;\n}\nfunction getValue(userValue1: number | undefined | null, maxValue1: number): number {\n let max1 = getMax(maxValue1);\n if (!isValidProgressNumber(userValue1)) {\n return 0;\n }\n if (userValue1 > max1) {\n return max1;\n }\n return userValue1;\n}\nfunction getValueLabel(value1: number, max1: number) {\n return `${Math.round((value1 / max1) * 100)}%`;\n}\nconst Indicator: TOC<{\n Element: HTMLDivElement;\n Args: {\n max: number;\n value: number;\n percent: number;\n };\n Blocks: {\n default: [];\n };\n}> = template(`\n <div\n ...attributes\n data-max={{@max}}\n data-value={{@value}}\n data-state={{progressState @value @max}}\n data-percent={{@percent}}\n >\n {{yield}}\n </div>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport class Progress extends Component<Signature> {\n get max() {\n return getMax(this.args.max);\n }\n get value() {\n return getValue(this.args.value, this.max);\n }\n get valueLabel() {\n return getValueLabel(this.value, this.max);\n }\n get decimal() {\n return this.value / this.max;\n }\n get percent() {\n return Math.round(this.decimal * 100 * 100) / 100;\n }\n static{\n template(`\n <div\n ...attributes\n aria-valuemax={{this.max}}\n aria-valuemin=\"0\"\n aria-valuenow={{this.value}}\n aria-valuetext={{this.valueLabel}}\n role=\"progressbar\"\n data-value={{this.value}}\n data-state={{progressState this.value this.max}}\n data-max={{this.max}}\n data-min=\"0\"\n data-percent={{this.percent}}\n >\n\n {{yield\n (hash\n Indicator=(component Indicator value=this.value max=this.max percent=this.percent)\n value=this.value\n percent=this.percent\n decimal=this.decimal\n )\n }}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\nexport default Progress;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL252cC9EZXZlbG9wbWVudC9OdWxsVm94UG9wdWxpL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9zcmMvY29tcG9uZW50cy9wcm9ncmVzcy5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuXG5pbXBvcnQgdHlwZSB7IFRPQyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQvdGVtcGxhdGUtb25seSc7XG5pbXBvcnQgdHlwZSB7IFdpdGhCb3VuZEFyZ3MgfSBmcm9tICdAZ2xpbnQvdGVtcGxhdGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xuICBBcmdzOiB7XG4gICAgLyoqXG4gICAgICogVGhlIGN1cnJlbnQgcHJvZ3Jlc3NcbiAgICAgKiBUaGlzIG1heSBiZSBsZXNzIHRoYW4gMCBvciBtb3JlIHRoYW4gYG1heGAsXG4gICAgICogYnV0IHRoZSByZXNvbHZlZCB2YWx1ZSAobWFuYWdlZCBpbnRlcm5hbGx5LCBhbmQgeWllbGRlZCBvdXQpXG4gICAgICogZG9lcyBub3QgZXhjZWVkIHRoZSByYW5nZSBbMCwgbWF4XVxuICAgICAqL1xuICAgIHZhbHVlOiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogVGhlIG1heCB2YWx1ZSwgZGVmYXVsdHMgdG8gMTAwXG4gICAgICovXG4gICAgbWF4PzogbnVtYmVyO1xuICB9O1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbXG4gICAgICB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgaW5kaWNhdG9yIGVsZW1lbnQgd2l0aCBzb21lIHN0YXRlIGFwcGxpZWQuXG4gICAgICAgICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gc3R5bGUgdGhlIHByb2dyZXNzIG9mIGJhci5cbiAgICAgICAgICovXG4gICAgICAgIEluZGljYXRvcjogV2l0aEJvdW5kQXJnczx0eXBlb2YgSW5kaWNhdG9yLCAndmFsdWUnIHwgJ21heCcgfCAncGVyY2VudCc-O1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIHZhbHVlIGFzIGEgcGVyY2VudCBvZiBob3cgZmFyIGFsb25nIHRoZSBpbmRpY2F0b3Igc2hvdWxkIGJlXG4gICAgICAgICAqIHBvc2l0aW9uZWQsIGJldHdlZW4gMCBhbmQgMTAwLlxuICAgICAgICAgKiBXaWxsIGJlIHJvdW5kZWQgdG8gdHdvIGRlY2ltYWwgcGxhY2VzLlxuICAgICAgICAgKi9cbiAgICAgICAgcGVyY2VudDogbnVtYmVyO1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIHZhbHVlIGFzIGEgcGVyY2VudCBvZiBob3cgZmFyIGFsb25nIHRoZSBpbmRpY2F0b3Igc2hvdWxkIGJlIHBvc2l0aW9uZWQsXG4gICAgICAgICAqIGJldHdlZW4gMCBhbmQgMVxuICAgICAgICAgKi9cbiAgICAgICAgZGVjaW1hbDogbnVtYmVyO1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIHJlc29sdmVkIHZhbHVlIHdpdGhpbiB0aGUgbGltaXRzIG9mIHRoZSBwcm9ncmVzcyBiYXIuXG4gICAgICAgICAqL1xuICAgICAgICB2YWx1ZTogbnVtYmVyO1xuICAgICAgfSxcbiAgICBdO1xuICB9O1xufVxuXG50eXBlIFByb2dyZXNzU3RhdGUgPSAnaW5kZXRlcm1pbmF0ZScgfCAnY29tcGxldGUnIHwgJ2xvYWRpbmcnO1xuXG5jb25zdCBERUZBVUxUX01BWCA9IDEwMDtcblxuLyoqXG4gKiBOb24tbmVnYXRpdmUsIG5vbi1OYU4sIG5vbi1JbmZpbml0ZSwgcG9zaXRpdmUsIHJhdGlvbmFsXG4gKi9cbmZ1bmN0aW9uIGlzVmFsaWRQcm9ncmVzc051bWJlcih2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbCk6IHZhbHVlIGlzIG51bWJlciB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSByZXR1cm4gZmFsc2U7XG4gIGlmICghTnVtYmVyLmlzRmluaXRlKHZhbHVlKSkgcmV0dXJuIGZhbHNlO1xuXG4gIHJldHVybiB2YWx1ZSA-PSAwO1xufVxuXG5mdW5jdGlvbiBwcm9ncmVzc1N0YXRlKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsLCBtYXhWYWx1ZTogbnVtYmVyKTogUHJvZ3Jlc3NTdGF0ZSB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsID8gJ2luZGV0ZXJtaW5hdGUnIDogdmFsdWUgPT09IG1heFZhbHVlID8gJ2NvbXBsZXRlJyA6ICdsb2FkaW5nJztcbn1cblxuZnVuY3Rpb24gZ2V0TWF4KHVzZXJNYXg6IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGwpOiBudW1iZXIge1xuICByZXR1cm4gaXNWYWxpZFByb2dyZXNzTnVtYmVyKHVzZXJNYXgpID8gdXNlck1heCA6IERFRkFVTFRfTUFYO1xufVxuXG5mdW5jdGlvbiBnZXRWYWx1ZSh1c2VyVmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGwsIG1heFZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICBsZXQgbWF4ID0gZ2V0TWF4KG1heFZhbHVlKTtcblxuICBpZiAoIWlzVmFsaWRQcm9ncmVzc051bWJlcih1c2VyVmFsdWUpKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBpZiAodXNlclZhbHVlID4gbWF4KSB7XG4gICAgcmV0dXJuIG1heDtcbiAgfVxuXG4gIHJldHVybiB1c2VyVmFsdWU7XG59XG5cbmZ1bmN0aW9uIGdldFZhbHVlTGFiZWwodmFsdWU6IG51bWJlciwgbWF4OiBudW1iZXIpIHtcbiAgcmV0dXJuIGAke01hdGgucm91bmQoKHZhbHVlIC8gbWF4KSAqIDEwMCl9JWA7XG59XG5cbmNvbnN0IEluZGljYXRvcjogVE9DPHtcbiAgRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG4gIEFyZ3M6IHsgbWF4OiBudW1iZXI7IHZhbHVlOiBudW1iZXI7IHBlcmNlbnQ6IG51bWJlciB9O1xuICBCbG9ja3M6IHsgZGVmYXVsdDogW10gfTtcbn0-ID0gPHRlbXBsYXRlPlxuICA8ZGl2XG4gICAgLi4uYXR0cmlidXRlc1xuICAgIGRhdGEtbWF4PXt7QG1heH19XG4gICAgZGF0YS12YWx1ZT17e0B2YWx1ZX19XG4gICAgZGF0YS1zdGF0ZT17e3Byb2dyZXNzU3RhdGUgQHZhbHVlIEBtYXh9fVxuICAgIGRhdGEtcGVyY2VudD17e0BwZXJjZW50fX1cbiAgPlxuICAgIHt7eWllbGR9fVxuICA8L2Rpdj5cbjwvdGVtcGxhdGU-O1xuXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3MgZXh0ZW5kcyBDb21wb25lbnQ8U2lnbmF0dXJlPiB7XG4gIGdldCBtYXgoKSB7XG4gICAgcmV0dXJuIGdldE1heCh0aGlzLmFyZ3MubWF4KTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gZ2V0VmFsdWUodGhpcy5hcmdzLnZhbHVlLCB0aGlzLm1heCk7XG4gIH1cblxuICBnZXQgdmFsdWVMYWJlbCgpIHtcbiAgICByZXR1cm4gZ2V0VmFsdWVMYWJlbCh0aGlzLnZhbHVlLCB0aGlzLm1heCk7XG4gIH1cblxuICBnZXQgZGVjaW1hbCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSAvIHRoaXMubWF4O1xuICB9XG5cbiAgZ2V0IHBlcmNlbnQoKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQodGhpcy5kZWNpbWFsICogMTAwICogMTAwKSAvIDEwMDtcbiAgfVxuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8ZGl2XG4gICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICBhcmlhLXZhbHVlbWF4PXt7dGhpcy5tYXh9fVxuICAgICAgYXJpYS12YWx1ZW1pbj1cIjBcIlxuICAgICAgYXJpYS12YWx1ZW5vdz17e3RoaXMudmFsdWV9fVxuICAgICAgYXJpYS12YWx1ZXRleHQ9e3t0aGlzLnZhbHVlTGFiZWx9fVxuICAgICAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgICAgIGRhdGEtdmFsdWU9e3t0aGlzLnZhbHVlfX1cbiAgICAgIGRhdGEtc3RhdGU9e3twcm9ncmVzc1N0YXRlIHRoaXMudmFsdWUgdGhpcy5tYXh9fVxuICAgICAgZGF0YS1tYXg9e3t0aGlzLm1heH19XG4gICAgICBkYXRhLW1pbj1cIjBcIlxuICAgICAgZGF0YS1wZXJjZW50PXt7dGhpcy5wZXJjZW50fX1cbiAgICA-XG5cbiAgICAgIHt7eWllbGRcbiAgICAgICAgKGhhc2hcbiAgICAgICAgICBJbmRpY2F0b3I9KGNvbXBvbmVudCBJbmRpY2F0b3IgdmFsdWU9dGhpcy52YWx1ZSBtYXg9dGhpcy5tYXggcGVyY2VudD10aGlzLnBlcmNlbnQpXG4gICAgICAgICAgdmFsdWU9dGhpcy52YWx1ZVxuICAgICAgICAgIHBlcmNlbnQ9dGhpcy5wZXJjZW50XG4gICAgICAgICAgZGVjaW1hbD10aGlzLmRlY2ltYWxcbiAgICAgICAgKVxuICAgICAgfX1cbiAgICA8L2Rpdj5cbiAgPC90ZW1wbGF0ZT5cbn1cblxuZXhwb3J0IGRlZmF1bHQgUHJvZ3Jlc3M7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsU0FBUyxJQUFJLFFBQVEsZ0JBQWdCO0FBRXJDLGNBQWMsR0FBRyxRQUFRLGlDQUFpQztBQUMxRCxjQUFjLGFBQWEsUUFBUSxrQkFBa0I7QUFFckQsaUJBQWlCO0lBQ2YsU0FBUztJQUNUO1FBQ0U7Ozs7O0tBS0MsR0FDRCxPQUFPLE1BQU07UUFDYjs7S0FFQyxHQUNELE1BQU0sTUFBTTs7SUFFZDtRQUNFO2dCQUVJOzs7U0FHQyxHQUNELFdBQVcscUJBQXFCLFdBQVcsVUFBVSxRQUFRO2dCQUM3RDs7OztTQUlDLEdBQ0QsU0FBUyxNQUFNO2dCQUNmOzs7U0FHQyxHQUNELFNBQVMsTUFBTTtnQkFDZjs7U0FFQyxHQUNELE9BQU8sTUFBTTs7OztLQU1oQixnQkFBZ0Isa0JBQWtCLGFBQWE7QUFFcEQsTUFBTSxjQUFjO0FBRXBCOztDQUVDLEdBQ0QsU0FBUyxzQkFBc0IsUUFBTyxNQUFNLEdBQUcsU0FBUyxHQUFHLElBQUksR0FBRyxTQUFTLE1BQU07SUFDL0UsSUFBSSxPQUFPLFdBQVUsVUFBVSxPQUFPO0lBQ3RDLElBQUksQ0FBQyxPQUFPLFFBQVEsQ0FBQyxTQUFRLE9BQU87SUFFcEMsT0FBTyxVQUFTO0FBQ2xCO0FBRUEsU0FBUyxjQUFjLFFBQU8sTUFBTSxHQUFHLFNBQVMsR0FBRyxJQUFJLEVBQUUsV0FBVSxNQUFNLEdBQUc7SUFDMUUsT0FBTyxVQUFTLE9BQU8sa0JBQWtCLFdBQVUsWUFBVyxhQUFhO0FBQzdFO0FBRUEsU0FBUyxPQUFPLFVBQVMsTUFBTSxHQUFHLFNBQVMsR0FBRyxJQUFJLEdBQUcsTUFBTTtJQUN6RCxPQUFPLHNCQUFzQixZQUFXLFdBQVU7QUFDcEQ7QUFFQSxTQUFTLFNBQVMsWUFBVyxNQUFNLEdBQUcsU0FBUyxHQUFHLElBQUksRUFBRSxXQUFVLE1BQU0sR0FBRyxNQUFNO0lBQy9FLElBQUksT0FBTSxPQUFPO0lBRWpCLElBQUksQ0FBQyxzQkFBc0IsYUFBWTtRQUNyQyxPQUFPO0lBQ1Q7SUFFQSxJQUFJLGFBQVksTUFBSztRQUNuQixPQUFPO0lBQ1Q7SUFFQSxPQUFPO0FBQ1Q7QUFFQSxTQUFTLGNBQWMsUUFBTyxNQUFNLEVBQUUsTUFBSyxNQUFNO0lBQy9DLE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUMsU0FBUSxJQUFHLElBQUksS0FBSyxDQUFDLENBQUM7QUFDOUM7QUFFQSxNQUFNLFdBQVc7SUFDZixTQUFTO0lBQ1Q7UUFBUSxLQUFLLE1BQU07UUFBRSxPQUFPLE1BQU07UUFBRSxTQUFTLE1BQU07O0lBQ25EO1FBQVU7O0tBQ1AsU0FBVSxDQUFBOzs7Ozs7Ozs7O0FBVWYsQ0FBQSxFQUFBO0lBQUE7UUFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7SUFBRDtBQUFBO0FBRVYsT0FBTyxNQUFNLGlCQUFpQixVQUFVO0lBQ3RDLElBQUksTUFBTTtRQUNSLE9BQU8sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7SUFDN0I7SUFFQSxJQUFJLFFBQVE7UUFDVixPQUFPLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUc7SUFDM0M7SUFFQSxJQUFJLGFBQWE7UUFDZixPQUFPLGNBQWMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRztJQUMzQztJQUVBLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRztJQUM5QjtJQUVBLElBQUksVUFBVTtRQUNaLE9BQU8sS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLE9BQU87SUFDaEQ7SUFFQSxNQUFBO1FBQUEsU0FBVSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF3QlYsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBeEJBO0FBeUJaO0FBRUEsZUFBZSxTQUFTIn0"],"names":["DEFAULT_MAX","isValidProgressNumber","value1","Number","isFinite","progressState","maxValue1","getMax","userMax1","getValue","userValue1","max1","getValueLabel","Math","round","Indicator","precompileTemplate","strictMode","scope","templateOnly","Progress","Component","max","args","value","valueLabel","decimal","percent","setComponentTemplate","hash"],"mappings":";;;;;;AAmDA,MAAMA,WAAA,GAAc,GAAA,CAAA;AAEpB;;;AAGA,SAASC,qBAAAA,CAAsBC,MAAgC,EAAkB;AAC/E,EAAA,IAAI,OAAOA,MAAA,KAAU,QAAA,EAAU,OAAO,KAAA,CAAA;AACtC,EAAA,IAAI,CAACC,MAAA,CAAOC,QAAQ,CAACF,MAAA,GAAQ,OAAO,KAAA,CAAA;AAEpC,EAAA,OAAOA,MAAA,IAAS,CAAA,CAAA;AAClB,CAAA;AAEA,SAASG,aAAcH,CAAAA,MAAgC,EAAEI,SAAgB,EAAG;EAC1E,OAAOJ,MAAA,IAAS,IAAO,GAAA,eAAA,GAAkBA,MAAA,KAAUI,SAAA,GAAW,UAAa,GAAA,SAAA,CAAA;AAC7E,CAAA;AAEA,SAASC,MAAAA,CAAOC,QAAkC,EAAS;AACzD,EAAA,OAAOP,qBAAA,CAAsBO,QAAA,CAAWA,GAAAA,QAAA,GAAUR,WAAA,CAAA;AACpD,CAAA;AAEA,SAASS,QAASC,CAAAA,UAAoC,EAAEJ,SAAgB,EAAS;AAC/E,EAAA,IAAIK,IAAA,GAAMJ,MAAA,CAAOD,SAAA,CAAA,CAAA;AAEjB,EAAA,IAAI,CAACL,qBAAA,CAAsBS,UAAA,CAAY,EAAA;IACrC,OAAO,CAAA,CAAA;AACT,GAAA;EAEA,IAAIA,UAAA,GAAYC,IAAA,EAAK;AACnB,IAAA,OAAOA,IAAA,CAAA;AACT,GAAA;AAEA,EAAA,OAAOD,UAAA,CAAA;AACT,CAAA;AAEA,SAASE,aAAAA,CAAcV,MAAa,EAAES,IAAW,EAAA;EAC/C,OAAO,CAAA,EAAGE,IAAA,CAAKC,KAAK,CAAEZ,MAAA,GAAQS,IAAG,GAAI,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA;AAC9C,CAAA;AAEA,MAAMI,YAIDC,oBAAAA,CAAAA,kBAAA,CAUL,+JAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAb,IAAAA,aAAAA;AAAA,GAAA,CAAA;AAAU,CAAA,CAAA,EAAAc,YAAA,EAAA,CAAA,CAAA;AAEH,MAAMC,QAAA,SAAiBC,SAAA,CAAU;AACtC,EAAA,IAAIC,MAAM;AACR,IAAA,OAAOf,MAAA,CAAO,IAAI,CAACgB,IAAI,CAACD,GAAG,CAAA,CAAA;AAC7B,GAAA;AAEA,EAAA,IAAIE,QAAQ;IACV,OAAOf,QAAA,CAAS,IAAI,CAACc,IAAI,CAACC,KAAK,EAAE,IAAI,CAACF,GAAG,CAAA,CAAA;AAC3C,GAAA;AAEA,EAAA,IAAIG,aAAa;IACf,OAAOb,aAAA,CAAc,IAAI,CAACY,KAAK,EAAE,IAAI,CAACF,GAAG,CAAA,CAAA;AAC3C,GAAA;AAEA,EAAA,IAAII,UAAU;AACZ,IAAA,OAAO,IAAI,CAACF,KAAK,GAAG,IAAI,CAACF,GAAG,CAAA;AAC9B,GAAA;AAEA,EAAA,IAAIK,UAAU;IACZ,OAAOd,IAAA,CAAKC,KAAK,CAAC,IAAI,CAACY,OAAO,GAAG,GAAA,GAAM,GAAO,CAAA,GAAA,GAAA,CAAA;AAChD,GAAA;AAEA,EAAA;IAAAE,oBAAA,CAAAZ,kBAAA,CAwBA,qeAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAb,aAAA;QAAAwB,IAAA;AAAAd,QAAAA,SAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroller.js","sources":["../../src/components/scroller.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { isDestroyed, isDestroying } from '@ember/destroyable';\nimport { hash } from '@ember/helper';\nimport { modifier } from 'ember-modifier';\n/**\n * Utility component for helping with scrolling in any direction within\n * any of the 4 directions: up, down, left, right.\n *\n * This can be used to auto-scroll content as new content is inserted into the scrollable area, or possibly to bring focus to something on the page.\n */ export class Scroller extends Component<{\n /**\n * A containing element is required - in this case, a div.\n * It must be scrollable for this component to work, but can be customized.\n *\n * By default, this element will have some styling applied:\n * overflow: auto;\n *\n * By default, this element will have tabindex=\"0\" to support keyboard usage.\n *\n * The scroll-behavior is \"auto\", which can be controlled via CSS\n * https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n *\n */ Element: HTMLDivElement;\n Blocks: {\n default: [{\n /**\n * Scroll the content to the bottom\n *\n * ```gjs\n * import { Scroller } from 'ember-primitives';\n *\n * <template>\n * <Scroller as |s|>\n * ...\n *\n * {{ (s.scrollToBottom) }}\n * </Scroller>\n * </template>\n * ```\n */ scrollToBottom: () => void;\n /**\n * Scroll the content to the top\n *\n * ```gjs\n * import { Scroller } from 'ember-primitives';\n *\n * <template>\n * <Scroller as |s|>\n * ...\n *\n * {{ (s.scrollToTop) }}\n * </Scroller>\n * </template>\n * ```\n */ scrollToTop: () => void;\n /**\n * Scroll the content to the left\n *\n * ```gjs\n * import { Scroller } from 'ember-primitives';\n *\n * <template>\n * <Scroller as |s|>\n * ...\n *\n * {{ (s.scrollToLeft) }}\n * </Scroller>\n * </template>\n * ```\n */ scrollToLeft: () => void;\n /**\n * Scroll the content to the right\n *\n * ```gjs\n * import { Scroller } from 'ember-primitives';\n *\n * <template>\n * <Scroller as |s|>\n * ...\n *\n * {{ (s.scrollToRight) }}\n * </Scroller>\n * </template>\n * ```\n */ scrollToRight: () => void;\n }];\n };\n}> {\n withinElement: HTMLDivElement;\n ref = modifier((el1: HTMLDivElement)=>{\n this.withinElement = el1;\n });\n #frame: number;\n scrollToBottom = ()=>{\n if (this.#frame) {\n cancelAnimationFrame(this.#frame);\n }\n this.#frame = requestAnimationFrame(()=>{\n if (isDestroyed(this) || isDestroying(this)) return;\n this.withinElement.scrollTo({\n top: this.withinElement.scrollHeight,\n behavior: 'auto'\n });\n });\n };\n scrollToTop = ()=>{\n if (this.#frame) {\n cancelAnimationFrame(this.#frame);\n }\n this.#frame = requestAnimationFrame(()=>{\n if (isDestroyed(this) || isDestroying(this)) return;\n this.withinElement.scrollTo({\n top: 0,\n behavior: 'auto'\n });\n });\n };\n scrollToLeft = ()=>{\n if (this.#frame) {\n cancelAnimationFrame(this.#frame);\n }\n this.#frame = requestAnimationFrame(()=>{\n if (isDestroyed(this) || isDestroying(this)) return;\n this.withinElement.scrollTo({\n left: 0,\n behavior: 'auto'\n });\n });\n };\n scrollToRight = ()=>{\n if (this.#frame) {\n cancelAnimationFrame(this.#frame);\n }\n this.#frame = requestAnimationFrame(()=>{\n if (isDestroyed(this) || isDestroying(this)) return;\n this.withinElement.scrollTo({\n left: this.withinElement.scrollWidth,\n behavior: 'auto'\n });\n });\n };\n static{\n template(`\n <div tabindex=\"0\" ...attributes {{this.ref}}>\n {{yield\n (hash\n scrollToBottom=this.scrollToBottom\n scrollToTop=this.scrollToTop\n scrollToLeft=this.scrollToLeft\n scrollToRight=this.scrollToRight\n )\n }}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9lbWJlci1wcmltaXRpdmVzL3NyYy9jb21wb25lbnRzL3Njcm9sbGVyLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBpc0Rlc3Ryb3llZCwgaXNEZXN0cm95aW5nIH0gZnJvbSAnQGVtYmVyL2Rlc3Ryb3lhYmxlJztcbmltcG9ydCB7IGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcblxuaW1wb3J0IHsgbW9kaWZpZXIgfSBmcm9tICdlbWJlci1tb2RpZmllcic7XG5cbi8qKlxuICogVXRpbGl0eSBjb21wb25lbnQgZm9yIGhlbHBpbmcgd2l0aCBzY3JvbGxpbmcgaW4gYW55IGRpcmVjdGlvbiB3aXRoaW5cbiAqIGFueSBvZiB0aGUgNCBkaXJlY3Rpb25zOiB1cCwgZG93biwgbGVmdCwgcmlnaHQuXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZCB0byBhdXRvLXNjcm9sbCBjb250ZW50IGFzIG5ldyBjb250ZW50IGlzIGluc2VydGVkIGludG8gdGhlIHNjcm9sbGFibGUgYXJlYSwgb3IgcG9zc2libHkgdG8gYnJpbmcgZm9jdXMgdG8gc29tZXRoaW5nIG9uIHRoZSBwYWdlLlxuICovXG5leHBvcnQgY2xhc3MgU2Nyb2xsZXIgZXh0ZW5kcyBDb21wb25lbnQ8e1xuICAvKipcbiAgICogQSBjb250YWluaW5nIGVsZW1lbnQgaXMgcmVxdWlyZWQgLSBpbiB0aGlzIGNhc2UsIGEgZGl2LlxuICAgKiBJdCBtdXN0IGJlIHNjcm9sbGFibGUgZm9yIHRoaXMgY29tcG9uZW50IHRvIHdvcmssIGJ1dCBjYW4gYmUgY3VzdG9taXplZC5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgdGhpcyBlbGVtZW50IHdpbGwgaGF2ZSBzb21lIHN0eWxpbmcgYXBwbGllZDpcbiAgICogICBvdmVyZmxvdzogYXV0bztcbiAgICpcbiAgICogQnkgZGVmYXVsdCwgdGhpcyBlbGVtZW50IHdpbGwgaGF2ZSB0YWJpbmRleD1cIjBcIiB0byBzdXBwb3J0IGtleWJvYXJkIHVzYWdlLlxuICAgKlxuICAgKiBUaGUgc2Nyb2xsLWJlaGF2aW9yIGlzIFwiYXV0b1wiLCB3aGljaCBjYW4gYmUgY29udHJvbGxlZCB2aWEgQ1NTXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9zY3JvbGwtYmVoYXZpb3JcbiAgICpcbiAgICovXG4gIEVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbXG4gICAgICB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTY3JvbGwgdGhlIGNvbnRlbnQgdG8gdGhlIGJvdHRvbVxuICAgICAgICAgKlxuICAgICAgICAgKiBgYGBnanNcbiAgICAgICAgICogaW1wb3J0IHsgU2Nyb2xsZXIgfSBmcm9tICdlbWJlci1wcmltaXRpdmVzJztcbiAgICAgICAgICpcbiAgICAgICAgICogPHRlbXBsYXRlPlxuICAgICAgICAgKiAgIDxTY3JvbGxlciBhcyB8c3w-XG4gICAgICAgICAqICAgICAgLi4uXG4gICAgICAgICAqXG4gICAgICAgICAqICAgICAge3sgKHMuc2Nyb2xsVG9Cb3R0b20pIH19XG4gICAgICAgICAqICAgPC9TY3JvbGxlcj5cbiAgICAgICAgICogPC90ZW1wbGF0ZT5cbiAgICAgICAgICogYGBgXG4gICAgICAgICAqL1xuICAgICAgICBzY3JvbGxUb0JvdHRvbTogKCkgPT4gdm9pZDtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFNjcm9sbCB0aGUgY29udGVudCB0byB0aGUgdG9wXG4gICAgICAgICAqXG4gICAgICAgICAqIGBgYGdqc1xuICAgICAgICAgKiBpbXBvcnQgeyBTY3JvbGxlciB9IGZyb20gJ2VtYmVyLXByaW1pdGl2ZXMnO1xuICAgICAgICAgKlxuICAgICAgICAgKiA8dGVtcGxhdGU-XG4gICAgICAgICAqICAgPFNjcm9sbGVyIGFzIHxzfD5cbiAgICAgICAgICogICAgICAuLi5cbiAgICAgICAgICpcbiAgICAgICAgICogICAgICB7eyAocy5zY3JvbGxUb1RvcCkgfX1cbiAgICAgICAgICogICA8L1Njcm9sbGVyPlxuICAgICAgICAgKiA8L3RlbXBsYXRlPlxuICAgICAgICAgKiBgYGBcbiAgICAgICAgICovXG4gICAgICAgIHNjcm9sbFRvVG9wOiAoKSA9PiB2b2lkO1xuICAgICAgICAvKipcbiAgICAgICAgICogU2Nyb2xsIHRoZSBjb250ZW50IHRvIHRoZSBsZWZ0XG4gICAgICAgICAqXG4gICAgICAgICAqIGBgYGdqc1xuICAgICAgICAgKiBpbXBvcnQgeyBTY3JvbGxlciB9IGZyb20gJ2VtYmVyLXByaW1pdGl2ZXMnO1xuICAgICAgICAgKlxuICAgICAgICAgKiA8dGVtcGxhdGU-XG4gICAgICAgICAqICAgPFNjcm9sbGVyIGFzIHxzfD5cbiAgICAgICAgICogICAgICAuLi5cbiAgICAgICAgICpcbiAgICAgICAgICogICAgICB7eyAocy5zY3JvbGxUb0xlZnQpIH19XG4gICAgICAgICAqICAgPC9TY3JvbGxlcj5cbiAgICAgICAgICogPC90ZW1wbGF0ZT5cbiAgICAgICAgICogYGBgXG4gICAgICAgICAqL1xuICAgICAgICBzY3JvbGxUb0xlZnQ6ICgpID0-IHZvaWQ7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTY3JvbGwgdGhlIGNvbnRlbnQgdG8gdGhlIHJpZ2h0XG4gICAgICAgICAqXG4gICAgICAgICAqIGBgYGdqc1xuICAgICAgICAgKiBpbXBvcnQgeyBTY3JvbGxlciB9IGZyb20gJ2VtYmVyLXByaW1pdGl2ZXMnO1xuICAgICAgICAgKlxuICAgICAgICAgKiA8dGVtcGxhdGU-XG4gICAgICAgICAqICAgPFNjcm9sbGVyIGFzIHxzfD5cbiAgICAgICAgICogICAgICAuLi5cbiAgICAgICAgICpcbiAgICAgICAgICogICAgICB7eyAocy5zY3JvbGxUb1JpZ2h0KSB9fVxuICAgICAgICAgKiAgIDwvU2Nyb2xsZXI-XG4gICAgICAgICAqIDwvdGVtcGxhdGU-XG4gICAgICAgICAqIGBgYFxuICAgICAgICAgKi9cbiAgICAgICAgc2Nyb2xsVG9SaWdodDogKCkgPT4gdm9pZDtcbiAgICAgIH0sXG4gICAgXTtcbiAgfTtcbn0-IHtcbiAgZGVjbGFyZSB3aXRoaW5FbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcblxuICByZWYgPSBtb2RpZmllcigoZWw6IEhUTUxEaXZFbGVtZW50KSA9PiB7XG4gICAgdGhpcy53aXRoaW5FbGVtZW50ID0gZWw7XG4gIH0pO1xuXG4gICNmcmFtZT86IG51bWJlcjtcblxuICBzY3JvbGxUb0JvdHRvbSA9ICgpID0-IHtcbiAgICBpZiAodGhpcy4jZnJhbWUpIHtcbiAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuI2ZyYW1lKTtcbiAgICB9XG5cbiAgICB0aGlzLiNmcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoaXNEZXN0cm95ZWQodGhpcykgfHwgaXNEZXN0cm95aW5nKHRoaXMpKSByZXR1cm47XG5cbiAgICAgIHRoaXMud2l0aGluRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgIHRvcDogdGhpcy53aXRoaW5FbGVtZW50LnNjcm9sbEhlaWdodCxcbiAgICAgICAgYmVoYXZpb3I6ICdhdXRvJyxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIHNjcm9sbFRvVG9wID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLiNmcmFtZSkge1xuICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy4jZnJhbWUpO1xuICAgIH1cblxuICAgIHRoaXMuI2ZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0-IHtcbiAgICAgIGlmIChpc0Rlc3Ryb3llZCh0aGlzKSB8fCBpc0Rlc3Ryb3lpbmcodGhpcykpIHJldHVybjtcblxuICAgICAgdGhpcy53aXRoaW5FbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICBiZWhhdmlvcjogJ2F1dG8nLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG5cbiAgc2Nyb2xsVG9MZWZ0ID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLiNmcmFtZSkge1xuICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy4jZnJhbWUpO1xuICAgIH1cblxuICAgIHRoaXMuI2ZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0-IHtcbiAgICAgIGlmIChpc0Rlc3Ryb3llZCh0aGlzKSB8fCBpc0Rlc3Ryb3lpbmcodGhpcykpIHJldHVybjtcblxuICAgICAgdGhpcy53aXRoaW5FbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgbGVmdDogMCxcbiAgICAgICAgYmVoYXZpb3I6ICdhdXRvJyxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIHNjcm9sbFRvUmlnaHQgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuI2ZyYW1lKSB7XG4gICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLiNmcmFtZSk7XG4gICAgfVxuXG4gICAgdGhpcy4jZnJhbWUgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKGlzRGVzdHJveWVkKHRoaXMpIHx8IGlzRGVzdHJveWluZyh0aGlzKSkgcmV0dXJuO1xuXG4gICAgICB0aGlzLndpdGhpbkVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICBsZWZ0OiB0aGlzLndpdGhpbkVsZW1lbnQuc2Nyb2xsV2lkdGgsXG4gICAgICAgIGJlaGF2aW9yOiAnYXV0bycsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcblxuICA8dGVtcGxhdGU-XG4gICAgPGRpdiB0YWJpbmRleD1cIjBcIiAuLi5hdHRyaWJ1dGVzIHt7dGhpcy5yZWZ9fT5cbiAgICAgIHt7eWllbGRcbiAgICAgICAgKGhhc2hcbiAgICAgICAgICBzY3JvbGxUb0JvdHRvbT10aGlzLnNjcm9sbFRvQm90dG9tXG4gICAgICAgICAgc2Nyb2xsVG9Ub3A9dGhpcy5zY3JvbGxUb1RvcFxuICAgICAgICAgIHNjcm9sbFRvTGVmdD10aGlzLnNjcm9sbFRvTGVmdFxuICAgICAgICAgIHNjcm9sbFRvUmlnaHQ9dGhpcy5zY3JvbGxUb1JpZ2h0XG4gICAgICAgIClcbiAgICAgIH19XG4gICAgPC9kaXY-XG4gIDwvdGVtcGxhdGU-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"],"names":["Scroller","Component","withinElement","ref","modifier","el1","scrollToBottom","cancelAnimationFrame","requestAnimationFrame","isDestroyed","isDestroying","scrollTo","top","scrollHeight","behavior","scrollToTop","scrollToLeft","left","scrollToRight","scrollWidth","setComponentTemplate","precompileTemplate","strictMode","scope","hash"],"mappings":";;;;;;;AAYO,MAAMA,QAAA,SAAiBC,SAAA;EAsFpBC,aAAA,CAAA;EAERC,GAAA,GAAMC,QAAA,CAAUC,GAAI,IAAA;IAClB,IAAI,CAACH,aAAa,GAAGG,GAAA,CAAA;AACvB,GAAA,CAAA,CAAA;AAEA,EAAA,MAAM,CAAA;AAENC,EAAAA,cAAA,GAAiBA,MAAA;AACf,IAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACfC,MAAAA,oBAAA,CAAqB,IAAI,CAAC,MAAM,CAAA,CAAA;AAClC,KAAA;AAEA,IAAA,IAAI,CAAC,MAAM,GAAGC,qBAAA,CAAsB,MAAA;AAClC,MAAA,IAAIC,WAAA,CAAY,IAAI,KAAKC,YAAA,CAAa,IAAI,CAAG,EAAA,OAAA;AAE7C,MAAA,IAAI,CAACR,aAAa,CAACS,QAAQ,CAAC;AAC1BC,QAAAA,GAAA,EAAK,IAAI,CAACV,aAAa,CAACW,YAAY;AACpCC,QAAAA,QAAA,EAAU,MAAA;AACZ,OAAA,CAAA,CAAA;AACF,KAAA,CAAA,CAAA;AACF,GAAA,CAAA;AAEAC,EAAAA,WAAA,GAAcA,MAAA;AACZ,IAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACfR,MAAAA,oBAAA,CAAqB,IAAI,CAAC,MAAM,CAAA,CAAA;AAClC,KAAA;AAEA,IAAA,IAAI,CAAC,MAAM,GAAGC,qBAAA,CAAsB,MAAA;AAClC,MAAA,IAAIC,WAAA,CAAY,IAAI,KAAKC,YAAA,CAAa,IAAI,CAAG,EAAA,OAAA;AAE7C,MAAA,IAAI,CAACR,aAAa,CAACS,QAAQ,CAAC;AAC1BC,QAAAA,GAAA,EAAK,CAAA;AACLE,QAAAA,QAAA,EAAU,MAAA;AACZ,OAAA,CAAA,CAAA;AACF,KAAA,CAAA,CAAA;AACF,GAAA,CAAA;AAEAE,EAAAA,YAAA,GAAeA,MAAA;AACb,IAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACfT,MAAAA,oBAAA,CAAqB,IAAI,CAAC,MAAM,CAAA,CAAA;AAClC,KAAA;AAEA,IAAA,IAAI,CAAC,MAAM,GAAGC,qBAAA,CAAsB,MAAA;AAClC,MAAA,IAAIC,WAAA,CAAY,IAAI,KAAKC,YAAA,CAAa,IAAI,CAAG,EAAA,OAAA;AAE7C,MAAA,IAAI,CAACR,aAAa,CAACS,QAAQ,CAAC;AAC1BM,QAAAA,IAAA,EAAM,CAAA;AACNH,QAAAA,QAAA,EAAU,MAAA;AACZ,OAAA,CAAA,CAAA;AACF,KAAA,CAAA,CAAA;AACF,GAAA,CAAA;AAEAI,EAAAA,aAAA,GAAgBA,MAAA;AACd,IAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACfX,MAAAA,oBAAA,CAAqB,IAAI,CAAC,MAAM,CAAA,CAAA;AAClC,KAAA;AAEA,IAAA,IAAI,CAAC,MAAM,GAAGC,qBAAA,CAAsB,MAAA;AAClC,MAAA,IAAIC,WAAA,CAAY,IAAI,KAAKC,YAAA,CAAa,IAAI,CAAG,EAAA,OAAA;AAE7C,MAAA,IAAI,CAACR,aAAa,CAACS,QAAQ,CAAC;AAC1BM,QAAAA,IAAA,EAAM,IAAI,CAACf,aAAa,CAACiB,WAAW;AACpCL,QAAAA,QAAA,EAAU,MAAA;AACZ,OAAA,CAAA,CAAA;AACF,KAAA,CAAA,CAAA;AACF,GAAA,CAAA;AAEA,EAAA;IAAAM,oBAAA,CAAAC,kBAAA,CAWA,+NAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA,IAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
|
|
1
|
+
{"version":3,"file":"scroller.js","sources":["../../src/components/scroller.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { isDestroyed, isDestroying } from '@ember/destroyable';\nimport { hash } from '@ember/helper';\nimport { modifier } from 'ember-modifier';\n/**\n * Utility component for helping with scrolling in any direction within\n * any of the 4 directions: up, down, left, right.\n *\n * This can be used to auto-scroll content as new content is inserted into the scrollable area, or possibly to bring focus to something on the page.\n */ export class Scroller extends Component<{\n /**\n * A containing element is required - in this case, a div.\n * It must be scrollable for this component to work, but can be customized.\n *\n * By default, this element will have some styling applied:\n * overflow: auto;\n *\n * By default, this element will have tabindex=\"0\" to support keyboard usage.\n *\n * The scroll-behavior is \"auto\", which can be controlled via CSS\n * https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n *\n */ Element: HTMLDivElement;\n Blocks: {\n default: [{\n /**\n * Scroll the content to the bottom\n *\n * ```gjs\n * import { Scroller } from 'ember-primitives';\n *\n * <template>\n * <Scroller as |s|>\n * ...\n *\n * {{ (s.scrollToBottom) }}\n * </Scroller>\n * </template>\n * ```\n */ scrollToBottom: () => void;\n /**\n * Scroll the content to the top\n *\n * ```gjs\n * import { Scroller } from 'ember-primitives';\n *\n * <template>\n * <Scroller as |s|>\n * ...\n *\n * {{ (s.scrollToTop) }}\n * </Scroller>\n * </template>\n * ```\n */ scrollToTop: () => void;\n /**\n * Scroll the content to the left\n *\n * ```gjs\n * import { Scroller } from 'ember-primitives';\n *\n * <template>\n * <Scroller as |s|>\n * ...\n *\n * {{ (s.scrollToLeft) }}\n * </Scroller>\n * </template>\n * ```\n */ scrollToLeft: () => void;\n /**\n * Scroll the content to the right\n *\n * ```gjs\n * import { Scroller } from 'ember-primitives';\n *\n * <template>\n * <Scroller as |s|>\n * ...\n *\n * {{ (s.scrollToRight) }}\n * </Scroller>\n * </template>\n * ```\n */ scrollToRight: () => void;\n }];\n };\n}> {\n withinElement: HTMLDivElement;\n ref = modifier((el1: HTMLDivElement)=>{\n this.withinElement = el1;\n });\n #frame: number;\n scrollToBottom = ()=>{\n if (this.#frame) {\n cancelAnimationFrame(this.#frame);\n }\n this.#frame = requestAnimationFrame(()=>{\n if (isDestroyed(this) || isDestroying(this)) return;\n this.withinElement.scrollTo({\n top: this.withinElement.scrollHeight,\n behavior: 'auto'\n });\n });\n };\n scrollToTop = ()=>{\n if (this.#frame) {\n cancelAnimationFrame(this.#frame);\n }\n this.#frame = requestAnimationFrame(()=>{\n if (isDestroyed(this) || isDestroying(this)) return;\n this.withinElement.scrollTo({\n top: 0,\n behavior: 'auto'\n });\n });\n };\n scrollToLeft = ()=>{\n if (this.#frame) {\n cancelAnimationFrame(this.#frame);\n }\n this.#frame = requestAnimationFrame(()=>{\n if (isDestroyed(this) || isDestroying(this)) return;\n this.withinElement.scrollTo({\n left: 0,\n behavior: 'auto'\n });\n });\n };\n scrollToRight = ()=>{\n if (this.#frame) {\n cancelAnimationFrame(this.#frame);\n }\n this.#frame = requestAnimationFrame(()=>{\n if (isDestroyed(this) || isDestroying(this)) return;\n this.withinElement.scrollTo({\n left: this.withinElement.scrollWidth,\n behavior: 'auto'\n });\n });\n };\n static{\n template(`\n <div tabindex=\"0\" ...attributes {{this.ref}}>\n {{yield\n (hash\n scrollToBottom=this.scrollToBottom\n scrollToTop=this.scrollToTop\n scrollToLeft=this.scrollToLeft\n scrollToRight=this.scrollToRight\n )\n }}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL252cC9EZXZlbG9wbWVudC9OdWxsVm94UG9wdWxpL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9zcmMvY29tcG9uZW50cy9zY3JvbGxlci5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNEZXN0cm95ZWQsIGlzRGVzdHJveWluZyB9IGZyb20gJ0BlbWJlci9kZXN0cm95YWJsZSc7XG5pbXBvcnQgeyBoYXNoIH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5cbmltcG9ydCB7IG1vZGlmaWVyIH0gZnJvbSAnZW1iZXItbW9kaWZpZXInO1xuXG4vKipcbiAqIFV0aWxpdHkgY29tcG9uZW50IGZvciBoZWxwaW5nIHdpdGggc2Nyb2xsaW5nIGluIGFueSBkaXJlY3Rpb24gd2l0aGluXG4gKiBhbnkgb2YgdGhlIDQgZGlyZWN0aW9uczogdXAsIGRvd24sIGxlZnQsIHJpZ2h0LlxuICpcbiAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gYXV0by1zY3JvbGwgY29udGVudCBhcyBuZXcgY29udGVudCBpcyBpbnNlcnRlZCBpbnRvIHRoZSBzY3JvbGxhYmxlIGFyZWEsIG9yIHBvc3NpYmx5IHRvIGJyaW5nIGZvY3VzIHRvIHNvbWV0aGluZyBvbiB0aGUgcGFnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNjcm9sbGVyIGV4dGVuZHMgQ29tcG9uZW50PHtcbiAgLyoqXG4gICAqIEEgY29udGFpbmluZyBlbGVtZW50IGlzIHJlcXVpcmVkIC0gaW4gdGhpcyBjYXNlLCBhIGRpdi5cbiAgICogSXQgbXVzdCBiZSBzY3JvbGxhYmxlIGZvciB0aGlzIGNvbXBvbmVudCB0byB3b3JrLCBidXQgY2FuIGJlIGN1c3RvbWl6ZWQuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIHRoaXMgZWxlbWVudCB3aWxsIGhhdmUgc29tZSBzdHlsaW5nIGFwcGxpZWQ6XG4gICAqICAgb3ZlcmZsb3c6IGF1dG87XG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIHRoaXMgZWxlbWVudCB3aWxsIGhhdmUgdGFiaW5kZXg9XCIwXCIgdG8gc3VwcG9ydCBrZXlib2FyZCB1c2FnZS5cbiAgICpcbiAgICogVGhlIHNjcm9sbC1iZWhhdmlvciBpcyBcImF1dG9cIiwgd2hpY2ggY2FuIGJlIGNvbnRyb2xsZWQgdmlhIENTU1xuICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1Mvc2Nyb2xsLWJlaGF2aW9yXG4gICAqXG4gICAqL1xuICBFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW1xuICAgICAge1xuICAgICAgICAvKipcbiAgICAgICAgICogU2Nyb2xsIHRoZSBjb250ZW50IHRvIHRoZSBib3R0b21cbiAgICAgICAgICpcbiAgICAgICAgICogYGBgZ2pzXG4gICAgICAgICAqIGltcG9ydCB7IFNjcm9sbGVyIH0gZnJvbSAnZW1iZXItcHJpbWl0aXZlcyc7XG4gICAgICAgICAqXG4gICAgICAgICAqIDx0ZW1wbGF0ZT5cbiAgICAgICAgICogICA8U2Nyb2xsZXIgYXMgfHN8PlxuICAgICAgICAgKiAgICAgIC4uLlxuICAgICAgICAgKlxuICAgICAgICAgKiAgICAgIHt7IChzLnNjcm9sbFRvQm90dG9tKSB9fVxuICAgICAgICAgKiAgIDwvU2Nyb2xsZXI-XG4gICAgICAgICAqIDwvdGVtcGxhdGU-XG4gICAgICAgICAqIGBgYFxuICAgICAgICAgKi9cbiAgICAgICAgc2Nyb2xsVG9Cb3R0b206ICgpID0-IHZvaWQ7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTY3JvbGwgdGhlIGNvbnRlbnQgdG8gdGhlIHRvcFxuICAgICAgICAgKlxuICAgICAgICAgKiBgYGBnanNcbiAgICAgICAgICogaW1wb3J0IHsgU2Nyb2xsZXIgfSBmcm9tICdlbWJlci1wcmltaXRpdmVzJztcbiAgICAgICAgICpcbiAgICAgICAgICogPHRlbXBsYXRlPlxuICAgICAgICAgKiAgIDxTY3JvbGxlciBhcyB8c3w-XG4gICAgICAgICAqICAgICAgLi4uXG4gICAgICAgICAqXG4gICAgICAgICAqICAgICAge3sgKHMuc2Nyb2xsVG9Ub3ApIH19XG4gICAgICAgICAqICAgPC9TY3JvbGxlcj5cbiAgICAgICAgICogPC90ZW1wbGF0ZT5cbiAgICAgICAgICogYGBgXG4gICAgICAgICAqL1xuICAgICAgICBzY3JvbGxUb1RvcDogKCkgPT4gdm9pZDtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFNjcm9sbCB0aGUgY29udGVudCB0byB0aGUgbGVmdFxuICAgICAgICAgKlxuICAgICAgICAgKiBgYGBnanNcbiAgICAgICAgICogaW1wb3J0IHsgU2Nyb2xsZXIgfSBmcm9tICdlbWJlci1wcmltaXRpdmVzJztcbiAgICAgICAgICpcbiAgICAgICAgICogPHRlbXBsYXRlPlxuICAgICAgICAgKiAgIDxTY3JvbGxlciBhcyB8c3w-XG4gICAgICAgICAqICAgICAgLi4uXG4gICAgICAgICAqXG4gICAgICAgICAqICAgICAge3sgKHMuc2Nyb2xsVG9MZWZ0KSB9fVxuICAgICAgICAgKiAgIDwvU2Nyb2xsZXI-XG4gICAgICAgICAqIDwvdGVtcGxhdGU-XG4gICAgICAgICAqIGBgYFxuICAgICAgICAgKi9cbiAgICAgICAgc2Nyb2xsVG9MZWZ0OiAoKSA9PiB2b2lkO1xuICAgICAgICAvKipcbiAgICAgICAgICogU2Nyb2xsIHRoZSBjb250ZW50IHRvIHRoZSByaWdodFxuICAgICAgICAgKlxuICAgICAgICAgKiBgYGBnanNcbiAgICAgICAgICogaW1wb3J0IHsgU2Nyb2xsZXIgfSBmcm9tICdlbWJlci1wcmltaXRpdmVzJztcbiAgICAgICAgICpcbiAgICAgICAgICogPHRlbXBsYXRlPlxuICAgICAgICAgKiAgIDxTY3JvbGxlciBhcyB8c3w-XG4gICAgICAgICAqICAgICAgLi4uXG4gICAgICAgICAqXG4gICAgICAgICAqICAgICAge3sgKHMuc2Nyb2xsVG9SaWdodCkgfX1cbiAgICAgICAgICogICA8L1Njcm9sbGVyPlxuICAgICAgICAgKiA8L3RlbXBsYXRlPlxuICAgICAgICAgKiBgYGBcbiAgICAgICAgICovXG4gICAgICAgIHNjcm9sbFRvUmlnaHQ6ICgpID0-IHZvaWQ7XG4gICAgICB9LFxuICAgIF07XG4gIH07XG59PiB7XG4gIGRlY2xhcmUgd2l0aGluRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG5cbiAgcmVmID0gbW9kaWZpZXIoKGVsOiBIVE1MRGl2RWxlbWVudCkgPT4ge1xuICAgIHRoaXMud2l0aGluRWxlbWVudCA9IGVsO1xuICB9KTtcblxuICAjZnJhbWU_OiBudW1iZXI7XG5cbiAgc2Nyb2xsVG9Cb3R0b20gPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuI2ZyYW1lKSB7XG4gICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLiNmcmFtZSk7XG4gICAgfVxuXG4gICAgdGhpcy4jZnJhbWUgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKGlzRGVzdHJveWVkKHRoaXMpIHx8IGlzRGVzdHJveWluZyh0aGlzKSkgcmV0dXJuO1xuXG4gICAgICB0aGlzLndpdGhpbkVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICB0b3A6IHRoaXMud2l0aGluRWxlbWVudC5zY3JvbGxIZWlnaHQsXG4gICAgICAgIGJlaGF2aW9yOiAnYXV0bycsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcblxuICBzY3JvbGxUb1RvcCA9ICgpID0-IHtcbiAgICBpZiAodGhpcy4jZnJhbWUpIHtcbiAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuI2ZyYW1lKTtcbiAgICB9XG5cbiAgICB0aGlzLiNmcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoaXNEZXN0cm95ZWQodGhpcykgfHwgaXNEZXN0cm95aW5nKHRoaXMpKSByZXR1cm47XG5cbiAgICAgIHRoaXMud2l0aGluRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgIHRvcDogMCxcbiAgICAgICAgYmVoYXZpb3I6ICdhdXRvJyxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIHNjcm9sbFRvTGVmdCA9ICgpID0-IHtcbiAgICBpZiAodGhpcy4jZnJhbWUpIHtcbiAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuI2ZyYW1lKTtcbiAgICB9XG5cbiAgICB0aGlzLiNmcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoaXNEZXN0cm95ZWQodGhpcykgfHwgaXNEZXN0cm95aW5nKHRoaXMpKSByZXR1cm47XG5cbiAgICAgIHRoaXMud2l0aGluRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IDAsXG4gICAgICAgIGJlaGF2aW9yOiAnYXV0bycsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcblxuICBzY3JvbGxUb1JpZ2h0ID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLiNmcmFtZSkge1xuICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy4jZnJhbWUpO1xuICAgIH1cblxuICAgIHRoaXMuI2ZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0-IHtcbiAgICAgIGlmIChpc0Rlc3Ryb3llZCh0aGlzKSB8fCBpc0Rlc3Ryb3lpbmcodGhpcykpIHJldHVybjtcblxuICAgICAgdGhpcy53aXRoaW5FbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgbGVmdDogdGhpcy53aXRoaW5FbGVtZW50LnNjcm9sbFdpZHRoLFxuICAgICAgICBiZWhhdmlvcjogJ2F1dG8nLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxkaXYgdGFiaW5kZXg9XCIwXCIgLi4uYXR0cmlidXRlcyB7e3RoaXMucmVmfX0-XG4gICAgICB7e3lpZWxkXG4gICAgICAgIChoYXNoXG4gICAgICAgICAgc2Nyb2xsVG9Cb3R0b209dGhpcy5zY3JvbGxUb0JvdHRvbVxuICAgICAgICAgIHNjcm9sbFRvVG9wPXRoaXMuc2Nyb2xsVG9Ub3BcbiAgICAgICAgICBzY3JvbGxUb0xlZnQ9dGhpcy5zY3JvbGxUb0xlZnRcbiAgICAgICAgICBzY3JvbGxUb1JpZ2h0PXRoaXMuc2Nyb2xsVG9SaWdodFxuICAgICAgICApXG4gICAgICB9fVxuICAgIDwvZGl2PlxuICA8L3RlbXBsYXRlPlxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLFNBQVMsV0FBVyxFQUFFLFlBQVksUUFBUSxxQkFBcUI7QUFDL0QsU0FBUyxJQUFJLFFBQVEsZ0JBQWdCO0FBRXJDLFNBQVMsUUFBUSxRQUFRLGlCQUFpQjtBQUUxQzs7Ozs7Q0FLQyxHQUNELE9BQU8sTUFBTSxpQkFBaUI7SUFDNUI7Ozs7Ozs7Ozs7OztHQVlDLEdBQ0QsU0FBUztJQUNUO1FBQ0U7Z0JBRUk7Ozs7Ozs7Ozs7Ozs7O1NBY0MsR0FDRCxzQkFBc0IsSUFBSTtnQkFDMUI7Ozs7Ozs7Ozs7Ozs7O1NBY0MsR0FDRCxtQkFBbUIsSUFBSTtnQkFDdkI7Ozs7Ozs7Ozs7Ozs7O1NBY0MsR0FDRCxvQkFBb0IsSUFBSTtnQkFDeEI7Ozs7Ozs7Ozs7Ozs7O1NBY0MsR0FDRCxxQkFBcUIsSUFBSTs7OztJQUt2QixlQUFlLGVBQWU7SUFFdEMsTUFBTSxTQUFTLENBQUMsS0FBSTtRQUNsQixJQUFJLENBQUMsYUFBYSxHQUFHO0lBQ3ZCLEdBQUc7SUFFSCxDQUFDLEtBQUssRUFBRyxNQUFNLENBQUM7SUFFaEIsaUJBQWlCO1FBQ2YsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDZixxQkFBcUIsSUFBSSxDQUFDLENBQUMsS0FBSztRQUNsQztRQUVBLElBQUksQ0FBQyxDQUFDLEtBQUssR0FBRyxzQkFBc0I7WUFDbEMsSUFBSSxZQUFZLElBQUksS0FBSyxhQUFhLElBQUksR0FBRztZQUU3QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztnQkFDMUIsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVk7Z0JBQ3BDLFVBQVU7WUFDWjtRQUNGO0lBQ0YsRUFBRTtJQUVGLGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUNmLHFCQUFxQixJQUFJLENBQUMsQ0FBQyxLQUFLO1FBQ2xDO1FBRUEsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLHNCQUFzQjtZQUNsQyxJQUFJLFlBQVksSUFBSSxLQUFLLGFBQWEsSUFBSSxHQUFHO1lBRTdDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO2dCQUMxQixLQUFLO2dCQUNMLFVBQVU7WUFDWjtRQUNGO0lBQ0YsRUFBRTtJQUVGLGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUNmLHFCQUFxQixJQUFJLENBQUMsQ0FBQyxLQUFLO1FBQ2xDO1FBRUEsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLHNCQUFzQjtZQUNsQyxJQUFJLFlBQVksSUFBSSxLQUFLLGFBQWEsSUFBSSxHQUFHO1lBRTdDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO2dCQUMxQixNQUFNO2dCQUNOLFVBQVU7WUFDWjtRQUNGO0lBQ0YsRUFBRTtJQUVGLGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQ2YscUJBQXFCLElBQUksQ0FBQyxDQUFDLEtBQUs7UUFDbEM7UUFFQSxJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsc0JBQXNCO1lBQ2xDLElBQUksWUFBWSxJQUFJLEtBQUssYUFBYSxJQUFJLEdBQUc7WUFFN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7Z0JBQzFCLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXO2dCQUNwQyxVQUFVO1lBQ1o7UUFDRjtJQUNGLEVBQUU7SUFFRixNQUFBO1FBQUEsU0FBVSxDQUFBOzs7Ozs7Ozs7OztFQVdWLENBQUEsRUFBQTtZQUFBLFdBQUEsSUFBVztZQUFYO2dCQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztZQUFEO1FBQUE7SUFBQSxDQVhBO0FBWVoifQ"],"names":["Scroller","Component","withinElement","ref","modifier","el1","scrollToBottom","cancelAnimationFrame","requestAnimationFrame","isDestroyed","isDestroying","scrollTo","top","scrollHeight","behavior","scrollToTop","scrollToLeft","left","scrollToRight","scrollWidth","setComponentTemplate","precompileTemplate","strictMode","scope","hash"],"mappings":";;;;;;;AAYO,MAAMA,QAAA,SAAiBC,SAAA;EAsFpBC,aAAA,CAAA;EAERC,GAAA,GAAMC,QAAA,CAAUC,GAAI,IAAA;IAClB,IAAI,CAACH,aAAa,GAAGG,GAAA,CAAA;AACvB,GAAA,CAAA,CAAA;AAEA,EAAA,MAAM,CAAA;AAENC,EAAAA,cAAA,GAAiBA,MAAA;AACf,IAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACfC,MAAAA,oBAAA,CAAqB,IAAI,CAAC,MAAM,CAAA,CAAA;AAClC,KAAA;AAEA,IAAA,IAAI,CAAC,MAAM,GAAGC,qBAAA,CAAsB,MAAA;AAClC,MAAA,IAAIC,WAAA,CAAY,IAAI,KAAKC,YAAA,CAAa,IAAI,CAAG,EAAA,OAAA;AAE7C,MAAA,IAAI,CAACR,aAAa,CAACS,QAAQ,CAAC;AAC1BC,QAAAA,GAAA,EAAK,IAAI,CAACV,aAAa,CAACW,YAAY;AACpCC,QAAAA,QAAA,EAAU,MAAA;AACZ,OAAA,CAAA,CAAA;AACF,KAAA,CAAA,CAAA;AACF,GAAA,CAAA;AAEAC,EAAAA,WAAA,GAAcA,MAAA;AACZ,IAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACfR,MAAAA,oBAAA,CAAqB,IAAI,CAAC,MAAM,CAAA,CAAA;AAClC,KAAA;AAEA,IAAA,IAAI,CAAC,MAAM,GAAGC,qBAAA,CAAsB,MAAA;AAClC,MAAA,IAAIC,WAAA,CAAY,IAAI,KAAKC,YAAA,CAAa,IAAI,CAAG,EAAA,OAAA;AAE7C,MAAA,IAAI,CAACR,aAAa,CAACS,QAAQ,CAAC;AAC1BC,QAAAA,GAAA,EAAK,CAAA;AACLE,QAAAA,QAAA,EAAU,MAAA;AACZ,OAAA,CAAA,CAAA;AACF,KAAA,CAAA,CAAA;AACF,GAAA,CAAA;AAEAE,EAAAA,YAAA,GAAeA,MAAA;AACb,IAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACfT,MAAAA,oBAAA,CAAqB,IAAI,CAAC,MAAM,CAAA,CAAA;AAClC,KAAA;AAEA,IAAA,IAAI,CAAC,MAAM,GAAGC,qBAAA,CAAsB,MAAA;AAClC,MAAA,IAAIC,WAAA,CAAY,IAAI,KAAKC,YAAA,CAAa,IAAI,CAAG,EAAA,OAAA;AAE7C,MAAA,IAAI,CAACR,aAAa,CAACS,QAAQ,CAAC;AAC1BM,QAAAA,IAAA,EAAM,CAAA;AACNH,QAAAA,QAAA,EAAU,MAAA;AACZ,OAAA,CAAA,CAAA;AACF,KAAA,CAAA,CAAA;AACF,GAAA,CAAA;AAEAI,EAAAA,aAAA,GAAgBA,MAAA;AACd,IAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACfX,MAAAA,oBAAA,CAAqB,IAAI,CAAC,MAAM,CAAA,CAAA;AAClC,KAAA;AAEA,IAAA,IAAI,CAAC,MAAM,GAAGC,qBAAA,CAAsB,MAAA;AAClC,MAAA,IAAIC,WAAA,CAAY,IAAI,KAAKC,YAAA,CAAa,IAAI,CAAG,EAAA,OAAA;AAE7C,MAAA,IAAI,CAACR,aAAa,CAACS,QAAQ,CAAC;AAC1BM,QAAAA,IAAA,EAAM,IAAI,CAACf,aAAa,CAACiB,WAAW;AACpCL,QAAAA,QAAA,EAAU,MAAA;AACZ,OAAA,CAAA,CAAA;AACF,KAAA,CAAA,CAAA;AACF,GAAA,CAAA;AAEA,EAAA;IAAAM,oBAAA,CAAAC,kBAAA,CAWA,+NAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA,IAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadowed.js","sources":["../../src/components/shadowed.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { modifier } from 'ember-modifier';\nimport { cell } from 'ember-resources';\nimport type { TOC } from '@ember/component/template-only';\nconst Shadow = ()=>{\n let shadow1 = cell<Element>();\n return {\n get root () {\n return shadow1.current;\n },\n attach: modifier((element1: Element)=>{\n let shadowRoot1 = element1.attachShadow({\n mode: 'open'\n });\n let div1 = document.createElement('div');\n // ember-source 5.6 broke the ability to in-element\n // natively into a shadowroot.\n //\n // See these ember-source bugs:\n // - https://github.com/emberjs/ember.js/issues/20643\n // - https://github.com/emberjs/ember.js/issues/20642\n // - https://github.com/emberjs/ember.js/issues/20641\n shadowRoot1.appendChild(div1);\n shadow1.set(div1);\n })\n };\n};\n// index.html has the production-fingerprinted references to these links\n// Ideally, we'd have some pre-processor scan everything for references to\n// assets in public, but idk how to set that up\nconst getStyles = ()=>[\n ...document.querySelectorAll('link')\n ].map((link1)=>link1.href);\n/**\n * style + native @import\n * is the only robust way to load styles in a shadowroot.\n *\n * link is only valid in the head element.\n */ const Styles = template(`\n <style>\n {{#each (getStyles) as |styleHref|}}\n\n @import \"{{styleHref}}\";\n\n {{/each}}\n </style>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\n/**\n * Render content in a shadow dom, attached to a div.\n *\n * Uses the [shadow DOM][mdn-shadow-dom] API.\n *\n * [mdn-shadow-dom]: https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM\n *\n * This is useful when you want to render content that escapes your app's styles.\n */ export const Shadowed: TOC<{\n /**\n * The shadow dom attaches to a div element.\n * You may specify any attribute, and it'll be applied to this host element.\n */ Element: HTMLDivElement;\n Args: {\n /**\n * @public\n *\n * By default, shadow-dom does not include any styles.\n * Setting this to true will include all the `<style>` tags\n * that are present in the `<head>` element.\n */ includeStyles?: boolean;\n };\n Blocks: {\n /**\n * Content to be placed within the ShadowDOM\n */ default: [];\n };\n}> = template(`\n {{#let (Shadow) as |shadow|}}\n {{! TODO: We need a way in ember to render in to a shadow dom without an effect }}\n <div {{shadow.attach}} ...attributes></div>\n\n {{#if shadow.root}}\n {{#in-element shadow.root}}\n\n {{#if @includeStyles}}\n <Styles />\n {{/if}}\n\n {{yield}}\n\n {{/in-element}}\n {{/if}}\n {{/let}}\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default Shadowed;\n//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
{"version":3,"file":"shadowed.js","sources":["../../src/components/shadowed.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { modifier } from 'ember-modifier';\nimport { cell } from 'ember-resources';\nimport type { TOC } from '@ember/component/template-only';\nconst Shadow = ()=>{\n let shadow1 = cell<Element>();\n return {\n get root () {\n return shadow1.current;\n },\n attach: modifier((element1: Element)=>{\n let shadowRoot1 = element1.attachShadow({\n mode: 'open'\n });\n let div1 = document.createElement('div');\n // ember-source 5.6 broke the ability to in-element\n // natively into a shadowroot.\n //\n // See these ember-source bugs:\n // - https://github.com/emberjs/ember.js/issues/20643\n // - https://github.com/emberjs/ember.js/issues/20642\n // - https://github.com/emberjs/ember.js/issues/20641\n shadowRoot1.appendChild(div1);\n shadow1.set(div1);\n })\n };\n};\n// index.html has the production-fingerprinted references to these links\n// Ideally, we'd have some pre-processor scan everything for references to\n// assets in public, but idk how to set that up\nconst getStyles = ()=>[\n ...document.querySelectorAll('link')\n ].map((link1)=>link1.href);\n/**\n * style + native @import\n * is the only robust way to load styles in a shadowroot.\n *\n * link is only valid in the head element.\n */ const Styles = template(`\n <style>\n {{#each (getStyles) as |styleHref|}}\n\n @import \"{{styleHref}}\";\n\n {{/each}}\n </style>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\n/**\n * Render content in a shadow dom, attached to a div.\n *\n * Uses the [shadow DOM][mdn-shadow-dom] API.\n *\n * [mdn-shadow-dom]: https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM\n *\n * This is useful when you want to render content that escapes your app's styles.\n */ export const Shadowed: TOC<{\n /**\n * The shadow dom attaches to a div element.\n * You may specify any attribute, and it'll be applied to this host element.\n */ Element: HTMLDivElement;\n Args: {\n /**\n * @public\n *\n * By default, shadow-dom does not include any styles.\n * Setting this to true will include all the `<style>` tags\n * that are present in the `<head>` element.\n */ includeStyles?: boolean;\n };\n Blocks: {\n /**\n * Content to be placed within the ShadowDOM\n */ default: [];\n };\n}> = template(`\n {{#let (Shadow) as |shadow|}}\n {{! TODO: We need a way in ember to render in to a shadow dom without an effect }}\n <div {{shadow.attach}} ...attributes></div>\n\n {{#if shadow.root}}\n {{#in-element shadow.root}}\n\n {{#if @includeStyles}}\n <Styles />\n {{/if}}\n\n {{yield}}\n\n {{/in-element}}\n {{/if}}\n {{/let}}\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default Shadowed;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL252cC9EZXZlbG9wbWVudC9OdWxsVm94UG9wdWxpL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9zcmMvY29tcG9uZW50cy9zaGFkb3dlZC5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbW9kaWZpZXIgfSBmcm9tICdlbWJlci1tb2RpZmllcic7XG5pbXBvcnQgeyBjZWxsIH0gZnJvbSAnZW1iZXItcmVzb3VyY2VzJztcblxuaW1wb3J0IHR5cGUgeyBUT0MgfSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5jb25zdCBTaGFkb3cgPSAoKSA9PiB7XG4gIGxldCBzaGFkb3cgPSBjZWxsPEVsZW1lbnQ-KCk7XG5cbiAgcmV0dXJuIHtcbiAgICBnZXQgcm9vdCgpIHtcbiAgICAgIHJldHVybiBzaGFkb3cuY3VycmVudDtcbiAgICB9LFxuICAgIGF0dGFjaDogbW9kaWZpZXIoKGVsZW1lbnQ6IEVsZW1lbnQpID0-IHtcbiAgICAgIGxldCBzaGFkb3dSb290ID0gZWxlbWVudC5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicgfSk7XG4gICAgICBsZXQgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICAgIC8vIGVtYmVyLXNvdXJjZSA1LjYgYnJva2UgdGhlIGFiaWxpdHkgdG8gaW4tZWxlbWVudFxuICAgICAgLy8gbmF0aXZlbHkgaW50byBhIHNoYWRvd3Jvb3QuXG4gICAgICAvL1xuICAgICAgLy8gU2VlIHRoZXNlIGVtYmVyLXNvdXJjZSBidWdzOlxuICAgICAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vZW1iZXJqcy9lbWJlci5qcy9pc3N1ZXMvMjA2NDNcbiAgICAgIC8vIC0gaHR0cHM6Ly9naXRodWIuY29tL2VtYmVyanMvZW1iZXIuanMvaXNzdWVzLzIwNjQyXG4gICAgICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9lbWJlcmpzL2VtYmVyLmpzL2lzc3Vlcy8yMDY0MVxuICAgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpO1xuXG4gICAgICBzaGFkb3cuc2V0KGRpdik7XG4gICAgfSksXG4gIH07XG59O1xuXG4vLyBpbmRleC5odG1sIGhhcyB0aGUgcHJvZHVjdGlvbi1maW5nZXJwcmludGVkIHJlZmVyZW5jZXMgdG8gdGhlc2UgbGlua3Ncbi8vIElkZWFsbHksIHdlJ2QgaGF2ZSBzb21lIHByZS1wcm9jZXNzb3Igc2NhbiBldmVyeXRoaW5nIGZvciByZWZlcmVuY2VzIHRvXG4vLyBhc3NldHMgaW4gcHVibGljLCBidXQgaWRrIGhvdyB0byBzZXQgdGhhdCB1cFxuY29uc3QgZ2V0U3R5bGVzID0gKCkgPT4gWy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpbmsnKV0ubWFwKChsaW5rKSA9PiBsaW5rLmhyZWYpO1xuXG4vKipcbiAqIHN0eWxlICsgbmF0aXZlIEBpbXBvcnRcbiAqIGlzIHRoZSBvbmx5IHJvYnVzdCB3YXkgdG8gbG9hZCBzdHlsZXMgaW4gYSBzaGFkb3dyb290LlxuICpcbiAqIGxpbmsgaXMgb25seSB2YWxpZCBpbiB0aGUgaGVhZCBlbGVtZW50LlxuICovXG5jb25zdCBTdHlsZXMgPSA8dGVtcGxhdGU-XG4gIDxzdHlsZT5cbiAgICB7eyNlYWNoIChnZXRTdHlsZXMpIGFzIHxzdHlsZUhyZWZ8fX1cblxuICAgICAgQGltcG9ydCBcInt7c3R5bGVIcmVmfX1cIjtcblxuICAgIHt7L2VhY2h9fVxuICA8L3N0eWxlPlxuPC90ZW1wbGF0ZT47XG5cbi8qKlxuICogUmVuZGVyIGNvbnRlbnQgaW4gYSBzaGFkb3cgZG9tLCBhdHRhY2hlZCB0byBhIGRpdi5cbiAqXG4gKiBVc2VzIHRoZSBbc2hhZG93IERPTV1bbWRuLXNoYWRvdy1kb21dIEFQSS5cbiAqXG4gKiBbbWRuLXNoYWRvdy1kb21dOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvV2ViX2NvbXBvbmVudHMvVXNpbmdfc2hhZG93X0RPTVxuICpcbiAqIFRoaXMgaXMgdXNlZnVsIHdoZW4geW91IHdhbnQgdG8gcmVuZGVyIGNvbnRlbnQgdGhhdCBlc2NhcGVzIHlvdXIgYXBwJ3Mgc3R5bGVzLlxuICovXG5leHBvcnQgY29uc3QgU2hhZG93ZWQ6IFRPQzx7XG4gIC8qKlxuICAgKiBUaGUgc2hhZG93IGRvbSBhdHRhY2hlcyB0byBhIGRpdiBlbGVtZW50LlxuICAgKiBZb3UgbWF5IHNwZWNpZnkgYW55IGF0dHJpYnV0ZSwgYW5kIGl0J2xsIGJlIGFwcGxpZWQgdG8gdGhpcyBob3N0IGVsZW1lbnQuXG4gICAqL1xuICBFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcbiAgQXJnczoge1xuICAgIC8qKlxuICAgICAqIEBwdWJsaWNcbiAgICAgKlxuICAgICAqIEJ5IGRlZmF1bHQsIHNoYWRvdy1kb20gZG9lcyBub3QgaW5jbHVkZSBhbnkgc3R5bGVzLlxuICAgICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgaW5jbHVkZSBhbGwgdGhlIGA8c3R5bGU-YCB0YWdzXG4gICAgICogdGhhdCBhcmUgcHJlc2VudCBpbiB0aGUgYDxoZWFkPmAgZWxlbWVudC5cbiAgICAgKi9cbiAgICBpbmNsdWRlU3R5bGVzPzogYm9vbGVhbjtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgLyoqXG4gICAgICogQ29udGVudCB0byBiZSBwbGFjZWQgd2l0aGluIHRoZSBTaGFkb3dET01cbiAgICAgKi9cbiAgICBkZWZhdWx0OiBbXTtcbiAgfTtcbn0-ID0gPHRlbXBsYXRlPlxuICB7eyNsZXQgKFNoYWRvdykgYXMgfHNoYWRvd3x9fVxuICAgIHt7ISBUT0RPOiBXZSBuZWVkIGEgd2F5IGluIGVtYmVyIHRvIHJlbmRlciBpbiB0byBhIHNoYWRvdyBkb20gd2l0aG91dCBhbiBlZmZlY3QgfX1cbiAgICA8ZGl2IHt7c2hhZG93LmF0dGFjaH19IC4uLmF0dHJpYnV0ZXM-PC9kaXY-XG5cbiAgICB7eyNpZiBzaGFkb3cucm9vdH19XG4gICAgICB7eyNpbi1lbGVtZW50IHNoYWRvdy5yb290fX1cblxuICAgICAgICB7eyNpZiBAaW5jbHVkZVN0eWxlc319XG4gICAgICAgICAgPFN0eWxlcyAvPlxuICAgICAgICB7ey9pZn19XG5cbiAgICAgICAge3t5aWVsZH19XG5cbiAgICAgIHt7L2luLWVsZW1lbnR9fVxuICAgIHt7L2lmfX1cbiAge3svbGV0fX1cbjwvdGVtcGxhdGU-O1xuXG5leHBvcnQgZGVmYXVsdCBTaGFkb3dlZDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUyxRQUFRLFFBQVEsaUJBQWlCO0FBQzFDLFNBQVMsSUFBSSxRQUFRLGtCQUFrQjtBQUV2QyxjQUFjLEdBQUcsUUFBUSxpQ0FBaUM7QUFFMUQsTUFBTSxTQUFTO0lBQ2IsSUFBSSxVQUFTLEtBQUs7SUFFbEIsT0FBTztRQUNMLElBQUksUUFBTztZQUNULE9BQU8sUUFBTyxPQUFPO1FBQ3ZCO1FBQ0EsUUFBUSxTQUFTLENBQUMsVUFBUztZQUN6QixJQUFJLGNBQWEsU0FBUSxZQUFZLENBQUM7Z0JBQUUsTUFBTTtZQUFPO1lBQ3JELElBQUksT0FBTSxTQUFTLGFBQWEsQ0FBQztZQUVqQyxtREFBbUQ7WUFDbkQsOEJBQThCO1lBQzlCLEVBQUU7WUFDRiwrQkFBK0I7WUFDL0IscURBQXFEO1lBQ3JELHFEQUFxRDtZQUNyRCxxREFBcUQ7WUFDckQsWUFBVyxXQUFXLENBQUM7WUFFdkIsUUFBTyxHQUFHLENBQUM7UUFDYjtJQUNGO0FBQ0Y7QUFFQSx3RUFBd0U7QUFDeEUsMEVBQTBFO0FBQzFFLCtDQUErQztBQUMvQyxNQUFNLFlBQVksSUFBTTtXQUFJLFNBQVMsZ0JBQWdCLENBQUM7S0FBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVMsTUFBSyxJQUFJO0FBRXRGOzs7OztDQUtDLEdBQ0QsTUFBTSxTQUFTLFNBQVUsQ0FBQTs7Ozs7Ozs7QUFRekIsQ0FBQSxFQUFBO0lBQUE7UUFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7SUFBRDtBQUFBO0FBRVY7Ozs7Ozs7O0NBUUMsR0FDRCxPQUFPLE1BQU0sVUFBVTtJQUNyQjs7O0dBR0MsR0FDRCxTQUFTO0lBQ1Q7UUFDRTs7Ozs7O0tBTUMsR0FDRCxnQkFBZ0IsT0FBTzs7SUFFekI7UUFDRTs7S0FFQyxHQUNEOztLQUVDLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQmYsQ0FBQSxFQUFBO0lBQUE7UUFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7SUFBRDtBQUFBLEdBQUU7QUFFWixlQUFlLFNBQVMifQ"],"names":["Shadow","shadow1","cell","root","current","attach","modifier","element1","shadowRoot1","attachShadow","mode","div1","document","createElement","appendChild","set","getStyles","querySelectorAll","map","link1","href","Styles","setComponentTemplate","precompileTemplate","strictMode","scope","templateOnly","Shadowed"],"mappings":";;;;;;AAKA,MAAMA,MAAA,GAASA,MAAA;EACb,IAAIC,OAAA,GAASC,IAAA,EAAK,CAAA;EAElB,OAAO;AACL,IAAA,IAAIC,OAAO;MACT,OAAOF,OAAA,CAAOG,OAAO,CAAA;AACvB,KAAA;IACAC,MAAA,EAAQC,QAAA,CAAUC,QAAS,IAAA;AACzB,MAAA,IAAIC,WAAA,GAAaD,QAAA,CAAQE,YAAY,CAAC;AAAEC,QAAAA,IAAA,EAAM,MAAA;AAAO,OAAA,CAAA,CAAA;AACrD,MAAA,IAAIC,IAAA,GAAMC,QAAA,CAASC,aAAa,CAAC,KAAA,CAAA,CAAA;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;MACAL,WAAA,CAAWM,WAAW,CAACH,IAAA,CAAA,CAAA;MAEvBV,OAAA,CAAOc,GAAG,CAACJ,IAAA,CAAA,CAAA;AACb,KAAA,CAAA;AACF,GAAA,CAAA;AACF,CAAA,CAAA;AAEA;AACA;AACA;AACA,MAAMK,SAAA,GAAYA,MAAM,IAAIJ,QAAA,CAASK,gBAAgB,CAAC,MAAA,CAAA,CAAQ,CAACC,GAAG,CAAEC,KAAA,IAASA,KAAA,CAAKC,IAAI,CAAA,CAAA;AAEtF;;;;;;AAMA,MAAMC,MAAA,GAAAC,oBAAA,CAASC,kBAAA,CAQf,0HAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAT,IAAAA,SAAAA;AAAA,GAAA,CAAA;AAAU,CAAA,CAAA,EAAAU,YAAA,EAAA,CAAA,CAAA;AAEV;;;;;;;;;AASaC,MAAAA,WAsBRJ,oBAAAA,CAAAA,kBAAA,CAiBL,gYAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAzB,MAAA;AAAAqB,IAAAA,MAAAA;AAAA,GAAA,CAAA;AAAU,CAAA,CAAA,EAAAK,YAAA,EAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.js","sources":["../../src/components/switch.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { fn, hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { cell } from 'ember-resources';\nimport { uniqueId } from '../utils.ts';\nimport { Label } from './-private/typed-elements.gts';\nimport { toggleWithFallback } from './-private/utils.ts';\nimport type { TOC } from '@ember/component/template-only';\nimport type { WithBoundArgs } from '@glint/template';\nexport interface Signature {\n Element: HTMLInputElement;\n Args: {\n /**\n * The initial checked value of the Switch.\n * This value is reactive, so if the value that\n * `@checked` is set to updates, the state of the Switch will also update.\n */ checked?: boolean;\n /**\n * Callback when the Switch state is toggled\n */ onChange?: (checked: boolean, event: Event) => void;\n };\n Blocks: {\n default?: [{\n /**\n * The Switch Element.\n * It has a pre-wired `id` so that the relevant Label is\n * appropriately associated via the `for` property of the Label.\n *\n * ```gjs\n * import { Switch } from 'ember-primitives';\n *\n * <template>\n * <Switch as |s|>\n * <s.Control />\n * </Switch>\n * </template>\n * ```\n */ Control: WithBoundArgs<typeof Checkbox, 'checked' | 'id' | 'onChange'>;\n /**\n * The Switch element requires a label, and this label already has\n * the association to the Control by setting the `for` attribute to the `id` of the Control\n *\n * ```gjs\n * import { Switch } from 'ember-primitives';\n *\n * <template>\n * <Switch as |s|>\n * <s.Label />\n * </Switch>\n * </template>\n * ```\n */ Label: WithBoundArgs<typeof Label, 'for'>;\n }];\n };\n}\ninterface ControlSignature {\n Element: HTMLInputElement;\n Args: {\n id: string;\n checked?: boolean;\n onChange: () => void;\n };\n}\nconst Checkbox: TOC<ControlSignature> = template(`\n {{#let (cell @checked) as |checked|}}\n <input\n id={{@id}}\n type=\"checkbox\"\n role=\"switch\"\n checked={{checked.current}}\n aria-checked={{checked.current}}\n data-state={{if checked.current \"on\" \"off\"}}\n {{on \"click\" (fn toggleWithFallback checked.toggle @onChange)}}\n ...attributes\n />\n {{/let}}\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\n/**\n * @public\n */ export const Switch: TOC<Signature> = template(`\n <div ...attributes data-prim-switch>\n {{! @glint-nocheck }}\n {{#let (uniqueId) as |id|}}\n {{yield\n (hash\n Control=(component Checkbox checked=@checked id=id onChange=@onChange)\n Label=(component Label for=id)\n )\n }}\n {{/let}}\n </div>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default Switch;\n//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
{"version":3,"file":"switch.js","sources":["../../src/components/switch.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { fn, hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { cell } from 'ember-resources';\nimport { uniqueId } from '../utils.ts';\nimport { Label } from './-private/typed-elements.gts';\nimport { toggleWithFallback } from './-private/utils.ts';\nimport type { TOC } from '@ember/component/template-only';\nimport type { WithBoundArgs } from '@glint/template';\nexport interface Signature {\n Element: HTMLInputElement;\n Args: {\n /**\n * The initial checked value of the Switch.\n * This value is reactive, so if the value that\n * `@checked` is set to updates, the state of the Switch will also update.\n */ checked?: boolean;\n /**\n * Callback when the Switch state is toggled\n */ onChange?: (checked: boolean, event: Event) => void;\n };\n Blocks: {\n default?: [{\n /**\n * The Switch Element.\n * It has a pre-wired `id` so that the relevant Label is\n * appropriately associated via the `for` property of the Label.\n *\n * ```gjs\n * import { Switch } from 'ember-primitives';\n *\n * <template>\n * <Switch as |s|>\n * <s.Control />\n * </Switch>\n * </template>\n * ```\n */ Control: WithBoundArgs<typeof Checkbox, 'checked' | 'id' | 'onChange'>;\n /**\n * The Switch element requires a label, and this label already has\n * the association to the Control by setting the `for` attribute to the `id` of the Control\n *\n * ```gjs\n * import { Switch } from 'ember-primitives';\n *\n * <template>\n * <Switch as |s|>\n * <s.Label />\n * </Switch>\n * </template>\n * ```\n */ Label: WithBoundArgs<typeof Label, 'for'>;\n }];\n };\n}\ninterface ControlSignature {\n Element: HTMLInputElement;\n Args: {\n id: string;\n checked?: boolean;\n onChange: () => void;\n };\n}\nconst Checkbox: TOC<ControlSignature> = template(`\n {{#let (cell @checked) as |checked|}}\n <input\n id={{@id}}\n type=\"checkbox\"\n role=\"switch\"\n checked={{checked.current}}\n aria-checked={{checked.current}}\n data-state={{if checked.current \"on\" \"off\"}}\n {{on \"click\" (fn toggleWithFallback checked.toggle @onChange)}}\n ...attributes\n />\n {{/let}}\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\n/**\n * @public\n */ export const Switch: TOC<Signature> = template(`\n <div ...attributes data-prim-switch>\n {{! @glint-nocheck }}\n {{#let (uniqueId) as |id|}}\n {{yield\n (hash\n Control=(component Checkbox checked=@checked id=id onChange=@onChange)\n Label=(component Label for=id)\n )\n }}\n {{/let}}\n </div>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default Switch;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL252cC9EZXZlbG9wbWVudC9OdWxsVm94UG9wdWxpL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9zcmMvY29tcG9uZW50cy9zd2l0Y2guZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZuLCBoYXNoIH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5pbXBvcnQgeyBvbiB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XG5cbmltcG9ydCB7IGNlbGwgfSBmcm9tICdlbWJlci1yZXNvdXJjZXMnO1xuXG5pbXBvcnQgeyB1bmlxdWVJZCB9IGZyb20gJy4uL3V0aWxzLnRzJztcbmltcG9ydCB7IExhYmVsIH0gZnJvbSAnLi8tcHJpdmF0ZS90eXBlZC1lbGVtZW50cy5ndHMnO1xuaW1wb3J0IHsgdG9nZ2xlV2l0aEZhbGxiYWNrIH0gZnJvbSAnLi8tcHJpdmF0ZS91dGlscy50cyc7XG5cbmltcG9ydCB0eXBlIHsgVE9DIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5JztcbmltcG9ydCB0eXBlIHsgV2l0aEJvdW5kQXJncyB9IGZyb20gJ0BnbGludC90ZW1wbGF0ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcbiAgQXJnczoge1xuICAgIC8qKlxuICAgICAqIFRoZSBpbml0aWFsIGNoZWNrZWQgdmFsdWUgb2YgdGhlIFN3aXRjaC5cbiAgICAgKiBUaGlzIHZhbHVlIGlzIHJlYWN0aXZlLCBzbyBpZiB0aGUgdmFsdWUgdGhhdFxuICAgICAqIGBAY2hlY2tlZGAgaXMgc2V0IHRvIHVwZGF0ZXMsIHRoZSBzdGF0ZSBvZiB0aGUgU3dpdGNoIHdpbGwgYWxzbyB1cGRhdGUuXG4gICAgICovXG4gICAgY2hlY2tlZD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgd2hlbiB0aGUgU3dpdGNoIHN0YXRlIGlzIHRvZ2dsZWRcbiAgICAgKi9cbiAgICBvbkNoYW5nZT86IChjaGVja2VkOiBib29sZWFuLCBldmVudDogRXZlbnQpID0-IHZvaWQ7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ_OiBbXG4gICAgICB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgU3dpdGNoIEVsZW1lbnQuXG4gICAgICAgICAqIEl0IGhhcyBhIHByZS13aXJlZCBgaWRgIHNvIHRoYXQgdGhlIHJlbGV2YW50IExhYmVsIGlzXG4gICAgICAgICAqIGFwcHJvcHJpYXRlbHkgYXNzb2NpYXRlZCB2aWEgdGhlIGBmb3JgIHByb3BlcnR5IG9mIHRoZSBMYWJlbC5cbiAgICAgICAgICpcbiAgICAgICAgICogYGBgZ2pzXG4gICAgICAgICAqIGltcG9ydCB7IFN3aXRjaCB9IGZyb20gJ2VtYmVyLXByaW1pdGl2ZXMnO1xuICAgICAgICAgKlxuICAgICAgICAgKiA8dGVtcGxhdGU-XG4gICAgICAgICAqICAgPFN3aXRjaCBhcyB8c3w-XG4gICAgICAgICAqICAgICA8cy5Db250cm9sIC8-XG4gICAgICAgICAqICAgPC9Td2l0Y2g-XG4gICAgICAgICAqIDwvdGVtcGxhdGU-XG4gICAgICAgICAqIGBgYFxuICAgICAgICAgKi9cbiAgICAgICAgQ29udHJvbDogV2l0aEJvdW5kQXJnczx0eXBlb2YgQ2hlY2tib3gsICdjaGVja2VkJyB8ICdpZCcgfCAnb25DaGFuZ2UnPjtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoZSBTd2l0Y2ggZWxlbWVudCByZXF1aXJlcyBhIGxhYmVsLCBhbmQgdGhpcyBsYWJlbCBhbHJlYWR5IGhhc1xuICAgICAgICAgKiB0aGUgYXNzb2NpYXRpb24gdG8gdGhlIENvbnRyb2wgYnkgc2V0dGluZyB0aGUgYGZvcmAgYXR0cmlidXRlIHRvIHRoZSBgaWRgIG9mIHRoZSBDb250cm9sXG4gICAgICAgICAqXG4gICAgICAgICAqIGBgYGdqc1xuICAgICAgICAgKiBpbXBvcnQgeyBTd2l0Y2ggfSBmcm9tICdlbWJlci1wcmltaXRpdmVzJztcbiAgICAgICAgICpcbiAgICAgICAgICogPHRlbXBsYXRlPlxuICAgICAgICAgKiAgIDxTd2l0Y2ggYXMgfHN8PlxuICAgICAgICAgKiAgICAgPHMuTGFiZWwgLz5cbiAgICAgICAgICogICA8L1N3aXRjaD5cbiAgICAgICAgICogPC90ZW1wbGF0ZT5cbiAgICAgICAgICogYGBgXG4gICAgICAgICAqL1xuICAgICAgICBMYWJlbDogV2l0aEJvdW5kQXJnczx0eXBlb2YgTGFiZWwsICdmb3InPjtcbiAgICAgIH0sXG4gICAgXTtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIENvbnRyb2xTaWduYXR1cmUge1xuICBFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xuICBBcmdzOiB7IGlkOiBzdHJpbmc7IGNoZWNrZWQ_OiBib29sZWFuOyBvbkNoYW5nZTogKCkgPT4gdm9pZCB9O1xufVxuXG5jb25zdCBDaGVja2JveDogVE9DPENvbnRyb2xTaWduYXR1cmU-ID0gPHRlbXBsYXRlPlxuICB7eyNsZXQgKGNlbGwgQGNoZWNrZWQpIGFzIHxjaGVja2VkfH19XG4gICAgPGlucHV0XG4gICAgICBpZD17e0BpZH19XG4gICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICBjaGVja2VkPXt7Y2hlY2tlZC5jdXJyZW50fX1cbiAgICAgIGFyaWEtY2hlY2tlZD17e2NoZWNrZWQuY3VycmVudH19XG4gICAgICBkYXRhLXN0YXRlPXt7aWYgY2hlY2tlZC5jdXJyZW50IFwib25cIiBcIm9mZlwifX1cbiAgICAgIHt7b24gXCJjbGlja1wiIChmbiB0b2dnbGVXaXRoRmFsbGJhY2sgY2hlY2tlZC50b2dnbGUgQG9uQ2hhbmdlKX19XG4gICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgLz5cbiAge3svbGV0fX1cbjwvdGVtcGxhdGU-O1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFN3aXRjaDogVE9DPFNpZ25hdHVyZT4gPSA8dGVtcGxhdGU-XG4gIDxkaXYgLi4uYXR0cmlidXRlcyBkYXRhLXByaW0tc3dpdGNoPlxuICAgIHt7ISBAZ2xpbnQtbm9jaGVjayB9fVxuICAgIHt7I2xldCAodW5pcXVlSWQpIGFzIHxpZHx9fVxuICAgICAge3t5aWVsZFxuICAgICAgICAoaGFzaFxuICAgICAgICAgIENvbnRyb2w9KGNvbXBvbmVudCBDaGVja2JveCBjaGVja2VkPUBjaGVja2VkIGlkPWlkIG9uQ2hhbmdlPUBvbkNoYW5nZSlcbiAgICAgICAgICBMYWJlbD0oY29tcG9uZW50IExhYmVsIGZvcj1pZClcbiAgICAgICAgKVxuICAgICAgfX1cbiAgICB7ey9sZXR9fVxuICA8L2Rpdj5cbjwvdGVtcGxhdGU-O1xuXG5leHBvcnQgZGVmYXVsdCBTd2l0Y2g7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVMsRUFBRSxFQUFFLElBQUksUUFBUSxnQkFBZ0I7QUFDekMsU0FBUyxFQUFFLFFBQVEsa0JBQWtCO0FBRXJDLFNBQVMsSUFBSSxRQUFRLGtCQUFrQjtBQUV2QyxTQUFTLFFBQVEsUUFBUSxjQUFjO0FBQ3ZDLFNBQVMsS0FBSyxRQUFRLGdDQUFnQztBQUN0RCxTQUFTLGtCQUFrQixRQUFRLHNCQUFzQjtBQUV6RCxjQUFjLEdBQUcsUUFBUSxpQ0FBaUM7QUFDMUQsY0FBYyxhQUFhLFFBQVEsa0JBQWtCO0FBRXJELGlCQUFpQjtJQUNmLFNBQVM7SUFDVDtRQUNFOzs7O0tBSUMsR0FDRCxVQUFVLE9BQU87UUFDakI7O0tBRUMsR0FDRCxZQUFZLFNBQVMsT0FBTyxFQUFFLE9BQU8sVUFBVSxJQUFJOztJQUVyRDtRQUNFO2dCQUVJOzs7Ozs7Ozs7Ozs7OztTQWNDLEdBQ0QsU0FBUyxxQkFBcUIsVUFBVSxZQUFZLE9BQU87Z0JBQzNEOzs7Ozs7Ozs7Ozs7O1NBYUMsR0FDRCxPQUFPLHFCQUFxQixPQUFPOzs7O1VBTWpDO0lBQ1IsU0FBUztJQUNUO1FBQVEsSUFBSSxNQUFNO1FBQUUsVUFBVSxPQUFPO1FBQUUsZ0JBQWdCLElBQUk7OztBQUc3RCxNQUFNLFVBQVUsSUFBSSxvQkFBb0IsU0FBVSxDQUFBOzs7Ozs7Ozs7Ozs7O0FBYWxELENBQUEsRUFBQTtJQUFBO1FBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO0lBQUQ7QUFBQTtBQUVWOztDQUVDLEdBQ0QsT0FBTyxNQUFNLFFBQVEsSUFBSSxhQUFhLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7O0FBWWhELENBQUEsRUFBQTtJQUFBO1FBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO0lBQUQ7QUFBQSxHQUFFO0FBRVosZUFBZSxPQUFPIn0"],"names":["Checkbox","setComponentTemplate","precompileTemplate","strictMode","scope","cell","on","fn","toggleWithFallback","templateOnly","Switch","uniqueId","hash","Label"],"mappings":";;;;;;;;;;AAsEA,MAAMA,QAAc,GAAAC,oBAAA,CAAoBC,kBAAA,CAaxC,mTAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,IAAA;IAAAC,EAAA;IAAAC,EAAA;AAAAC,IAAAA,kBAAAA;AAAA,GAAA,CAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA,CAAA;AAEV;;;MAGaC,MAAY,GAAAT,oBAAA,CAAaC,kBAAA,CAYtC,kQAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAO,QAAA;IAAAC,IAAA;IAAAZ,QAAA;AAAAa,IAAAA,KAAAA;AAAA,GAAA,CAAA;AAAU,CAAA,CAAA,EAAAJ,YAAA,EAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.js","sources":["../../src/components/toggle-group.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { getTabsterAttribute, Types } from 'tabster';\nimport { TrackedSet } from 'tracked-built-ins';\n// The consumer will need to provide types for tracked-toolbox.\n// Or.. better yet, we PR to trakcked-toolbox to provide them\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { localCopy } from 'tracked-toolbox';\nimport { Toggle } from './toggle.gts';\nimport type { ComponentLike } from '@glint/template';\nconst TABSTER_CONFIG = getTabsterAttribute({\n mover: {\n direction: Types.MoverDirections.Both,\n cyclic: true\n }\n}, true);\nexport interface ItemSignature<Value = any> {\n /**\n * The button element will have aria-pressed=\"true\" on it when the button is in the pressed state.\n */ Element: HTMLButtonElement;\n Args: {\n /**\n * When used in a group of Toggles, this option will be helpful to\n * know which toggle was pressed if you're using the same @onChange\n * handler for multiple toggles.\n */ value?: Value;\n };\n Blocks: {\n default: [/**\n * the current pressed state of the toggle button\n *\n * Useful when using the toggle button as an uncontrolled component\n */ pressed: boolean];\n };\n}\nexport type Item<Value = any> = ComponentLike<ItemSignature<Value>>;\nexport interface SingleSignature<Value> {\n Element: HTMLDivElement;\n Args: {\n /**\n * Optionally set the initial toggle state\n */ value?: Value;\n /**\n * Callback for when the toggle-group's state is changed.\n *\n * Can be used to control the state of the component.\n *\n *\n * When none of the toggles are selected, undefined will be passed.\n */ onChange?: (value: Value | undefined) => void;\n };\n Blocks: {\n default: [{\n /**\n * The Toggle Switch\n */ Item: Item;\n }];\n };\n}\nexport interface MultiSignature<Value = any> {\n Element: HTMLDivElement;\n Args: {\n /**\n * Optionally set the initial toggle state\n */ value?: Value[] | Set<Value> | Value;\n /**\n * Callback for when the toggle-group's state is changed.\n *\n * Can be used to control the state of the component.\n *\n *\n * When none of the toggles are selected, undefined will be passed.\n */ onChange?: (value: Set<Value>) => void;\n };\n Blocks: {\n default: [{\n /**\n * The Toggle Switch\n */ Item: Item;\n }];\n };\n}\ninterface PrivateSingleSignature<Value = any> {\n Element: HTMLDivElement;\n Args: {\n type?: 'single';\n /**\n * Optionally set the initial toggle state\n */ value?: Value;\n /**\n * Callback for when the toggle-group's state is changed.\n *\n * Can be used to control the state of the component.\n *\n *\n * When none of the toggles are selected, undefined will be passed.\n */ onChange?: (value: Value | undefined) => void;\n };\n Blocks: {\n default: [{\n Item: Item;\n }];\n };\n}\ninterface PrivateMultiSignature<Value = any> {\n Element: HTMLDivElement;\n Args: {\n type: 'multi';\n /**\n * Optionally set the initial toggle state\n */ value?: Value[] | Set<Value> | Value;\n /**\n * Callback for when the toggle-group's state is changed.\n *\n * Can be used to control the state of the component.\n *\n *\n * When none of the toggles are selected, undefined will be passed.\n */ onChange?: (value: Set<Value>) => void;\n };\n Blocks: {\n default: [{\n Item: Item;\n }];\n };\n}\nfunction isMulti(x1: 'single' | 'multi' | undefined): x is 'multi' {\n return x1 === 'multi';\n}\nexport class ToggleGroup<Value = any> extends Component<PrivateSingleSignature<Value> | PrivateMultiSignature<Value>> {\n // See: https://github.com/typed-ember/glint/issues/715\n static{\n template(`\n {{#if (isMulti this.args.type)}}\n <MultiToggleGroup\n @value={{this.args.value}}\n @onChange={{this.args.onChange}}\n ...attributes\n as |x|\n >\n {{yield x}}\n </MultiToggleGroup>\n {{else}}\n <SingleToggleGroup\n @value={{this.args.value}}\n @onChange={{this.args.onChange}}\n ...attributes\n as |x|\n >\n {{yield x}}\n </SingleToggleGroup>\n {{/if}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\nlet SingleToggleGroup = class SingleToggleGroup<Value = any> extends Component<SingleSignature<Value>> {\n @localCopy('args.value')\n activePressed?: Value;\n handleToggle = (value1: Value)=>{\n if (this.activePressed === value1) {\n this.activePressed = undefined;\n return;\n }\n this.activePressed = value1;\n this.args.onChange?.(this.activePressed);\n };\n isPressed = (value1: Value | undefined)=>value1 === this.activePressed;\n static{\n template(`\n <div data-tabster={{TABSTER_CONFIG}} ...attributes>\n {{yield (hash Item=(component Toggle onChange=this.handleToggle isPressed=this.isPressed))}}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n};\nlet MultiToggleGroup = class MultiToggleGroup<Value = any> extends Component<MultiSignature<Value>> {\n /**\n * Normalizes @value to a Set\n * and makes sure that even if the input Set is reactive,\n * we don't mistakenly dirty it.\n */ @cached\n get activePressed(): TrackedSet<Value> {\n let value1 = this.args.value;\n if (!value1) {\n return new TrackedSet();\n }\n if (Array.isArray(value1)) {\n return new TrackedSet(value1);\n }\n if (value1 instanceof Set) {\n return new TrackedSet(value1);\n }\n return new TrackedSet([\n value1\n ]);\n }\n handleToggle = (value1: Value)=>{\n if (this.activePressed.has(value1)) {\n this.activePressed.delete(value1);\n } else {\n this.activePressed.add(value1);\n }\n this.args.onChange?.(new Set<Value>(this.activePressed.values()));\n };\n isPressed = (value1: Value)=>this.activePressed.has(value1);\n static{\n template(`\n <div data-tabster={{TABSTER_CONFIG}} ...attributes>\n {{yield (hash Item=(component Toggle onChange=this.handleToggle isPressed=this.isPressed))}}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9lbWJlci1wcmltaXRpdmVzL3NyYy9jb21wb25lbnRzL3RvZ2dsZS1ncm91cC5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgY2FjaGVkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuaW1wb3J0IHsgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuXG5pbXBvcnQgeyBnZXRUYWJzdGVyQXR0cmlidXRlLCBUeXBlcyB9IGZyb20gJ3RhYnN0ZXInO1xuaW1wb3J0IHsgVHJhY2tlZFNldCB9IGZyb20gJ3RyYWNrZWQtYnVpbHQtaW5zJztcbi8vIFRoZSBjb25zdW1lciB3aWxsIG5lZWQgdG8gcHJvdmlkZSB0eXBlcyBmb3IgdHJhY2tlZC10b29sYm94LlxuLy8gT3IuLiBiZXR0ZXIgeWV0LCB3ZSBQUiB0byB0cmFrY2tlZC10b29sYm94IHRvIHByb3ZpZGUgdGhlbVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgbG9jYWxDb3B5IH0gZnJvbSAndHJhY2tlZC10b29sYm94JztcblxuaW1wb3J0IHsgVG9nZ2xlIH0gZnJvbSAnLi90b2dnbGUuZ3RzJztcblxuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRMaWtlIH0gZnJvbSAnQGdsaW50L3RlbXBsYXRlJztcblxuY29uc3QgVEFCU1RFUl9DT05GSUcgPSBnZXRUYWJzdGVyQXR0cmlidXRlKFxuICB7XG4gICAgbW92ZXI6IHtcbiAgICAgIGRpcmVjdGlvbjogVHlwZXMuTW92ZXJEaXJlY3Rpb25zLkJvdGgsXG4gICAgICBjeWNsaWM6IHRydWUsXG4gICAgfSxcbiAgfSxcbiAgdHJ1ZVxuKTtcblxuZXhwb3J0IGludGVyZmFjZSBJdGVtU2lnbmF0dXJlPFZhbHVlID0gYW55PiB7XG4gIC8qKlxuICAgKiBUaGUgYnV0dG9uIGVsZW1lbnQgd2lsbCBoYXZlIGFyaWEtcHJlc3NlZD1cInRydWVcIiBvbiBpdCB3aGVuIHRoZSBidXR0b24gaXMgaW4gdGhlIHByZXNzZWQgc3RhdGUuXG4gICAqL1xuICBFbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudDtcbiAgQXJnczoge1xuICAgIC8qKlxuICAgICAqIFdoZW4gdXNlZCBpbiBhIGdyb3VwIG9mIFRvZ2dsZXMsIHRoaXMgb3B0aW9uIHdpbGwgYmUgaGVscGZ1bCB0b1xuICAgICAqIGtub3cgd2hpY2ggdG9nZ2xlIHdhcyBwcmVzc2VkIGlmIHlvdSdyZSB1c2luZyB0aGUgc2FtZSBAb25DaGFuZ2VcbiAgICAgKiBoYW5kbGVyIGZvciBtdWx0aXBsZSB0b2dnbGVzLlxuICAgICAqL1xuICAgIHZhbHVlPzogVmFsdWU7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtcbiAgICAgIC8qKlxuICAgICAgICogdGhlIGN1cnJlbnQgcHJlc3NlZCBzdGF0ZSBvZiB0aGUgdG9nZ2xlIGJ1dHRvblxuICAgICAgICpcbiAgICAgICAqIFVzZWZ1bCB3aGVuIHVzaW5nIHRoZSB0b2dnbGUgYnV0dG9uIGFzIGFuIHVuY29udHJvbGxlZCBjb21wb25lbnRcbiAgICAgICAqL1xuICAgICAgcHJlc3NlZDogYm9vbGVhbixcbiAgICBdO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBJdGVtPFZhbHVlID0gYW55PiA9IENvbXBvbmVudExpa2U8SXRlbVNpZ25hdHVyZTxWYWx1ZT4-O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpbmdsZVNpZ25hdHVyZTxWYWx1ZT4ge1xuICBFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcbiAgQXJnczoge1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsbHkgc2V0IHRoZSBpbml0aWFsIHRvZ2dsZSBzdGF0ZVxuICAgICAqL1xuICAgIHZhbHVlPzogVmFsdWU7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgZm9yIHdoZW4gdGhlIHRvZ2dsZS1ncm91cCdzIHN0YXRlIGlzIGNoYW5nZWQuXG4gICAgICpcbiAgICAgKiBDYW4gYmUgdXNlZCB0byBjb250cm9sIHRoZSBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqXG4gICAgICpcbiAgICAgKiBXaGVuIG5vbmUgb2YgdGhlIHRvZ2dsZXMgYXJlIHNlbGVjdGVkLCB1bmRlZmluZWQgd2lsbCBiZSBwYXNzZWQuXG4gICAgICovXG4gICAgb25DaGFuZ2U_OiAodmFsdWU6IFZhbHVlIHwgdW5kZWZpbmVkKSA9PiB2b2lkO1xuICB9O1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbXG4gICAgICB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgVG9nZ2xlIFN3aXRjaFxuICAgICAgICAgKi9cbiAgICAgICAgSXRlbTogSXRlbTtcbiAgICAgIH0sXG4gICAgXTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNdWx0aVNpZ25hdHVyZTxWYWx1ZSA9IGFueT4ge1xuICBFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcbiAgQXJnczoge1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsbHkgc2V0IHRoZSBpbml0aWFsIHRvZ2dsZSBzdGF0ZVxuICAgICAqL1xuICAgIHZhbHVlPzogVmFsdWVbXSB8IFNldDxWYWx1ZT4gfCBWYWx1ZTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayBmb3Igd2hlbiB0aGUgdG9nZ2xlLWdyb3VwJ3Mgc3RhdGUgaXMgY2hhbmdlZC5cbiAgICAgKlxuICAgICAqIENhbiBiZSB1c2VkIHRvIGNvbnRyb2wgdGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICpcbiAgICAgKlxuICAgICAqIFdoZW4gbm9uZSBvZiB0aGUgdG9nZ2xlcyBhcmUgc2VsZWN0ZWQsIHVuZGVmaW5lZCB3aWxsIGJlIHBhc3NlZC5cbiAgICAgKi9cbiAgICBvbkNoYW5nZT86ICh2YWx1ZTogU2V0PFZhbHVlPikgPT4gdm9pZDtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW1xuICAgICAge1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIFRvZ2dsZSBTd2l0Y2hcbiAgICAgICAgICovXG4gICAgICAgIEl0ZW06IEl0ZW07XG4gICAgICB9LFxuICAgIF07XG4gIH07XG59XG5cbmludGVyZmFjZSBQcml2YXRlU2luZ2xlU2lnbmF0dXJlPFZhbHVlID0gYW55PiB7XG4gIEVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xuICBBcmdzOiB7XG4gICAgdHlwZT86ICdzaW5nbGUnO1xuXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxseSBzZXQgdGhlIGluaXRpYWwgdG9nZ2xlIHN0YXRlXG4gICAgICovXG4gICAgdmFsdWU_OiBWYWx1ZTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayBmb3Igd2hlbiB0aGUgdG9nZ2xlLWdyb3VwJ3Mgc3RhdGUgaXMgY2hhbmdlZC5cbiAgICAgKlxuICAgICAqIENhbiBiZSB1c2VkIHRvIGNvbnRyb2wgdGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICpcbiAgICAgKlxuICAgICAqIFdoZW4gbm9uZSBvZiB0aGUgdG9nZ2xlcyBhcmUgc2VsZWN0ZWQsIHVuZGVmaW5lZCB3aWxsIGJlIHBhc3NlZC5cbiAgICAgKi9cbiAgICBvbkNoYW5nZT86ICh2YWx1ZTogVmFsdWUgfCB1bmRlZmluZWQpID0-IHZvaWQ7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtcbiAgICAgIHtcbiAgICAgICAgSXRlbTogSXRlbTtcbiAgICAgIH0sXG4gICAgXTtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFByaXZhdGVNdWx0aVNpZ25hdHVyZTxWYWx1ZSA9IGFueT4ge1xuICBFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcbiAgQXJnczoge1xuICAgIHR5cGU6ICdtdWx0aSc7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxseSBzZXQgdGhlIGluaXRpYWwgdG9nZ2xlIHN0YXRlXG4gICAgICovXG4gICAgdmFsdWU_OiBWYWx1ZVtdIHwgU2V0PFZhbHVlPiB8IFZhbHVlO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIGZvciB3aGVuIHRoZSB0b2dnbGUtZ3JvdXAncyBzdGF0ZSBpcyBjaGFuZ2VkLlxuICAgICAqXG4gICAgICogQ2FuIGJlIHVzZWQgdG8gY29udHJvbCB0aGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqXG4gICAgICogV2hlbiBub25lIG9mIHRoZSB0b2dnbGVzIGFyZSBzZWxlY3RlZCwgdW5kZWZpbmVkIHdpbGwgYmUgcGFzc2VkLlxuICAgICAqL1xuICAgIG9uQ2hhbmdlPzogKHZhbHVlOiBTZXQ8VmFsdWU-KSA9PiB2b2lkO1xuICB9O1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbXG4gICAgICB7XG4gICAgICAgIEl0ZW06IEl0ZW07XG4gICAgICB9LFxuICAgIF07XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzTXVsdGkoeDogJ3NpbmdsZScgfCAnbXVsdGknIHwgdW5kZWZpbmVkKTogeCBpcyAnbXVsdGknIHtcbiAgcmV0dXJuIHggPT09ICdtdWx0aSc7XG59XG5cbmV4cG9ydCBjbGFzcyBUb2dnbGVHcm91cDxWYWx1ZSA9IGFueT4gZXh0ZW5kcyBDb21wb25lbnQ8XG4gIFByaXZhdGVTaW5nbGVTaWduYXR1cmU8VmFsdWU-IHwgUHJpdmF0ZU11bHRpU2lnbmF0dXJlPFZhbHVlPlxuPiB7XG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R5cGVkLWVtYmVyL2dsaW50L2lzc3Vlcy83MTVcbiAgPHRlbXBsYXRlPlxuICAgIHt7I2lmIChpc011bHRpIHRoaXMuYXJncy50eXBlKX19XG4gICAgICA8TXVsdGlUb2dnbGVHcm91cFxuICAgICAgICBAdmFsdWU9e3t0aGlzLmFyZ3MudmFsdWV9fVxuICAgICAgICBAb25DaGFuZ2U9e3t0aGlzLmFyZ3Mub25DaGFuZ2V9fVxuICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgIGFzIHx4fFxuICAgICAgPlxuICAgICAgICB7e3lpZWxkIHh9fVxuICAgICAgPC9NdWx0aVRvZ2dsZUdyb3VwPlxuICAgIHt7ZWxzZX19XG4gICAgICA8U2luZ2xlVG9nZ2xlR3JvdXBcbiAgICAgICAgQHZhbHVlPXt7dGhpcy5hcmdzLnZhbHVlfX1cbiAgICAgICAgQG9uQ2hhbmdlPXt7dGhpcy5hcmdzLm9uQ2hhbmdlfX1cbiAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICBhcyB8eHxcbiAgICAgID5cbiAgICAgICAge3t5aWVsZCB4fX1cbiAgICAgIDwvU2luZ2xlVG9nZ2xlR3JvdXA-XG4gICAge3svaWZ9fVxuICA8L3RlbXBsYXRlPlxufVxuXG5jbGFzcyBTaW5nbGVUb2dnbGVHcm91cDxWYWx1ZSA9IGFueT4gZXh0ZW5kcyBDb21wb25lbnQ8U2luZ2xlU2lnbmF0dXJlPFZhbHVlPj4ge1xuICBAbG9jYWxDb3B5KCdhcmdzLnZhbHVlJykgYWN0aXZlUHJlc3NlZD86IFZhbHVlO1xuXG4gIGhhbmRsZVRvZ2dsZSA9ICh2YWx1ZTogVmFsdWUpID0-IHtcbiAgICBpZiAodGhpcy5hY3RpdmVQcmVzc2VkID09PSB2YWx1ZSkge1xuICAgICAgdGhpcy5hY3RpdmVQcmVzc2VkID0gdW5kZWZpbmVkO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hY3RpdmVQcmVzc2VkID0gdmFsdWU7XG5cbiAgICB0aGlzLmFyZ3Mub25DaGFuZ2U_Lih0aGlzLmFjdGl2ZVByZXNzZWQpO1xuICB9O1xuXG4gIGlzUHJlc3NlZCA9ICh2YWx1ZTogVmFsdWUgfCB1bmRlZmluZWQpID0-IHZhbHVlID09PSB0aGlzLmFjdGl2ZVByZXNzZWQ7XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxkaXYgZGF0YS10YWJzdGVyPXt7VEFCU1RFUl9DT05GSUd9fSAuLi5hdHRyaWJ1dGVzPlxuICAgICAge3t5aWVsZCAoaGFzaCBJdGVtPShjb21wb25lbnQgVG9nZ2xlIG9uQ2hhbmdlPXRoaXMuaGFuZGxlVG9nZ2xlIGlzUHJlc3NlZD10aGlzLmlzUHJlc3NlZCkpfX1cbiAgICA8L2Rpdj5cbiAgPC90ZW1wbGF0ZT5cbn1cblxuY2xhc3MgTXVsdGlUb2dnbGVHcm91cDxWYWx1ZSA9IGFueT4gZXh0ZW5kcyBDb21wb25lbnQ8TXVsdGlTaWduYXR1cmU8VmFsdWU-PiB7XG4gIC8qKlxuICAgKiBOb3JtYWxpemVzIEB2YWx1ZSB0byBhIFNldFxuICAgKiBhbmQgbWFrZXMgc3VyZSB0aGF0IGV2ZW4gaWYgdGhlIGlucHV0IFNldCBpcyByZWFjdGl2ZSxcbiAgICogd2UgZG9uJ3QgbWlzdGFrZW5seSBkaXJ0eSBpdC5cbiAgICovXG4gIEBjYWNoZWRcbiAgZ2V0IGFjdGl2ZVByZXNzZWQoKTogVHJhY2tlZFNldDxWYWx1ZT4ge1xuICAgIGxldCB2YWx1ZSA9IHRoaXMuYXJncy52YWx1ZTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiBuZXcgVHJhY2tlZFNldCgpO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIG5ldyBUcmFja2VkU2V0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICAgIHJldHVybiBuZXcgVHJhY2tlZFNldCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBUcmFja2VkU2V0KFt2YWx1ZV0pO1xuICB9XG5cbiAgaGFuZGxlVG9nZ2xlID0gKHZhbHVlOiBWYWx1ZSkgPT4ge1xuICAgIGlmICh0aGlzLmFjdGl2ZVByZXNzZWQuaGFzKHZhbHVlKSkge1xuICAgICAgdGhpcy5hY3RpdmVQcmVzc2VkLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZlUHJlc3NlZC5hZGQodmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuYXJncy5vbkNoYW5nZT8uKG5ldyBTZXQ8VmFsdWU-KHRoaXMuYWN0aXZlUHJlc3NlZC52YWx1ZXMoKSkpO1xuICB9O1xuXG4gIGlzUHJlc3NlZCA9ICh2YWx1ZTogVmFsdWUpID0-IHRoaXMuYWN0aXZlUHJlc3NlZC5oYXModmFsdWUpO1xuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGRhdGEtdGFic3Rlcj17e1RBQlNURVJfQ09ORklHfX0gLi4uYXR0cmlidXRlcz5cbiAgICAgIHt7eWllbGQgKGhhc2ggSXRlbT0oY29tcG9uZW50IFRvZ2dsZSBvbkNoYW5nZT10aGlzLmhhbmRsZVRvZ2dsZSBpc1ByZXNzZWQ9dGhpcy5pc1ByZXNzZWQpKX19XG4gICAgPC9kaXY-XG4gIDwvdGVtcGxhdGU-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"],"names":["TABSTER_CONFIG","getTabsterAttribute","mover","direction","Types","MoverDirections","Both","cyclic","isMulti","x1","ToggleGroup","Component","setComponentTemplate","precompileTemplate","strictMode","scope","MultiToggleGroup","SingleToggleGroup","g","this","prototype","localCopy","i","void 0","handleToggle","value1","activePressed","undefined","args","onChange","isPressed","hash","Toggle","value","TrackedSet","Array","isArray","Set","n","cached","has","delete","add","values"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toggle-group.js","sources":["../../src/components/toggle-group.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { getTabsterAttribute, Types } from 'tabster';\nimport { TrackedSet } from 'tracked-built-ins';\n// The consumer will need to provide types for tracked-toolbox.\n// Or.. better yet, we PR to trakcked-toolbox to provide them\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { localCopy } from 'tracked-toolbox';\nimport { Toggle } from './toggle.gts';\nimport type { ComponentLike } from '@glint/template';\nconst TABSTER_CONFIG = getTabsterAttribute({\n mover: {\n direction: Types.MoverDirections.Both,\n cyclic: true\n }\n}, true);\nexport interface ItemSignature<Value = any> {\n /**\n * The button element will have aria-pressed=\"true\" on it when the button is in the pressed state.\n */ Element: HTMLButtonElement;\n Args: {\n /**\n * When used in a group of Toggles, this option will be helpful to\n * know which toggle was pressed if you're using the same @onChange\n * handler for multiple toggles.\n */ value?: Value;\n };\n Blocks: {\n default: [/**\n * the current pressed state of the toggle button\n *\n * Useful when using the toggle button as an uncontrolled component\n */ pressed: boolean];\n };\n}\nexport type Item<Value = any> = ComponentLike<ItemSignature<Value>>;\nexport interface SingleSignature<Value> {\n Element: HTMLDivElement;\n Args: {\n /**\n * Optionally set the initial toggle state\n */ value?: Value;\n /**\n * Callback for when the toggle-group's state is changed.\n *\n * Can be used to control the state of the component.\n *\n *\n * When none of the toggles are selected, undefined will be passed.\n */ onChange?: (value: Value | undefined) => void;\n };\n Blocks: {\n default: [{\n /**\n * The Toggle Switch\n */ Item: Item;\n }];\n };\n}\nexport interface MultiSignature<Value = any> {\n Element: HTMLDivElement;\n Args: {\n /**\n * Optionally set the initial toggle state\n */ value?: Value[] | Set<Value> | Value;\n /**\n * Callback for when the toggle-group's state is changed.\n *\n * Can be used to control the state of the component.\n *\n *\n * When none of the toggles are selected, undefined will be passed.\n */ onChange?: (value: Set<Value>) => void;\n };\n Blocks: {\n default: [{\n /**\n * The Toggle Switch\n */ Item: Item;\n }];\n };\n}\ninterface PrivateSingleSignature<Value = any> {\n Element: HTMLDivElement;\n Args: {\n type?: 'single';\n /**\n * Optionally set the initial toggle state\n */ value?: Value;\n /**\n * Callback for when the toggle-group's state is changed.\n *\n * Can be used to control the state of the component.\n *\n *\n * When none of the toggles are selected, undefined will be passed.\n */ onChange?: (value: Value | undefined) => void;\n };\n Blocks: {\n default: [{\n Item: Item;\n }];\n };\n}\ninterface PrivateMultiSignature<Value = any> {\n Element: HTMLDivElement;\n Args: {\n type: 'multi';\n /**\n * Optionally set the initial toggle state\n */ value?: Value[] | Set<Value> | Value;\n /**\n * Callback for when the toggle-group's state is changed.\n *\n * Can be used to control the state of the component.\n *\n *\n * When none of the toggles are selected, undefined will be passed.\n */ onChange?: (value: Set<Value>) => void;\n };\n Blocks: {\n default: [{\n Item: Item;\n }];\n };\n}\nfunction isMulti(x1: 'single' | 'multi' | undefined): x is 'multi' {\n return x1 === 'multi';\n}\nexport class ToggleGroup<Value = any> extends Component<PrivateSingleSignature<Value> | PrivateMultiSignature<Value>> {\n // See: https://github.com/typed-ember/glint/issues/715\n static{\n template(`\n {{#if (isMulti this.args.type)}}\n <MultiToggleGroup\n @value={{this.args.value}}\n @onChange={{this.args.onChange}}\n ...attributes\n as |x|\n >\n {{yield x}}\n </MultiToggleGroup>\n {{else}}\n <SingleToggleGroup\n @value={{this.args.value}}\n @onChange={{this.args.onChange}}\n ...attributes\n as |x|\n >\n {{yield x}}\n </SingleToggleGroup>\n {{/if}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\nlet SingleToggleGroup = class SingleToggleGroup<Value = any> extends Component<SingleSignature<Value>> {\n @localCopy('args.value')\n activePressed?: Value;\n handleToggle = (value1: Value)=>{\n if (this.activePressed === value1) {\n this.activePressed = undefined;\n return;\n }\n this.activePressed = value1;\n this.args.onChange?.(this.activePressed);\n };\n isPressed = (value1: Value | undefined)=>value1 === this.activePressed;\n static{\n template(`\n <div data-tabster={{TABSTER_CONFIG}} ...attributes>\n {{yield (hash Item=(component Toggle onChange=this.handleToggle isPressed=this.isPressed))}}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n};\nlet MultiToggleGroup = class MultiToggleGroup<Value = any> extends Component<MultiSignature<Value>> {\n /**\n * Normalizes @value to a Set\n * and makes sure that even if the input Set is reactive,\n * we don't mistakenly dirty it.\n */ @cached\n get activePressed(): TrackedSet<Value> {\n let value1 = this.args.value;\n if (!value1) {\n return new TrackedSet();\n }\n if (Array.isArray(value1)) {\n return new TrackedSet(value1);\n }\n if (value1 instanceof Set) {\n return new TrackedSet(value1);\n }\n return new TrackedSet([\n value1\n ]);\n }\n handleToggle = (value1: Value)=>{\n if (this.activePressed.has(value1)) {\n this.activePressed.delete(value1);\n } else {\n this.activePressed.add(value1);\n }\n this.args.onChange?.(new Set<Value>(this.activePressed.values()));\n };\n isPressed = (value1: Value)=>this.activePressed.has(value1);\n static{\n template(`\n <div data-tabster={{TABSTER_CONFIG}} ...attributes>\n {{yield (hash Item=(component Toggle onChange=this.handleToggle isPressed=this.isPressed))}}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL252cC9EZXZlbG9wbWVudC9OdWxsVm94UG9wdWxpL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9zcmMvY29tcG9uZW50cy90b2dnbGUtZ3JvdXAuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IGNhY2hlZCB9IGZyb20gJ0BnbGltbWVyL3RyYWNraW5nJztcbmltcG9ydCB7IGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcblxuaW1wb3J0IHsgZ2V0VGFic3RlckF0dHJpYnV0ZSwgVHlwZXMgfSBmcm9tICd0YWJzdGVyJztcbmltcG9ydCB7IFRyYWNrZWRTZXQgfSBmcm9tICd0cmFja2VkLWJ1aWx0LWlucyc7XG4vLyBUaGUgY29uc3VtZXIgd2lsbCBuZWVkIHRvIHByb3ZpZGUgdHlwZXMgZm9yIHRyYWNrZWQtdG9vbGJveC5cbi8vIE9yLi4gYmV0dGVyIHlldCwgd2UgUFIgdG8gdHJha2NrZWQtdG9vbGJveCB0byBwcm92aWRlIHRoZW1cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IGxvY2FsQ29weSB9IGZyb20gJ3RyYWNrZWQtdG9vbGJveCc7XG5cbmltcG9ydCB7IFRvZ2dsZSB9IGZyb20gJy4vdG9nZ2xlLmd0cyc7XG5cbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50TGlrZSB9IGZyb20gJ0BnbGludC90ZW1wbGF0ZSc7XG5cbmNvbnN0IFRBQlNURVJfQ09ORklHID0gZ2V0VGFic3RlckF0dHJpYnV0ZShcbiAge1xuICAgIG1vdmVyOiB7XG4gICAgICBkaXJlY3Rpb246IFR5cGVzLk1vdmVyRGlyZWN0aW9ucy5Cb3RoLFxuICAgICAgY3ljbGljOiB0cnVlLFxuICAgIH0sXG4gIH0sXG4gIHRydWVcbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXRlbVNpZ25hdHVyZTxWYWx1ZSA9IGFueT4ge1xuICAvKipcbiAgICogVGhlIGJ1dHRvbiBlbGVtZW50IHdpbGwgaGF2ZSBhcmlhLXByZXNzZWQ9XCJ0cnVlXCIgb24gaXQgd2hlbiB0aGUgYnV0dG9uIGlzIGluIHRoZSBwcmVzc2VkIHN0YXRlLlxuICAgKi9cbiAgRWxlbWVudDogSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gIEFyZ3M6IHtcbiAgICAvKipcbiAgICAgKiBXaGVuIHVzZWQgaW4gYSBncm91cCBvZiBUb2dnbGVzLCB0aGlzIG9wdGlvbiB3aWxsIGJlIGhlbHBmdWwgdG9cbiAgICAgKiBrbm93IHdoaWNoIHRvZ2dsZSB3YXMgcHJlc3NlZCBpZiB5b3UncmUgdXNpbmcgdGhlIHNhbWUgQG9uQ2hhbmdlXG4gICAgICogaGFuZGxlciBmb3IgbXVsdGlwbGUgdG9nZ2xlcy5cbiAgICAgKi9cbiAgICB2YWx1ZT86IFZhbHVlO1xuICB9O1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbXG4gICAgICAvKipcbiAgICAgICAqIHRoZSBjdXJyZW50IHByZXNzZWQgc3RhdGUgb2YgdGhlIHRvZ2dsZSBidXR0b25cbiAgICAgICAqXG4gICAgICAgKiBVc2VmdWwgd2hlbiB1c2luZyB0aGUgdG9nZ2xlIGJ1dHRvbiBhcyBhbiB1bmNvbnRyb2xsZWQgY29tcG9uZW50XG4gICAgICAgKi9cbiAgICAgIHByZXNzZWQ6IGJvb2xlYW4sXG4gICAgXTtcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgSXRlbTxWYWx1ZSA9IGFueT4gPSBDb21wb25lbnRMaWtlPEl0ZW1TaWduYXR1cmU8VmFsdWU-PjtcblxuZXhwb3J0IGludGVyZmFjZSBTaW5nbGVTaWduYXR1cmU8VmFsdWU-IHtcbiAgRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG4gIEFyZ3M6IHtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbGx5IHNldCB0aGUgaW5pdGlhbCB0b2dnbGUgc3RhdGVcbiAgICAgKi9cbiAgICB2YWx1ZT86IFZhbHVlO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIGZvciB3aGVuIHRoZSB0b2dnbGUtZ3JvdXAncyBzdGF0ZSBpcyBjaGFuZ2VkLlxuICAgICAqXG4gICAgICogQ2FuIGJlIHVzZWQgdG8gY29udHJvbCB0aGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqXG4gICAgICogV2hlbiBub25lIG9mIHRoZSB0b2dnbGVzIGFyZSBzZWxlY3RlZCwgdW5kZWZpbmVkIHdpbGwgYmUgcGFzc2VkLlxuICAgICAqL1xuICAgIG9uQ2hhbmdlPzogKHZhbHVlOiBWYWx1ZSB8IHVuZGVmaW5lZCkgPT4gdm9pZDtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW1xuICAgICAge1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIFRvZ2dsZSBTd2l0Y2hcbiAgICAgICAgICovXG4gICAgICAgIEl0ZW06IEl0ZW07XG4gICAgICB9LFxuICAgIF07XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlTaWduYXR1cmU8VmFsdWUgPSBhbnk-IHtcbiAgRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG4gIEFyZ3M6IHtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbGx5IHNldCB0aGUgaW5pdGlhbCB0b2dnbGUgc3RhdGVcbiAgICAgKi9cbiAgICB2YWx1ZT86IFZhbHVlW10gfCBTZXQ8VmFsdWU-IHwgVmFsdWU7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgZm9yIHdoZW4gdGhlIHRvZ2dsZS1ncm91cCdzIHN0YXRlIGlzIGNoYW5nZWQuXG4gICAgICpcbiAgICAgKiBDYW4gYmUgdXNlZCB0byBjb250cm9sIHRoZSBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqXG4gICAgICpcbiAgICAgKiBXaGVuIG5vbmUgb2YgdGhlIHRvZ2dsZXMgYXJlIHNlbGVjdGVkLCB1bmRlZmluZWQgd2lsbCBiZSBwYXNzZWQuXG4gICAgICovXG4gICAgb25DaGFuZ2U_OiAodmFsdWU6IFNldDxWYWx1ZT4pID0-IHZvaWQ7XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtcbiAgICAgIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoZSBUb2dnbGUgU3dpdGNoXG4gICAgICAgICAqL1xuICAgICAgICBJdGVtOiBJdGVtO1xuICAgICAgfSxcbiAgICBdO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgUHJpdmF0ZVNpbmdsZVNpZ25hdHVyZTxWYWx1ZSA9IGFueT4ge1xuICBFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcbiAgQXJnczoge1xuICAgIHR5cGU_OiAnc2luZ2xlJztcblxuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsbHkgc2V0IHRoZSBpbml0aWFsIHRvZ2dsZSBzdGF0ZVxuICAgICAqL1xuICAgIHZhbHVlPzogVmFsdWU7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgZm9yIHdoZW4gdGhlIHRvZ2dsZS1ncm91cCdzIHN0YXRlIGlzIGNoYW5nZWQuXG4gICAgICpcbiAgICAgKiBDYW4gYmUgdXNlZCB0byBjb250cm9sIHRoZSBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqXG4gICAgICpcbiAgICAgKiBXaGVuIG5vbmUgb2YgdGhlIHRvZ2dsZXMgYXJlIHNlbGVjdGVkLCB1bmRlZmluZWQgd2lsbCBiZSBwYXNzZWQuXG4gICAgICovXG4gICAgb25DaGFuZ2U_OiAodmFsdWU6IFZhbHVlIHwgdW5kZWZpbmVkKSA9PiB2b2lkO1xuICB9O1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbXG4gICAgICB7XG4gICAgICAgIEl0ZW06IEl0ZW07XG4gICAgICB9LFxuICAgIF07XG4gIH07XG59XG5cbmludGVyZmFjZSBQcml2YXRlTXVsdGlTaWduYXR1cmU8VmFsdWUgPSBhbnk-IHtcbiAgRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG4gIEFyZ3M6IHtcbiAgICB0eXBlOiAnbXVsdGknO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsbHkgc2V0IHRoZSBpbml0aWFsIHRvZ2dsZSBzdGF0ZVxuICAgICAqL1xuICAgIHZhbHVlPzogVmFsdWVbXSB8IFNldDxWYWx1ZT4gfCBWYWx1ZTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayBmb3Igd2hlbiB0aGUgdG9nZ2xlLWdyb3VwJ3Mgc3RhdGUgaXMgY2hhbmdlZC5cbiAgICAgKlxuICAgICAqIENhbiBiZSB1c2VkIHRvIGNvbnRyb2wgdGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICpcbiAgICAgKlxuICAgICAqIFdoZW4gbm9uZSBvZiB0aGUgdG9nZ2xlcyBhcmUgc2VsZWN0ZWQsIHVuZGVmaW5lZCB3aWxsIGJlIHBhc3NlZC5cbiAgICAgKi9cbiAgICBvbkNoYW5nZT86ICh2YWx1ZTogU2V0PFZhbHVlPikgPT4gdm9pZDtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW1xuICAgICAge1xuICAgICAgICBJdGVtOiBJdGVtO1xuICAgICAgfSxcbiAgICBdO1xuICB9O1xufVxuXG5mdW5jdGlvbiBpc011bHRpKHg6ICdzaW5nbGUnIHwgJ211bHRpJyB8IHVuZGVmaW5lZCk6IHggaXMgJ211bHRpJyB7XG4gIHJldHVybiB4ID09PSAnbXVsdGknO1xufVxuXG5leHBvcnQgY2xhc3MgVG9nZ2xlR3JvdXA8VmFsdWUgPSBhbnk-IGV4dGVuZHMgQ29tcG9uZW50PFxuICBQcml2YXRlU2luZ2xlU2lnbmF0dXJlPFZhbHVlPiB8IFByaXZhdGVNdWx0aVNpZ25hdHVyZTxWYWx1ZT5cbj4ge1xuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90eXBlZC1lbWJlci9nbGludC9pc3N1ZXMvNzE1XG4gIDx0ZW1wbGF0ZT5cbiAgICB7eyNpZiAoaXNNdWx0aSB0aGlzLmFyZ3MudHlwZSl9fVxuICAgICAgPE11bHRpVG9nZ2xlR3JvdXBcbiAgICAgICAgQHZhbHVlPXt7dGhpcy5hcmdzLnZhbHVlfX1cbiAgICAgICAgQG9uQ2hhbmdlPXt7dGhpcy5hcmdzLm9uQ2hhbmdlfX1cbiAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICBhcyB8eHxcbiAgICAgID5cbiAgICAgICAge3t5aWVsZCB4fX1cbiAgICAgIDwvTXVsdGlUb2dnbGVHcm91cD5cbiAgICB7e2Vsc2V9fVxuICAgICAgPFNpbmdsZVRvZ2dsZUdyb3VwXG4gICAgICAgIEB2YWx1ZT17e3RoaXMuYXJncy52YWx1ZX19XG4gICAgICAgIEBvbkNoYW5nZT17e3RoaXMuYXJncy5vbkNoYW5nZX19XG4gICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgYXMgfHh8XG4gICAgICA-XG4gICAgICAgIHt7eWllbGQgeH19XG4gICAgICA8L1NpbmdsZVRvZ2dsZUdyb3VwPlxuICAgIHt7L2lmfX1cbiAgPC90ZW1wbGF0ZT5cbn1cblxuY2xhc3MgU2luZ2xlVG9nZ2xlR3JvdXA8VmFsdWUgPSBhbnk-IGV4dGVuZHMgQ29tcG9uZW50PFNpbmdsZVNpZ25hdHVyZTxWYWx1ZT4-IHtcbiAgQGxvY2FsQ29weSgnYXJncy52YWx1ZScpIGFjdGl2ZVByZXNzZWQ_OiBWYWx1ZTtcblxuICBoYW5kbGVUb2dnbGUgPSAodmFsdWU6IFZhbHVlKSA9PiB7XG4gICAgaWYgKHRoaXMuYWN0aXZlUHJlc3NlZCA9PT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuYWN0aXZlUHJlc3NlZCA9IHVuZGVmaW5lZDtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlUHJlc3NlZCA9IHZhbHVlO1xuXG4gICAgdGhpcy5hcmdzLm9uQ2hhbmdlPy4odGhpcy5hY3RpdmVQcmVzc2VkKTtcbiAgfTtcblxuICBpc1ByZXNzZWQgPSAodmFsdWU6IFZhbHVlIHwgdW5kZWZpbmVkKSA9PiB2YWx1ZSA9PT0gdGhpcy5hY3RpdmVQcmVzc2VkO1xuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGRhdGEtdGFic3Rlcj17e1RBQlNURVJfQ09ORklHfX0gLi4uYXR0cmlidXRlcz5cbiAgICAgIHt7eWllbGQgKGhhc2ggSXRlbT0oY29tcG9uZW50IFRvZ2dsZSBvbkNoYW5nZT10aGlzLmhhbmRsZVRvZ2dsZSBpc1ByZXNzZWQ9dGhpcy5pc1ByZXNzZWQpKX19XG4gICAgPC9kaXY-XG4gIDwvdGVtcGxhdGU-XG59XG5cbmNsYXNzIE11bHRpVG9nZ2xlR3JvdXA8VmFsdWUgPSBhbnk-IGV4dGVuZHMgQ29tcG9uZW50PE11bHRpU2lnbmF0dXJlPFZhbHVlPj4ge1xuICAvKipcbiAgICogTm9ybWFsaXplcyBAdmFsdWUgdG8gYSBTZXRcbiAgICogYW5kIG1ha2VzIHN1cmUgdGhhdCBldmVuIGlmIHRoZSBpbnB1dCBTZXQgaXMgcmVhY3RpdmUsXG4gICAqIHdlIGRvbid0IG1pc3Rha2VubHkgZGlydHkgaXQuXG4gICAqL1xuICBAY2FjaGVkXG4gIGdldCBhY3RpdmVQcmVzc2VkKCk6IFRyYWNrZWRTZXQ8VmFsdWU-IHtcbiAgICBsZXQgdmFsdWUgPSB0aGlzLmFyZ3MudmFsdWU7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbmV3IFRyYWNrZWRTZXQoKTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBuZXcgVHJhY2tlZFNldCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgICByZXR1cm4gbmV3IFRyYWNrZWRTZXQodmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgVHJhY2tlZFNldChbdmFsdWVdKTtcbiAgfVxuXG4gIGhhbmRsZVRvZ2dsZSA9ICh2YWx1ZTogVmFsdWUpID0-IHtcbiAgICBpZiAodGhpcy5hY3RpdmVQcmVzc2VkLmhhcyh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuYWN0aXZlUHJlc3NlZC5kZWxldGUodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFjdGl2ZVByZXNzZWQuYWRkKHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLmFyZ3Mub25DaGFuZ2U_LihuZXcgU2V0PFZhbHVlPih0aGlzLmFjdGl2ZVByZXNzZWQudmFsdWVzKCkpKTtcbiAgfTtcblxuICBpc1ByZXNzZWQgPSAodmFsdWU6IFZhbHVlKSA9PiB0aGlzLmFjdGl2ZVByZXNzZWQuaGFzKHZhbHVlKTtcblxuICA8dGVtcGxhdGU-XG4gICAgPGRpdiBkYXRhLXRhYnN0ZXI9e3tUQUJTVEVSX0NPTkZJR319IC4uLmF0dHJpYnV0ZXM-XG4gICAgICB7e3lpZWxkIChoYXNoIEl0ZW09KGNvbXBvbmVudCBUb2dnbGUgb25DaGFuZ2U9dGhpcy5oYW5kbGVUb2dnbGUgaXNQcmVzc2VkPXRoaXMuaXNQcmVzc2VkKSl9fVxuICAgIDwvZGl2PlxuICA8L3RlbXBsYXRlPlxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLFNBQVMsTUFBTSxRQUFRLG9CQUFvQjtBQUMzQyxTQUFTLElBQUksUUFBUSxnQkFBZ0I7QUFFckMsU0FBUyxtQkFBbUIsRUFBRSxLQUFLLFFBQVEsVUFBVTtBQUNyRCxTQUFTLFVBQVUsUUFBUSxvQkFBb0I7QUFDL0MsK0RBQStEO0FBQy9ELDZEQUE2RDtBQUM3RCw2REFBNkQ7QUFDN0QsYUFBYTtBQUNiLFNBQVMsU0FBUyxRQUFRLGtCQUFrQjtBQUU1QyxTQUFTLE1BQU0sUUFBUSxlQUFlO0FBRXRDLGNBQWMsYUFBYSxRQUFRLGtCQUFrQjtBQUVyRCxNQUFNLGlCQUFpQixvQkFDckI7SUFDRSxPQUFPO1FBQ0wsV0FBVyxNQUFNLGVBQWUsQ0FBQyxJQUFJO1FBQ3JDLFFBQVE7SUFDVjtBQUNGLEdBQ0E7QUFHRixpQkFBaUIsY0FBYyxRQUFRLEdBQUc7SUFDeEM7O0dBRUMsR0FDRCxTQUFTO0lBQ1Q7UUFDRTs7OztLQUlDLEdBQ0QsUUFBUTs7SUFFVjtRQUNFLFVBQ0U7Ozs7T0FJQyxHQUNELFNBQVMsT0FBTzs7O0FBS3RCLFlBQVksS0FBSyxRQUFRLEdBQUcsSUFBSSxjQUFjLGNBQWM7QUFFNUQsaUJBQWlCLGdCQUFnQjtJQUMvQixTQUFTO0lBQ1Q7UUFDRTs7S0FFQyxHQUNELFFBQVE7UUFDUjs7Ozs7OztLQU9DLEdBQ0QsWUFBWSxPQUFPLFFBQVEsU0FBUyxLQUFLLElBQUk7O0lBRS9DO1FBQ0U7Z0JBRUk7O1NBRUMsR0FDRCxNQUFNOzs7O0FBTWQsaUJBQWlCLGVBQWUsUUFBUSxHQUFHO0lBQ3pDLFNBQVM7SUFDVDtRQUNFOztLQUVDLEdBQ0QsUUFBUSxVQUFVLElB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"],"names":["TABSTER_CONFIG","getTabsterAttribute","mover","direction","Types","MoverDirections","Both","cyclic","isMulti","x1","ToggleGroup","Component","setComponentTemplate","precompileTemplate","strictMode","scope","MultiToggleGroup","SingleToggleGroup","g","this","prototype","localCopy","i","void 0","handleToggle","value1","activePressed","undefined","args","onChange","isPressed","hash","Toggle","value","TrackedSet","Array","isArray","Set","n","cached","has","delete","add","values"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle.js","sources":["../../src/components/toggle.gts"],"sourcesContent":["// import Component from '@glimmer/component';\nimport { template } from \"@ember/template-compiler\";\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { cell } from 'ember-resources';\nimport { toggleWithFallback } from './-private/utils.ts';\nimport type { TOC } from '@ember/component/template-only';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface Signature<Value = any> {\n Element: HTMLButtonElement;\n Args: {\n /**\n * The pressed-state of the toggle.\n *\n * Can be used to control the state of the component.\n */ pressed?: boolean;\n /**\n * Callback for when the toggle's state is changed.\n *\n * Can be used to control the state of the component.\n *\n * if a `@value` is passed to this `<Toggle>`, that @value will\n * be passed to the `@onChange` handler.\n *\n * This can be useful when using the same function for the `@onChange`\n * handler with multiple `<Toggle>` components.\n */ onChange?: (value: Value | undefined, pressed: boolean) => void;\n /**\n * When used in a group of Toggles, this option will be helpful to\n * know which toggle was pressed if you're using the same @onChange\n * handler for multiple toggles.\n */ value?: Value;\n /**\n * When controlling state in a wrapping component, this function can be used in conjunction with `@value` to determine if this `<Toggle>` should appear pressed.\n */ isPressed?: (value?: Value | undefined) => boolean;\n };\n Blocks: {\n default: [/**\n * the current pressed state of the toggle button\n *\n * Useful when using the toggle button as an uncontrolled component\n */ pressed: boolean];\n };\n}\nfunction isPressed(pressed1?: boolean, value1?: unknown, isPressed1?: (value?: unknown) => boolean): boolean {\n if (!value1) return Boolean(pressed1);\n if (!isPressed1) return Boolean(pressed1);\n return isPressed1(value1);\n}\nexport const Toggle: TOC<Signature> = template(`\n {{#let (cell (isPressed @pressed @value @isPressed)) as |pressed|}}\n <button\n type=\"button\"\n aria-pressed=\"{{pressed.current}}\"\n {{on \"click\" (fn toggleWithFallback pressed.toggle @onChange @value)}}\n ...attributes\n >\n {{yield pressed.current}}\n </button>\n {{/let}}\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default Toggle;\n//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
{"version":3,"file":"toggle.js","sources":["../../src/components/toggle.gts"],"sourcesContent":["// import Component from '@glimmer/component';\nimport { template } from \"@ember/template-compiler\";\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { cell } from 'ember-resources';\nimport { toggleWithFallback } from './-private/utils.ts';\nimport type { TOC } from '@ember/component/template-only';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface Signature<Value = any> {\n Element: HTMLButtonElement;\n Args: {\n /**\n * The pressed-state of the toggle.\n *\n * Can be used to control the state of the component.\n */ pressed?: boolean;\n /**\n * Callback for when the toggle's state is changed.\n *\n * Can be used to control the state of the component.\n *\n * if a `@value` is passed to this `<Toggle>`, that @value will\n * be passed to the `@onChange` handler.\n *\n * This can be useful when using the same function for the `@onChange`\n * handler with multiple `<Toggle>` components.\n */ onChange?: (value: Value | undefined, pressed: boolean) => void;\n /**\n * When used in a group of Toggles, this option will be helpful to\n * know which toggle was pressed if you're using the same @onChange\n * handler for multiple toggles.\n */ value?: Value;\n /**\n * When controlling state in a wrapping component, this function can be used in conjunction with `@value` to determine if this `<Toggle>` should appear pressed.\n */ isPressed?: (value?: Value | undefined) => boolean;\n };\n Blocks: {\n default: [/**\n * the current pressed state of the toggle button\n *\n * Useful when using the toggle button as an uncontrolled component\n */ pressed: boolean];\n };\n}\nfunction isPressed(pressed1?: boolean, value1?: unknown, isPressed1?: (value?: unknown) => boolean): boolean {\n if (!value1) return Boolean(pressed1);\n if (!isPressed1) return Boolean(pressed1);\n return isPressed1(value1);\n}\nexport const Toggle: TOC<Signature> = template(`\n {{#let (cell (isPressed @pressed @value @isPressed)) as |pressed|}}\n <button\n type=\"button\"\n aria-pressed=\"{{pressed.current}}\"\n {{on \"click\" (fn toggleWithFallback pressed.toggle @onChange @value)}}\n ...attributes\n >\n {{yield pressed.current}}\n </button>\n {{/let}}\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default Toggle;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL252cC9EZXZlbG9wbWVudC9OdWxsVm94UG9wdWxpL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9zcmMvY29tcG9uZW50cy90b2dnbGUuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IGZuIH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5pbXBvcnQgeyBvbiB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XG5cbmltcG9ydCB7IGNlbGwgfSBmcm9tICdlbWJlci1yZXNvdXJjZXMnO1xuXG5pbXBvcnQgeyB0b2dnbGVXaXRoRmFsbGJhY2sgfSBmcm9tICcuLy1wcml2YXRlL3V0aWxzLnRzJztcblxuaW1wb3J0IHR5cGUgeyBUT0MgfSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGludGVyZmFjZSBTaWduYXR1cmU8VmFsdWUgPSBhbnk-IHtcbiAgRWxlbWVudDogSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gIEFyZ3M6IHtcbiAgICAvKipcbiAgICAgKiBUaGUgcHJlc3NlZC1zdGF0ZSBvZiB0aGUgdG9nZ2xlLlxuICAgICAqXG4gICAgICogQ2FuIGJlIHVzZWQgdG8gY29udHJvbCB0aGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBwcmVzc2VkPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayBmb3Igd2hlbiB0aGUgdG9nZ2xlJ3Mgc3RhdGUgaXMgY2hhbmdlZC5cbiAgICAgKlxuICAgICAqIENhbiBiZSB1c2VkIHRvIGNvbnRyb2wgdGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICpcbiAgICAgKiBpZiBhIGBAdmFsdWVgIGlzIHBhc3NlZCB0byB0aGlzIGA8VG9nZ2xlPmAsIHRoYXQgQHZhbHVlIHdpbGxcbiAgICAgKiBiZSBwYXNzZWQgdG8gdGhlIGBAb25DaGFuZ2VgIGhhbmRsZXIuXG4gICAgICpcbiAgICAgKiBUaGlzIGNhbiBiZSB1c2VmdWwgd2hlbiB1c2luZyB0aGUgc2FtZSBmdW5jdGlvbiBmb3IgdGhlIGBAb25DaGFuZ2VgXG4gICAgICogaGFuZGxlciB3aXRoIG11bHRpcGxlIGA8VG9nZ2xlPmAgY29tcG9uZW50cy5cbiAgICAgKi9cbiAgICBvbkNoYW5nZT86ICh2YWx1ZTogVmFsdWUgfCB1bmRlZmluZWQsIHByZXNzZWQ6IGJvb2xlYW4pID0-IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHVzZWQgaW4gYSBncm91cCBvZiBUb2dnbGVzLCB0aGlzIG9wdGlvbiB3aWxsIGJlIGhlbHBmdWwgdG9cbiAgICAgKiBrbm93IHdoaWNoIHRvZ2dsZSB3YXMgcHJlc3NlZCBpZiB5b3UncmUgdXNpbmcgdGhlIHNhbWUgQG9uQ2hhbmdlXG4gICAgICogaGFuZGxlciBmb3IgbXVsdGlwbGUgdG9nZ2xlcy5cbiAgICAgKi9cbiAgICB2YWx1ZT86IFZhbHVlO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBjb250cm9sbGluZyBzdGF0ZSBpbiBhIHdyYXBwaW5nIGNvbXBvbmVudCwgdGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGBAdmFsdWVgIHRvIGRldGVybWluZSBpZiB0aGlzIGA8VG9nZ2xlPmAgc2hvdWxkIGFwcGVhciBwcmVzc2VkLlxuICAgICAqL1xuICAgIGlzUHJlc3NlZD86ICh2YWx1ZT86IFZhbHVlIHwgdW5kZWZpbmVkKSA9PiBib29sZWFuO1xuICB9O1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbXG4gICAgICAvKipcbiAgICAgICAqIHRoZSBjdXJyZW50IHByZXNzZWQgc3RhdGUgb2YgdGhlIHRvZ2dsZSBidXR0b25cbiAgICAgICAqXG4gICAgICAgKiBVc2VmdWwgd2hlbiB1c2luZyB0aGUgdG9nZ2xlIGJ1dHRvbiBhcyBhbiB1bmNvbnRyb2xsZWQgY29tcG9uZW50XG4gICAgICAgKi9cbiAgICAgIHByZXNzZWQ6IGJvb2xlYW4sXG4gICAgXTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNQcmVzc2VkKFxuICBwcmVzc2VkPzogYm9vbGVhbixcbiAgdmFsdWU_OiB1bmtub3duLFxuICBpc1ByZXNzZWQ_OiAodmFsdWU_OiB1bmtub3duKSA9PiBib29sZWFuXG4pOiBib29sZWFuIHtcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuIEJvb2xlYW4ocHJlc3NlZCk7XG4gIGlmICghaXNQcmVzc2VkKSByZXR1cm4gQm9vbGVhbihwcmVzc2VkKTtcblxuICByZXR1cm4gaXNQcmVzc2VkKHZhbHVlKTtcbn1cblxuZXhwb3J0IGNvbnN0IFRvZ2dsZTogVE9DPFNpZ25hdHVyZT4gPSA8dGVtcGxhdGU-XG4gIHt7I2xldCAoY2VsbCAoaXNQcmVzc2VkIEBwcmVzc2VkIEB2YWx1ZSBAaXNQcmVzc2VkKSkgYXMgfHByZXNzZWR8fX1cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGFyaWEtcHJlc3NlZD1cInt7cHJlc3NlZC5jdXJyZW50fX1cIlxuICAgICAge3tvbiBcImNsaWNrXCIgKGZuIHRvZ2dsZVdpdGhGYWxsYmFjayBwcmVzc2VkLnRvZ2dsZSBAb25DaGFuZ2UgQHZhbHVlKX19XG4gICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgPlxuICAgICAge3t5aWVsZCBwcmVzc2VkLmN1cnJlbnR9fVxuICAgIDwvYnV0dG9uPlxuICB7ey9sZXR9fVxuPC90ZW1wbGF0ZT47XG5cbmV4cG9ydCBkZWZhdWx0IFRvZ2dsZTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4Q0FBOEM7O0FBQzlDLFNBQVMsRUFBRSxRQUFRLGdCQUFnQjtBQUNuQyxTQUFTLEVBQUUsUUFBUSxrQkFBa0I7QUFFckMsU0FBUyxJQUFJLFFBQVEsa0JBQWtCO0FBRXZDLFNBQVMsa0JBQWtCLFFBQVEsc0JBQXNCO0FBRXpELGNBQWMsR0FBRyxRQUFRLGlDQUFpQztBQUUxRCw4REFBOEQ7QUFDOUQsaUJBQWlCLFVBQVUsUUFBUSxHQUFHO0lBQ3BDLFNBQVM7SUFDVDtRQUNFOzs7O0tBSUMsR0FDRCxVQUFVLE9BQU87UUFDakI7Ozs7Ozs7Ozs7S0FVQyxHQUNELFlBQVksT0FBTyxRQUFRLFNBQVMsRUFBRSxTQUFTLE9BQU8sS0FBSyxJQUFJO1FBRS9EOzs7O0tBSUMsR0FDRCxRQUFRO1FBRVI7O0tBRUMsR0FDRCxhQUFhLFFBQVEsUUFBUSxTQUFTLEtBQUssT0FBTzs7SUFFcEQ7UUFDRSxVQUNFOzs7O09BSUMsR0FDRCxTQUFTLE9BQU87OztBQUt0QixTQUFTLFVBQ1AsV0FBVSxPQUFPLEVBQ2pCLFNBQVEsT0FBTyxFQUNmLGNBQWEsUUFBUSxPQUFPLEtBQUssT0FBTyxHQUN2QyxPQUFPO0lBQ1IsSUFBSSxDQUFDLFFBQU8sT0FBTyxRQUFRO0lBQzNCLElBQUksQ0FBQyxZQUFXLE9BQU8sUUFBUTtJQUUvQixPQUFPLFdBQVU7QUFDbkI7QUFFQSxPQUFPLE1BQU0sUUFBUSxJQUFJLGFBQWEsU0FBVSxDQUFBOzs7Ozs7Ozs7OztBQVdoRCxDQUFBLEVBQUE7SUFBQTtRQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztJQUFEO0FBQUEsR0FBRTtBQUVaLGVBQWUsT0FBTyJ9"],"names":["isPressed","pressed1","value1","isPressed1","Boolean","Toggle","setComponentTemplate","precompileTemplate","strictMode","scope","cell","on","fn","toggleWithFallback","templateOnly"],"mappings":";;;;;;;;AAAA;;AAyDA,SAASA,UACPC,QAAiB,EACjBC,MAAe,EACfC,UAAwC,EAChC;AACR,EAAA,IAAI,CAACD,MAAA,EAAO,OAAOE,OAAA,CAAQH,QAAA,CAAA,CAAA;AAC3B,EAAA,IAAI,CAACE,UAAA,EAAW,OAAOC,OAAA,CAAQH,QAAA,CAAA,CAAA;EAE/B,OAAOE,UAAA,CAAUD,MAAA,CAAA,CAAA;AACnB,CAAA;MAEaG,MAAY,GAAAC,oBAAA,CAAaC,kBAAA,CAWtC,iSAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,IAAA;IAAAV,SAAA;IAAAW,EAAA;IAAAC,EAAA;AAAAC,IAAAA,kBAAAA;AAAA,GAAA,CAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../src/floating-ui/component.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { modifier as eModifier } from 'ember-modifier';\nimport VelcroModifier from './modifier.ts';\nimport type { Signature as ModifierSignature } from './modifier.ts';\nimport type { MiddlewareState } from '@floating-ui/dom';\nimport type { WithBoundArgs, WithBoundPositionals } from '@glint/template';\nimport type { ModifierLike } from '@glint/template';\ntype ModifierArgs = ModifierSignature['Args']['Named'];\ninterface HookSignature {\n Element: HTMLElement | SVGElement;\n}\nexport interface Signature {\n Args: {\n middleware?: ModifierArgs['middleware'];\n placement?: ModifierArgs['placement'];\n strategy?: ModifierArgs['strategy'];\n flipOptions?: ModifierArgs['flipOptions'];\n hideOptions?: ModifierArgs['hideOptions'];\n shiftOptions?: ModifierArgs['shiftOptions'];\n offsetOptions?: ModifierArgs['offsetOptions'];\n };\n Blocks: {\n default: [velcro: {\n hook: ModifierLike<HookSignature>;\n setHook: (element: HTMLElement | SVGElement) => void;\n loop?: WithBoundArgs<WithBoundPositionals<typeof VelcroModifier, 1>, keyof ModifierArgs>;\n data?: MiddlewareState;\n }];\n };\n}\nconst ref = eModifier<{\n Element: HTMLElement | SVGElement;\n Args: {\n Positional: [setRef: (element: HTMLElement | SVGElement) => void];\n };\n}>((element1: HTMLElement | SVGElement, positional1)=>{\n let fn1 = positional1[0];\n fn1(element1);\n});\nexport default class Velcro extends Component<Signature> {\n @tracked\n hook?: HTMLElement | SVGElement = undefined;\n // set by VelcroModifier\n @tracked\n velcroData?: MiddlewareState = undefined;\n setVelcroData: ModifierArgs['setVelcroData'] = (data1)=>(this.velcroData = data1);\n setHook = (element1: HTMLElement | SVGElement)=>{\n this.hook = element1;\n };\n static{\n template(`\n {{#let\n (modifier\n VelcroModifier\n flipOptions=@flipOptions\n hideOptions=@hideOptions\n middleware=@middleware\n offsetOptions=@offsetOptions\n placement=@placement\n shiftOptions=@shiftOptions\n strategy=@strategy\n setVelcroData=this.setVelcroData\n )\n as |loop|\n }}\n {{#let (if this.hook (modifier loop this.hook)) as |loopWithHook|}}\n {{! @glint-nocheck -- Excessively deep, possibly infinite }}\n {{yield\n (hash\n hook=(modifier ref this.setHook)\n setHook=this.setHook\n loop=loopWithHook\n data=this.velcroData\n )\n }}\n {{/let}}\n {{/let}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../src/floating-ui/component.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { modifier as eModifier } from 'ember-modifier';\nimport VelcroModifier from './modifier.ts';\nimport type { Signature as ModifierSignature } from './modifier.ts';\nimport type { MiddlewareState } from '@floating-ui/dom';\nimport type { WithBoundArgs, WithBoundPositionals } from '@glint/template';\nimport type { ModifierLike } from '@glint/template';\ntype ModifierArgs = ModifierSignature['Args']['Named'];\ninterface HookSignature {\n Element: HTMLElement | SVGElement;\n}\nexport interface Signature {\n Args: {\n middleware?: ModifierArgs['middleware'];\n placement?: ModifierArgs['placement'];\n strategy?: ModifierArgs['strategy'];\n flipOptions?: ModifierArgs['flipOptions'];\n hideOptions?: ModifierArgs['hideOptions'];\n shiftOptions?: ModifierArgs['shiftOptions'];\n offsetOptions?: ModifierArgs['offsetOptions'];\n };\n Blocks: {\n default: [velcro: {\n hook: ModifierLike<HookSignature>;\n setHook: (element: HTMLElement | SVGElement) => void;\n loop?: WithBoundArgs<WithBoundPositionals<typeof VelcroModifier, 1>, keyof ModifierArgs>;\n data?: MiddlewareState;\n }];\n };\n}\nconst ref = eModifier<{\n Element: HTMLElement | SVGElement;\n Args: {\n Positional: [setRef: (element: HTMLElement | SVGElement) => void];\n };\n}>((element1: HTMLElement | SVGElement, positional1)=>{\n let fn1 = positional1[0];\n fn1(element1);\n});\nexport default class Velcro extends Component<Signature> {\n @tracked\n hook?: HTMLElement | SVGElement = undefined;\n // set by VelcroModifier\n @tracked\n velcroData?: MiddlewareState = undefined;\n setVelcroData: ModifierArgs['setVelcroData'] = (data1)=>(this.velcroData = data1);\n setHook = (element1: HTMLElement | SVGElement)=>{\n this.hook = element1;\n };\n static{\n template(`\n {{#let\n (modifier\n VelcroModifier\n flipOptions=@flipOptions\n hideOptions=@hideOptions\n middleware=@middleware\n offsetOptions=@offsetOptions\n placement=@placement\n shiftOptions=@shiftOptions\n strategy=@strategy\n setVelcroData=this.setVelcroData\n )\n as |loop|\n }}\n {{#let (if this.hook (modifier loop this.hook)) as |loopWithHook|}}\n {{! @glint-nocheck -- Excessively deep, possibly infinite }}\n {{yield\n (hash\n hook=(modifier ref this.setHook)\n setHook=this.setHook\n loop=loopWithHook\n data=this.velcroData\n )\n }}\n {{/let}}\n {{/let}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL252cC9EZXZlbG9wbWVudC9OdWxsVm94UG9wdWxpL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9zcmMvZmxvYXRpbmctdWkvY29tcG9uZW50Lmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyB0cmFja2VkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuaW1wb3J0IHsgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuXG5pbXBvcnQgeyBtb2RpZmllciBhcyBlTW9kaWZpZXIgfSBmcm9tICdlbWJlci1tb2RpZmllcic7XG5cbmltcG9ydCBWZWxjcm9Nb2RpZmllciBmcm9tICcuL21vZGlmaWVyLnRzJztcblxuaW1wb3J0IHR5cGUgeyBTaWduYXR1cmUgYXMgTW9kaWZpZXJTaWduYXR1cmUgfSBmcm9tICcuL21vZGlmaWVyLnRzJztcbmltcG9ydCB0eXBlIHsgTWlkZGxld2FyZVN0YXRlIH0gZnJvbSAnQGZsb2F0aW5nLXVpL2RvbSc7XG5pbXBvcnQgdHlwZSB7IFdpdGhCb3VuZEFyZ3MsIFdpdGhCb3VuZFBvc2l0aW9uYWxzIH0gZnJvbSAnQGdsaW50L3RlbXBsYXRlJztcbmltcG9ydCB0eXBlIHsgTW9kaWZpZXJMaWtlIH0gZnJvbSAnQGdsaW50L3RlbXBsYXRlJztcblxudHlwZSBNb2RpZmllckFyZ3MgPSBNb2RpZmllclNpZ25hdHVyZVsnQXJncyddWydOYW1lZCddO1xuXG5pbnRlcmZhY2UgSG9va1NpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduYXR1cmUge1xuICBBcmdzOiB7XG4gICAgbWlkZGxld2FyZT86IE1vZGlmaWVyQXJnc1snbWlkZGxld2FyZSddO1xuICAgIHBsYWNlbWVudD86IE1vZGlmaWVyQXJnc1sncGxhY2VtZW50J107XG4gICAgc3RyYXRlZ3k_OiBNb2RpZmllckFyZ3NbJ3N0cmF0ZWd5J107XG4gICAgZmxpcE9wdGlvbnM_OiBNb2RpZmllckFyZ3NbJ2ZsaXBPcHRpb25zJ107XG4gICAgaGlkZU9wdGlvbnM_OiBNb2RpZmllckFyZ3NbJ2hpZGVPcHRpb25zJ107XG4gICAgc2hpZnRPcHRpb25zPzogTW9kaWZpZXJBcmdzWydzaGlmdE9wdGlvbnMnXTtcbiAgICBvZmZzZXRPcHRpb25zPzogTW9kaWZpZXJBcmdzWydvZmZzZXRPcHRpb25zJ107XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtcbiAgICAgIHZlbGNybzoge1xuICAgICAgICBob29rOiBNb2RpZmllckxpa2U8SG9va1NpZ25hdHVyZT47XG4gICAgICAgIHNldEhvb2s6IChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpID0-IHZvaWQ7XG4gICAgICAgIGxvb3A_OiBXaXRoQm91bmRBcmdzPFdpdGhCb3VuZFBvc2l0aW9uYWxzPHR5cGVvZiBWZWxjcm9Nb2RpZmllciwgMT4sIGtleW9mIE1vZGlmaWVyQXJncz47XG4gICAgICAgIGRhdGE_OiBNaWRkbGV3YXJlU3RhdGU7XG4gICAgICB9LFxuICAgIF07XG4gIH07XG59XG5cbmNvbnN0IHJlZiA9IGVNb2RpZmllcjx7XG4gIEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcbiAgQXJnczoge1xuICAgIFBvc2l0aW9uYWw6IFtzZXRSZWY6IChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpID0-IHZvaWRdO1xuICB9O1xufT4oKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCwgcG9zaXRpb25hbCkgPT4ge1xuICBsZXQgZm4gPSBwb3NpdGlvbmFsWzBdO1xuXG4gIGZuKGVsZW1lbnQpO1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbGNybyBleHRlbmRzIENvbXBvbmVudDxTaWduYXR1cmU-IHtcbiAgQHRyYWNrZWQgaG9vaz86IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCA9IHVuZGVmaW5lZDtcblxuICAvLyBzZXQgYnkgVmVsY3JvTW9kaWZpZXJcbiAgQHRyYWNrZWQgdmVsY3JvRGF0YT86IE1pZGRsZXdhcmVTdGF0ZSA9IHVuZGVmaW5lZDtcblxuICBzZXRWZWxjcm9EYXRhOiBNb2RpZmllckFyZ3NbJ3NldFZlbGNyb0RhdGEnXSA9IChkYXRhKSA9PiAodGhpcy52ZWxjcm9EYXRhID0gZGF0YSk7XG5cbiAgc2V0SG9vayA9IChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpID0-IHtcbiAgICB0aGlzLmhvb2sgPSBlbGVtZW50O1xuICB9O1xuXG4gIDx0ZW1wbGF0ZT5cbiAgICB7eyNsZXRcbiAgICAgIChtb2RpZmllclxuICAgICAgICBWZWxjcm9Nb2RpZmllclxuICAgICAgICBmbGlwT3B0aW9ucz1AZmxpcE9wdGlvbnNcbiAgICAgICAgaGlkZU9wdGlvbnM9QGhpZGVPcHRpb25zXG4gICAgICAgIG1pZGRsZXdhcmU9QG1pZGRsZXdhcmVcbiAgICAgICAgb2Zmc2V0T3B0aW9ucz1Ab2Zmc2V0T3B0aW9uc1xuICAgICAgICBwbGFjZW1lbnQ9QHBsYWNlbWVudFxuICAgICAgICBzaGlmdE9wdGlvbnM9QHNoaWZ0T3B0aW9uc1xuICAgICAgICBzdHJhdGVneT1Ac3RyYXRlZ3lcbiAgICAgICAgc2V0VmVsY3JvRGF0YT10aGlzLnNldFZlbGNyb0RhdGFcbiAgICAgIClcbiAgICAgIGFzIHxsb29wfFxuICAgIH19XG4gICAgICB7eyNsZXQgKGlmIHRoaXMuaG9vayAobW9kaWZpZXIgbG9vcCB0aGlzLmhvb2spKSBhcyB8bG9vcFdpdGhIb29rfH19XG4gICAgICAgIHt7ISBAZ2xpbnQtbm9jaGVjayAtLSBFeGNlc3NpdmVseSBkZWVwLCBwb3NzaWJseSBpbmZpbml0ZSB9fVxuICAgICAgICB7e3lpZWxkXG4gICAgICAgICAgKGhhc2hcbiAgICAgICAgICAgIGhvb2s9KG1vZGlmaWVyIHJlZiB0aGlzLnNldEhvb2spXG4gICAgICAgICAgICBzZXRIb29rPXRoaXMuc2V0SG9va1xuICAgICAgICAgICAgbG9vcD1sb29wV2l0aEhvb2tcbiAgICAgICAgICAgIGRhdGE9dGhpcy52ZWxjcm9EYXRhXG4gICAgICAgICAgKVxuICAgICAgICB9fVxuICAgICAge3svbGV0fX1cbiAgICB7ey9sZXR9fVxuICA8L3RlbXBsYXRlPlxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLFNBQVMsT0FBTyxRQUFRLG9CQUFvQjtBQUM1QyxTQUFTLElBQUksUUFBUSxnQkFBZ0I7QUFFckMsU0FBUyxZQUFZLFNBQVMsUUFBUSxpQkFBaUI7QUFFdkQsT0FBTyxvQkFBb0IsZ0JBQWdCO0FBRTNDLGNBQWMsYUFBYSxpQkFBaUIsUUFBUSxnQkFBZ0I7QUFDcEUsY0FBYyxlQUFlLFFBQVEsbUJBQW1CO0FBQ3hELGNBQWMsYUFBYSxFQUFFLG9CQUFvQixRQUFRLGtCQUFrQjtBQUMzRSxjQUFjLFlBQVksUUFBUSxrQkFBa0I7S0FFL0MsZUFBZSxrQkFBa0IsUUFBUTtVQUVwQztJQUNSLFNBQVMsY0FBYzs7QUFHekIsaUJBQWlCO0lBQ2Y7UUFDRSxhQUFhLGFBQWE7UUFDMUIsWUFBWSxhQUFhO1FBQ3pCLFdBQVcsYUFBYTtRQUN4QixjQUFjLGFBQWE7UUFDM0IsY0FBYyxhQUFhO1FBQzNCLGVBQWUsYUFBYTtRQUM1QixnQkFBZ0IsYUFBYTs7SUFFL0I7UUFDRSxVQUNFO2dCQUNFLE1BQU0sYUFBYTtnQkFDbkIsVUFBVSxTQUFTLGNBQWMsZUFBZSxJQUFJO2dCQUNwRCxPQUFPLGNBQWMsNEJBQTRCLGdCQUFnQixVQUFVO2dCQUMzRSxPQUFPOzs7O0FBTWYsTUFBTSxNQUFNO0lBQ1YsU0FBUyxjQUFjO0lBQ3ZCO1FBQ0UsYUFBYSxTQUFTLFNBQVMsY0FBYyxlQUFlLElBQUk7O0dBRWpFLENBQUMsVUFBUyxjQUFjLFlBQVk7SUFDckMsSUFBSSxNQUFLLFdBQVUsQ0FBQyxFQUFFO0lBRXRCLElBQUc7QUFDTDtBQUVBLGVBQWUsTUFBTSxlQUFlLFVBQVU7SUFDNUMsQ0FBQztJQUFRLE9BQU8sY0FBYyxhQUFhLFVBQVU7SUFFckQsd0JBQXdCO0lBQ3hCLENBQUM7SUFBUSxhQUFhLGtCQUFrQixVQUFVO0lBRWxELGVBQWUsYUFBYSxtQkFBbUIsQ0FBQyxRQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFJLEVBQUU7SUFFbEYsVUFBVSxDQUFDLFVBQVMsY0FBYztRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHO0lBQ2QsRUFBRTtJQUVGLE1BQUE7UUFBQSxTQUFVLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTJCVixDQUFBLEVBQUE7WUFBQSxXQUFBLElBQVc7WUFBWDtnQkFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7WUFBRDtRQUFBO0lBQUEsQ0EzQkE7QUE0QloifQ"],"names":["ref","eModifier","element1","positional1","fn1","Velcro","Component","g","this","prototype","tracked","undefined","i","void 0","setVelcroData","data1","velcroData","setHook","hook","setComponentTemplate","precompileTemplate","strictMode","scope","VelcroModifier","hash"],"mappings":";;;;;;;;;AAyCA,MAAMA,GAAA,GAAMC,QAAA,CAKT,CAACC,QAAuB,EAAYC,WAAA,KAAA;AACrC,EAAA,IAAIC,GAAA,GAAKD,WAAU,CAAC,CAAE,CAAA,CAAA;AAEtBC,EAAAA,GAAA,CAAGF,QAAA,CAAA,CAAA;AACL,CAAA,CAAA,CAAA;AAEe,MAAMG,MAAA,SAAeC,SAAA,CAAU;AAAA,EAAA;AAAAC,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,WAC3CC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAA0CC,SAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,KAAA,IAAAC,CAAA,CAAAJ,IAAA,WAAAK,KAAA,CAAA,EAAA;AAAA,EAAA;AAAAN,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,iBAG1CC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAuCC,SAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,WAAA,IAAAC,CAAA,CAAAJ,IAAA,EAAA,YAAA,CAAA,EAAAK,MAAA,EADxC;AAGAC,EAAAA,aAAA,GAAgDC,KAAA,IAAU,IAAI,CAACC,UAAU,GAAGD,KAAI,CAAA;AAEhFE,EAAAA,OAAA,GAAWf,QAAuB,IAAA;IAChC,IAAI,CAACgB,IAAI,GAAGhB,QAAA,CAAA;AACd,GAAA,CAAA;AAEA,EAAA;IAAAiB,oBAAA,CAAAC,kBAAA,CA2BA,4iBAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,cAAA;QAAAC,IAAA;AAAAxB,QAAAA,GAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modifier.js","sources":["../../src/floating-ui/modifier.ts"],"sourcesContent":["import { assert } from '@ember/debug';\nimport { registerDestructor } from '@ember/destroyable';\n\nimport { autoUpdate, computePosition, flip, hide, offset, shift } from '@floating-ui/dom';\nimport Modifier from 'ember-modifier';\n\nimport { velcroData } from './middleware.ts';\n\nimport type {\n FlipOptions,\n HideOptions,\n Middleware,\n OffsetOptions,\n Placement,\n ShiftOptions,\n Strategy,\n} from '@floating-ui/dom';\n\nexport interface Signature {\n Element: HTMLElement;\n Args: {\n Positional: [referenceElement: string | HTMLElement | SVGElement];\n Named: {\n strategy?: Strategy;\n offsetOptions?: OffsetOptions;\n placement?: Placement;\n flipOptions?: FlipOptions;\n shiftOptions?: ShiftOptions;\n hideOptions?: HideOptions;\n middleware?: Middleware[];\n setVelcroData?: Middleware['fn'];\n };\n };\n}\n\nexport default class VelcroModifier extends Modifier<Signature> {\n modify(\n floatingElement: Signature['Element'],\n [_referenceElement]: Signature['Args']['Positional'],\n {\n strategy = 'fixed',\n offsetOptions = 0,\n placement = 'bottom',\n flipOptions,\n shiftOptions,\n middleware = [],\n setVelcroData,\n }: Signature['Args']['Named']\n ) {\n const referenceElement: null | HTMLElement | SVGElement =\n typeof _referenceElement === 'string'\n ? document.querySelector(_referenceElement)\n : _referenceElement;\n\n assert(\n 'no reference element defined',\n referenceElement instanceof HTMLElement || referenceElement instanceof SVGElement\n );\n\n assert(\n 'no floating element defined',\n floatingElement instanceof HTMLElement || _referenceElement instanceof SVGElement\n );\n\n assert(\n 'reference and floating elements cannot be the same element',\n floatingElement !== _referenceElement\n );\n\n assert('@middleware must be an array of one or more objects', Array.isArray(middleware));\n\n Object.assign(floatingElement.style, {\n position: strategy,\n top: '0',\n left: '0',\n });\n\n let update = async () => {\n let { middlewareData, x, y } = await computePosition(referenceElement, floatingElement, {\n middleware: [\n offset(offsetOptions),\n flip(flipOptions),\n shift(shiftOptions),\n ...middleware,\n hide({ strategy: 'referenceHidden' }),\n hide({ strategy: 'escaped' }),\n velcroData(),\n ],\n placement,\n strategy,\n });\n\n let referenceHidden = middlewareData.hide?.referenceHidden;\n\n Object.assign(floatingElement.style, {\n top: `${y}px`,\n left: `${x}px`,\n margin: 0,\n visibility: referenceHidden ? 'hidden' : 'visible',\n });\n\n setVelcroData?.(middlewareData['metadata']);\n };\n\n update();\n\n let cleanup = autoUpdate(referenceElement, floatingElement, update);\n\n registerDestructor(this, cleanup);\n }\n}\n"],"names":["VelcroModifier","Modifier","modify","floatingElement","_referenceElement","strategy","offsetOptions","placement","flipOptions","shiftOptions","middleware","setVelcroData","referenceElement","document","querySelector","assert","HTMLElement","SVGElement","Array","isArray","Object","assign","style","position","top","left","update","middlewareData","x","y","computePosition","offset","flip","shift","hide","velcroData","referenceHidden","margin","visibility","cleanup","autoUpdate","registerDestructor"],"mappings":";;;;;;AAmCe,MAAMA,cAAc,SAASC,QAAQ,CAAY;AAC9DC,EAAAA,MAAMA,CACJC,eAAqC,EACrC,CAACC,iBAAiB,CAAkC,EACpD;AACEC,IAAAA,QAAQ,GAAG,OAAO;AAClBC,IAAAA,aAAa,GAAG,CAAC;AACjBC,IAAAA,SAAS,GAAG,QAAQ;IACpBC,WAAW;IACXC,YAAY;AACZC,IAAAA,UAAU,GAAG,EAAE;AACfC,IAAAA,aAAAA;AAC0B,GAAC,EAC7B;AACA,IAAA,MAAMC,gBAAiD,GACrD,OAAOR,iBAAiB,KAAK,QAAQ,GACjCS,QAAQ,CAACC,aAAa,CAACV,iBAAiB,CAAC,GACzCA,iBAAiB,CAAA;IAEvBW,MAAM,CACJ,8BAA8B,EAC9BH,gBAAgB,YAAYI,WAAW,IAAIJ,gBAAgB,YAAYK,UACzE,CAAC,CAAA;IAEDF,MAAM,CACJ,6BAA6B,EAC7BZ,eAAe,YAAYa,WAAW,IAAIZ,iBAAiB,YAAYa,UACzE,CAAC,CAAA;AAEDF,IAAAA,MAAM,CACJ,4DAA4D,EAC5DZ,eAAe,KAAKC,iBACtB,CAAC,CAAA;IAEDW,MAAM,CAAC,qDAAqD,EAAEG,KAAK,CAACC,OAAO,CAACT,UAAU,CAAC,CAAC,CAAA;AAExFU,IAAAA,MAAM,CAACC,MAAM,CAAClB,eAAe,CAACmB,KAAK,EAAE;AACnCC,MAAAA,QAAQ,EAAElB,QAAQ;AAClBmB,MAAAA,GAAG,EAAE,GAAG;AACRC,MAAAA,IAAI,EAAE,GAAA;AACR,KAAC,CAAC,CAAA;AAEF,IAAA,IAAIC,MAAM,GAAG,YAAY;MACvB,IAAI;QAAEC,cAAc;QAAEC,CAAC;AAAEC,QAAAA,CAAAA;AAAE,OAAC,GAAG,MAAMC,eAAe,CAAClB,gBAAgB,EAAET,eAAe,EAAE;QACtFO,UAAU,EAAE,CACVqB,MAAM,CAACzB,aAAa,CAAC,EACrB0B,IAAI,CAACxB,WAAW,CAAC,EACjByB,KAAK,CAACxB,YAAY,CAAC,EACnB,GAAGC,UAAU,EACbwB,IAAI,CAAC;AAAE7B,UAAAA,QAAQ,EAAE,iBAAA;SAAmB,CAAC,EACrC6B,IAAI,CAAC;AAAE7B,UAAAA,QAAQ,EAAE,SAAA;AAAU,SAAC,CAAC,EAC7B8B,UAAU,EAAE,CACb;QACD5B,SAAS;AACTF,QAAAA,QAAAA;AACF,OAAC,CAAC,CAAA;AAEF,MAAA,IAAI+B,eAAe,GAAGT,cAAc,CAACO,IAAI,EAAEE,eAAe,CAAA;AAE1DhB,MAAAA,MAAM,CAACC,MAAM,CAAClB,eAAe,CAACmB,KAAK,EAAE;QACnCE,GAAG,
|
|
1
|
+
{"version":3,"file":"modifier.js","sources":["../../src/floating-ui/modifier.ts"],"sourcesContent":["import { assert } from '@ember/debug';\nimport { registerDestructor } from '@ember/destroyable';\n\nimport { autoUpdate, computePosition, flip, hide, offset, shift } from '@floating-ui/dom';\nimport Modifier from 'ember-modifier';\n\nimport { velcroData } from './middleware.ts';\n\nimport type {\n FlipOptions,\n HideOptions,\n Middleware,\n OffsetOptions,\n Placement,\n ShiftOptions,\n Strategy,\n} from '@floating-ui/dom';\n\nexport interface Signature {\n Element: HTMLElement;\n Args: {\n Positional: [referenceElement: string | HTMLElement | SVGElement];\n Named: {\n strategy?: Strategy;\n offsetOptions?: OffsetOptions;\n placement?: Placement;\n flipOptions?: FlipOptions;\n shiftOptions?: ShiftOptions;\n hideOptions?: HideOptions;\n middleware?: Middleware[];\n setVelcroData?: Middleware['fn'];\n };\n };\n}\n\nexport default class VelcroModifier extends Modifier<Signature> {\n modify(\n floatingElement: Signature['Element'],\n [_referenceElement]: Signature['Args']['Positional'],\n {\n strategy = 'fixed',\n offsetOptions = 0,\n placement = 'bottom',\n flipOptions,\n shiftOptions,\n middleware = [],\n setVelcroData,\n }: Signature['Args']['Named']\n ) {\n const referenceElement: null | HTMLElement | SVGElement =\n typeof _referenceElement === 'string'\n ? document.querySelector(_referenceElement)\n : _referenceElement;\n\n assert(\n 'no reference element defined',\n referenceElement instanceof HTMLElement || referenceElement instanceof SVGElement\n );\n\n assert(\n 'no floating element defined',\n floatingElement instanceof HTMLElement || _referenceElement instanceof SVGElement\n );\n\n assert(\n 'reference and floating elements cannot be the same element',\n floatingElement !== _referenceElement\n );\n\n assert('@middleware must be an array of one or more objects', Array.isArray(middleware));\n\n Object.assign(floatingElement.style, {\n position: strategy,\n top: '0',\n left: '0',\n });\n\n let update = async () => {\n let { middlewareData, x, y } = await computePosition(referenceElement, floatingElement, {\n middleware: [\n offset(offsetOptions),\n flip(flipOptions),\n shift(shiftOptions),\n ...middleware,\n hide({ strategy: 'referenceHidden' }),\n hide({ strategy: 'escaped' }),\n velcroData(),\n ],\n placement,\n strategy,\n });\n\n let referenceHidden = middlewareData.hide?.referenceHidden;\n\n Object.assign(floatingElement.style, {\n top: `${y}px`,\n left: `${x}px`,\n margin: 0,\n visibility: referenceHidden ? 'hidden' : 'visible',\n });\n\n setVelcroData?.(middlewareData['metadata']);\n };\n\n update();\n\n let cleanup = autoUpdate(referenceElement, floatingElement, update);\n\n registerDestructor(this, cleanup);\n }\n}\n"],"names":["VelcroModifier","Modifier","modify","floatingElement","_referenceElement","strategy","offsetOptions","placement","flipOptions","shiftOptions","middleware","setVelcroData","referenceElement","document","querySelector","assert","HTMLElement","SVGElement","Array","isArray","Object","assign","style","position","top","left","update","middlewareData","x","y","computePosition","offset","flip","shift","hide","velcroData","referenceHidden","margin","visibility","cleanup","autoUpdate","registerDestructor"],"mappings":";;;;;;AAmCe,MAAMA,cAAc,SAASC,QAAQ,CAAY;AAC9DC,EAAAA,MAAMA,CACJC,eAAqC,EACrC,CAACC,iBAAiB,CAAkC,EACpD;AACEC,IAAAA,QAAQ,GAAG,OAAO;AAClBC,IAAAA,aAAa,GAAG,CAAC;AACjBC,IAAAA,SAAS,GAAG,QAAQ;IACpBC,WAAW;IACXC,YAAY;AACZC,IAAAA,UAAU,GAAG,EAAE;AACfC,IAAAA,aAAAA;AAC0B,GAAC,EAC7B;AACA,IAAA,MAAMC,gBAAiD,GACrD,OAAOR,iBAAiB,KAAK,QAAQ,GACjCS,QAAQ,CAACC,aAAa,CAACV,iBAAiB,CAAC,GACzCA,iBAAiB,CAAA;IAEvBW,MAAM,CACJ,8BAA8B,EAC9BH,gBAAgB,YAAYI,WAAW,IAAIJ,gBAAgB,YAAYK,UACzE,CAAC,CAAA;IAEDF,MAAM,CACJ,6BAA6B,EAC7BZ,eAAe,YAAYa,WAAW,IAAIZ,iBAAiB,YAAYa,UACzE,CAAC,CAAA;AAEDF,IAAAA,MAAM,CACJ,4DAA4D,EAC5DZ,eAAe,KAAKC,iBACtB,CAAC,CAAA;IAEDW,MAAM,CAAC,qDAAqD,EAAEG,KAAK,CAACC,OAAO,CAACT,UAAU,CAAC,CAAC,CAAA;AAExFU,IAAAA,MAAM,CAACC,MAAM,CAAClB,eAAe,CAACmB,KAAK,EAAE;AACnCC,MAAAA,QAAQ,EAAElB,QAAQ;AAClBmB,MAAAA,GAAG,EAAE,GAAG;AACRC,MAAAA,IAAI,EAAE,GAAA;AACR,KAAC,CAAC,CAAA;AAEF,IAAA,IAAIC,MAAM,GAAG,YAAY;MACvB,IAAI;QAAEC,cAAc;QAAEC,CAAC;AAAEC,QAAAA,CAAAA;AAAE,OAAC,GAAG,MAAMC,eAAe,CAAClB,gBAAgB,EAAET,eAAe,EAAE;QACtFO,UAAU,EAAE,CACVqB,MAAM,CAACzB,aAAa,CAAC,EACrB0B,IAAI,CAACxB,WAAW,CAAC,EACjByB,KAAK,CAACxB,YAAY,CAAC,EACnB,GAAGC,UAAU,EACbwB,IAAI,CAAC;AAAE7B,UAAAA,QAAQ,EAAE,iBAAA;SAAmB,CAAC,EACrC6B,IAAI,CAAC;AAAE7B,UAAAA,QAAQ,EAAE,SAAA;AAAU,SAAC,CAAC,EAC7B8B,UAAU,EAAE,CACb;QACD5B,SAAS;AACTF,QAAAA,QAAAA;AACF,OAAC,CAAC,CAAA;AAEF,MAAA,IAAI+B,eAAe,GAAGT,cAAc,CAACO,IAAI,EAAEE,eAAe,CAAA;AAE1DhB,MAAAA,MAAM,CAACC,MAAM,CAAClB,eAAe,CAACmB,KAAK,EAAE;QACnCE,GAAG,EAAE,CAAGK,EAAAA,CAAC,CAAI,EAAA,CAAA;QACbJ,IAAI,EAAE,CAAGG,EAAAA,CAAC,CAAI,EAAA,CAAA;AACdS,QAAAA,MAAM,EAAE,CAAC;AACTC,QAAAA,UAAU,EAAEF,eAAe,GAAG,QAAQ,GAAG,SAAA;AAC3C,OAAC,CAAC,CAAA;AAEFzB,MAAAA,aAAa,GAAGgB,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;KAC5C,CAAA;AAEDD,IAAAA,MAAM,EAAE,CAAA;IAER,IAAIa,OAAO,GAAGC,UAAU,CAAC5B,gBAAgB,EAAET,eAAe,EAAEuB,MAAM,CAAC,CAAA;AAEnEe,IAAAA,kBAAkB,CAAC,IAAI,EAAEF,OAAO,CAAC,CAAA;AACnC,GAAA;AACF;;;;"}
|
package/dist/helpers/link.js
CHANGED
package/dist/helpers/link.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sources":["../../src/helpers/link.ts"],"sourcesContent":["import Helper from '@ember/component/helper';\nimport { assert } from '@ember/debug';\nimport { service } from '@ember/service';\n\nimport { handle } from '../proper-links.ts';\n\nimport type RouterService from '@ember/routing/router-service';\n\nexport interface Signature {\n Args: {\n Positional: [href: string];\n Named: {\n includeActiveQueryParams?: boolean | string[];\n activeOnSubPaths?: boolean;\n };\n };\n Return: {\n isExternal: boolean;\n isActive: boolean;\n handleClick: (event: MouseEvent) => void;\n };\n}\n\nexport default class Link extends Helper<Signature> {\n @service declare router: RouterService;\n\n compute(\n [href]: [href: string],\n {\n includeActiveQueryParams = false,\n activeOnSubPaths = false,\n }: { includeActiveQueryParams?: boolean | string[]; activeOnSubPaths?: boolean }\n ) {\n assert('href was not passed in', href);\n\n const router = this.router;\n const handleClick = (event: MouseEvent) => {\n assert('[BUG]', event.target instanceof HTMLAnchorElement);\n\n handle(router, event.target, [], event);\n };\n\n return {\n isExternal: isExternal(href),\n get isActive() {\n return isActive(router, href, includeActiveQueryParams, activeOnSubPaths);\n },\n handleClick,\n };\n }\n}\n\nexport const link = Link;\n\
|
|
1
|
+
{"version":3,"file":"link.js","sources":["../../src/helpers/link.ts"],"sourcesContent":["import Helper from '@ember/component/helper';\nimport { assert } from '@ember/debug';\nimport { service } from '@ember/service';\n\nimport { handle } from '../proper-links.ts';\n\nimport type RouterService from '@ember/routing/router-service';\n\nexport interface Signature {\n Args: {\n Positional: [href: string];\n Named: {\n includeActiveQueryParams?: boolean | string[];\n activeOnSubPaths?: boolean;\n };\n };\n Return: {\n isExternal: boolean;\n isActive: boolean;\n handleClick: (event: MouseEvent) => void;\n };\n}\n\nexport default class Link extends Helper<Signature> {\n @service declare router: RouterService;\n\n compute(\n [href]: [href: string],\n {\n includeActiveQueryParams = false,\n activeOnSubPaths = false,\n }: { includeActiveQueryParams?: boolean | string[]; activeOnSubPaths?: boolean }\n ) {\n assert('href was not passed in', href);\n\n const router = this.router;\n const handleClick = (event: MouseEvent) => {\n assert('[BUG]', event.target instanceof HTMLAnchorElement);\n\n handle(router, event.target, [], event);\n };\n\n return {\n isExternal: isExternal(href),\n get isActive() {\n return isActive(router, href, includeActiveQueryParams, activeOnSubPaths);\n },\n handleClick,\n };\n }\n}\n\nexport const link = Link;\n\nexport function isExternal(href: string) {\n if (!href) return false;\n if (href.startsWith('#')) return false;\n if (href.startsWith('/')) return false;\n\n return location.origin !== new URL(href).origin;\n}\n\nexport function isActive(\n router: RouterService,\n href: string,\n includeQueryParams?: boolean | string[],\n activeOnSubPaths?: boolean\n) {\n if (!includeQueryParams) {\n /**\n * is Active doesn't understand `href`, so we have to convert to RouteInfo-esque\n */\n let info = router.recognize(href);\n\n if (info) {\n let dynamicSegments = getParams(info);\n let routeName = activeOnSubPaths ? info.name.replace(/\\.index$/, '') : info.name;\n\n return router.isActive(routeName, ...dynamicSegments);\n }\n\n return false;\n }\n\n let url = new URL(href, location.origin);\n let hrefQueryParams = new URLSearchParams(url.searchParams);\n let hrefPath = url.pathname;\n\n const currentPath = router.currentURL?.split('?')[0];\n\n if (!currentPath) return false;\n\n if (activeOnSubPaths ? !currentPath.startsWith(hrefPath) : hrefPath !== currentPath) return false;\n\n const currentQueryParams = router.currentRoute?.queryParams;\n\n if (!currentQueryParams) return false;\n\n if (includeQueryParams === true) {\n return Object.entries(currentQueryParams).every(([key, value]) => {\n return hrefQueryParams.get(key) === value;\n });\n }\n\n return includeQueryParams.every((key) => {\n return hrefQueryParams.get(key) === currentQueryParams[key];\n });\n}\n\ntype RouteInfo = ReturnType<RouterService['recognize']>;\n\nexport function getParams(currentRouteInfo: RouteInfo) {\n let params: Record<string, string | unknown | undefined>[] = [];\n\n while (currentRouteInfo?.parent) {\n let currentParams = currentRouteInfo.params;\n\n params = currentParams ? [currentParams, ...params] : params;\n currentRouteInfo = currentRouteInfo.parent;\n }\n\n return params.map(Object.values).flat();\n}\n"],"names":["Link","Helper","g","this","prototype","service","i","void 0","compute","href","includeActiveQueryParams","activeOnSubPaths","assert","router","handleClick","event","target","HTMLAnchorElement","handle","isExternal","isActive","link","startsWith","location","origin","URL","includeQueryParams","info","recognize","dynamicSegments","getParams","routeName","name","replace","url","hrefQueryParams","URLSearchParams","searchParams","hrefPath","pathname","currentPath","currentURL","split","currentQueryParams","currentRoute","queryParams","Object","entries","every","key","value","get","currentRouteInfo","params","parent","currentParams","map","values","flat"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sources":["../../src/helpers/service.ts"],"sourcesContent":["import Helper from '@ember/component/helper';\nimport { assert } from '@ember/debug';\nimport { getOwner } from '@ember/owner';\n\nimport type { Registry } from '@ember/service';\nimport type Service from '@ember/service';\n\nexport interface Signature<Key extends keyof Registry> {\n Args: {\n Positional: [Key];\n };\n Return: Registry[Key] & Service;\n}\n\nexport default class GetService<Key extends keyof Registry> extends Helper<Signature<Key>> {\n compute(positional: [Key]): Registry[Key] & Service {\n let owner = getOwner(this);\n\n assert(`Could not get owner.`, owner);\n\n return owner.lookup(`service:${positional[0]}`) as Registry[Key] & Service;\n }\n}\n\nexport const service = GetService;\n"],"names":["GetService","Helper","compute","positional","owner","getOwner","assert","lookup","service"],"mappings":";;;;AAce,MAAMA,UAAU,SAAqCC,MAAM,CAAiB;EACzFC,OAAOA,CAACC,UAAiB,EAA2B;AAClD,IAAA,IAAIC,KAAK,GAAGC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAE1BC,IAAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"service.js","sources":["../../src/helpers/service.ts"],"sourcesContent":["import Helper from '@ember/component/helper';\nimport { assert } from '@ember/debug';\nimport { getOwner } from '@ember/owner';\n\nimport type { Registry } from '@ember/service';\nimport type Service from '@ember/service';\n\nexport interface Signature<Key extends keyof Registry> {\n Args: {\n Positional: [Key];\n };\n Return: Registry[Key] & Service;\n}\n\nexport default class GetService<Key extends keyof Registry> extends Helper<Signature<Key>> {\n compute(positional: [Key]): Registry[Key] & Service {\n let owner = getOwner(this);\n\n assert(`Could not get owner.`, owner);\n\n return owner.lookup(`service:${positional[0]}`) as Registry[Key] & Service;\n }\n}\n\nexport const service = GetService;\n"],"names":["GetService","Helper","compute","positional","owner","getOwner","assert","lookup","service"],"mappings":";;;;AAce,MAAMA,UAAU,SAAqCC,MAAM,CAAiB;EACzFC,OAAOA,CAACC,UAAiB,EAA2B;AAClD,IAAA,IAAIC,KAAK,GAAGC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAE1BC,IAAAA,MAAM,CAAC,CAAA,oBAAA,CAAsB,EAAEF,KAAK,CAAC,CAAA;IAErC,OAAOA,KAAK,CAACG,MAAM,CAAC,CAAA,QAAA,EAAWJ,UAAU,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC,CAAA;AACjD,GAAA;AACF,CAAA;AAEO,MAAMK,OAAO,GAAGR;;;;"}
|