ember-primitives 0.19.0 → 0.20.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/components/form.d.ts +3 -22
- package/declarations/components/form.d.ts.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 +3 -47
- 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/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/helpers/link.js.map +1 -1
- package/dist/item-DmpElnSZ.js.map +1 -1
- package/package.json +3 -2
|
@@ -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,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
|
+
{"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,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,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
|
+
{"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 +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9lbWJlci1wcmltaXRpdmVzL3NyYy9jb21wb25lbnRzL3NoYWRvd2VkLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtb2RpZmllciB9IGZyb20gJ2VtYmVyLW1vZGlmaWVyJztcbmltcG9ydCB7IGNlbGwgfSBmcm9tICdlbWJlci1yZXNvdXJjZXMnO1xuXG5pbXBvcnQgdHlwZSB7IFRPQyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQvdGVtcGxhdGUtb25seSc7XG5cbmNvbnN0IFNoYWRvdyA9ICgpID0-IHtcbiAgbGV0IHNoYWRvdyA9IGNlbGw8RWxlbWVudD4oKTtcblxuICByZXR1cm4ge1xuICAgIGdldCByb290KCkge1xuICAgICAgcmV0dXJuIHNoYWRvdy5jdXJyZW50O1xuICAgIH0sXG4gICAgYXR0YWNoOiBtb2RpZmllcigoZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgICAgbGV0IHNoYWRvd1Jvb3QgPSBlbGVtZW50LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJyB9KTtcbiAgICAgIGxldCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgICAgLy8gZW1iZXItc291cmNlIDUuNiBicm9rZSB0aGUgYWJpbGl0eSB0byBpbi1lbGVtZW50XG4gICAgICAvLyBuYXRpdmVseSBpbnRvIGEgc2hhZG93cm9vdC5cbiAgICAgIC8vXG4gICAgICAvLyBTZWUgdGhlc2UgZW1iZXItc291cmNlIGJ1Z3M6XG4gICAgICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9lbWJlcmpzL2VtYmVyLmpzL2lzc3Vlcy8yMDY0M1xuICAgICAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vZW1iZXJqcy9lbWJlci5qcy9pc3N1ZXMvMjA2NDJcbiAgICAgIC8vIC0gaHR0cHM6Ly9naXRodWIuY29tL2VtYmVyanMvZW1iZXIuanMvaXNzdWVzLzIwNjQxXG4gICAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7XG5cbiAgICAgIHNoYWRvdy5zZXQoZGl2KTtcbiAgICB9KSxcbiAgfTtcbn07XG5cbi8vIGluZGV4Lmh0bWwgaGFzIHRoZSBwcm9kdWN0aW9uLWZpbmdlcnByaW50ZWQgcmVmZXJlbmNlcyB0byB0aGVzZSBsaW5rc1xuLy8gSWRlYWxseSwgd2UnZCBoYXZlIHNvbWUgcHJlLXByb2Nlc3NvciBzY2FuIGV2ZXJ5dGhpbmcgZm9yIHJlZmVyZW5jZXMgdG9cbi8vIGFzc2V0cyBpbiBwdWJsaWMsIGJ1dCBpZGsgaG93IHRvIHNldCB0aGF0IHVwXG5jb25zdCBnZXRTdHlsZXMgPSAoKSA9PiBbLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnbGluaycpXS5tYXAoKGxpbmspID0-IGxpbmsuaHJlZik7XG5cbi8qKlxuICogc3R5bGUgKyBuYXRpdmUgQGltcG9ydFxuICogaXMgdGhlIG9ubHkgcm9idXN0IHdheSB0byBsb2FkIHN0eWxlcyBpbiBhIHNoYWRvd3Jvb3QuXG4gKlxuICogbGluayBpcyBvbmx5IHZhbGlkIGluIHRoZSBoZWFkIGVsZW1lbnQuXG4gKi9cbmNvbnN0IFN0eWxlcyA9IDx0ZW1wbGF0ZT5cbiAgPHN0eWxlPlxuICAgIHt7I2VhY2ggKGdldFN0eWxlcykgYXMgfHN0eWxlSHJlZnx9fVxuXG4gICAgICBAaW1wb3J0IFwie3tzdHlsZUhyZWZ9fVwiO1xuXG4gICAge3svZWFjaH19XG4gIDwvc3R5bGU-XG48L3RlbXBsYXRlPjtcblxuLyoqXG4gKiBSZW5kZXIgY29udGVudCBpbiBhIHNoYWRvdyBkb20sIGF0dGFjaGVkIHRvIGEgZGl2LlxuICpcbiAqIFVzZXMgdGhlIFtzaGFkb3cgRE9NXVttZG4tc2hhZG93LWRvbV0gQVBJLlxuICpcbiAqIFttZG4tc2hhZG93LWRvbV06IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9XZWJfY29tcG9uZW50cy9Vc2luZ19zaGFkb3dfRE9NXG4gKlxuICogVGhpcyBpcyB1c2VmdWwgd2hlbiB5b3Ugd2FudCB0byByZW5kZXIgY29udGVudCB0aGF0IGVzY2FwZXMgeW91ciBhcHAncyBzdHlsZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBTaGFkb3dlZDogVE9DPHtcbiAgLyoqXG4gICAqIFRoZSBzaGFkb3cgZG9tIGF0dGFjaGVzIHRvIGEgZGl2IGVsZW1lbnQuXG4gICAqIFlvdSBtYXkgc3BlY2lmeSBhbnkgYXR0cmlidXRlLCBhbmQgaXQnbGwgYmUgYXBwbGllZCB0byB0aGlzIGhvc3QgZWxlbWVudC5cbiAgICovXG4gIEVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xuICBBcmdzOiB7XG4gICAgLyoqXG4gICAgICogQHB1YmxpY1xuICAgICAqXG4gICAgICogQnkgZGVmYXVsdCwgc2hhZG93LWRvbSBkb2VzIG5vdCBpbmNsdWRlIGFueSBzdHlsZXMuXG4gICAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBpbmNsdWRlIGFsbCB0aGUgYDxzdHlsZT5gIHRhZ3NcbiAgICAgKiB0aGF0IGFyZSBwcmVzZW50IGluIHRoZSBgPGhlYWQ-YCBlbGVtZW50LlxuICAgICAqL1xuICAgIGluY2x1ZGVTdHlsZXM_OiBib29sZWFuO1xuICB9O1xuICBCbG9ja3M6IHtcbiAgICAvKipcbiAgICAgKiBDb250ZW50IHRvIGJlIHBsYWNlZCB3aXRoaW4gdGhlIFNoYWRvd0RPTVxuICAgICAqL1xuICAgIGRlZmF1bHQ6IFtdO1xuICB9O1xufT4gPSA8dGVtcGxhdGU-XG4gIHt7I2xldCAoU2hhZG93KSBhcyB8c2hhZG93fH19XG4gICAge3shIFRPRE86IFdlIG5lZWQgYSB3YXkgaW4gZW1iZXIgdG8gcmVuZGVyIGluIHRvIGEgc2hhZG93IGRvbSB3aXRob3V0IGFuIGVmZmVjdCB9fVxuICAgIDxkaXYge3tzaGFkb3cuYXR0YWNofX0gLi4uYXR0cmlidXRlcz48L2Rpdj5cblxuICAgIHt7I2lmIHNoYWRvdy5yb290fX1cbiAgICAgIHt7I2luLWVsZW1lbnQgc2hhZG93LnJvb3R9fVxuXG4gICAgICAgIHt7I2lmIEBpbmNsdWRlU3R5bGVzfX1cbiAgICAgICAgICA8U3R5bGVzIC8-XG4gICAgICAgIHt7L2lmfX1cblxuICAgICAgICB7e3lpZWxkfX1cblxuICAgICAge3svaW4tZWxlbWVudH19XG4gICAge3svaWZ9fVxuICB7ey9sZXR9fVxuPC90ZW1wbGF0ZT47XG5cbmV4cG9ydCBkZWZhdWx0IFNoYWRvd2VkO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTLFFBQVEsUUFBUSxpQkFBaUI7QUFDMUMsU0FBUyxJQUFJLFFBQVEsa0JBQWtCO0FBRXZDLGNBQWMsR0FBRyxRQUFRLGlDQUFpQztBQUUxRCxNQUFNLFNBQVM7SUFDYixJQUFJLFVBQVMsS0FBSztJQUVsQixPQUFPO1FBQ0wsSUFBSSxRQUFPO1lBQ1QsT0FBTyxRQUFPLE9BQU87UUFDdkI7UUFDQSxRQUFRLFNBQVMsQ0FBQyxVQUFTO1lBQ3pCLElBQUksY0FBYSxTQUFRLFlBQVksQ0FBQztnQkFBRSxNQUFNO1lBQU87WUFDckQsSUFBSSxPQUFNLFNBQVMsYUFBYSxDQUFDO1lBRWpDLG1EQUFtRDtZQUNuRCw4QkFBOEI7WUFDOUIsRUFBRTtZQUNGLCtCQUErQjtZQUMvQixxREFBcUQ7WUFDckQscURBQXFEO1lBQ3JELHFEQUFxRDtZQUNyRCxZQUFXLFdBQVcsQ0FBQztZQUV2QixRQUFPLEdBQUcsQ0FBQztRQUNiO0lBQ0Y7QUFDRjtBQUVBLHdFQUF3RTtBQUN4RSwwRUFBMEU7QUFDMUUsK0NBQStDO0FBQy9DLE1BQU0sWUFBWSxJQUFNO1dBQUksU0FBUyxnQkFBZ0IsQ0FBQztLQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUyxNQUFLLElBQUk7QUFFdEY7Ozs7O0NBS0MsR0FDRCxNQUFNLFNBQVMsU0FBVSxDQUFBOzs7Ozs7OztBQVF6QixDQUFBLEVBQUE7SUFBQTtRQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztJQUFEO0FBQUE7QUFFVjs7Ozs7Ozs7Q0FRQyxHQUNELE9BQU8sTUFBTSxVQUFVO0lBQ3JCOzs7R0FHQyxHQUNELFNBQVM7SUFDVDtRQUNFOzs7Ozs7S0FNQyxHQUNELGdCQUFnQixPQUFPOztJQUV6QjtRQUNFOztLQUVDLEdBQ0Q7O0tBRUMsU0FBVSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztBQWlCZixDQUFBLEVBQUE7SUFBQTtRQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztJQUFEO0FBQUEsR0FBRTtBQUVaLGVBQWUsU0FBUyJ9"],"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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9lbWJlci1wcmltaXRpdmVzL3NyYy9jb21wb25lbnRzL3N3aXRjaC5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm4sIGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcblxuaW1wb3J0IHsgY2VsbCB9IGZyb20gJ2VtYmVyLXJlc291cmNlcyc7XG5cbmltcG9ydCB7IHVuaXF1ZUlkIH0gZnJvbSAnLi4vdXRpbHMudHMnO1xuaW1wb3J0IHsgTGFiZWwgfSBmcm9tICcuLy1wcml2YXRlL3R5cGVkLWVsZW1lbnRzLmd0cyc7XG5pbXBvcnQgeyB0b2dnbGVXaXRoRmFsbGJhY2sgfSBmcm9tICcuLy1wcml2YXRlL3V0aWxzLnRzJztcblxuaW1wb3J0IHR5cGUgeyBUT0MgfSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuaW1wb3J0IHR5cGUgeyBXaXRoQm91bmRBcmdzIH0gZnJvbSAnQGdsaW50L3RlbXBsYXRlJztcblxuZXhwb3J0IGludGVyZmFjZSBTaWduYXR1cmUge1xuICBFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xuICBBcmdzOiB7XG4gICAgLyoqXG4gICAgICogVGhlIGluaXRpYWwgY2hlY2tlZCB2YWx1ZSBvZiB0aGUgU3dpdGNoLlxuICAgICAqIFRoaXMgdmFsdWUgaXMgcmVhY3RpdmUsIHNvIGlmIHRoZSB2YWx1ZSB0aGF0XG4gICAgICogYEBjaGVja2VkYCBpcyBzZXQgdG8gdXBkYXRlcywgdGhlIHN0YXRlIG9mIHRoZSBTd2l0Y2ggd2lsbCBhbHNvIHVwZGF0ZS5cbiAgICAgKi9cbiAgICBjaGVja2VkPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB3aGVuIHRoZSBTd2l0Y2ggc3RhdGUgaXMgdG9nZ2xlZFxuICAgICAqL1xuICAgIG9uQ2hhbmdlPzogKGNoZWNrZWQ6IGJvb2xlYW4sIGV2ZW50OiBFdmVudCkgPT4gdm9pZDtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdD86IFtcbiAgICAgIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoZSBTd2l0Y2ggRWxlbWVudC5cbiAgICAgICAgICogSXQgaGFzIGEgcHJlLXdpcmVkIGBpZGAgc28gdGhhdCB0aGUgcmVsZXZhbnQgTGFiZWwgaXNcbiAgICAgICAgICogYXBwcm9wcmlhdGVseSBhc3NvY2lhdGVkIHZpYSB0aGUgYGZvcmAgcHJvcGVydHkgb2YgdGhlIExhYmVsLlxuICAgICAgICAgKlxuICAgICAgICAgKiBgYGBnanNcbiAgICAgICAgICogaW1wb3J0IHsgU3dpdGNoIH0gZnJvbSAnZW1iZXItcHJpbWl0aXZlcyc7XG4gICAgICAgICAqXG4gICAgICAgICAqIDx0ZW1wbGF0ZT5cbiAgICAgICAgICogICA8U3dpdGNoIGFzIHxzfD5cbiAgICAgICAgICogICAgIDxzLkNvbnRyb2wgLz5cbiAgICAgICAgICogICA8L1N3aXRjaD5cbiAgICAgICAgICogPC90ZW1wbGF0ZT5cbiAgICAgICAgICogYGBgXG4gICAgICAgICAqL1xuICAgICAgICBDb250cm9sOiBXaXRoQm91bmRBcmdzPHR5cGVvZiBDaGVja2JveCwgJ2NoZWNrZWQnIHwgJ2lkJyB8ICdvbkNoYW5nZSc-O1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIFN3aXRjaCBlbGVtZW50IHJlcXVpcmVzIGEgbGFiZWwsIGFuZCB0aGlzIGxhYmVsIGFscmVhZHkgaGFzXG4gICAgICAgICAqIHRoZSBhc3NvY2lhdGlvbiB0byB0aGUgQ29udHJvbCBieSBzZXR0aW5nIHRoZSBgZm9yYCBhdHRyaWJ1dGUgdG8gdGhlIGBpZGAgb2YgdGhlIENvbnRyb2xcbiAgICAgICAgICpcbiAgICAgICAgICogYGBgZ2pzXG4gICAgICAgICAqIGltcG9ydCB7IFN3aXRjaCB9IGZyb20gJ2VtYmVyLXByaW1pdGl2ZXMnO1xuICAgICAgICAgKlxuICAgICAgICAgKiA8dGVtcGxhdGU-XG4gICAgICAgICAqICAgPFN3aXRjaCBhcyB8c3w-XG4gICAgICAgICAqICAgICA8cy5MYWJlbCAvPlxuICAgICAgICAgKiAgIDwvU3dpdGNoPlxuICAgICAgICAgKiA8L3RlbXBsYXRlPlxuICAgICAgICAgKiBgYGBcbiAgICAgICAgICovXG4gICAgICAgIExhYmVsOiBXaXRoQm91bmRBcmdzPHR5cGVvZiBMYWJlbCwgJ2Zvcic-O1xuICAgICAgfSxcbiAgICBdO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgQ29udHJvbFNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIEFyZ3M6IHsgaWQ6IHN0cmluZzsgY2hlY2tlZD86IGJvb2xlYW47IG9uQ2hhbmdlOiAoKSA9PiB2b2lkIH07XG59XG5cbmNvbnN0IENoZWNrYm94OiBUT0M8Q29udHJvbFNpZ25hdHVyZT4gPSA8dGVtcGxhdGU-XG4gIHt7I2xldCAoY2VsbCBAY2hlY2tlZCkgYXMgfGNoZWNrZWR8fX1cbiAgICA8aW5wdXRcbiAgICAgIGlkPXt7QGlkfX1cbiAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICByb2xlPVwic3dpdGNoXCJcbiAgICAgIGNoZWNrZWQ9e3tjaGVja2VkLmN1cnJlbnR9fVxuICAgICAgYXJpYS1jaGVja2VkPXt7Y2hlY2tlZC5jdXJyZW50fX1cbiAgICAgIGRhdGEtc3RhdGU9e3tpZiBjaGVja2VkLmN1cnJlbnQgXCJvblwiIFwib2ZmXCJ9fVxuICAgICAge3tvbiBcImNsaWNrXCIgKGZuIHRvZ2dsZVdpdGhGYWxsYmFjayBjaGVja2VkLnRvZ2dsZSBAb25DaGFuZ2UpfX1cbiAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAvPlxuICB7ey9sZXR9fVxuPC90ZW1wbGF0ZT47XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgU3dpdGNoOiBUT0M8U2lnbmF0dXJlPiA9IDx0ZW1wbGF0ZT5cbiAgPGRpdiAuLi5hdHRyaWJ1dGVzIGRhdGEtcHJpbS1zd2l0Y2g-XG4gICAge3shIEBnbGludC1ub2NoZWNrIH19XG4gICAge3sjbGV0ICh1bmlxdWVJZCkgYXMgfGlkfH19XG4gICAgICB7e3lpZWxkXG4gICAgICAgIChoYXNoXG4gICAgICAgICAgQ29udHJvbD0oY29tcG9uZW50IENoZWNrYm94IGNoZWNrZWQ9QGNoZWNrZWQgaWQ9aWQgb25DaGFuZ2U9QG9uQ2hhbmdlKVxuICAgICAgICAgIExhYmVsPShjb21wb25lbnQgTGFiZWwgZm9yPWlkKVxuICAgICAgICApXG4gICAgICB9fVxuICAgIHt7L2xldH19XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT47XG5cbmV4cG9ydCBkZWZhdWx0IFN3aXRjaDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUyxFQUFFLEVBQUUsSUFBSSxRQUFRLGdCQUFnQjtBQUN6QyxTQUFTLEVBQUUsUUFBUSxrQkFBa0I7QUFFckMsU0FBUyxJQUFJLFFBQVEsa0JBQWtCO0FBRXZDLFNBQVMsUUFBUSxRQUFRLGNBQWM7QUFDdkMsU0FBUyxLQUFLLFFBQVEsZ0NBQWdDO0FBQ3RELFNBQVMsa0JBQWtCLFFBQVEsc0JBQXNCO0FBRXpELGNBQWMsR0FBRyxRQUFRLGlDQUFpQztBQUMxRCxjQUFjLGFBQWEsUUFBUSxrQkFBa0I7QUFFckQsaUJBQWlCO0lBQ2YsU0FBUztJQUNUO1FBQ0U7Ozs7S0FJQyxHQUNELFVBQVUsT0FBTztRQUNqQjs7S0FFQyxHQUNELFlBQVksU0FBUyxPQUFPLEVBQUUsT0FBTyxVQUFVLElBQUk7O0lBRXJEO1FBQ0U7Z0JBRUk7Ozs7Ozs7Ozs7Ozs7O1NBY0MsR0FDRCxTQUFTLHFCQUFxQixVQUFVLFlBQVksT0FBTztnQkFDM0Q7Ozs7Ozs7Ozs7Ozs7U0FhQyxHQUNELE9BQU8scUJBQXFCLE9BQU87Ozs7VUFNakM7SUFDUixTQUFTO0lBQ1Q7UUFBUSxJQUFJLE1BQU07UUFBRSxVQUFVLE9BQU87UUFBRSxnQkFBZ0IsSUFBSTs7O0FBRzdELE1BQU0sVUFBVSxJQUFJLG9CQUFvQixTQUFVLENBQUE7Ozs7Ozs7Ozs7Ozs7QUFhbEQsQ0FBQSxFQUFBO0lBQUE7UUFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7SUFBRDtBQUFBO0FBRVY7O0NBRUMsR0FDRCxPQUFPLE1BQU0sUUFBUSxJQUFJLGFBQWEsU0FBVSxDQUFBOzs7Ozs7Ozs7Ozs7QUFZaEQsQ0FBQSxFQUFBO0lBQUE7UUFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7SUFBRDtBQUFBLEdBQUU7QUFFWixlQUFlLE9BQU8ifQ"],"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,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
|
+
{"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","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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9lbWJlci1wcmltaXRpdmVzL3NyYy9jb21wb25lbnRzL3RvZ2dsZS5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgZm4gfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcblxuaW1wb3J0IHsgY2VsbCB9IGZyb20gJ2VtYmVyLXJlc291cmNlcyc7XG5cbmltcG9ydCB7IHRvZ2dsZVdpdGhGYWxsYmFjayB9IGZyb20gJy4vLXByaXZhdGUvdXRpbHMudHMnO1xuXG5pbXBvcnQgdHlwZSB7IFRPQyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQvdGVtcGxhdGUtb25seSc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hdHVyZTxWYWx1ZSA9IGFueT4ge1xuICBFbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudDtcbiAgQXJnczoge1xuICAgIC8qKlxuICAgICAqIFRoZSBwcmVzc2VkLXN0YXRlIG9mIHRoZSB0b2dnbGUuXG4gICAgICpcbiAgICAgKiBDYW4gYmUgdXNlZCB0byBjb250cm9sIHRoZSBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqL1xuICAgIHByZXNzZWQ_OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIGZvciB3aGVuIHRoZSB0b2dnbGUncyBzdGF0ZSBpcyBjaGFuZ2VkLlxuICAgICAqXG4gICAgICogQ2FuIGJlIHVzZWQgdG8gY29udHJvbCB0aGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIGlmIGEgYEB2YWx1ZWAgaXMgcGFzc2VkIHRvIHRoaXMgYDxUb2dnbGU-YCwgdGhhdCBAdmFsdWUgd2lsbFxuICAgICAqIGJlIHBhc3NlZCB0byB0aGUgYEBvbkNoYW5nZWAgaGFuZGxlci5cbiAgICAgKlxuICAgICAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuIHVzaW5nIHRoZSBzYW1lIGZ1bmN0aW9uIGZvciB0aGUgYEBvbkNoYW5nZWBcbiAgICAgKiBoYW5kbGVyIHdpdGggbXVsdGlwbGUgYDxUb2dnbGU-YCBjb21wb25lbnRzLlxuICAgICAqL1xuICAgIG9uQ2hhbmdlPzogKHZhbHVlOiBWYWx1ZSB8IHVuZGVmaW5lZCwgcHJlc3NlZDogYm9vbGVhbikgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFdoZW4gdXNlZCBpbiBhIGdyb3VwIG9mIFRvZ2dsZXMsIHRoaXMgb3B0aW9uIHdpbGwgYmUgaGVscGZ1bCB0b1xuICAgICAqIGtub3cgd2hpY2ggdG9nZ2xlIHdhcyBwcmVzc2VkIGlmIHlvdSdyZSB1c2luZyB0aGUgc2FtZSBAb25DaGFuZ2VcbiAgICAgKiBoYW5kbGVyIGZvciBtdWx0aXBsZSB0b2dnbGVzLlxuICAgICAqL1xuICAgIHZhbHVlPzogVmFsdWU7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIGNvbnRyb2xsaW5nIHN0YXRlIGluIGEgd3JhcHBpbmcgY29tcG9uZW50LCB0aGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYEB2YWx1ZWAgdG8gZGV0ZXJtaW5lIGlmIHRoaXMgYDxUb2dnbGU-YCBzaG91bGQgYXBwZWFyIHByZXNzZWQuXG4gICAgICovXG4gICAgaXNQcmVzc2VkPzogKHZhbHVlPzogVmFsdWUgfCB1bmRlZmluZWQpID0-IGJvb2xlYW47XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtcbiAgICAgIC8qKlxuICAgICAgICogdGhlIGN1cnJlbnQgcHJlc3NlZCBzdGF0ZSBvZiB0aGUgdG9nZ2xlIGJ1dHRvblxuICAgICAgICpcbiAgICAgICAqIFVzZWZ1bCB3aGVuIHVzaW5nIHRoZSB0b2dnbGUgYnV0dG9uIGFzIGFuIHVuY29udHJvbGxlZCBjb21wb25lbnRcbiAgICAgICAqL1xuICAgICAgcHJlc3NlZDogYm9vbGVhbixcbiAgICBdO1xuICB9O1xufVxuXG5mdW5jdGlvbiBpc1ByZXNzZWQoXG4gIHByZXNzZWQ_OiBib29sZWFuLFxuICB2YWx1ZT86IHVua25vd24sXG4gIGlzUHJlc3NlZD86ICh2YWx1ZT86IHVua25vd24pID0-IGJvb2xlYW5cbik6IGJvb2xlYW4ge1xuICBpZiAoIXZhbHVlKSByZXR1cm4gQm9vbGVhbihwcmVzc2VkKTtcbiAgaWYgKCFpc1ByZXNzZWQpIHJldHVybiBCb29sZWFuKHByZXNzZWQpO1xuXG4gIHJldHVybiBpc1ByZXNzZWQodmFsdWUpO1xufVxuXG5leHBvcnQgY29uc3QgVG9nZ2xlOiBUT0M8U2lnbmF0dXJlPiA9IDx0ZW1wbGF0ZT5cbiAge3sjbGV0IChjZWxsIChpc1ByZXNzZWQgQHByZXNzZWQgQHZhbHVlIEBpc1ByZXNzZWQpKSBhcyB8cHJlc3NlZHx9fVxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgYXJpYS1wcmVzc2VkPVwie3twcmVzc2VkLmN1cnJlbnR9fVwiXG4gICAgICB7e29uIFwiY2xpY2tcIiAoZm4gdG9nZ2xlV2l0aEZhbGxiYWNrIHByZXNzZWQudG9nZ2xlIEBvbkNoYW5nZSBAdmFsdWUpfX1cbiAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICA-XG4gICAgICB7e3lpZWxkIHByZXNzZWQuY3VycmVudH19XG4gICAgPC9idXR0b24-XG4gIHt7L2xldH19XG48L3RlbXBsYXRlPjtcblxuZXhwb3J0IGRlZmF1bHQgVG9nZ2xlO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhDQUE4Qzs7QUFDOUMsU0FBUyxFQUFFLFFBQVEsZ0JBQWdCO0FBQ25DLFNBQVMsRUFBRSxRQUFRLGtCQUFrQjtBQUVyQyxTQUFTLElBQUksUUFBUSxrQkFBa0I7QUFFdkMsU0FBUyxrQkFBa0IsUUFBUSxzQkFBc0I7QUFFekQsY0FBYyxHQUFHLFFBQVEsaUNBQWlDO0FBRTFELDhEQUE4RDtBQUM5RCxpQkFBaUIsVUFBVSxRQUFRLEdBQUc7SUFDcEMsU0FBUztJQUNUO1FBQ0U7Ozs7S0FJQyxHQUNELFVBQVUsT0FBTztRQUNqQjs7Ozs7Ozs7OztLQVVDLEdBQ0QsWUFBWSxPQUFPLFFBQVEsU0FBUyxFQUFFLFNBQVMsT0FBTyxLQUFLLElBQUk7UUFFL0Q7Ozs7S0FJQyxHQUNELFFBQVE7UUFFUjs7S0FFQyxHQUNELGFBQWEsUUFBUSxRQUFRLFNBQVMsS0FBSyxPQUFPOztJQUVwRDtRQUNFLFVBQ0U7Ozs7T0FJQyxHQUNELFNBQVMsT0FBTzs7O0FBS3RCLFNBQVMsVUFDUCxXQUFVLE9BQU8sRUFDakIsU0FBUSxPQUFPLEVBQ2YsY0FBYSxRQUFRLE9BQU8sS0FBSyxPQUFPLEdBQ3ZDLE9BQU87SUFDUixJQUFJLENBQUMsUUFBTyxPQUFPLFFBQVE7SUFDM0IsSUFBSSxDQUFDLFlBQVcsT0FBTyxRQUFRO0lBRS9CLE9BQU8sV0FBVTtBQUNuQjtBQUVBLE9BQU8sTUFBTSxRQUFRLElBQUksYUFBYSxTQUFVLENBQUE7Ozs7Ozs7Ozs7O0FBV2hELENBQUEsRUFBQTtJQUFBO1FBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO0lBQUQ7QUFBQSxHQUFFO0FBRVosZUFBZSxPQUFPIn0"],"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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9lbWJlci1wcmltaXRpdmVzL3NyYy9mbG9hdGluZy11aS9jb21wb25lbnQuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IHRyYWNrZWQgfSBmcm9tICdAZ2xpbW1lci90cmFja2luZyc7XG5pbXBvcnQgeyBoYXNoIH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5cbmltcG9ydCB7IG1vZGlmaWVyIGFzIGVNb2RpZmllciB9IGZyb20gJ2VtYmVyLW1vZGlmaWVyJztcblxuaW1wb3J0IFZlbGNyb01vZGlmaWVyIGZyb20gJy4vbW9kaWZpZXIudHMnO1xuXG5pbXBvcnQgdHlwZSB7IFNpZ25hdHVyZSBhcyBNb2RpZmllclNpZ25hdHVyZSB9IGZyb20gJy4vbW9kaWZpZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBNaWRkbGV3YXJlU3RhdGUgfSBmcm9tICdAZmxvYXRpbmctdWkvZG9tJztcbmltcG9ydCB0eXBlIHsgV2l0aEJvdW5kQXJncywgV2l0aEJvdW5kUG9zaXRpb25hbHMgfSBmcm9tICdAZ2xpbnQvdGVtcGxhdGUnO1xuaW1wb3J0IHR5cGUgeyBNb2RpZmllckxpa2UgfSBmcm9tICdAZ2xpbnQvdGVtcGxhdGUnO1xuXG50eXBlIE1vZGlmaWVyQXJncyA9IE1vZGlmaWVyU2lnbmF0dXJlWydBcmdzJ11bJ05hbWVkJ107XG5cbmludGVyZmFjZSBIb29rU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hdHVyZSB7XG4gIEFyZ3M6IHtcbiAgICBtaWRkbGV3YXJlPzogTW9kaWZpZXJBcmdzWydtaWRkbGV3YXJlJ107XG4gICAgcGxhY2VtZW50PzogTW9kaWZpZXJBcmdzWydwbGFjZW1lbnQnXTtcbiAgICBzdHJhdGVneT86IE1vZGlmaWVyQXJnc1snc3RyYXRlZ3knXTtcbiAgICBmbGlwT3B0aW9ucz86IE1vZGlmaWVyQXJnc1snZmxpcE9wdGlvbnMnXTtcbiAgICBoaWRlT3B0aW9ucz86IE1vZGlmaWVyQXJnc1snaGlkZU9wdGlvbnMnXTtcbiAgICBzaGlmdE9wdGlvbnM_OiBNb2RpZmllckFyZ3NbJ3NoaWZ0T3B0aW9ucyddO1xuICAgIG9mZnNldE9wdGlvbnM_OiBNb2RpZmllckFyZ3NbJ29mZnNldE9wdGlvbnMnXTtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW1xuICAgICAgdmVsY3JvOiB7XG4gICAgICAgIGhvb2s6IE1vZGlmaWVyTGlrZTxIb29rU2lnbmF0dXJlPjtcbiAgICAgICAgc2V0SG9vazogKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCkgPT4gdm9pZDtcbiAgICAgICAgbG9vcD86IFdpdGhCb3VuZEFyZ3M8V2l0aEJvdW5kUG9zaXRpb25hbHM8dHlwZW9mIFZlbGNyb01vZGlmaWVyLCAxPiwga2V5b2YgTW9kaWZpZXJBcmdzPjtcbiAgICAgICAgZGF0YT86IE1pZGRsZXdhcmVTdGF0ZTtcbiAgICAgIH0sXG4gICAgXTtcbiAgfTtcbn1cblxuY29uc3QgcmVmID0gZU1vZGlmaWVyPHtcbiAgRWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuICBBcmdzOiB7XG4gICAgUG9zaXRpb25hbDogW3NldFJlZjogKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCkgPT4gdm9pZF07XG4gIH07XG59PigoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50LCBwb3NpdGlvbmFsKSA9PiB7XG4gIGxldCBmbiA9IHBvc2l0aW9uYWxbMF07XG5cbiAgZm4oZWxlbWVudCk7XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsY3JvIGV4dGVuZHMgQ29tcG9uZW50PFNpZ25hdHVyZT4ge1xuICBAdHJhY2tlZCBob29rPzogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50ID0gdW5kZWZpbmVkO1xuXG4gIC8vIHNldCBieSBWZWxjcm9Nb2RpZmllclxuICBAdHJhY2tlZCB2ZWxjcm9EYXRhPzogTWlkZGxld2FyZVN0YXRlID0gdW5kZWZpbmVkO1xuXG4gIHNldFZlbGNyb0RhdGE6IE1vZGlmaWVyQXJnc1snc2V0VmVsY3JvRGF0YSddID0gKGRhdGEpID0-ICh0aGlzLnZlbGNyb0RhdGEgPSBkYXRhKTtcblxuICBzZXRIb29rID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCkgPT4ge1xuICAgIHRoaXMuaG9vayA9IGVsZW1lbnQ7XG4gIH07XG5cbiAgPHRlbXBsYXRlPlxuICAgIHt7I2xldFxuICAgICAgKG1vZGlmaWVyXG4gICAgICAgIFZlbGNyb01vZGlmaWVyXG4gICAgICAgIGZsaXBPcHRpb25zPUBmbGlwT3B0aW9uc1xuICAgICAgICBoaWRlT3B0aW9ucz1AaGlkZU9wdGlvbnNcbiAgICAgICAgbWlkZGxld2FyZT1AbWlkZGxld2FyZVxuICAgICAgICBvZmZzZXRPcHRpb25zPUBvZmZzZXRPcHRpb25zXG4gICAgICAgIHBsYWNlbWVudD1AcGxhY2VtZW50XG4gICAgICAgIHNoaWZ0T3B0aW9ucz1Ac2hpZnRPcHRpb25zXG4gICAgICAgIHN0cmF0ZWd5PUBzdHJhdGVneVxuICAgICAgICBzZXRWZWxjcm9EYXRhPXRoaXMuc2V0VmVsY3JvRGF0YVxuICAgICAgKVxuICAgICAgYXMgfGxvb3B8XG4gICAgfX1cbiAgICAgIHt7I2xldCAoaWYgdGhpcy5ob29rIChtb2RpZmllciBsb29wIHRoaXMuaG9vaykpIGFzIHxsb29wV2l0aEhvb2t8fX1cbiAgICAgICAge3shIEBnbGludC1ub2NoZWNrIC0tIEV4Y2Vzc2l2ZWx5IGRlZXAsIHBvc3NpYmx5IGluZmluaXRlIH19XG4gICAgICAgIHt7eWllbGRcbiAgICAgICAgICAoaGFzaFxuICAgICAgICAgICAgaG9vaz0obW9kaWZpZXIgcmVmIHRoaXMuc2V0SG9vaylcbiAgICAgICAgICAgIHNldEhvb2s9dGhpcy5zZXRIb29rXG4gICAgICAgICAgICBsb29wPWxvb3BXaXRoSG9va1xuICAgICAgICAgICAgZGF0YT10aGlzLnZlbGNyb0RhdGFcbiAgICAgICAgICApXG4gICAgICAgIH19XG4gICAgICB7ey9sZXR9fVxuICAgIHt7L2xldH19XG4gIDwvdGVtcGxhdGU-XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsU0FBUyxPQUFPLFFBQVEsb0JBQW9CO0FBQzVDLFNBQVMsSUFBSSxRQUFRLGdCQUFnQjtBQUVyQyxTQUFTLFlBQVksU0FBUyxRQUFRLGlCQUFpQjtBQUV2RCxPQUFPLG9CQUFvQixnQkFBZ0I7QUFFM0MsY0FBYyxhQUFhLGlCQUFpQixRQUFRLGdCQUFnQjtBQUNwRSxjQUFjLGVBQWUsUUFBUSxtQkFBbUI7QUFDeEQsY0FBYyxhQUFhLEVBQUUsb0JBQW9CLFFBQVEsa0JBQWtCO0FBQzNFLGNBQWMsWUFBWSxRQUFRLGtCQUFrQjtLQUUvQyxlQUFlLGtCQUFrQixRQUFRO1VBRXBDO0lBQ1IsU0FBUyxjQUFjOztBQUd6QixpQkFBaUI7SUFDZjtRQUNFLGFBQWEsYUFBYTtRQUMxQixZQUFZLGFBQWE7UUFDekIsV0FBVyxhQUFhO1FBQ3hCLGNBQWMsYUFBYTtRQUMzQixjQUFjLGFBQWE7UUFDM0IsZUFBZSxhQUFhO1FBQzVCLGdCQUFnQixhQUFhOztJQUUvQjtRQUNFLFVBQ0U7Z0JBQ0UsTUFBTSxhQUFhO2dCQUNuQixVQUFVLFNBQVMsY0FBYyxlQUFlLElBQUk7Z0JBQ3BELE9BQU8sY0FBYyw0QkFBNEIsZ0JBQWdCLFVBQVU7Z0JBQzNFLE9BQU87Ozs7QUFNZixNQUFNLE1BQU07SUFDVixTQUFTLGNBQWM7SUFDdkI7UUFDRSxhQUFhLFNBQVMsU0FBUyxjQUFjLGVBQWUsSUFBSTs7R0FFakUsQ0FBQyxVQUFTLGNBQWMsWUFBWTtJQUNyQyxJQUFJLE1BQUssV0FBVSxDQUFDLEVBQUU7SUFFdEIsSUFBRztBQUNMO0FBRUEsZUFBZSxNQUFNLGVBQWUsVUFBVTtJQUM1QyxDQUFDO0lBQVEsT0FBTyxjQUFjLGFBQWEsVUFBVTtJQUVyRCx3QkFBd0I7SUFDeEIsQ0FBQztJQUFRLGFBQWEsa0JBQWtCLFVBQVU7SUFFbEQsZUFBZSxhQUFhLG1CQUFtQixDQUFDLFFBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUksRUFBRTtJQUVsRixVQUFVLENBQUMsVUFBUyxjQUFjO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUc7SUFDZCxFQUFFO0lBRUYsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBMkJWLENBQUEsRUFBQTtZQUFBLFdBQUEsSUFBVztZQUFYO2dCQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztZQUFEO1FBQUE7SUFBQSxDQTNCQTtBQTRCWiJ9"],"names":["ref","eModifier","element1","positional1","fn1","Velcro","Component","g","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;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,MAAA,EAAA,CAC3CC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAA0CC,SAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,KAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAAA,EAAA;IAAAL,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,YAAA,EAAA,CAG1CC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAuCC,SAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,WAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,YAAA,CAAA,EAAAC,MAAA,EADxC;AAGAC,EAAAA,aAAA,GAAgDC,KAAA,IAAU,IAAI,CAACC,UAAU,GAAGD,KAAI,CAAA;AAEhFE,EAAAA,OAAA,GAAWd,QAAuB,IAAA;IAChC,IAAI,CAACe,IAAI,GAAGf,QAAA,CAAA;AACd,GAAA,CAAA;AAEA,EAAA;IAAAgB,oBAAA,CAAAC,kBAAA,CA2BA,4iBAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,cAAA;QAAAC,IAAA;AAAAvB,QAAAA,GAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
|
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\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","
|
|
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","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":"item-DmpElnSZ.js","sources":["../src/components/accordion/content.gts","../src/components/accordion/trigger.gts","../src/components/accordion/header.gts","../src/components/accordion/item.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { getDataState } from './item.gts';\nimport type { AccordionContentExternalSignature } from './public.ts';\ninterface Signature extends AccordionContentExternalSignature {\n Args: AccordionContentExternalSignature['Args'] & {\n isExpanded: boolean;\n value: string;\n disabled?: boolean;\n };\n}\nexport class AccordionContent extends Component<Signature> {\n static{\n template(`\n <div\n role=\"region\"\n id={{@value}}\n data-state={{getDataState @isExpanded}}\n hidden={{this.isHidden}}\n data-disabled={{@disabled}}\n ...attributes\n >\n {{yield}}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n get isHidden() {\n return !this.args.isExpanded;\n }\n}\nexport default AccordionContent;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL252cC9EZXZlbG9wbWVudC9OdWxsVm94UG9wdWxpL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9zcmMvY29tcG9uZW50cy9hY2NvcmRpb24vY29udGVudC5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBnZXREYXRhU3RhdGUgfSBmcm9tICcuL2l0ZW0uZ3RzJztcblxuaW1wb3J0IHR5cGUgeyBBY2NvcmRpb25Db250ZW50RXh0ZXJuYWxTaWduYXR1cmUgfSBmcm9tICcuL3B1YmxpYy50cyc7XG5cbmludGVyZmFjZSBTaWduYXR1cmUgZXh0ZW5kcyBBY2NvcmRpb25Db250ZW50RXh0ZXJuYWxTaWduYXR1cmUge1xuICBBcmdzOiBBY2NvcmRpb25Db250ZW50RXh0ZXJuYWxTaWduYXR1cmVbJ0FyZ3MnXSAmIHtcbiAgICBpc0V4cGFuZGVkOiBib29sZWFuO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgZGlzYWJsZWQ_OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uQ29udGVudCBleHRlbmRzIENvbXBvbmVudDxTaWduYXR1cmU-IHtcbiAgPHRlbXBsYXRlPlxuICAgIDxkaXZcbiAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgaWQ9e3tAdmFsdWV9fVxuICAgICAgZGF0YS1zdGF0ZT17e2dldERhdGFTdGF0ZSBAaXNFeHBhbmRlZH19XG4gICAgICBoaWRkZW49e3t0aGlzLmlzSGlkZGVufX1cbiAgICAgIGRhdGEtZGlzYWJsZWQ9e3tAZGlzYWJsZWR9fVxuICAgICAgLi4uYXR0cmlidXRlc1xuICAgID5cbiAgICAgIHt7eWllbGR9fVxuICAgIDwvZGl2PlxuICA8L3RlbXBsYXRlPlxuXG4gIGdldCBpc0hpZGRlbigpIHtcbiAgICByZXR1cm4gIXRoaXMuYXJncy5pc0V4cGFuZGVkO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFjY29yZGlvbkNvbnRlbnQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sZUFBZSxxQkFBcUI7QUFFM0MsU0FBUyxZQUFZLFFBQVEsYUFBYTtBQUUxQyxjQUFjLGlDQUFpQyxRQUFRLGNBQWM7VUFFM0Qsa0JBQWtCO0lBQzFCLE1BQU0sa0NBQWtDO1FBQ3RDLFlBQVksT0FBTztRQUNuQixPQUFPLE1BQU07UUFDYixXQUFXLE9BQU87OztBQUl0QixPQUFPLE1BQU0seUJBQXlCLFVBQVU7SUFDOUMsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7RUFXVixDQUFBLEVBQUE7WUFBQSxXQUFBLElBQVc7WUFBWDtnQkFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7WUFBRDtRQUFBO0lBQUEsQ0FYQTtJQWFWLElBQUksV0FBVztRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7SUFDOUI7QUFDRjtBQUVBLGVBQWUsaUJBQWlCIn0","import { template } from \"@ember/template-compiler\";\nimport { on } from '@ember/modifier';\nimport { getDataState } from './item.gts';\nimport type { AccordionTriggerExternalSignature } from './public.ts';\nimport type { TOC } from '@ember/component/template-only';\ninterface Signature extends AccordionTriggerExternalSignature {\n Args: AccordionTriggerExternalSignature['Args'] & {\n isExpanded: boolean;\n value: string;\n disabled?: boolean;\n toggleItem: () => void;\n };\n}\nexport const AccordionTrigger: TOC<Signature> = template(`\n <button\n type=\"button\"\n aria-controls={{@value}}\n aria-expanded={{@isExpanded}}\n data-state={{getDataState @isExpanded}}\n data-disabled={{@disabled}}\n aria-disabled={{if @disabled \"true\" \"false\"}}\n {{on \"click\" @toggleItem}}\n ...attributes\n >\n {{yield}}\n </button>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default AccordionTrigger;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL252cC9EZXZlbG9wbWVudC9OdWxsVm94UG9wdWxpL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9zcmMvY29tcG9uZW50cy9hY2NvcmRpb24vdHJpZ2dlci5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgb24gfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xuXG5pbXBvcnQgeyBnZXREYXRhU3RhdGUgfSBmcm9tICcuL2l0ZW0uZ3RzJztcblxuaW1wb3J0IHR5cGUgeyBBY2NvcmRpb25UcmlnZ2VyRXh0ZXJuYWxTaWduYXR1cmUgfSBmcm9tICcuL3B1YmxpYy50cyc7XG5pbXBvcnQgdHlwZSB7IFRPQyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQvdGVtcGxhdGUtb25seSc7XG5cbmludGVyZmFjZSBTaWduYXR1cmUgZXh0ZW5kcyBBY2NvcmRpb25UcmlnZ2VyRXh0ZXJuYWxTaWduYXR1cmUge1xuICBBcmdzOiBBY2NvcmRpb25UcmlnZ2VyRXh0ZXJuYWxTaWduYXR1cmVbJ0FyZ3MnXSAmIHtcbiAgICBpc0V4cGFuZGVkOiBib29sZWFuO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgZGlzYWJsZWQ_OiBib29sZWFuO1xuICAgIHRvZ2dsZUl0ZW06ICgpID0-IHZvaWQ7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBBY2NvcmRpb25UcmlnZ2VyOiBUT0M8U2lnbmF0dXJlPiA9IDx0ZW1wbGF0ZT5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGFyaWEtY29udHJvbHM9e3tAdmFsdWV9fVxuICAgIGFyaWEtZXhwYW5kZWQ9e3tAaXNFeHBhbmRlZH19XG4gICAgZGF0YS1zdGF0ZT17e2dldERhdGFTdGF0ZSBAaXNFeHBhbmRlZH19XG4gICAgZGF0YS1kaXNhYmxlZD17e0BkaXNhYmxlZH19XG4gICAgYXJpYS1kaXNhYmxlZD17e2lmIEBkaXNhYmxlZCBcInRydWVcIiBcImZhbHNlXCJ9fVxuICAgIHt7b24gXCJjbGlja1wiIEB0b2dnbGVJdGVtfX1cbiAgICAuLi5hdHRyaWJ1dGVzXG4gID5cbiAgICB7e3lpZWxkfX1cbiAgPC9idXR0b24-XG48L3RlbXBsYXRlPjtcblxuZXhwb3J0IGRlZmF1bHQgQWNjb3JkaW9uVHJpZ2dlcjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUyxFQUFFLFFBQVEsa0JBQWtCO0FBRXJDLFNBQVMsWUFBWSxRQUFRLGFBQWE7QUFFMUMsY0FBYyxpQ0FBaUMsUUFBUSxjQUFjO0FBQ3JFLGNBQWMsR0FBRyxRQUFRLGlDQUFpQztVQUVoRCxrQkFBa0I7SUFDMUIsTUFBTSxrQ0FBa0M7UUFDdEMsWUFBWSxPQUFPO1FBQ25CLE9BQU8sTUFBTTtRQUNiLFdBQVcsT0FBTztRQUNsQixrQkFBa0IsSUFBSTs7O0FBSTFCLE9BQU8sTUFBTSxrQkFBa0IsSUFBSSxhQUFhLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7OztBQWExRCxDQUFBLEVBQUE7SUFBQTtRQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztJQUFEO0FBQUEsR0FBRTtBQUVaLGVBQWUsaUJBQWlCIn0","import { template } from \"@ember/template-compiler\";\nimport { hash } from '@ember/helper';\nimport { getDataState } from './item.gts';\nimport Trigger from './trigger.gts';\nimport type { AccordionHeaderExternalSignature } from './public.ts';\nimport type { TOC } from '@ember/component/template-only';\ninterface Signature extends AccordionHeaderExternalSignature {\n Args: AccordionHeaderExternalSignature['Args'] & {\n value: string;\n isExpanded: boolean;\n disabled?: boolean;\n toggleItem: () => void;\n };\n}\nexport const AccordionHeader: TOC<Signature> = template(`\n <div\n role=\"heading\"\n aria-level=\"3\"\n data-state={{getDataState @isExpanded}}\n data-disabled={{@disabled}}\n ...attributes\n >\n {{yield\n (hash\n Trigger=(component\n Trigger value=@value isExpanded=@isExpanded disabled=@disabled toggleItem=@toggleItem\n )\n )\n }}\n </div>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default AccordionHeader;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL252cC9EZXZlbG9wbWVudC9OdWxsVm94UG9wdWxpL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9zcmMvY29tcG9uZW50cy9hY2NvcmRpb24vaGVhZGVyLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoYXNoIH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5cbmltcG9ydCB7IGdldERhdGFTdGF0ZSB9IGZyb20gJy4vaXRlbS5ndHMnO1xuaW1wb3J0IFRyaWdnZXIgZnJvbSAnLi90cmlnZ2VyLmd0cyc7XG5cbmltcG9ydCB0eXBlIHsgQWNjb3JkaW9uSGVhZGVyRXh0ZXJuYWxTaWduYXR1cmUgfSBmcm9tICcuL3B1YmxpYy50cyc7XG5pbXBvcnQgdHlwZSB7IFRPQyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQvdGVtcGxhdGUtb25seSc7XG5cbmludGVyZmFjZSBTaWduYXR1cmUgZXh0ZW5kcyBBY2NvcmRpb25IZWFkZXJFeHRlcm5hbFNpZ25hdHVyZSB7XG4gIEFyZ3M6IEFjY29yZGlvbkhlYWRlckV4dGVybmFsU2lnbmF0dXJlWydBcmdzJ10gJiB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBpc0V4cGFuZGVkOiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICB0b2dnbGVJdGVtOiAoKSA9PiB2b2lkO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgQWNjb3JkaW9uSGVhZGVyOiBUT0M8U2lnbmF0dXJlPiA9IDx0ZW1wbGF0ZT5cbiAgPGRpdlxuICAgIHJvbGU9XCJoZWFkaW5nXCJcbiAgICBhcmlhLWxldmVsPVwiM1wiXG4gICAgZGF0YS1zdGF0ZT17e2dldERhdGFTdGF0ZSBAaXNFeHBhbmRlZH19XG4gICAgZGF0YS1kaXNhYmxlZD17e0BkaXNhYmxlZH19XG4gICAgLi4uYXR0cmlidXRlc1xuICA-XG4gICAge3t5aWVsZFxuICAgICAgKGhhc2hcbiAgICAgICAgVHJpZ2dlcj0oY29tcG9uZW50XG4gICAgICAgICAgVHJpZ2dlciB2YWx1ZT1AdmFsdWUgaXNFeHBhbmRlZD1AaXNFeHBhbmRlZCBkaXNhYmxlZD1AZGlzYWJsZWQgdG9nZ2xlSXRlbT1AdG9nZ2xlSXRlbVxuICAgICAgICApXG4gICAgICApXG4gICAgfX1cbiAgPC9kaXY-XG48L3RlbXBsYXRlPjtcblxuZXhwb3J0IGRlZmF1bHQgQWNjb3JkaW9uSGVhZGVyO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTLElBQUksUUFBUSxnQkFBZ0I7QUFFckMsU0FBUyxZQUFZLFFBQVEsYUFBYTtBQUMxQyxPQUFPLGFBQWEsZ0JBQWdCO0FBRXBDLGNBQWMsZ0NBQWdDLFFBQVEsY0FBYztBQUNwRSxjQUFjLEdBQUcsUUFBUSxpQ0FBaUM7VUFFaEQsa0JBQWtCO0lBQzFCLE1BQU0saUNBQWlDO1FBQ3JDLE9BQU8sTUFBTTtRQUNiLFlBQVksT0FBTztRQUNuQixXQUFXLE9BQU87UUFDbEIsa0JBQWtCLElBQUk7OztBQUkxQixPQUFPLE1BQU0saUJBQWlCLElBQUksYUFBYSxTQUFVLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQnpELENBQUEsRUFBQTtJQUFBO1FBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO0lBQUQ7QUFBQSxHQUFFO0FBRVosZUFBZSxnQkFBZ0IifQ","import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { hash } from '@ember/helper';\nimport Content from './content.gts';\nimport Header from './header.gts';\nimport type { AccordionItemExternalSignature } from './public.ts';\nexport function getDataState(isExpanded1: boolean): string {\n return isExpanded1 ? 'open' : 'closed';\n}\ninterface Signature extends AccordionItemExternalSignature {\n Args: AccordionItemExternalSignature['Args'] & {\n selectedValue?: string | string[];\n disabled?: boolean;\n toggleItem: (value: string) => void;\n };\n}\nexport class AccordionItem extends Component<Signature> {\n static{\n template(`\n <div data-state={{getDataState this.isExpanded}} data-disabled={{@disabled}} ...attributes>\n {{yield\n (hash\n isExpanded=this.isExpanded\n Header=(component\n Header\n value=@value\n isExpanded=this.isExpanded\n disabled=@disabled\n toggleItem=this.toggleItem\n )\n Content=(component Content value=@value isExpanded=this.isExpanded disabled=@disabled)\n )\n }}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n get isExpanded(): boolean {\n if (Array.isArray(this.args.selectedValue)) {\n return this.args.selectedValue.includes(this.args.value);\n }\n return this.args.selectedValue === this.args.value;\n }\n toggleItem = (): void =>{\n if (this.args.disabled) return;\n this.args.toggleItem(this.args.value);\n };\n}\nexport default AccordionItem;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL252cC9EZXZlbG9wbWVudC9OdWxsVm94UG9wdWxpL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9zcmMvY29tcG9uZW50cy9hY2NvcmRpb24vaXRlbS5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuXG5pbXBvcnQgQ29udGVudCBmcm9tICcuL2NvbnRlbnQuZ3RzJztcbmltcG9ydCBIZWFkZXIgZnJvbSAnLi9oZWFkZXIuZ3RzJztcblxuaW1wb3J0IHR5cGUgeyBBY2NvcmRpb25JdGVtRXh0ZXJuYWxTaWduYXR1cmUgfSBmcm9tICcuL3B1YmxpYy50cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXRhU3RhdGUoaXNFeHBhbmRlZDogYm9vbGVhbik6IHN0cmluZyB7XG4gIHJldHVybiBpc0V4cGFuZGVkID8gJ29wZW4nIDogJ2Nsb3NlZCc7XG59XG5cbmludGVyZmFjZSBTaWduYXR1cmUgZXh0ZW5kcyBBY2NvcmRpb25JdGVtRXh0ZXJuYWxTaWduYXR1cmUge1xuICBBcmdzOiBBY2NvcmRpb25JdGVtRXh0ZXJuYWxTaWduYXR1cmVbJ0FyZ3MnXSAmIHtcbiAgICBzZWxlY3RlZFZhbHVlPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgZGlzYWJsZWQ_OiBib29sZWFuO1xuICAgIHRvZ2dsZUl0ZW06ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uSXRlbSBleHRlbmRzIENvbXBvbmVudDxTaWduYXR1cmU-IHtcbiAgPHRlbXBsYXRlPlxuICAgIDxkaXYgZGF0YS1zdGF0ZT17e2dldERhdGFTdGF0ZSB0aGlzLmlzRXhwYW5kZWR9fSBkYXRhLWRpc2FibGVkPXt7QGRpc2FibGVkfX0gLi4uYXR0cmlidXRlcz5cbiAgICAgIHt7eWllbGRcbiAgICAgICAgKGhhc2hcbiAgICAgICAgICBpc0V4cGFuZGVkPXRoaXMuaXNFeHBhbmRlZFxuICAgICAgICAgIEhlYWRlcj0oY29tcG9uZW50XG4gICAgICAgICAgICBIZWFkZXJcbiAgICAgICAgICAgIHZhbHVlPUB2YWx1ZVxuICAgICAgICAgICAgaXNFeHBhbmRlZD10aGlzLmlzRXhwYW5kZWRcbiAgICAgICAgICAgIGRpc2FibGVkPUBkaXNhYmxlZFxuICAgICAgICAgICAgdG9nZ2xlSXRlbT10aGlzLnRvZ2dsZUl0ZW1cbiAgICAgICAgICApXG4gICAgICAgICAgQ29udGVudD0oY29tcG9uZW50IENvbnRlbnQgdmFsdWU9QHZhbHVlIGlzRXhwYW5kZWQ9dGhpcy5pc0V4cGFuZGVkIGRpc2FibGVkPUBkaXNhYmxlZClcbiAgICAgICAgKVxuICAgICAgfX1cbiAgICA8L2Rpdj5cbiAgPC90ZW1wbGF0ZT5cblxuICBnZXQgaXNFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmFyZ3Muc2VsZWN0ZWRWYWx1ZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFyZ3Muc2VsZWN0ZWRWYWx1ZS5pbmNsdWRlcyh0aGlzLmFyZ3MudmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFyZ3Muc2VsZWN0ZWRWYWx1ZSA9PT0gdGhpcy5hcmdzLnZhbHVlO1xuICB9XG5cbiAgdG9nZ2xlSXRlbSA9ICgpOiB2b2lkID0-IHtcbiAgICBpZiAodGhpcy5hcmdzLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICB0aGlzLmFyZ3MudG9nZ2xlSXRlbSh0aGlzLmFyZ3MudmFsdWUpO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBBY2NvcmRpb25JdGVtO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLFNBQVMsSUFBSSxRQUFRLGdCQUFnQjtBQUVyQyxPQUFPLGFBQWEsZ0JBQWdCO0FBQ3BDLE9BQU8sWUFBWSxlQUFlO0FBRWxDLGNBQWMsOEJBQThCLFFBQVEsY0FBYztBQUVsRSxPQUFPLFNBQVMsYUFBYSxhQUFZLE9BQU8sR0FBRyxNQUFNO0lBQ3ZELE9BQU8sY0FBYSxTQUFTO0FBQy9CO1VBRVUsa0JBQWtCO0lBQzFCLE1BQU0sK0JBQStCO1FBQ25DLGdCQUFnQixNQUFNLEdBQUcsTUFBTTtRQUMvQixXQUFXLE9BQU87UUFDbEIsYUFBYSxPQUFPLE1BQU0sS0FBSyxJQUFJOzs7QUFJdkMsT0FBTyxNQUFNLHNCQUFzQixVQUFVO0lBQzNDLE1BQUE7UUFBQSxTQUFVLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQlYsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBaEJBO0lBa0JWLElBQUksY0FBYyxPQUFPLENBQUM7UUFDeEIsSUFBSSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7UUFDekQ7UUFFQSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztJQUNwRDtJQUVBLGFBQWEsSUFBSSxJQUFJO1FBQ25CLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO0lBQ3RDLEVBQUU7QUFDSjtBQUVBLGVBQWUsY0FBYyJ9"],"names":["AccordionContent","Component","setComponentTemplate","precompileTemplate","strictMode","scope","getDataState","isHidden","args","isExpanded","AccordionTrigger","on","templateOnly","AccordionHeader","hash","Trigger","isExpanded1","AccordionItem","Header","Content","Array","isArray","selectedValue","includes","value","toggleItem","disabled"],"mappings":";;;;;;;AAcO,MAAMA,gBAAA,SAAyBC,SAAA,CAAU;AAC9C,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAWA,uLAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA,YAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AAEV,EAAA,IAAIC,WAAW;AACb,IAAA,OAAO,CAAC,IAAI,CAACC,IAAI,CAACC,UAAU,CAAA;AAC9B,GAAA;AACF;;MCfaC,gBAAsB,GAAAR,oBAAA,CAAaC,kBAAA,CAahD,oRAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;AAAAK,IAAAA,EAAAA;AAAA,GAAA,CAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;MCZGC,eAAqB,GAAAX,oBAAA,CAAaC,kBAAA,CAgB/C,2QAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;IAAAQ,IAAA;AAAAC,aAAAA,gBAAAA;AAAA,GAAA,CAAA;AAAU,CAAA,CAAA,EAAAH,YAAA,EAAA;;ACzBH,SAASN,YAAaU,CAAAA,WAAmB,EAAS;EACvD,OAAOA,WAAA,GAAa,MAAS,GAAA,QAAA,CAAA;AAC/B,CAAA;AAUO,MAAMC,aAAA,SAAsBhB,SAAA,CAAU;AAC3C,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAgBA,6WAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,YAAA;QAAAQ,IAAA;gBAAAI,eAAA;AAAAC,iBAAAA,gBAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AAEV,EAAA,IAAIV,aAAsB;IACxB,IAAIW,KAAA,CAAMC,OAAO,CAAC,IAAI,CAACb,IAAI,CAACc,aAAa,CAAG,EAAA;AAC1C,MAAA,OAAO,IAAI,CAACd,IAAI,CAACc,aAAa,CAACC,QAAQ,CAAC,IAAI,CAACf,IAAI,CAACgB,KAAK,CAAA,CAAA;AACzD,KAAA;IAEA,OAAO,IAAI,CAAChB,IAAI,CAACc,aAAa,KAAK,IAAI,CAACd,IAAI,CAACgB,KAAK,CAAA;AACpD,GAAA;EAEAC,UAAA,GAAaA,MAAQ;AACnB,IAAA,IAAI,IAAI,CAACjB,IAAI,CAACkB,QAAQ,EAAE,OAAA;IAExB,IAAI,CAAClB,IAAI,CAACiB,UAAU,CAAC,IAAI,CAACjB,IAAI,CAACgB,KAAK,CAAA,CAAA;AACtC,GAAA,CAAA;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"item-DmpElnSZ.js","sources":["../src/components/accordion/content.gts","../src/components/accordion/trigger.gts","../src/components/accordion/header.gts","../src/components/accordion/item.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { getDataState } from './item.gts';\nimport type { AccordionContentExternalSignature } from './public.ts';\ninterface Signature extends AccordionContentExternalSignature {\n Args: AccordionContentExternalSignature['Args'] & {\n isExpanded: boolean;\n value: string;\n disabled?: boolean;\n };\n}\nexport class AccordionContent extends Component<Signature> {\n static{\n template(`\n <div\n role=\"region\"\n id={{@value}}\n data-state={{getDataState @isExpanded}}\n hidden={{this.isHidden}}\n data-disabled={{@disabled}}\n ...attributes\n >\n {{yield}}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n get isHidden() {\n return !this.args.isExpanded;\n }\n}\nexport default AccordionContent;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9lbWJlci1wcmltaXRpdmVzL3NyYy9jb21wb25lbnRzL2FjY29yZGlvbi9jb250ZW50Lmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5cbmltcG9ydCB7IGdldERhdGFTdGF0ZSB9IGZyb20gJy4vaXRlbS5ndHMnO1xuXG5pbXBvcnQgdHlwZSB7IEFjY29yZGlvbkNvbnRlbnRFeHRlcm5hbFNpZ25hdHVyZSB9IGZyb20gJy4vcHVibGljLnRzJztcblxuaW50ZXJmYWNlIFNpZ25hdHVyZSBleHRlbmRzIEFjY29yZGlvbkNvbnRlbnRFeHRlcm5hbFNpZ25hdHVyZSB7XG4gIEFyZ3M6IEFjY29yZGlvbkNvbnRlbnRFeHRlcm5hbFNpZ25hdHVyZVsnQXJncyddICYge1xuICAgIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25Db250ZW50IGV4dGVuZHMgQ29tcG9uZW50PFNpZ25hdHVyZT4ge1xuICA8dGVtcGxhdGU-XG4gICAgPGRpdlxuICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICBpZD17e0B2YWx1ZX19XG4gICAgICBkYXRhLXN0YXRlPXt7Z2V0RGF0YVN0YXRlIEBpc0V4cGFuZGVkfX1cbiAgICAgIGhpZGRlbj17e3RoaXMuaXNIaWRkZW59fVxuICAgICAgZGF0YS1kaXNhYmxlZD17e0BkaXNhYmxlZH19XG4gICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgPlxuICAgICAge3t5aWVsZH19XG4gICAgPC9kaXY-XG4gIDwvdGVtcGxhdGU-XG5cbiAgZ2V0IGlzSGlkZGVuKCkge1xuICAgIHJldHVybiAhdGhpcy5hcmdzLmlzRXhwYW5kZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQWNjb3JkaW9uQ29udGVudDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxlQUFlLHFCQUFxQjtBQUUzQyxTQUFTLFlBQVksUUFBUSxhQUFhO0FBRTFDLGNBQWMsaUNBQWlDLFFBQVEsY0FBYztVQUUzRCxrQkFBa0I7SUFDMUIsTUFBTSxrQ0FBa0M7UUFDdEMsWUFBWSxPQUFPO1FBQ25CLE9BQU8sTUFBTTtRQUNiLFdBQVcsT0FBTzs7O0FBSXRCLE9BQU8sTUFBTSx5QkFBeUIsVUFBVTtJQUM5QyxNQUFBO1FBQUEsU0FBVSxDQUFBOzs7Ozs7Ozs7OztFQVdWLENBQUEsRUFBQTtZQUFBLFdBQUEsSUFBVztZQUFYO2dCQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztZQUFEO1FBQUE7SUFBQSxDQVhBO0lBYVYsSUFBSSxXQUFXO1FBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtJQUM5QjtBQUNGO0FBRUEsZUFBZSxpQkFBaUIifQ","import { template } from \"@ember/template-compiler\";\nimport { on } from '@ember/modifier';\nimport { getDataState } from './item.gts';\nimport type { AccordionTriggerExternalSignature } from './public.ts';\nimport type { TOC } from '@ember/component/template-only';\ninterface Signature extends AccordionTriggerExternalSignature {\n Args: AccordionTriggerExternalSignature['Args'] & {\n isExpanded: boolean;\n value: string;\n disabled?: boolean;\n toggleItem: () => void;\n };\n}\nexport const AccordionTrigger: TOC<Signature> = template(`\n <button\n type=\"button\"\n aria-controls={{@value}}\n aria-expanded={{@isExpanded}}\n data-state={{getDataState @isExpanded}}\n data-disabled={{@disabled}}\n aria-disabled={{if @disabled \"true\" \"false\"}}\n {{on \"click\" @toggleItem}}\n ...attributes\n >\n {{yield}}\n </button>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default AccordionTrigger;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9lbWJlci1wcmltaXRpdmVzL3NyYy9jb21wb25lbnRzL2FjY29yZGlvbi90cmlnZ2VyLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBvbiB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XG5cbmltcG9ydCB7IGdldERhdGFTdGF0ZSB9IGZyb20gJy4vaXRlbS5ndHMnO1xuXG5pbXBvcnQgdHlwZSB7IEFjY29yZGlvblRyaWdnZXJFeHRlcm5hbFNpZ25hdHVyZSB9IGZyb20gJy4vcHVibGljLnRzJztcbmltcG9ydCB0eXBlIHsgVE9DIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5JztcblxuaW50ZXJmYWNlIFNpZ25hdHVyZSBleHRlbmRzIEFjY29yZGlvblRyaWdnZXJFeHRlcm5hbFNpZ25hdHVyZSB7XG4gIEFyZ3M6IEFjY29yZGlvblRyaWdnZXJFeHRlcm5hbFNpZ25hdHVyZVsnQXJncyddICYge1xuICAgIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgdG9nZ2xlSXRlbTogKCkgPT4gdm9pZDtcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IEFjY29yZGlvblRyaWdnZXI6IFRPQzxTaWduYXR1cmU-ID0gPHRlbXBsYXRlPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgYXJpYS1jb250cm9scz17e0B2YWx1ZX19XG4gICAgYXJpYS1leHBhbmRlZD17e0Bpc0V4cGFuZGVkfX1cbiAgICBkYXRhLXN0YXRlPXt7Z2V0RGF0YVN0YXRlIEBpc0V4cGFuZGVkfX1cbiAgICBkYXRhLWRpc2FibGVkPXt7QGRpc2FibGVkfX1cbiAgICBhcmlhLWRpc2FibGVkPXt7aWYgQGRpc2FibGVkIFwidHJ1ZVwiIFwiZmFsc2VcIn19XG4gICAge3tvbiBcImNsaWNrXCIgQHRvZ2dsZUl0ZW19fVxuICAgIC4uLmF0dHJpYnV0ZXNcbiAgPlxuICAgIHt7eWllbGR9fVxuICA8L2J1dHRvbj5cbjwvdGVtcGxhdGU-O1xuXG5leHBvcnQgZGVmYXVsdCBBY2NvcmRpb25UcmlnZ2VyO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTLEVBQUUsUUFBUSxrQkFBa0I7QUFFckMsU0FBUyxZQUFZLFFBQVEsYUFBYTtBQUUxQyxjQUFjLGlDQUFpQyxRQUFRLGNBQWM7QUFDckUsY0FBYyxHQUFHLFFBQVEsaUNBQWlDO1VBRWhELGtCQUFrQjtJQUMxQixNQUFNLGtDQUFrQztRQUN0QyxZQUFZLE9BQU87UUFDbkIsT0FBTyxNQUFNO1FBQ2IsV0FBVyxPQUFPO1FBQ2xCLGtCQUFrQixJQUFJOzs7QUFJMUIsT0FBTyxNQUFNLGtCQUFrQixJQUFJLGFBQWEsU0FBVSxDQUFBOzs7Ozs7Ozs7Ozs7O0FBYTFELENBQUEsRUFBQTtJQUFBO1FBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO0lBQUQ7QUFBQSxHQUFFO0FBRVosZUFBZSxpQkFBaUIifQ","import { template } from \"@ember/template-compiler\";\nimport { hash } from '@ember/helper';\nimport { getDataState } from './item.gts';\nimport Trigger from './trigger.gts';\nimport type { AccordionHeaderExternalSignature } from './public.ts';\nimport type { TOC } from '@ember/component/template-only';\ninterface Signature extends AccordionHeaderExternalSignature {\n Args: AccordionHeaderExternalSignature['Args'] & {\n value: string;\n isExpanded: boolean;\n disabled?: boolean;\n toggleItem: () => void;\n };\n}\nexport const AccordionHeader: TOC<Signature> = template(`\n <div\n role=\"heading\"\n aria-level=\"3\"\n data-state={{getDataState @isExpanded}}\n data-disabled={{@disabled}}\n ...attributes\n >\n {{yield\n (hash\n Trigger=(component\n Trigger value=@value isExpanded=@isExpanded disabled=@disabled toggleItem=@toggleItem\n )\n )\n }}\n </div>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default AccordionHeader;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9lbWJlci1wcmltaXRpdmVzL3NyYy9jb21wb25lbnRzL2FjY29yZGlvbi9oZWFkZXIuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcblxuaW1wb3J0IHsgZ2V0RGF0YVN0YXRlIH0gZnJvbSAnLi9pdGVtLmd0cyc7XG5pbXBvcnQgVHJpZ2dlciBmcm9tICcuL3RyaWdnZXIuZ3RzJztcblxuaW1wb3J0IHR5cGUgeyBBY2NvcmRpb25IZWFkZXJFeHRlcm5hbFNpZ25hdHVyZSB9IGZyb20gJy4vcHVibGljLnRzJztcbmltcG9ydCB0eXBlIHsgVE9DIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5JztcblxuaW50ZXJmYWNlIFNpZ25hdHVyZSBleHRlbmRzIEFjY29yZGlvbkhlYWRlckV4dGVybmFsU2lnbmF0dXJlIHtcbiAgQXJnczogQWNjb3JkaW9uSGVhZGVyRXh0ZXJuYWxTaWduYXR1cmVbJ0FyZ3MnXSAmIHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG4gICAgZGlzYWJsZWQ_OiBib29sZWFuO1xuICAgIHRvZ2dsZUl0ZW06ICgpID0-IHZvaWQ7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBBY2NvcmRpb25IZWFkZXI6IFRPQzxTaWduYXR1cmU-ID0gPHRlbXBsYXRlPlxuICA8ZGl2XG4gICAgcm9sZT1cImhlYWRpbmdcIlxuICAgIGFyaWEtbGV2ZWw9XCIzXCJcbiAgICBkYXRhLXN0YXRlPXt7Z2V0RGF0YVN0YXRlIEBpc0V4cGFuZGVkfX1cbiAgICBkYXRhLWRpc2FibGVkPXt7QGRpc2FibGVkfX1cbiAgICAuLi5hdHRyaWJ1dGVzXG4gID5cbiAgICB7e3lpZWxkXG4gICAgICAoaGFzaFxuICAgICAgICBUcmlnZ2VyPShjb21wb25lbnRcbiAgICAgICAgICBUcmlnZ2VyIHZhbHVlPUB2YWx1ZSBpc0V4cGFuZGVkPUBpc0V4cGFuZGVkIGRpc2FibGVkPUBkaXNhYmxlZCB0b2dnbGVJdGVtPUB0b2dnbGVJdGVtXG4gICAgICAgIClcbiAgICAgIClcbiAgICB9fVxuICA8L2Rpdj5cbjwvdGVtcGxhdGU-O1xuXG5leHBvcnQgZGVmYXVsdCBBY2NvcmRpb25IZWFkZXI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVMsSUFBSSxRQUFRLGdCQUFnQjtBQUVyQyxTQUFTLFlBQVksUUFBUSxhQUFhO0FBQzFDLE9BQU8sYUFBYSxnQkFBZ0I7QUFFcEMsY0FBYyxnQ0FBZ0MsUUFBUSxjQUFjO0FBQ3BFLGNBQWMsR0FBRyxRQUFRLGlDQUFpQztVQUVoRCxrQkFBa0I7SUFDMUIsTUFBTSxpQ0FBaUM7UUFDckMsT0FBTyxNQUFNO1FBQ2IsWUFBWSxPQUFPO1FBQ25CLFdBQVcsT0FBTztRQUNsQixrQkFBa0IsSUFBSTs7O0FBSTFCLE9BQU8sTUFBTSxpQkFBaUIsSUFBSSxhQUFhLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7OztBQWdCekQsQ0FBQSxFQUFBO0lBQUE7UUFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7SUFBRDtBQUFBLEdBQUU7QUFFWixlQUFlLGdCQUFnQiJ9","import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { hash } from '@ember/helper';\nimport Content from './content.gts';\nimport Header from './header.gts';\nimport type { AccordionItemExternalSignature } from './public.ts';\nexport function getDataState(isExpanded1: boolean): string {\n return isExpanded1 ? 'open' : 'closed';\n}\ninterface Signature extends AccordionItemExternalSignature {\n Args: AccordionItemExternalSignature['Args'] & {\n selectedValue?: string | string[];\n disabled?: boolean;\n toggleItem: (value: string) => void;\n };\n}\nexport class AccordionItem extends Component<Signature> {\n static{\n template(`\n <div data-state={{getDataState this.isExpanded}} data-disabled={{@disabled}} ...attributes>\n {{yield\n (hash\n isExpanded=this.isExpanded\n Header=(component\n Header\n value=@value\n isExpanded=this.isExpanded\n disabled=@disabled\n toggleItem=this.toggleItem\n )\n Content=(component Content value=@value isExpanded=this.isExpanded disabled=@disabled)\n )\n }}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n get isExpanded(): boolean {\n if (Array.isArray(this.args.selectedValue)) {\n return this.args.selectedValue.includes(this.args.value);\n }\n return this.args.selectedValue === this.args.value;\n }\n toggleItem = (): void =>{\n if (this.args.disabled) return;\n this.args.toggleItem(this.args.value);\n };\n}\nexport default AccordionItem;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2VtYmVyLXByaW1pdGl2ZXMvZW1iZXItcHJpbWl0aXZlcy9lbWJlci1wcmltaXRpdmVzL3NyYy9jb21wb25lbnRzL2FjY29yZGlvbi9pdGVtLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBoYXNoIH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5cbmltcG9ydCBDb250ZW50IGZyb20gJy4vY29udGVudC5ndHMnO1xuaW1wb3J0IEhlYWRlciBmcm9tICcuL2hlYWRlci5ndHMnO1xuXG5pbXBvcnQgdHlwZSB7IEFjY29yZGlvbkl0ZW1FeHRlcm5hbFNpZ25hdHVyZSB9IGZyb20gJy4vcHVibGljLnRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGFTdGF0ZShpc0V4cGFuZGVkOiBib29sZWFuKTogc3RyaW5nIHtcbiAgcmV0dXJuIGlzRXhwYW5kZWQgPyAnb3BlbicgOiAnY2xvc2VkJztcbn1cblxuaW50ZXJmYWNlIFNpZ25hdHVyZSBleHRlbmRzIEFjY29yZGlvbkl0ZW1FeHRlcm5hbFNpZ25hdHVyZSB7XG4gIEFyZ3M6IEFjY29yZGlvbkl0ZW1FeHRlcm5hbFNpZ25hdHVyZVsnQXJncyddICYge1xuICAgIHNlbGVjdGVkVmFsdWU_OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgdG9nZ2xlSXRlbTogKHZhbHVlOiBzdHJpbmcpID0-IHZvaWQ7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25JdGVtIGV4dGVuZHMgQ29tcG9uZW50PFNpZ25hdHVyZT4ge1xuICA8dGVtcGxhdGU-XG4gICAgPGRpdiBkYXRhLXN0YXRlPXt7Z2V0RGF0YVN0YXRlIHRoaXMuaXNFeHBhbmRlZH19IGRhdGEtZGlzYWJsZWQ9e3tAZGlzYWJsZWR9fSAuLi5hdHRyaWJ1dGVzPlxuICAgICAge3t5aWVsZFxuICAgICAgICAoaGFzaFxuICAgICAgICAgIGlzRXhwYW5kZWQ9dGhpcy5pc0V4cGFuZGVkXG4gICAgICAgICAgSGVhZGVyPShjb21wb25lbnRcbiAgICAgICAgICAgIEhlYWRlclxuICAgICAgICAgICAgdmFsdWU9QHZhbHVlXG4gICAgICAgICAgICBpc0V4cGFuZGVkPXRoaXMuaXNFeHBhbmRlZFxuICAgICAgICAgICAgZGlzYWJsZWQ9QGRpc2FibGVkXG4gICAgICAgICAgICB0b2dnbGVJdGVtPXRoaXMudG9nZ2xlSXRlbVxuICAgICAgICAgIClcbiAgICAgICAgICBDb250ZW50PShjb21wb25lbnQgQ29udGVudCB2YWx1ZT1AdmFsdWUgaXNFeHBhbmRlZD10aGlzLmlzRXhwYW5kZWQgZGlzYWJsZWQ9QGRpc2FibGVkKVxuICAgICAgICApXG4gICAgICB9fVxuICAgIDwvZGl2PlxuICA8L3RlbXBsYXRlPlxuXG4gIGdldCBpc0V4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuYXJncy5zZWxlY3RlZFZhbHVlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuYXJncy5zZWxlY3RlZFZhbHVlLmluY2x1ZGVzKHRoaXMuYXJncy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXJncy5zZWxlY3RlZFZhbHVlID09PSB0aGlzLmFyZ3MudmFsdWU7XG4gIH1cblxuICB0b2dnbGVJdGVtID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLmFyZ3MuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIHRoaXMuYXJncy50b2dnbGVJdGVtKHRoaXMuYXJncy52YWx1ZSk7XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFjY29yZGlvbkl0ZW07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsU0FBUyxJQUFJLFFBQVEsZ0JBQWdCO0FBRXJDLE9BQU8sYUFBYSxnQkFBZ0I7QUFDcEMsT0FBTyxZQUFZLGVBQWU7QUFFbEMsY0FBYyw4QkFBOEIsUUFBUSxjQUFjO0FBRWxFLE9BQU8sU0FBUyxhQUFhLGFBQVksT0FBTyxHQUFHLE1BQU07SUFDdkQsT0FBTyxjQUFhLFNBQVM7QUFDL0I7VUFFVSxrQkFBa0I7SUFDMUIsTUFBTSwrQkFBK0I7UUFDbkMsZ0JBQWdCLE1BQU0sR0FBRyxNQUFNO1FBQy9CLFdBQVcsT0FBTztRQUNsQixhQUFhLE9BQU8sTUFBTSxLQUFLLElBQUk7OztBQUl2QyxPQUFPLE1BQU0sc0JBQXNCLFVBQVU7SUFDM0MsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7OztFQWdCVixDQUFBLEVBQUE7WUFBQSxXQUFBLElBQVc7WUFBWDtnQkFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7WUFBRDtRQUFBO0lBQUEsQ0FoQkE7SUFrQlYsSUFBSSxjQUFjLE9BQU8sQ0FBQztRQUN4QixJQUFJLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHO1lBQzFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztRQUN6RDtRQUVBLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO0lBQ3BEO0lBRUEsYUFBYSxJQUFJLElBQUk7UUFDbkIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7SUFDdEMsRUFBRTtBQUNKO0FBRUEsZUFBZSxjQUFjIn0"],"names":["AccordionContent","Component","setComponentTemplate","precompileTemplate","strictMode","scope","getDataState","isHidden","args","isExpanded","AccordionTrigger","on","templateOnly","AccordionHeader","hash","Trigger","isExpanded1","AccordionItem","Header","Content","Array","isArray","selectedValue","includes","value","toggleItem","disabled"],"mappings":";;;;;;;AAcO,MAAMA,gBAAA,SAAyBC,SAAA,CAAU;AAC9C,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAWA,uLAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA,YAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AAEV,EAAA,IAAIC,WAAW;AACb,IAAA,OAAO,CAAC,IAAI,CAACC,IAAI,CAACC,UAAU,CAAA;AAC9B,GAAA;AACF;;MCfaC,gBAAsB,GAAAR,oBAAA,CAAaC,kBAAA,CAahD,oRAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;AAAAK,IAAAA,EAAAA;AAAA,GAAA,CAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;MCZGC,eAAqB,GAAAX,oBAAA,CAAaC,kBAAA,CAgB/C,2QAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;IAAAQ,IAAA;AAAAC,aAAAA,gBAAAA;AAAA,GAAA,CAAA;AAAU,CAAA,CAAA,EAAAH,YAAA,EAAA;;ACzBH,SAASN,YAAaU,CAAAA,WAAmB,EAAS;EACvD,OAAOA,WAAA,GAAa,MAAS,GAAA,QAAA,CAAA;AAC/B,CAAA;AAUO,MAAMC,aAAA,SAAsBhB,SAAA,CAAU;AAC3C,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAgBA,6WAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,YAAA;QAAAQ,IAAA;gBAAAI,eAAA;AAAAC,iBAAAA,gBAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AAEV,EAAA,IAAIV,aAAsB;IACxB,IAAIW,KAAA,CAAMC,OAAO,CAAC,IAAI,CAACb,IAAI,CAACc,aAAa,CAAG,EAAA;AAC1C,MAAA,OAAO,IAAI,CAACd,IAAI,CAACc,aAAa,CAACC,QAAQ,CAAC,IAAI,CAACf,IAAI,CAACgB,KAAK,CAAA,CAAA;AACzD,KAAA;IAEA,OAAO,IAAI,CAAChB,IAAI,CAACc,aAAa,KAAK,IAAI,CAACd,IAAI,CAACgB,KAAK,CAAA;AACpD,GAAA;EAEAC,UAAA,GAAaA,MAAQ;AACnB,IAAA,IAAI,IAAI,CAACjB,IAAI,CAACkB,QAAQ,EAAE,OAAA;IAExB,IAAI,CAAClB,IAAI,CAACiB,UAAU,CAAC,IAAI,CAACjB,IAAI,CAACgB,KAAK,CAAA,CAAA;AACtC,GAAA,CAAA;AACF;;;;"}
|