ember-primitives 0.15.0 → 0.17.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.
Files changed (72) hide show
  1. package/declarations/components/dialog.d.ts +4 -4
  2. package/declarations/components/form.d.ts +19 -1
  3. package/declarations/components/form.d.ts.map +1 -1
  4. package/declarations/components/link.d.ts +35 -13
  5. package/declarations/components/link.d.ts.map +1 -1
  6. package/declarations/components/menu.d.ts +55 -15
  7. package/declarations/components/menu.d.ts.map +1 -1
  8. package/declarations/components/one-time-password/input.d.ts +1 -1
  9. package/declarations/components/popover.d.ts +1 -7
  10. package/declarations/components/popover.d.ts.map +1 -1
  11. package/declarations/floating-ui/component.d.ts +3 -10
  12. package/declarations/floating-ui/component.d.ts.map +1 -1
  13. package/declarations/helpers/link.d.ts +29 -0
  14. package/declarations/helpers/link.d.ts.map +1 -0
  15. package/declarations/helpers.d.ts +1 -0
  16. package/declarations/helpers.d.ts.map +1 -1
  17. package/dist/_app_/helpers/link.js +1 -0
  18. package/dist/components/-private/typed-elements.js.map +1 -1
  19. package/dist/components/accordion/content.js +1 -1
  20. package/dist/components/accordion/header.js +1 -1
  21. package/dist/components/accordion/item.js +1 -1
  22. package/dist/components/accordion/trigger.js +1 -1
  23. package/dist/components/accordion.js +4 -4
  24. package/dist/components/accordion.js.map +1 -1
  25. package/dist/components/avatar.js +6 -6
  26. package/dist/components/avatar.js.map +1 -1
  27. package/dist/components/dialog.js +6 -6
  28. package/dist/components/dialog.js.map +1 -1
  29. package/dist/components/external-link.js.map +1 -1
  30. package/dist/components/form.js +50 -7
  31. package/dist/components/form.js.map +1 -1
  32. package/dist/components/layout/sticky-footer/index.js.map +1 -1
  33. package/dist/components/link.js +12 -78
  34. package/dist/components/link.js.map +1 -1
  35. package/dist/components/menu.js +35 -21
  36. package/dist/components/menu.js.map +1 -1
  37. package/dist/components/one-time-password/buttons.js +3 -3
  38. package/dist/components/one-time-password/buttons.js.map +1 -1
  39. package/dist/components/one-time-password/input.js +5 -5
  40. package/dist/components/one-time-password/input.js.map +1 -1
  41. package/dist/components/one-time-password/otp.js +5 -5
  42. package/dist/components/one-time-password/otp.js.map +1 -1
  43. package/dist/components/popover.js +9 -9
  44. package/dist/components/popover.js.map +1 -1
  45. package/dist/components/portal-targets.js +2 -2
  46. package/dist/components/portal-targets.js.map +1 -1
  47. package/dist/components/portal.js +2 -2
  48. package/dist/components/portal.js.map +1 -1
  49. package/dist/components/progress.js +5 -5
  50. package/dist/components/progress.js.map +1 -1
  51. package/dist/components/scroller.js +3 -3
  52. package/dist/components/scroller.js.map +1 -1
  53. package/dist/components/shadowed.js +4 -4
  54. package/dist/components/shadowed.js.map +1 -1
  55. package/dist/components/switch.js +8 -8
  56. package/dist/components/switch.js.map +1 -1
  57. package/dist/components/toggle-group.js +8 -8
  58. package/dist/components/toggle-group.js.map +1 -1
  59. package/dist/components/toggle.js +5 -5
  60. package/dist/components/toggle.js.map +1 -1
  61. package/dist/floating-ui/component.js +11 -9
  62. package/dist/floating-ui/component.js.map +1 -1
  63. package/dist/helpers/link.js +79 -0
  64. package/dist/helpers/link.js.map +1 -0
  65. package/dist/helpers.js +1 -0
  66. package/dist/helpers.js.map +1 -1
  67. package/dist/index.js +1 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/{item-HBCzMJwv.js → item-DmpElnSZ.js} +23 -23
  70. package/dist/item-DmpElnSZ.js.map +1 -0
  71. package/package.json +21 -20
  72. package/dist/item-HBCzMJwv.js.map +0 -1
