@hokulea/ember 0.9.0 → 0.10.1

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 (198) hide show
  1. package/declarations/-private/helpers.d.ts +3 -1
  2. package/declarations/-private/helpers.d.ts.map +1 -1
  3. package/declarations/-private/push.gts.d.ts +20 -0
  4. package/declarations/-private/push.gts.d.ts.map +1 -0
  5. package/declarations/-private/shapes.d.ts +5 -0
  6. package/declarations/-private/shapes.d.ts.map +1 -0
  7. package/declarations/components/actions/button.gts.d.ts +6 -7
  8. package/declarations/components/actions/button.gts.d.ts.map +1 -1
  9. package/declarations/components/actions/icon-button.gts.d.ts +6 -7
  10. package/declarations/components/actions/icon-button.gts.d.ts.map +1 -1
  11. package/declarations/components/avatar.gts.d.ts +2 -0
  12. package/declarations/components/avatar.gts.d.ts.map +1 -0
  13. package/declarations/components/controls/-input.d.ts +3 -2
  14. package/declarations/components/controls/-input.d.ts.map +1 -1
  15. package/declarations/components/controls/{-menu.d.ts → -menu.gts.d.ts} +3 -4
  16. package/declarations/components/controls/-menu.gts.d.ts.map +1 -0
  17. package/declarations/components/controls/currency-input.gts.d.ts.map +1 -1
  18. package/declarations/components/controls/date-input.gts.d.ts.map +1 -1
  19. package/declarations/components/controls/email-input.gts.d.ts.map +1 -1
  20. package/declarations/components/controls/input-builder.gts.d.ts +2 -1
  21. package/declarations/components/controls/input-builder.gts.d.ts.map +1 -1
  22. package/declarations/components/controls/menu.gts.d.ts +1 -1
  23. package/declarations/components/controls/menu.gts.d.ts.map +1 -1
  24. package/declarations/components/controls/number-input.gts.d.ts.map +1 -1
  25. package/declarations/components/controls/password-input.gts.d.ts.map +1 -1
  26. package/declarations/components/controls/phone-input.gts.d.ts.map +1 -1
  27. package/declarations/components/controls/radio.gts.d.ts.map +1 -1
  28. package/declarations/components/controls/range-input.gts.d.ts +1 -1
  29. package/declarations/components/controls/range-input.gts.d.ts.map +1 -1
  30. package/declarations/components/controls/select.gts.d.ts +3 -0
  31. package/declarations/components/controls/select.gts.d.ts.map +1 -1
  32. package/declarations/components/controls/text-area.gts.d.ts.map +1 -1
  33. package/declarations/components/controls/text-input.gts.d.ts.map +1 -1
  34. package/declarations/components/data/data-table.gts.d.ts +19 -0
  35. package/declarations/components/data/data-table.gts.d.ts.map +1 -0
  36. package/declarations/components/data-table.gts.d.ts +2 -0
  37. package/declarations/components/data-table.gts.d.ts.map +1 -0
  38. package/declarations/components/form/form.gts.d.ts +2 -1
  39. package/declarations/components/form/form.gts.d.ts.map +1 -1
  40. package/declarations/components/form/reset.gts.d.ts +4 -4
  41. package/declarations/components/form/reset.gts.d.ts.map +1 -1
  42. package/declarations/components/form/submit.gts.d.ts +4 -4
  43. package/declarations/components/form/submit.gts.d.ts.map +1 -1
  44. package/declarations/components/graphics/avatar.gts.d.ts +10 -0
  45. package/declarations/components/graphics/avatar.gts.d.ts.map +1 -0
  46. package/declarations/components/link.gts.d.ts +2 -0
  47. package/declarations/components/link.gts.d.ts.map +1 -0
  48. package/declarations/components/navigation/-pagination.d.ts +17 -0
  49. package/declarations/components/navigation/-pagination.d.ts.map +1 -0
  50. package/declarations/components/navigation/app-header.gts.d.ts +2 -3
  51. package/declarations/components/navigation/app-header.gts.d.ts.map +1 -1
  52. package/declarations/components/navigation/link.gts.d.ts +13 -0
  53. package/declarations/components/navigation/link.gts.d.ts.map +1 -0
  54. package/declarations/components/navigation/nav-link.gts.d.ts +4 -2
  55. package/declarations/components/navigation/nav-link.gts.d.ts.map +1 -1
  56. package/declarations/components/navigation/pagination.gts.d.ts +78 -0
  57. package/declarations/components/navigation/pagination.gts.d.ts.map +1 -0
  58. package/declarations/components/pagination.gts.d.ts +2 -0
  59. package/declarations/components/pagination.gts.d.ts.map +1 -0
  60. package/declarations/index.d.ts +5 -1
  61. package/declarations/index.d.ts.map +1 -1
  62. package/declarations/template-registry.d.ts +9 -1
  63. package/declarations/template-registry.d.ts.map +1 -1
  64. package/declarations/test-support/index.d.ts +3 -0
  65. package/declarations/test-support/index.d.ts.map +1 -1
  66. package/declarations/test-support/page-objects/avatar.d.ts +9 -0
  67. package/declarations/test-support/page-objects/avatar.d.ts.map +1 -0
  68. package/declarations/test-support/page-objects/data-table.d.ts +36 -0
  69. package/declarations/test-support/page-objects/data-table.d.ts.map +1 -0
  70. package/declarations/test-support/page-objects/input.d.ts +1 -0
  71. package/declarations/test-support/page-objects/input.d.ts.map +1 -1
  72. package/declarations/test-support/page-objects/pagination.d.ts +65 -0
  73. package/declarations/test-support/page-objects/pagination.d.ts.map +1 -0
  74. package/declarations/test-support/page-objects/select.d.ts +1 -0
  75. package/declarations/test-support/page-objects/select.d.ts.map +1 -1
  76. package/dist/-input-DGR-n9U_.js.map +1 -1
  77. package/dist/_app_/components/avatar.js +1 -0
  78. package/dist/_app_/components/data-table.js +1 -0
  79. package/dist/_app_/components/link.js +1 -0
  80. package/dist/_app_/components/pagination.js +1 -0
  81. package/dist/{app-header-B6Q7pbiY.js → app-header-nmqytjxx.js} +7 -12
  82. package/dist/app-header-nmqytjxx.js.map +1 -0
  83. package/dist/avatar-BUb9bbkn.js +29 -0
  84. package/dist/avatar-BUb9bbkn.js.map +1 -0
  85. package/dist/button-BhxkZ70u.js +26 -0
  86. package/dist/button-BhxkZ70u.js.map +1 -0
  87. package/dist/{card-Bdv-UvKX.js → card-tK78paQn.js} +2 -2
  88. package/dist/{card-Bdv-UvKX.js.map → card-tK78paQn.js.map} +1 -1
  89. package/dist/{checkbox-D4vALmT2.js → checkbox-D3_2ps5M.js} +2 -2
  90. package/dist/{checkbox-D4vALmT2.js.map → checkbox-D3_2ps5M.js.map} +1 -1
  91. package/dist/components/app-header.js +1 -1
  92. package/dist/components/avatar.js +2 -0
  93. package/dist/components/avatar.js.map +1 -0
  94. package/dist/components/button.js +1 -1
  95. package/dist/components/card.js +1 -1
  96. package/dist/components/checkbox.js +1 -1
  97. package/dist/components/currency-input.js +1 -1
  98. package/dist/components/data-table.js +2 -0
  99. package/dist/components/data-table.js.map +1 -0
  100. package/dist/components/date-input.js +1 -1
  101. package/dist/components/email-input.js +1 -1
  102. package/dist/components/focus-page.js +1 -1
  103. package/dist/components/form.js +1 -1
  104. package/dist/components/icon-button.js +1 -1
  105. package/dist/components/icon.js +1 -1
  106. package/dist/components/input-builder.js +1 -1
  107. package/dist/components/link.js +2 -0
  108. package/dist/components/link.js.map +1 -0
  109. package/dist/components/menu.js +1 -1
  110. package/dist/components/navigation-list.js +1 -1
  111. package/dist/components/number-input.js +1 -1
  112. package/dist/components/page.js +1 -1
  113. package/dist/components/pagination.js +2 -0
  114. package/dist/components/pagination.js.map +1 -0
  115. package/dist/components/password-input.js +1 -1
  116. package/dist/components/phone-input.js +1 -1
  117. package/dist/components/radio.js +1 -1
  118. package/dist/components/range-input.js +1 -1
  119. package/dist/components/sectioned-page.js +1 -1
  120. package/dist/components/select.js +1 -1
  121. package/dist/components/tabs.js +1 -1
  122. package/dist/components/text-area.js +1 -1
  123. package/dist/components/text-input.js +1 -1
  124. package/dist/{currency-input-8ef0Igfb.js → currency-input-tBhgIMTh.js} +4 -4
  125. package/dist/currency-input-tBhgIMTh.js.map +1 -0
  126. package/dist/data-table-5VDYeRya.js +18 -0
  127. package/dist/data-table-5VDYeRya.js.map +1 -0
  128. package/dist/{date-input-BayaBuSb.js → date-input-DLv9jE39.js} +3 -3
  129. package/dist/{date-input-BayaBuSb.js.map → date-input-DLv9jE39.js.map} +1 -1
  130. package/dist/{email-input-j-Z0KO4A.js → email-input-BR33Qevz.js} +3 -3
  131. package/dist/{email-input-j-Z0KO4A.js.map → email-input-BR33Qevz.js.map} +1 -1
  132. package/dist/{focus-page-B9myJVvL.js → focus-page-DFu6qtBk.js} +2 -2
  133. package/dist/{focus-page-B9myJVvL.js.map → focus-page-DFu6qtBk.js.map} +1 -1
  134. package/dist/{form-DWyQ6QHX.js → form-VsNkRlXs.js} +15 -15
  135. package/dist/{form-DWyQ6QHX.js.map → form-VsNkRlXs.js.map} +1 -1
  136. package/dist/{helpers-DS9du02l.js → helpers-D4So5-uK.js} +8 -2
  137. package/dist/helpers-D4So5-uK.js.map +1 -0
  138. package/dist/{icon-bLZqjTMP.js → icon-BfRBkZ72.js} +2 -2
  139. package/dist/icon-BfRBkZ72.js.map +1 -0
  140. package/dist/icon-button-DBt7fMi1.js +38 -0
  141. package/dist/icon-button-DBt7fMi1.js.map +1 -0
  142. package/dist/index.js +29 -25
  143. package/dist/index.js.map +1 -1
  144. package/dist/{input-builder-DmcQbywA.js → input-builder-DHYx-2Yz.js} +2 -2
  145. package/dist/input-builder-DHYx-2Yz.js.map +1 -0
  146. package/dist/link-bqsg26Cc.js +18 -0
  147. package/dist/link-bqsg26Cc.js.map +1 -0
  148. package/dist/{menu-CZKNGJ91.js → menu-s0AthZse.js} +6 -4
  149. package/dist/menu-s0AthZse.js.map +1 -0
  150. package/dist/nav-link-CDtYj6HW.js +22 -0
  151. package/dist/nav-link-CDtYj6HW.js.map +1 -0
  152. package/dist/{navigation-list-Cxs6uZdM.js → navigation-list-Ng5UsNCY.js} +2 -2
  153. package/dist/{navigation-list-Cxs6uZdM.js.map → navigation-list-Ng5UsNCY.js.map} +1 -1
  154. package/dist/{number-input-B84zcPlM.js → number-input-FJympEv2.js} +3 -3
  155. package/dist/{number-input-B84zcPlM.js.map → number-input-FJympEv2.js.map} +1 -1
  156. package/dist/{page-BcSgHxr7.js → page-BuLkLO08.js} +2 -2
  157. package/dist/{page-BcSgHxr7.js.map → page-BuLkLO08.js.map} +1 -1
  158. package/dist/pagination-DCMxI10i.js +124 -0
  159. package/dist/pagination-DCMxI10i.js.map +1 -0
  160. package/dist/{password-input-BMp5uscw.js → password-input-DV5yb10h.js} +3 -3
  161. package/dist/password-input-DV5yb10h.js.map +1 -0
  162. package/dist/{phone-input-DeaTM5yP.js → phone-input-Uv5v9hK9.js} +3 -3
  163. package/dist/{phone-input-DeaTM5yP.js.map → phone-input-Uv5v9hK9.js.map} +1 -1
  164. package/dist/push-DnJFFc_p.js +24 -0
  165. package/dist/push-DnJFFc_p.js.map +1 -0
  166. package/dist/{radio-CGBLrzK4.js → radio-CLF40kob.js} +3 -3
  167. package/dist/{radio-CGBLrzK4.js.map → radio-CLF40kob.js.map} +1 -1
  168. package/dist/{range-input-BiAPgpW8.js → range-input-BIb7GkKH.js} +2 -2
  169. package/dist/range-input-BIb7GkKH.js.map +1 -0
  170. package/dist/{sectioned-page-fB9mV5WD.js → sectioned-page-CgINWVQ2.js} +3 -3
  171. package/dist/{sectioned-page-fB9mV5WD.js.map → sectioned-page-CgINWVQ2.js.map} +1 -1
  172. package/dist/{select-DxyaUFuy.js → select-CeO8AZMK.js} +5 -2
  173. package/dist/select-CeO8AZMK.js.map +1 -0
  174. package/dist/{tabs-a9GhNQv9.js → tabs-DAscspzh.js} +2 -2
  175. package/dist/{tabs-a9GhNQv9.js.map → tabs-DAscspzh.js.map} +1 -1
  176. package/dist/test-support/index.js +60 -16
  177. package/dist/test-support/index.js.map +1 -1
  178. package/dist/{text-area-55_E1zv8.js → text-area-DF8-cDiy.js} +3 -3
  179. package/dist/{text-area-55_E1zv8.js.map → text-area-DF8-cDiy.js.map} +1 -1
  180. package/dist/{text-input-CK-yGbI5.js → text-input-CcIcYksE.js} +3 -3
  181. package/dist/{text-input-CK-yGbI5.js.map → text-input-CcIcYksE.js.map} +1 -1
  182. package/package.json +20 -16
  183. package/declarations/components/controls/-menu.d.ts.map +0 -1
  184. package/dist/app-header-B6Q7pbiY.js.map +0 -1
  185. package/dist/button-XdQyGTGA.js +0 -24
  186. package/dist/button-XdQyGTGA.js.map +0 -1
  187. package/dist/currency-input-8ef0Igfb.js.map +0 -1
  188. package/dist/helpers-DS9du02l.js.map +0 -1
  189. package/dist/icon-bLZqjTMP.js.map +0 -1
  190. package/dist/icon-button-7K-W_8jc.js +0 -37
  191. package/dist/icon-button-7K-W_8jc.js.map +0 -1
  192. package/dist/input-builder-DmcQbywA.js.map +0 -1
  193. package/dist/menu-CZKNGJ91.js.map +0 -1
  194. package/dist/nav-link-CGVtuqwC.js +0 -30
  195. package/dist/nav-link-CGVtuqwC.js.map +0 -1
  196. package/dist/password-input-BMp5uscw.js.map +0 -1
  197. package/dist/range-input-BiAPgpW8.js.map +0 -1
  198. package/dist/select-DxyaUFuy.js.map +0 -1