@@ -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 } 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'];\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}\ninterface HookSignature {\n Element: HTMLElement | SVGElement;\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 velcroHook = modifier<HookSignature>((element1: HTMLElement | SVGElement)=>{\n this.setHook(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 {{yield\n (hash hook=this.velcroHook setHook=this.setHook loop=loopWithHook data=this.velcroData)\n }}\n {{/let}}\n {{/let}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n"],"names":["Velcro","Component","g","this","prototype","tracked","undefined","i","void 0","setVelcroData","data1","velcroData","setHook","element1","hook","velcroHook","modifier","setComponentTemplate","precompileTemplate","scope","VelcroModifier","hash","strictMode"],"mappings":";;;;;;;;;AAiCe,MAAMA,MAAM,SAASC,SAAS,CAAY;AAAA,EAAA;AAAAC,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,WACpDC,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAC0BC,SAAS,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,KAAA,IAAAC,CAAA,CAAAJ,IAAA,WAAAK,KAAA,CAAA,EAAA;AAAA,EAAA;AAAAN,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,iBAE1CC,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OACuBC,SAAS,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,WAAA,IAAAC,CAAA,CAAAJ,IAAA,EAAA,YAAA,CAAA,EAAAK,MAAA,EAFxC;AAGAC,EAAAA,aAAa,GAAmCC,KAAK,IAAI,IAAI,CAACC,UAAU,GAAGD,KAAM,CAAA;EACjFE,OAAO,GAAIC,QAAkC,IAAG;IAC5C,IAAI,CAACC,IAAI,GAAGD,QAAQ,CAAA;GACvB,CAAA;AACDE,EAAAA,UAAU,GAAGC,QAAQ,CAAiBH,QAAkC,IAAG;AACvE,IAAA,IAAI,CAACD,OAAO,CAACC,QAAQ,CAAC,CAAA;AAC1B,GAAC,CAAC,CAAA;AACF,EAAA;IACII,oBAAA,CAAAC,kBAAA,CAqBH,sdAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,cAAA;AAAAC,QAAAA,IAAAA;AAAA,OAAA,CAAA;MAAAC,UAAA,EAAA,IAAA;KAKI,CAAC,EAJa,IAAI,CAAA,CAAA;AAKvB,GAAA;AACJ;;;;"}
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","this","prototype","tracked","undefined","i","void 0","setVelcroData","data1","velcroData","setHook","hook","setComponentTemplate","precompileTemplate","strictMode","scope","VelcroModifier","hash"],"mappings":";;;;;;;;;AAyCA,MAAMA,GAAA,GAAMC,QAAA,CAKT,CAACC,QAAuB,EAAYC,WAAA,KAAA;AACrC,EAAA,IAAIC,GAAA,GAAKD,WAAU,CAAC,CAAE,CAAA,CAAA;AAEtBC,EAAAA,GAAA,CAAGF,QAAA,CAAA,CAAA;AACL,CAAA,CAAA,CAAA;AAEe,MAAMG,MAAA,SAAeC,SAAA,CAAU;AAAA,EAAA;AAAAC,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,WAC3CC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAA0CC,SAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,KAAA,IAAAC,CAAA,CAAAJ,IAAA,WAAAK,KAAA,CAAA,EAAA;AAAA,EAAA;AAAAN,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,iBAG1CC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAuCC,SAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,WAAA,IAAAC,CAAA,CAAAJ,IAAA,EAAA,YAAA,CAAA,EAAAK,MAAA,EADxC;AAGAC,EAAAA,aAAA,GAAgDC,KAAA,IAAU,IAAI,CAACC,UAAU,GAAGD,KAAI,CAAA;AAEhFE,EAAAA,OAAA,GAAWf,QAAuB,IAAA;IAChC,IAAI,CAACgB,IAAI,GAAGhB,QAAA,CAAA;AACd,GAAA,CAAA;AAEA,EAAA;IAAAiB,oBAAA,CAAAC,kBAAA,CA2BA,4iBAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,cAAA;QAAAC,IAAA;AAAAxB,QAAAA,GAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
@@ -0,0 +1,79 @@
1
+ import Helper from '@ember/component/helper';
2
+ import { assert } from '@ember/debug';
3
+ import { service } from '@ember/service';
4
+ import { handle } from '../proper-links.js';
5
+ import { g, i } from 'decorator-transforms/runtime';
6
+
7
+ class Link extends Helper {
8
+ static {
9
+ g(this.prototype, "router", [service]);
10
+ }
11
+ #router = (i(this, "router"), void 0);
12
+ compute([href], {
13
+ includeActiveQueryParams = false,
14
+ activeOnSubPaths = false
15
+ }) {
16
+ assert('href was not passed in', href);
17
+ const router = this.router;
18
+ const handleClick = event => {
19
+ assert('[BUG]', event.target instanceof HTMLAnchorElement);
20
+ handle(router, event.target, [], event);
21
+ };
22
+ return {
23
+ isExternal: isExternal(href),
24
+ get isActive() {
25
+ return isActive(router, href, includeActiveQueryParams, activeOnSubPaths);
26
+ },
27
+ handleClick
28
+ };
29
+ }
30
+ }
31
+ const link = Link;
32
+ function isExternal(href) {
33
+ if (!href) return false;
34
+ if (href.startsWith('#')) return false;
35
+ if (href.startsWith('/')) return false;
36
+ return location.origin !== new URL(href).origin;
37
+ }
38
+ function isActive(router, href, includeQueryParams, activeOnSubPaths) {
39
+ if (!includeQueryParams) {
40
+ /**
41
+ * is Active doesn't understand `href`, so we have to convert to RouteInfo-esque
42
+ */
43
+ let info = router.recognize(href);
44
+ if (info) {
45
+ let dynamicSegments = getParams(info);
46
+ let routeName = activeOnSubPaths ? info.name.replace(/\.index$/, '') : info.name;
47
+ return router.isActive(routeName, ...dynamicSegments);
48
+ }
49
+ return false;
50
+ }
51
+ let url = new URL(href, location.origin);
52
+ let hrefQueryParams = new URLSearchParams(url.searchParams);
53
+ let hrefPath = url.pathname;
54
+ const currentPath = router.currentURL?.split('?')[0];
55
+ if (!currentPath) return false;
56
+ if (activeOnSubPaths ? !currentPath.startsWith(hrefPath) : hrefPath !== currentPath) return false;
57
+ const currentQueryParams = router.currentRoute?.queryParams;
58
+ if (!currentQueryParams) return false;
59
+ if (includeQueryParams === true) {
60
+ return Object.entries(currentQueryParams).every(([key, value]) => {
61
+ return hrefQueryParams.get(key) === value;
62
+ });
63
+ }
64
+ return includeQueryParams.every(key => {
65
+ return hrefQueryParams.get(key) === currentQueryParams[key];
66
+ });
67
+ }
68
+ function getParams(currentRouteInfo) {
69
+ let params = [];
70
+ while (currentRouteInfo?.parent) {
71
+ let currentParams = currentRouteInfo.params;
72
+ params = currentParams ? [currentParams, ...params] : params;
73
+ currentRouteInfo = currentRouteInfo.parent;
74
+ }
75
+ return params.map(Object.values).flat();
76
+ }
77
+
78
+ export { Link as default, link };
79
+ //# sourceMappingURL=link.js.map
@@ -0,0 +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\nfunction 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\nfunction 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\nfunction getParams(currentRouteInfo: RouteInfo) {\n let params: Record<string, string | unknown | undefined>[] = [];\n\n while (currentRouteInfo?.parent) {\n let currentParams = currentRouteInfo.params;\n\n params = currentParams ? [currentParams, ...params] : params;\n currentRouteInfo = currentRouteInfo.parent;\n }\n\n return params.map(Object.values).flat();\n}\n"],"names":["Link","Helper","g","this","prototype","service","i","void 0","compute","href","includeActiveQueryParams","activeOnSubPaths","assert","router","handleClick","event","target","HTMLAnchorElement","handle","isExternal","isActive","link","startsWith","location","origin","URL","includeQueryParams","info","recognize","dynamicSegments","getParams","routeName","name","replace","url","hrefQueryParams","URLSearchParams","searchParams","hrefPath","pathname","currentPath","currentURL","split","currentQueryParams","currentRoute","queryParams","Object","entries","every","key","value","get","currentRouteInfo","params","parent","currentParams","map","values","flat"],"mappings":"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"}
package/dist/helpers.js CHANGED
@@ -1,2 +1,3 @@
1
+ export { link } from './helpers/link.js';
1
2
  export { service } from './helpers/service.js';
2
3
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"helpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ export { Shadowed } from './components/shadowed.js';
18
18
  export { Switch } from './components/switch.js';
19
19
  export { Toggle } from './components/toggle.js';
20
20
  export { ToggleGroup } from './components/toggle-group.js';
21
+ export { link } from './helpers/link.js';
21
22
  export { service } from './helpers/service.js';
22
23
 
23
24
  /**
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["/**\n * DANGER: this is a *barrel file*\n *\n * It forces the whole library to be loaded and all dependencies.\n *\n * If you have a small app, you probably don't want to import from here -- instead import from each sub-path.\n */\nimport { importSync, isDevelopingApp, macroCondition } from '@embroider/macros';\n\nif (macroCondition(isDevelopingApp())) {\n importSync('./components/violations.css');\n}\n\nexport { Accordion } from './components/accordion.gts';\nexport type {\n AccordionContentExternalSignature,\n AccordionHeaderExternalSignature,\n AccordionItemExternalSignature,\n AccordionTriggerExternalSignature,\n} from './components/accordion/public.ts';\nexport { Avatar } from './components/avatar.gts';\nexport { Dialog, Dialog as Modal } from './components/dialog.gts';\nexport { ExternalLink } from './components/external-link.gts';\nexport { Form } from './components/form.gts';\nexport { StickyFooter } from './components/layout/sticky-footer/index.gts';\nexport { Link } from './components/link.gts';\nexport { Menu } from './components/menu.gts';\nexport { OTP, OTPInput } from './components/one-time-password/index.gts';\nexport { Popover } from './components/popover.gts';\nexport { Portal } from './components/portal.gts';\nexport { PortalTargets } from './components/portal-targets.gts';\nexport { TARGETS as PORTALS } from './components/portal-targets.gts';\nexport { Progress } from './components/progress.gts';\nexport { Scroller } from './components/scroller.gts';\nexport { Shadowed } from './components/shadowed.gts';\nexport { Switch } from './components/switch.gts';\nexport { Toggle } from './components/toggle.gts';\nexport { ToggleGroup } from './components/toggle-group.gts';\nexport * from './helpers.ts';\nexport type { default as SetupService } from './services/ember-primitives/setup.ts';\n"],"names":["macroCondition","isDevelopingApp","importSync"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,IAAIA,cAAc,CAACC,eAAe,EAAE,CAAC,EAAE;EACrCC,UAAU,CAAC,6BAA6B,CAAC,CAAA;AAC3C"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["/**\n * DANGER: this is a *barrel file*\n *\n * It forces the whole library to be loaded and all dependencies.\n *\n * If you have a small app, you probably don't want to import from here -- instead import from each sub-path.\n */\nimport { importSync, isDevelopingApp, macroCondition } from '@embroider/macros';\n\nif (macroCondition(isDevelopingApp())) {\n importSync('./components/violations.css');\n}\n\nexport { Accordion } from './components/accordion.gts';\nexport type {\n AccordionContentExternalSignature,\n AccordionHeaderExternalSignature,\n AccordionItemExternalSignature,\n AccordionTriggerExternalSignature,\n} from './components/accordion/public.ts';\nexport { Avatar } from './components/avatar.gts';\nexport { Dialog, Dialog as Modal } from './components/dialog.gts';\nexport { ExternalLink } from './components/external-link.gts';\nexport { Form } from './components/form.gts';\nexport { StickyFooter } from './components/layout/sticky-footer/index.gts';\nexport { Link } from './components/link.gts';\nexport { Menu } from './components/menu.gts';\nexport { OTP, OTPInput } from './components/one-time-password/index.gts';\nexport { Popover } from './components/popover.gts';\nexport { Portal } from './components/portal.gts';\nexport { PortalTargets } from './components/portal-targets.gts';\nexport { TARGETS as PORTALS } from './components/portal-targets.gts';\nexport { Progress } from './components/progress.gts';\nexport { Scroller } from './components/scroller.gts';\nexport { Shadowed } from './components/shadowed.gts';\nexport { Switch } from './components/switch.gts';\nexport { Toggle } from './components/toggle.gts';\nexport { ToggleGroup } from './components/toggle-group.gts';\nexport * from './helpers.ts';\nexport type { default as SetupService } from './services/ember-primitives/setup.ts';\n"],"names":["macroCondition","isDevelopingApp","importSync"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,IAAIA,cAAc,CAACC,eAAe,EAAE,CAAC,EAAE;EACrCC,UAAU,CAAC,6BAA6B,CAAC,CAAA;AAC3C"}
@@ -1,54 +1,54 @@
1
1
  import Component from '@glimmer/component';
2
2
  import { hash } from '@ember/helper';
3
+ import { on } from '@ember/modifier';
3
4
  import { precompileTemplate } from '@ember/template-compilation';
4
5
  import { setComponentTemplate } from '@ember/component';
5
- import { on } from '@ember/modifier';
6
6
  import templateOnly from '@ember/component/template-only';
7
7
 
8
+ class AccordionContent extends Component {
9
+ static {
10
+ setComponentTemplate(precompileTemplate("\n <div role=\"region\" id={{@value}} data-state={{getDataState @isExpanded}} hidden={{this.isHidden}} data-disabled={{@disabled}} ...attributes>\n {{yield}}\n </div>\n ", {
11
+ strictMode: true,
12
+ scope: () => ({
13
+ getDataState
14
+ })
15
+ }), this);
16
+ }
17
+ get isHidden() {
18
+ return !this.args.isExpanded;
19
+ }
20
+ }
21
+
8
22
  const AccordionTrigger = setComponentTemplate(precompileTemplate("\n <button type=\"button\" aria-controls={{@value}} aria-expanded={{@isExpanded}} data-state={{getDataState @isExpanded}} data-disabled={{@disabled}} aria-disabled={{if @disabled \"true\" \"false\"}} {{on \"click\" @toggleItem}} ...attributes>\n {{yield}}\n </button>\n", {
23
+ strictMode: true,
9
24
  scope: () => ({
10
25
  getDataState,
11
26
  on
12
- }),
13
- strictMode: true
27
+ })
14
28
  }), templateOnly());