@@ -1,24 +0,0 @@
1
- import { CommandElement } from 'ember-command';
2
- import { element } from 'ember-element-helper';
3
- import styles from '@hokulea/core/actions.module.css';
4
- import { n as not } from './helpers-DS9du02l.js';
5
- import { d as disabled } from './disabled-B_FQ0Z51.js';
6
- import { i as isLink } from './-button-KUaJCQaB.js';
7
- import { precompileTemplate } from '@ember/template-compilation';
8
- import { setComponentTemplate } from '@ember/component';
9
- import templateOnly from '@ember/component/template-only';
10
-
11
- const Button = setComponentTemplate(precompileTemplate("\n <CommandElement @element={{element \"button\"}} @command={{@push}} class=\"{{styles.button}}\" type={{if (not (isLink @push)) \"button\"}} data-intent={{if @intent @intent \"action\"}} data-importance={{if @importance @importance \"supreme\"}} data-spacing={{@spacing}} {{disabled when=(if @disabled @disabled false)}} data-test-button ...attributes>\n {{#if (has-block \"before\")}}\n <span data-test-button=\"before\">\n {{yield to=\"before\"}}\n </span>\n {{/if}}\n\n <span data-test-button=\"label\">\n {{#if (has-block \"label\")}}\n {{yield to=\"label\"}}\n {{/if}}\n\n {{#if (has-block)}}\n {{yield}}\n {{/if}}\n </span>\n\n {{#if (has-block \"after\")}}\n <span data-test-button=\"after\">\n {{yield to=\"after\"}}\n </span>\n {{/if}}\n </CommandElement>\n", {
12
- strictMode: true,
13
- scope: () => ({
14
- CommandElement,
15
- element,
16
- styles,
17
- not,
18
- isLink,
19
- disabled
20
- })
21
- }), templateOnly());
22
-
23
- export { Button as B };
24
- //# sourceMappingURL=button-XdQyGTGA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"button-XdQyGTGA.js","sources":["../src/components/actions/button.gts"],"sourcesContent":["import { CommandElement } from 'ember-command';\nimport { element } from 'ember-element-helper';\n\nimport styles from '@hokulea/core/actions.module.css';\n\nimport { not } from '../../-private/helpers.ts';\nimport disabled from '../../-private/modifiers/disabled.ts';\nimport { isLink } from './-button.ts';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { Importance, Importances, Intent, Intents, Spacing, Spacings } from '@hokulea/tokens';\nimport type { CommandAction } from 'ember-command';\n\nexport interface ButtonSignature {\n Element: HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement;\n Args: {\n push?: CommandAction;\n intent?: Intent | Intents;\n importance?: Importance | Importances;\n spacing?: Spacing | Spacings;\n disabled?: boolean;\n };\n Blocks: {\n /** The label for the button */\n default: [];\n\n /** The label for the button */\n label: [];\n\n /** A slot in front of the label */\n before: [];\n\n /** A slot after the label */\n after: [];\n };\n}\n\nexport const Button: TOC<ButtonSignature> = <template>\n <CommandElement\n @element={{element \"button\"}}\n @command={{@push}}\n class=\"{{styles.button}}\"\n type={{if (not (isLink @push)) \"button\"}}\n data-intent={{if @intent @intent \"action\"}}\n data-importance={{if @importance @importance \"supreme\"}}\n data-spacing={{@spacing}}\n {{disabled when=(if @disabled @disabled false)}}\n data-test-button\n ...attributes\n >\n {{#if (has-block \"before\")}}\n <span data-test-button=\"before\">\n {{yield to=\"before\"}}\n </span>\n {{/if}}\n\n <span data-test-button=\"label\">\n {{#if (has-block \"label\")}}\n {{yield to=\"label\"}}\n {{/if}}\n\n {{#if (has-block)}}\n {{yield}}\n {{/if}}\n </span>\n\n {{#if (has-block \"after\")}}\n <span data-test-button=\"after\">\n {{yield to=\"after\"}}\n </span>\n {{/if}}\n </CommandElement>\n</template>;\n"],"names":["Button","setComponentTemplate","precompileTemplate","strictMode","scope","CommandElement","element","styles","not","isLink","disabled","templateOnly"],"mappings":";;;;;;;;;;MAqCaA,MAAY,GAAAC,oBAAA,CAAmBC,kBAAA,CAAA,y1BAAA,EAmC5C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,cAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,GAAA;IAAAC,MAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"currency-input-8ef0Igfb.js","sources":["../src/components/controls/currency-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { pick } from '../../-private/helpers.ts';\nimport { pickAsNumber } from './-input.ts';\nimport { InputBuilder } from './input-builder.gts';\n\nimport type { InputArgs } from './-input.ts';\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface CurrencyInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<number>;\n}\n\nexport const CurrencyInput: TOC<CurrencyInputSignature> = <template>\n <InputBuilder @disabled={{@disabled}} as |b|>\n <input\n class=\"{{styles.input}} {{styles.currency}}\"\n type=\"text\"\n inputmode=\"decimal\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n {{on \"input\" (pick \"target.value\" (pickAsNumber @update)) capture=true}}\n ...attributes\n />\n <b.Affix>€</b.Affix>\n </InputBuilder>\n</template>;\n"],"names":["CurrencyInput","setComponentTemplate","precompileTemplate","strictMode","scope","InputBuilder","styles","on","pick","pickAsNumber","templateOnly"],"mappings":";;;;;;;;;MAgBaA,aAAmB,GAAAC,oBAAA,CAA0BC,kBAAA,CAAA,4VAAA,EAc1D;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;IAAAC,MAAA;IAAAC,EAAA;IAAAC,IAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers-DS9du02l.js","sources":["../src/-private/helpers.ts"],"sourcesContent":["import { get } from '@ember/object';\n\n/* Shamelessly stolen from: https://github.com/DockYard/ember-composable-helpers/blob/master/addon/helpers/pick.js */\nfunction pick<V = unknown>(path: string, action?: (value: V) => void) {\n return function (event: object): V | void {\n const value = get(event, path) as V;\n\n if (!action) {\n return value;\n }\n\n action(value);\n };\n}\n\n// eslint-disable-next-line unicorn/no-array-reduce, @typescript-eslint/prefer-nullish-coalescing\nconst or = (...conditions: unknown[]) => conditions.reduce((a, b) => a || b, false);\n\nconst and = (a: unknown, b: unknown) => a && b;\n\nconst eq = (a: unknown, b: unknown) => a === b;\n\nconst not = (a: boolean) => !a;\n\nconst notEq = (a: unknown, b: unknown) => a !== b;\n\nconst asString = (value: unknown): string => {\n return value as string;\n};\n\nconst asNumber = (value: unknown): number => {\n return value as number;\n};\n\nconst asBoolean = (value: unknown): boolean => {\n return value as boolean;\n};\n\nexport { and, asBoolean, asNumber, asString, eq, not, notEq, or, pick };\n"],"names":["pick","path","action","event","value","get","or","conditions","reduce","a","b","and","eq","not","asString","asNumber","asBoolean"],"mappings":";;AAEA;AACA,SAASA,IAAIA,CAAcC,IAAY,EAAEC,MAA2B,EAAE;EACpE,OAAO,UAAUC,KAAa,EAAY;AACxC,IAAA,MAAMC,KAAK,GAAGC,GAAG,CAACF,KAAK,EAAEF,IAAI,CAAM;IAEnC,IAAI,CAACC,MAAM,EAAE;AACX,MAAA,OAAOE,KAAK;AACd,IAAA;IAEAF,MAAM,CAACE,KAAK,CAAC;EACf,CAAC;AACH;;AAEA;AACA,MAAME,EAAE,GAAGA,CAAC,GAAGC,UAAqB,KAAKA,UAAU,CAACC,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,IAAIC,CAAC,EAAE,KAAK;AAElF,MAAMC,GAAG,GAAGA,CAACF,CAAU,EAAEC,CAAU,KAAKD,CAAC,IAAIC;AAE7C,MAAME,EAAE,GAAGA,CAACH,CAAU,EAAEC,CAAU,KAAKD,CAAC,KAAKC;AAE7C,MAAMG,GAAG,GAAIJ,CAAU,IAAK,CAACA;AAI7B,MAAMK,QAAQ,GAAIV,KAAc,IAAa;AAC3C,EAAA,OAAOA,KAAK;AACd;AAEA,MAAMW,QAAQ,GAAIX,KAAc,IAAa;AAC3C,EAAA,OAAOA,KAAK;AACd;AAEA,MAAMY,SAAS,GAAIZ,KAAc,IAAc;AAC7C,EAAA,OAAOA,KAAK;AACd;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-bLZqjTMP.js","sources":["../src/components/graphics/icon.gts"],"sourcesContent":["import { htmlSafe } from '@ember/template';\n\nimport styles from '@hokulea/core/icons.module.css';\n\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface IconSignature {\n Element: HTMLSpanElement;\n Args: {\n /**\n * A string containing a `<svg>` element.\n * Make sure to use `currentColor` to comply with the styling\n */\n icon: string;\n };\n}\n\nexport const Icon: TOC<IconSignature> = <template>\n <span class={{styles.icon}} data-test-icon ...attributes>\n {{htmlSafe @icon}}\n </span>\n</template>;\n"],"names":["Icon","setComponentTemplate","precompileTemplate","strictMode","scope","styles","htmlSafe","templateOnly"],"mappings":";;;;;;MAiBaA,IAAU,GAAAC,oBAAA,CAAiBC,kBAAA,CAAA,oGAAA,EAIxC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1,37 +0,0 @@
1
- import Component from '@glimmer/component';
2
- import { assert } from '@ember/debug';
3
- import CommandElement from 'ember-command/components/command-element';
4
- import { element } from 'ember-element-helper';
5
- import styles from '@hokulea/core/actions.module.css';
6
- import { n as not } from './helpers-DS9du02l.js';
7
- import { d as disabled } from './disabled-B_FQ0Z51.js';
8
- import { I as Icon } from './icon-bLZqjTMP.js';
9
- import { i as isLink } from './-button-KUaJCQaB.js';
10
- import { precompileTemplate } from '@ember/template-compilation';
11
- import { setComponentTemplate } from '@ember/component';
12
-
13
- class IconButton extends Component {
14
- get label() {
15
- assert('Please provide a `@label` to `<IconButton>` for accessibility reasons.',
16
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
17
- this.args.label !== undefined);
18
- return this.args.label;
19
- }
20
- static {
21
- setComponentTemplate(precompileTemplate("\n <CommandElement @element={{element \"button\"}} @command={{@push}} class=\"{{styles.iconButton}}\" type={{if (not (isLink @push)) \"button\"}} data-intent={{if @intent @intent \"action\"}} data-importance={{if @importance @importance \"supreme\"}} data-spacing={{@spacing}} aria-label={{this.label}} {{disabled when=(if @disabled @disabled false)}} data-test-icon-button ...attributes>\n <Icon @icon={{@icon}} data-test-icon-button=\"icon\" />\n </CommandElement>\n ", {
22
- strictMode: true,
23
- scope: () => ({
24
- CommandElement,
25
- element,
26
- styles,
27
- not,
28
- isLink,
29
- disabled,
30
- Icon
31
- })
32
- }), this);
33
- }
34
- }
35
-
36
- export { IconButton as I };
37
- //# sourceMappingURL=icon-button-7K-W_8jc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-button-7K-W_8jc.js","sources":["../src/components/actions/icon-button.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport CommandElement from 'ember-command/components/command-element';\nimport { element } from 'ember-element-helper';\n\nimport styles from '@hokulea/core/actions.module.css';\n\nimport { not } from '../../-private/helpers.ts';\nimport disabled from '../../-private/modifiers/disabled.ts';\nimport { Icon } from '../graphics/icon.gts';\nimport { isLink } from './-button.ts';\n\nimport type { Importance, Importances, Intent, Intents, Spacing, Spacings } from '@hokulea/tokens';\nimport type { CommandAction } from 'ember-command';\n\nexport interface IconButtonSignature {\n Element: HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement;\n Args: {\n push?: CommandAction;\n intent?: Intent | Intents;\n importance?: Importance | Importances;\n spacing?: Spacing | Spacings;\n disabled?: boolean;\n label: string;\n /**\n * A string containing a `<svg>` element.\n * Make sure to use `currentColor` to comply with the styling\n */\n icon: string;\n };\n Blocks: {\n default: [];\n };\n}\n\nexport class IconButton extends Component<IconButtonSignature> {\n get label() {\n assert(\n 'Please provide a `@label` to `<IconButton>` for accessibility reasons.',\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n this.args.label !== undefined\n );\n\n return this.args.label;\n }\n\n <template>\n <CommandElement\n @element={{element \"button\"}}\n @command={{@push}}\n class=\"{{styles.iconButton}}\"\n type={{if (not (isLink @push)) \"button\"}}\n data-intent={{if @intent @intent \"action\"}}\n data-importance={{if @importance @importance \"supreme\"}}\n data-spacing={{@spacing}}\n aria-label={{this.label}}\n {{disabled when=(if @disabled @disabled false)}}\n data-test-icon-button\n ...attributes\n >\n <Icon @icon={{@icon}} data-test-icon-button=\"icon\" />\n </CommandElement>\n </template>\n}\n"],"names":["IconButton","Component","label","assert","args","undefined","setComponentTemplate","precompileTemplate","strictMode","scope","CommandElement","element","styles","not","isLink","disabled","Icon"],"mappings":";;;;;;;;;;;;AAoCO,MAAMA,mBAAmBC,SAAA,CAAU;EACxC,IAAIC,KAAAA,GAAQ;AACVC,IAAAA,MAAA,CACE;AACA;AACA,IAAA,IAAI,CAACC,IAAI,CAACF,KAAK,KAAKG,SAAA,CAAA;AAGtB,IAAA,OAAO,IAAI,CAACD,IAAI,CAACF,KAAK;AACxB,EAAA;AAEA,EAAA;IAAAI,oBAAA,CAAAC,kBAAA,CAAA,meAAA,EAgBA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,cAAA;QAAAC,OAAA;QAAAC,MAAA;QAAAC,GAAA;QAAAC,MAAA;QAAAC,QAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-builder-DmcQbywA.js","sources":["../src/components/controls/input-builder.gts"],"sourcesContent":["import { hash } from '@ember/helper';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { WithBoundArgs } from '@glint/template';\n\ninterface AffixSignature {\n Args: {\n class: string;\n identity: 'prefix' | 'affix' | 'suffix';\n };\n Blocks: {\n default: [];\n };\n}\n\nconst Affix: TOC<AffixSignature> = <template>\n <span class={{@class}} data-test-input-builder={{@identity}}>{{yield}}</span>\n</template>;\n\nexport interface InputBuilderSignature {\n Args: {\n disabled?: boolean;\n };\n Blocks: {\n default: [\n {\n Affix: WithBoundArgs<typeof Affix, 'class' | 'identity'>;\n Prefix: WithBoundArgs<typeof Affix, 'class' | 'identity'>;\n Suffix: WithBoundArgs<typeof Affix, 'class' | 'identity'>;\n }\n ];\n };\n}\n\nexport const InputBuilder: TOC<InputBuilderSignature> = <template>\n {{! template-lint-disable no-unsupported-role-attributes }}\n <span\n class={{styles.inputBuilder}}\n aria-disabled={{if @disabled \"true\"}}\n data-input-builder\n data-test-input-builder\n >\n {{yield\n (hash\n Prefix=(component Affix class=styles.prefix identity=\"prefix\")\n Affix=(component Affix class=styles.affix identity=\"affix\")\n Suffix=(component Affix class=styles.suffix identity=\"suffix\")\n )\n }}\n </span>\n</template>;\n"],"names":["Affix","setComponentTemplate","precompileTemplate","strictMode","templateOnly","InputBuilder","scope","styles","hash"],"mappings":";;;;;;AAiBA,MAAMA,KAAW,GAAAC,oBAAA,CAAkBC,kBAAA,CAAA,qFAAA,EAEnC;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA;MAiBGC,YAAkB,GAAAJ,oBAAA,CAAyBC,kBAAA,CAAA,maAAA,EAgBxD;EAAAC,UAAA,EAAA,IAAA;AAAAG,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,IAAA;AAAAR,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAI,YAAA,EAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu-CZKNGJ91.js","sources":["../src/components/controls/menu.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { registerDestructor } from '@ember/destroyable';\nimport { hash } from '@ember/helper';\nimport { next } from '@ember/runloop';\nimport { service } from '@ember/service';\nimport { htmlSafe } from '@ember/template';\n\nimport { ariaMenu } from 'ember-aria-voyager';\nimport { CommandElement } from 'ember-command';\nimport { TrackedArray } from 'tracked-built-ins';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport disabled from '../../-private/modifiers/disabled.ts';\nimport { popover } from '../../helpers/popover.ts';\n\nimport type { MenuItemArgs, MenuItemBlocks, MenuItemElement } from './-menu.ts';\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\nimport type FastBoot from 'ember-cli-fastboot/services/fastboot';\n\nexport type MenuDefaultBlock = {\n Item: WithBoundArgs<typeof MenuItem, 'registerItem' | 'unregisterItem'>;\n};\n\nexport interface MenuItemSignature {\n Element: MenuItemElement;\n Args: MenuItemArgs & {\n registerItem: (item: MenuItem) => void;\n unregisterItem: (item: MenuItem) => void;\n };\n Blocks: MenuItemBlocks & {\n menu?: [MenuDefaultBlock];\n };\n}\n\n// below are attempts at conditional typing based on provided blocks in dynamic invocation\n\n// type MenuItemArgs = {\n// disabled?: boolean;\n// registerItem: (item: MenuItem) => void;\n// unregisterItem: (item: MenuItem) => void;\n// };\n\n// export interface MenuItemSignature<T = {}> {\n// Element: HTMLButtonElement | HTMLAnchorElement;\n// Args: T extends { Blocks: { default: [] } }\n// ? MenuItemArgs & {\n// push: CommandAction;\n// }\n// : MenuItemArgs;\n// Blocks: T extends { Blocks: { default: [] } }\n// ? { default: [] }\n// : { label: []; menu: [MenuDefaultBlock] };\n// }\n\n// & (\n// | {\n// Args: MenuItemArgs & {\n// push: CommandAction;\n// };\n// Blocks: {\n// default: [];\n// };\n// }\n// | {\n// Args: MenuItemArgs;\n// Blocks: {\n// label: [];\n// menu: [MenuDefaultBlock];\n// };\n// }\n// );\n\n/* eslint-disable @typescript-eslint/no-use-before-define */\nclass MenuItem extends Component<MenuItemSignature> {\n constructor(owner: Owner, args: MenuItemSignature['Args']) {\n super(owner, args);\n\n args.registerItem(this);\n\n registerDestructor(this, () => {\n args.unregisterItem(this);\n });\n }\n\n <template>\n {{#if (has-block \"menu\")}}\n {{#let (popover position=\"right-start\") as |p|}}\n <button\n type=\"button\"\n role=\"menuitem\"\n aria-haspopup=\"menu\"\n {{disabled when=(if @disabled @disabled false)}}\n {{p.trigger}}\n >\n {{~yield to=\"label\"~}}\n </button>\n\n <Menu {{p.target}} as |m|>\n {{yield m to=\"menu\"}}\n </Menu>\n {{/let}}\n {{else}}\n <CommandElement\n @command={{@push}}\n {{disabled when=(if @disabled @disabled false)}}\n role=\"menuitem\"\n >\n {{~yield~}}\n </CommandElement>\n {{/if}}\n </template>\n}\n/* eslint-enable @typescript-eslint/no-use-before-define */\n\nexport interface MenuSignature {\n Element: HTMLDivElement;\n Args: {\n disabled?: boolean;\n };\n Blocks: {\n default: [MenuDefaultBlock];\n };\n}\n\nexport class Menu extends Component<MenuSignature> {\n @service declare fastboot?: FastBoot;\n\n @tracked items: MenuItem[] = new TrackedArray();\n\n get hideInSSR() {\n return this.fastboot?.isFastBoot;\n }\n\n registerItem = (item: MenuItem) => {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n this.items.push(item);\n });\n };\n\n unregisterItem = (item: MenuItem) => {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n this.items.splice(this.items.indexOf(item), 1);\n });\n };\n\n <template>\n <div\n class={{styles.menu}}\n data-test-menu\n ...attributes\n {{ariaMenu items=this.items disabled=@disabled}}\n style={{if this.hideInSSR (htmlSafe \"display: none\")}}\n >\n {{yield\n (hash\n Item=(component\n MenuItem registerItem=this.registerItem unregisterItem=this.unregisterItem\n )\n )\n }}\n </div>\n </template>\n}\n"],"names":["MenuItem","Component","constructor","owner","args","registerItem","registerDestructor","unregisterItem","setComponentTemplate","precompileTemplate","strictMode","scope","popover","disabled","Menu","CommandElement","g","prototype","service","i","void 0","tracked","TrackedArray","hideInSSR","fastboot","isFastBoot","item","next","items","push","splice","indexOf","styles","htmlSafe","ariaMenu","hash"],"mappings":";;;;;;;;;;;;;;;;;AAqCA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,MAAMA,QAAA,SAAiBC,SAAA,CAAU;AAC/BC,EAAAA,WAAAA,CAAYC,KAAY,EAAEC,IAA+B,EAAE;AACzD,IAAA,KAAK,CAACD,KAAA,EAAOC,IAAA,CAAA;AAEbA,IAAAA,IAAA,CAAKC,YAAY,CAAC,IAAI,CAAA;IAEtBC,kBAAA,CAAmB,IAAI,EAAE,MAAA;AACvBF,MAAAA,IAAA,CAAKG,cAAc,CAAC,IAAI,CAAA;AAC1B,IAAA,CAAA,CAAA;AACF,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,okBAAA,EA0BA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,OAAA;QAAAC,QAAA;QAAAC,IAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;AACA;;AAYO,MAAMD,aAAab,SAAA,CAAU;AAAA,EAAA;IAAAe,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,UAAA,EAAA,CACjCC,OAAA,CAAA,CAAA;AAAA;AAAA,EAAA,SAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,UAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,OAAA,EAAA,CAEAI,OAAA,CAAA,EAAA,YAAA;MAAA,OAA4B,IAAIC,YAAA,EAAA;AAAA,IAAA,CAAA,CAAA;AAAA;AAAA,EAAA,MAAA,IAAAH,CAAA,CAAA,IAAA,EAAA,OAAA,CAAA,EAAAC,MAAA;EAEjC,IAAIG,SAAAA,GAAY;AACd,IAAA,OAAO,IAAI,CAACC,QAAQ,EAAEC,UAAA;AACxB,EAAA;EAEApB,YAAA,GAAgBqB,IAAM,IAAA;AACpB;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACC,KAAK,CAACC,IAAI,CAACH,IAAA,CAAA;AAClB,IAAA,CAAA,CAAA;EACF,CAAA;EAEAnB,cAAA,GAAkBmB,IAAM,IAAA;AACtB;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACC,KAAK,CAACE,MAAM,CAAC,IAAI,CAACF,KAAK,CAACG,OAAO,CAACL,IAAA,CAAA,EAAO,CAAA,CAAA;AAC9C,IAAA,CAAA,CAAA;EACF,CAAA;AAEA,EAAA;IAAAlB,oBAAA,CAAAC,kBAAA,CAAA,8SAAA,EAgBA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAqB,MAAA;QAAAC,QAAA;QAAAC,QAAA;QAAAC,IAAA;AAAAnC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -1,30 +0,0 @@
1
- import { on } from '@ember/modifier';
2
- import { CommandElement } from 'ember-command';
3
- import { link, Link } from 'ember-link';
4
- import { I as Icon } from './icon-bLZqjTMP.js';
5
- import { precompileTemplate } from '@ember/template-compilation';
6
- import { setComponentTemplate } from '@ember/component';
7
- import templateOnly from '@ember/component/template-only';
8
-
9
- const isActive = commandable => {
10
- return commandable instanceof Link && commandable.isActive;
11
- };
12
- const MaybeIcon = setComponentTemplate(precompileTemplate("\n {{#if @icon}}\n <Icon @icon={{@icon}} part=\"icon\" />\n {{/if}}\n", {
13
- strictMode: true,
14
- scope: () => ({
15
- Icon
16
- })
17
- }), templateOnly());
18
- const NavLink = setComponentTemplate(precompileTemplate("\n {{#if @href}}\n {{#let (link @href) as |l|}}\n <a href={{l.url}} {{on \"click\" l.open}} part=\"item\" aria-current=\"{{if (isActive l) \"page\"}}\">\n <MaybeIcon @icon={{@icon}} />\n <span>{{yield}}</span>\n </a>\n {{/let}}\n {{else if @push}}\n <CommandElement @command={{@push}} aria-current=\"{{if (isActive @push) \"page\"}}\" part=\"item\">\n <MaybeIcon @icon={{@icon}} />\n <span>{{yield}}</span>\n </CommandElement>\n {{else}}\n <span part=\"item\">\n <MaybeIcon @icon={{@icon}} />\n {{yield}}\n </span>\n {{/if}}\n", {
19
- strictMode: true,
20
- scope: () => ({
21
- link,
22
- isActive,
23
- on,
24
- MaybeIcon,
25
- CommandElement
26
- })
27
- }), templateOnly());
28
-
29
- export { NavLink as N };
30
- //# sourceMappingURL=nav-link-CGVtuqwC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nav-link-CGVtuqwC.js","sources":["../src/components/navigation/nav-link.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport { CommandElement } from 'ember-command';\nimport { Link, link } from 'ember-link';\n\nimport { Icon } from '../graphics/icon.gts';\n\nimport type { MenuItemArgs, MenuItemBlocks } from '../controls/-menu';\nimport type { TOC } from '@ember/component/template-only';\nimport type { CommandAction } from 'ember-command';\n\nconst isActive = (commandable: CommandAction) => {\n return commandable instanceof Link && commandable.isActive;\n};\n\nconst MaybeIcon: TOC<{ Args: { icon?: string } }> = <template>\n {{#if @icon}}\n <Icon @icon={{@icon}} part=\"icon\" />\n {{/if}}\n</template>;\n\nexport const NavLink: TOC<{\n Args: MenuItemArgs & {\n href?: string;\n icon?: string;\n };\n Blocks: MenuItemBlocks;\n}> = <template>\n {{#if @href}}\n {{#let (link @href) as |l|}}\n <a href={{l.url}} {{on \"click\" l.open}} part=\"item\" aria-current=\"{{if (isActive l) 'page'}}\">\n <MaybeIcon @icon={{@icon}} />\n <span>{{yield}}</span>\n </a>\n {{/let}}\n {{else if @push}}\n <CommandElement @command={{@push}} aria-current=\"{{if (isActive @push) 'page'}}\" part=\"item\">\n <MaybeIcon @icon={{@icon}} />\n <span>{{yield}}</span>\n </CommandElement>\n {{else}}\n <span part=\"item\">\n <MaybeIcon @icon={{@icon}} />\n {{yield}}\n </span>\n {{/if}}\n</template>;\n"],"names":["isActive","commandable","Link","MaybeIcon","setComponentTemplate","precompileTemplate","strictMode","scope","Icon","templateOnly","NavLink","link","on","CommandElement"],"mappings":";;;;;;;;AAWA,MAAMA,QAAA,GAAYC,WAAa,IAAA;AAC7B,EAAA,OAAOA,WAAA,YAAuBC,IAAA,IAAQD,WAAA,CAAYD,QAAQ;AAC5D,CAAA;AAEA,MAAMG,SAA8C,GAAAC,oBAAA,CAAAC,kBAAA,CAAA,4EAAA,EAIpD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA;MAEGC,OAMR,GAAAN,oBAAA,CAAAC,kBAAA,CAAA,klBAAA,EAmBL;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAI,IAAA;IAAAX,QAAA;IAAAY,EAAA;IAAAT,SAAA;AAAAU,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAJ,YAAA,EAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"password-input-BMp5uscw.js","sources":["../src/components/controls/password-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { pick } from '../../-private/helpers.ts';\n\nimport type { InputArgs } from './-input.ts';\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface PasswordInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\n\nexport const PasswordInput: TOC<PasswordInputSignature> = <template>\n <input\n class={{styles.input}}\n type=\"password\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n {{on \"input\" (pick \"target.value\" @update) capture=true}}\n ...attributes\n />\n</template>;\n"],"names":["PasswordInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;MAcaA,aAAmB,GAAAC,oBAAA,CAA0BC,kBAAA,CAAA,8LAAA,EAU1D;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"range-input-BiAPgpW8.js","sources":["../src/components/controls/range-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport { modifier } from 'ember-modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { pick } from '../../-private/helpers.ts';\nimport { pickAsNumber } from './-input.ts';\n\nimport type { InputArgs } from './-input.ts';\nimport type { TOC } from '@ember/component/template-only';\n\nfunction applyProgressStyle(range: HTMLInputElement, value?: number) {\n const min = Number.parseFloat(range.min) || 0;\n const max = Number.parseFloat(range.max) || 100;\n const currentVal = value ?? Number.parseFloat(range.value);\n const progress = ((currentVal - min) / (max - min)) * 100;\n\n range.style.setProperty('--_hokulea-slider-progress', `${progress}%`);\n}\n\nconst progressStyle = modifier((element: HTMLInputElement, [value]: [number?]) => {\n applyProgressStyle(element, value);\n\n const listenForProgressChange = () => {\n applyProgressStyle(element);\n };\n\n element.addEventListener('input', listenForProgressChange);\n\n return () => element.removeEventListener('input', listenForProgressChange);\n});\n\nexport interface RangeInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<number> & {\n min?: number;\n max?: number;\n step?: number | 'any';\n orientation?: 'horizontal' | 'vertical';\n };\n}\n\nexport const RangeInput: TOC<RangeInputSignature> = <template>\n <input\n class={{styles.range}}\n type=\"range\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n data-orientation={{@orientation}}\n {{on \"input\" (pick \"target.value\" (pickAsNumber @update)) capture=true}}\n {{progressStyle @value}}\n ...attributes\n />\n</template>;\n"],"names":["applyProgressStyle","range","value","min","Number","parseFloat","max","currentVal","progress","style","setProperty","progressStyle","modifier","element","listenForProgressChange","addEventListener","removeEventListener","RangeInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","pickAsNumber","templateOnly"],"mappings":";;;;;;;;;AAYA,SAASA,kBAAAA,CAAmBC,KAAuB,EAAEC,KAAc,EAAA;EACjE,MAAMC,MAAMC,MAAA,CAAOC,UAAU,CAACJ,KAAA,CAAME,GAAG,CAAA,IAAK,CAAA;EAC5C,MAAMG,MAAMF,MAAA,CAAOC,UAAU,CAACJ,KAAA,CAAMK,GAAG,CAAA,IAAK,GAAA;EAC5C,MAAMC,aAAaL,KAAA,IAASE,MAAA,CAAOC,UAAU,CAACJ,MAAMC,KAAK,CAAA;AACzD,EAAA,MAAMM,QAAA,GAAY,CAACD,UAAA,GAAaJ,GAAG,KAAKG,GAAA,GAAMH,GAAG,CAAC,GAAI,GAAA;EAEtDF,KAAA,CAAMQ,KAAK,CAACC,WAAW,CAAC,8BAA8B,CAAA,EAAGF,QAAA,CAAA,CAAA,CAAW,CAAA;AACtE;AAEA,MAAMG,aAAA,GAAgBC,SAAS,CAACC,SAA2B,CAACX,KAAA,CAAiB,KAAA;AAC3EF,EAAAA,kBAAA,CAAmBa,OAAA,EAASX,KAAA,CAAA;EAE5B,MAAMY,uBAAA,GAA0BA,MAAA;IAC9Bd,kBAAA,CAAmBa,OAAA,CAAA;EACrB,CAAA;AAEAA,EAAAA,OAAA,CAAQE,gBAAgB,CAAC,OAAA,EAASD,uBAAA,CAAA;EAElC,OAAO,MAAMD,OAAA,CAAQG,mBAAmB,CAAC,OAAA,EAASF,uBAAA,CAAA;AACpD,CAAA,CAAA;MAYaG,UAAgB,GAAAC,oBAAA,CAAuBC,kBAAA,CAAA,qQAAA,EAYpD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;IAAAC,IAAA;IAAAC,YAAA;AAAAd,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAe,YAAA,EAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-DxyaUFuy.js","sources":["../src/components/controls/select.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { WithBoundArgs } from '@glint/template';\n\nexport type Value = string | number;\n\nexport interface OptionSignature {\n Element: HTMLOptionElement;\n Args: {\n value: Value;\n isSelected: (option: Value) => boolean;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst Option: TOC<OptionSignature> = <template>\n <option value={{@value}} selected={{@isSelected @value}} ...attributes>\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@value}}\n {{/if}}\n </option>\n</template>;\n\nexport interface SelectSignature {\n Element: HTMLSelectElement;\n Args: {\n value?: Value | Value[];\n update?: (value: Value | Value[]) => void;\n disabled?: boolean;\n };\n Blocks: {\n default: [\n {\n Option: WithBoundArgs<typeof Option, 'isSelected'>;\n }\n ];\n };\n}\n\nexport class Select extends Component<SelectSignature> {\n isSelected = (option: Value) => {\n if (Array.isArray(this.args.value)) {\n return this.args.value.includes(option);\n }\n\n return String(option) === String(this.args.value);\n };\n\n select = (event: Event) => {\n const select = event.target as HTMLSelectElement;\n const selection = Array.of(...select.selectedOptions).map((option) => option.value);\n const value = selection.length === 1 ? (selection[0] as Value) : (selection as Value[]);\n\n this.args.update?.(value);\n };\n\n <template>\n <span class={{styles.select}}>\n <select\n disabled={{@disabled}}\n data-test-select\n {{on \"input\" this.select capture=true}}\n ...attributes\n >\n {{yield (hash Option=(component Option isSelected=this.isSelected))}}\n </select>\n </span>\n </template>\n}\n"],"names":["Option","setComponentTemplate","precompileTemplate","strictMode","templateOnly","Select","Component","isSelected","option","Array","isArray","args","value","includes","String","select","event","target","selection","of","selectedOptions","map","length","update","scope","styles","on","hash"],"mappings":";;;;;;;;AAsBA,MAAMA,MAAY,GAAAC,oBAAA,CAAmBC,kBAAA,CAAA,mLAAA,EAQrC;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA;AAkBH,MAAMC,eAAeC,SAAA,CAAU;EACpCC,UAAA,GAAcC,MAAQ,IAAA;IACpB,IAAIC,KAAA,CAAMC,OAAO,CAAC,IAAI,CAACC,IAAI,CAACC,KAAK,CAAA,EAAG;MAClC,OAAO,IAAI,CAACD,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACL,MAAA,CAAA;AAClC,IAAA;AAEA,IAAA,OAAOM,OAAON,MAAA,CAAA,KAAYM,MAAA,CAAO,IAAI,CAACH,IAAI,CAACC,KAAK,CAAA;EAClD,CAAA;EAEAG,MAAA,GAAUC,KAAO,IAAA;AACf,IAAA,MAAMD,MAAA,GAASC,KAAA,CAAMC,MAAU;AAC/B,IAAA,MAAMC,SAAA,GAAYT,KAAA,CAAMU,EAAE,CAAA,GAAIJ,MAAA,CAAOK,eAAe,CAAA,CAAEC,GAAG,CAAEb,MAAA,IAAWA,MAAA,CAAOI,KAAK,CAAA;AAClF,IAAA,MAAMA,KAAA,GAAQM,SAAA,CAAUI,MAAM,KAAK,IAAKJ,SAAS,CAAC,CAAA,CAAE,GAAcA,SAAoB;AAEtF,IAAA,IAAI,CAACP,IAAI,CAACY,MAAM,GAAGX,KAAA,CAAA;EACrB,CAAA;AAEA,EAAA;IAAAX,oBAAA,CAAAC,kBAAA,CAAA,uQAAA,EAWA;MAAAC,UAAA,EAAA,IAAA;AAAAqB,MAAAA,KAAA,EAAAA,OAAA;QAAAC,MAAA;QAAAC,EAAA;QAAAC,IAAA;AAAA3B,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}