15
29
 
16
30
  const AccordionHeader = setComponentTemplate(precompileTemplate("\n <div role=\"heading\" aria-level=\"3\" data-state={{getDataState @isExpanded}} data-disabled={{@disabled}} ...attributes>\n {{yield (hash Trigger=(component Trigger value=@value isExpanded=@isExpanded disabled=@disabled toggleItem=@toggleItem))}}\n </div>\n", {
31
+ strictMode: true,
17
32
  scope: () => ({
18
33
  getDataState,
19
34
  hash,
20
35
  Trigger: AccordionTrigger
21
- }),
22
- strictMode: true
36
+ })
23
37
  }), templateOnly());
24
38
 
25
- class AccordionContent extends Component {
26
- static {
27
- setComponentTemplate(precompileTemplate("\n <div role=\"region\" id={{@value}} data-state={{getDataState @isExpanded}} hidden={{this.isHidden}} data-disabled={{@disabled}} ...attributes>\n {{yield}}\n </div>\n ", {
28
- scope: () => ({
29
- getDataState
30
- }),
31
- strictMode: true
32
- }), this);
33
- }
34
- get isHidden() {
35
- return !this.args.isExpanded;
36
- }
37
- }
38
-
39
39
  function getDataState(isExpanded1) {
40
40
  return isExpanded1 ? 'open' : 'closed';
41
41
  }
42
42
  class AccordionItem extends Component {
43
43
  static {
44
44
  setComponentTemplate(precompileTemplate("\n <div data-state={{getDataState this.isExpanded}} data-disabled={{@disabled}} ...attributes>\n {{yield (hash isExpanded=this.isExpanded Header=(component Header value=@value isExpanded=this.isExpanded disabled=@disabled toggleItem=this.toggleItem) Content=(component Content value=@value isExpanded=this.isExpanded disabled=@disabled))}}\n </div>\n ", {
45
+ strictMode: true,
45
46
  scope: () => ({
46
47
  getDataState,
47
48
  hash,
48
49
  Header: AccordionHeader,
49
50
  Content: AccordionContent
50
- }),
51
- strictMode: true
51
+ })
52
52
  }), this);
53
53
  }
54
54
  get isExpanded() {
@@ -63,5 +63,5 @@ class AccordionItem extends Component {
63
63
  };
64
64
  }
65
65
 
66
- export { AccordionItem as A, AccordionTrigger as a, AccordionHeader as b, AccordionContent as c, getDataState as g };
67
- //# sourceMappingURL=item-HBCzMJwv.js.map
66
+ export { AccordionItem as A, AccordionContent as a, AccordionTrigger as b, AccordionHeader as c, getDataState as g };
67
+ //# sourceMappingURL=item-DmpElnSZ.js.map
@@ -0,0 +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,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;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-primitives",
3
- "version": "0.15.0",
3
+ "version": "0.17.0",
4
4
  "description": "Making apps easier to build",
5
5
  "sideEffects": [
6
6
  "*.css"
@@ -17,19 +17,19 @@
17
17
  "declarations"
18
18
  ],
19
19
  "dependencies": {
20
- "@babel/runtime": "^7.23.9",
20
+ "@babel/runtime": "^7.24.1",
21
21
  "@embroider/addon-shim": "^1.8.7",
22
- "@embroider/macros": "1.15.1",
22
+ "@embroider/macros": "1.16.1",
23
23
  "@floating-ui/dom": "^1.5.3",
24
24
  "decorator-transforms": "^1.1.0",
25
- "ember-element-helper": "^0.8.4",
26
- "reactiveweb": "^1.2.0",
25
+ "ember-element-helper": ">= 0.8.6",
26
+ "reactiveweb": "^1.2.2",
27
27
  "tabster": "^7.1.0",
28
28
  "tracked-built-ins": "^3.2.0",
29
29
  "tracked-toolbox": "^2.0.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@arethetypeswrong/cli": "^0.13.6",
32
+ "@arethetypeswrong/cli": "^0.15.3",
33
33
  "@babel/core": "^7.23.9",
34
34
  "@babel/eslint-parser": "^7.23.10",
35
35
  "@babel/plugin-proposal-class-properties": "^7.18.6",
@@ -39,9 +39,9 @@
39
39
  "@babel/plugin-transform-class-static-block": "^7.23.4",
40
40
  "@babel/plugin-transform-private-methods": "^7.23.3",
41
41
  "@babel/preset-typescript": "^7.23.3",
42
- "@ember/test-helpers": "^3.2.1",
42
+ "@ember/test-helpers": "^3.3.0",
43
43
  "@ember/test-waiters": "^3.1.0",
44
- "@embroider/addon-dev": "4.2.0",
44
+ "@embroider/addon-dev": "4.3.1",
45
45
  "@glimmer/component": "^1.1.2",
46
46
  "@glimmer/tracking": "^1.1.2",
47
47
  "@glint/core": "^1.3.0",
@@ -50,27 +50,27 @@
50
50
  "@glint/template": "^1.3.0",
51
51
  "@nullvoxpopuli/eslint-configs": "^3.2.2",
52
52
  "@rollup/plugin-babel": "^6.0.4",
53
- "@tsconfig/ember": "^3.0.3",
54
- "@typescript-eslint/eslint-plugin": "^6.20.0",
55
- "@typescript-eslint/parser": "^6.20.0",
56
- "babel-plugin-ember-template-compilation": "^2.2.1",
53
+ "@tsconfig/ember": "^3.0.5",
54
+ "@typescript-eslint/eslint-plugin": "^7.7.1",
55
+ "@typescript-eslint/parser": "^7.7.1",
56
+ "babel-plugin-ember-template-compilation": "^2.2.2",
57
57
  "concurrently": "^8.2.2",
58
58
  "ember-modifier": "^4.1.0",
59
59
  "ember-resources": "^7.0.0",
60
- "ember-source": "~5.5.0",
61
- "ember-template-imports": "^3.4.2",
62
- "ember-template-lint": "^5.13.0",
60
+ "ember-source": "^5.8.0",
61
+ "ember-template-imports": "^4.1.0",
62
+ "ember-template-lint": "^6.0.0",
63
63
  "eslint": "^8.56.0",
64
64
  "eslint-config-prettier": "^9.1.0",
65
65
  "eslint-plugin-ember": "^12.0.0",
66
66
  "eslint-plugin-node": "^11.1.0",
67
67
  "eslint-plugin-prettier": "^5.1.3",
68
68
  "execa": "^8.0.1",
69
- "fix-bad-declaration-output": "^1.1.1",
70
- "prettier": "^3.2.4",
71
- "prettier-plugin-ember-template-tag": "^2.0.0",
69
+ "fix-bad-declaration-output": "^1.1.4",
70
+ "prettier": "^3.2.5",
71
+ "prettier-plugin-ember-template-tag": "^2.0.1",
72
72
  "publint": "^0.2.7",
73
- "rollup": "~4.9.6",
73
+ "rollup": "~4.17.0",
74
74
  "rollup-plugin-copy": "^3.5.0",
75
75
  "typescript": "^5.3.3"
76
76
  },
@@ -101,6 +101,7 @@
101
101
  "./components/switch.js": "./dist/_app_/components/switch.js",
102
102
  "./components/toggle-group.js": "./dist/_app_/components/toggle-group.js",
103
103
  "./components/toggle.js": "./dist/_app_/components/toggle.js",
104
+ "./helpers/link.js": "./dist/_app_/helpers/link.js",
104
105
  "./helpers/service.js": "./dist/_app_/helpers/service.js",
105
106
  "./services/ember-primitives/setup.js": "./dist/_app_/services/ember-primitives/setup.js"
106
107
  }
@@ -145,7 +146,7 @@
145
146
  "@glint/template": ">= 1.0.0",
146
147
  "ember-modifier": ">= 4.1.0",
147
148
  "ember-resources": ">= 6.1.0",
148
- "ember-source": ">= 4.12.0"
149
+ "ember-source": "^5.8.0"
149
150
  },
150
151
  "peerDependenciesMeta": {
151
152
  "@ember/test-helpers": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"item-HBCzMJwv.js","sources":["../src/components/accordion/trigger.gts","../src/components/accordion/header.gts","../src/components/accordion/content.gts","../src/components/accordion/item.gts"],"sourcesContent":["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","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","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","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"],"names":["AccordionTrigger","setComponentTemplate","precompileTemplate","scope","getDataState","on","strictMode","templateOnly","AccordionHeader","hash","Trigger","AccordionContent","Component","isHidden","args","isExpanded","isExpanded1","AccordionItem","Header","Content","Array","isArray","selectedValue","includes","value","toggleItem","disabled"],"mappings":";;;;;;;MAaaA,gBAAgC,GAAAC,oBAAA,CAAGC,kBAAA,CAa7C,oRAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;AAAAC,IAAAA,EAAAA;AAAA,GAAA,CAAA;EAAAC,UAAA,EAAA,IAAA;AAIH,CAAC,CAAC,EAAAC,YAAA,EAAA;;MChBWC,eAA+B,GAAAP,oBAAA,CAAGC,kBAAA,CAgB5C,2QAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;IAAAK,IAAA;AAAAC,aAAAA,gBAAAA;AAAA,GAAA,CAAA;EAAAJ,UAAA,EAAA,IAAA;AAIH,CAAC,CAAC,EAAAC,YAAA,EAAA;;ACvBK,MAAMI,gBAAgB,SAASC,SAAS,CAAY;AACvD,EAAA;IACIX,oBAAA,CAAAC,kBAAA,CAWH,uLAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA,YAAAA;AAAA,OAAA,CAAA;MAAAE,UAAA,EAAA,IAAA;KAKI,CAAC,EAJa,IAAI,CAAA,CAAA;AAKvB,GAAA;EACA,IAAIO,QAAQA,GAAG;AACX,IAAA,OAAO,CAAC,IAAI,CAACC,IAAI,CAACC,UAAU,CAAA;AAChC,GAAA;AACJ;;AC5BO,SAASX,YAAYA,CAACY,WAAoB,EAAU;AACvD,EAAA,OAAOA,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAA;AAC1C,CAAA;AAQO,MAAMC,aAAa,SAASL,SAAS,CAAY;AACpD,EAAA;IACIX,oBAAA,CAAAC,kBAAA,CAgBH,6WAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,YAAA;QAAAK,IAAA;gBAAAS,eAAA;AAAAC,iBAAAA,gBAAAA;AAAA,OAAA,CAAA;MAAAb,UAAA,EAAA,IAAA;KAKI,CAAC,EAJa,IAAI,CAAA,CAAA;AAKvB,GAAA;EACA,IAAIS,UAAUA,GAAY;IACtB,IAAIK,KAAK,CAACC,OAAO,CAAC,IAAI,CAACP,IAAI,CAACQ,aAAa,CAAC,EAAE;AACxC,MAAA,OAAO,IAAI,CAACR,IAAI,CAACQ,aAAa,CAACC,QAAQ,CAAC,IAAI,CAACT,IAAI,CAACU,KAAK,CAAC,CAAA;AAC5D,KAAA;IACA,OAAO,IAAI,CAACV,IAAI,CAACQ,aAAa,KAAK,IAAI,CAACR,IAAI,CAACU,KAAK,CAAA;AACtD,GAAA;EACAC,UAAU,GAAGA,MAAW;AACpB,IAAA,IAAI,IAAI,CAACX,IAAI,CAACY,QAAQ,EAAE,OAAA;IACxB,IAAI,CAACZ,IAAI,CAACW,UAAU,CAAC,IAAI,CAACX,IAAI,CAACU,KAAK,CAAC,CAAA;GACxC,CAAA;AACL;;;;"}