@hokulea/ember 0.12.0 → 0.14.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 (172) hide show
  1. package/declarations/components/controls/-menu.d.ts +2 -2
  2. package/declarations/components/controls/-menu.d.ts.map +1 -1
  3. package/declarations/components/controls/menu.d.ts +0 -3
  4. package/declarations/components/controls/menu.d.ts.map +1 -1
  5. package/declarations/components/feedback/alert.d.ts +3 -2
  6. package/declarations/components/feedback/alert.d.ts.map +1 -1
  7. package/declarations/components/form/form.d.ts +9 -3
  8. package/declarations/components/form/form.d.ts.map +1 -1
  9. package/declarations/components/graphics/icon.d.ts +4 -1
  10. package/declarations/components/graphics/icon.d.ts.map +1 -1
  11. package/declarations/components/layouts/sectioned-page.d.ts +1 -1
  12. package/declarations/components/layouts/sectioned-page.d.ts.map +1 -1
  13. package/declarations/components/navigation/app-header.d.ts +2 -2
  14. package/declarations/components/navigation/app-header.d.ts.map +1 -1
  15. package/declarations/components/navigation/nav-link.d.ts.map +1 -1
  16. package/declarations/components/navigation/tab-nav.d.ts +12 -0
  17. package/declarations/components/navigation/tab-nav.d.ts.map +1 -0
  18. package/declarations/components/tab-nav.d.ts +2 -0
  19. package/declarations/components/tab-nav.d.ts.map +1 -0
  20. package/declarations/helpers/-position.d.ts +12 -0
  21. package/declarations/helpers/-position.d.ts.map +1 -0
  22. package/declarations/helpers/popover.d.ts +23 -2
  23. package/declarations/helpers/popover.d.ts.map +1 -1
  24. package/declarations/index.d.ts +3 -0
  25. package/declarations/index.d.ts.map +1 -1
  26. package/declarations/test-support/index.d.ts +1 -0
  27. package/declarations/test-support/index.d.ts.map +1 -1
  28. package/declarations/test-support/page-objects/-menu.d.ts.map +1 -1
  29. package/declarations/test-support/page-objects/-private/error.d.ts +7 -0
  30. package/declarations/test-support/page-objects/-private/error.d.ts.map +1 -0
  31. package/declarations/test-support/page-objects/-private/field.d.ts +3 -6
  32. package/declarations/test-support/page-objects/-private/field.d.ts.map +1 -1
  33. package/declarations/test-support/page-objects/form.d.ts +3 -1
  34. package/declarations/test-support/page-objects/form.d.ts.map +1 -1
  35. package/declarations/test-support/page-objects/navigation-list.d.ts +1 -1
  36. package/declarations/test-support/page-objects/navigation-list.d.ts.map +1 -1
  37. package/declarations/test-support/page-objects/tab-nav.d.ts +9 -0
  38. package/declarations/test-support/page-objects/tab-nav.d.ts.map +1 -0
  39. package/dist/_app_/components/tab-nav.js +1 -0
  40. package/dist/{alert-DmCWMMRr.js → alert-CHUcylXU.js} +4 -3
  41. package/dist/alert-CHUcylXU.js.map +1 -0
  42. package/dist/{app-header-DKlDPWSe.js → app-header-B9BWy4HI.js} +8 -8
  43. package/dist/app-header-B9BWy4HI.js.map +1 -0
  44. package/dist/{avatar-DTqwlbny.js → avatar-CKkZu7w3.js} +2 -2
  45. package/dist/{avatar-DTqwlbny.js.map → avatar-CKkZu7w3.js.map} +1 -1
  46. package/dist/{box-COwjh1Rb.js → box-6Zf3RnAO.js} +2 -2
  47. package/dist/{box-COwjh1Rb.js.map → box-6Zf3RnAO.js.map} +1 -1
  48. package/dist/button-CRe5grz4.js +24 -0
  49. package/dist/{button-BAtG9lC0.js.map → button-CRe5grz4.js.map} +1 -1
  50. package/dist/card-Wzo-S04B.js +14 -0
  51. package/dist/{card-Bq4sLW1m.js.map → card-Wzo-S04B.js.map} +1 -1
  52. package/dist/{checkbox-C9-RZtWK.js → checkbox-Dq-Ba0eG.js} +2 -2
  53. package/dist/{checkbox-C9-RZtWK.js.map → checkbox-Dq-Ba0eG.js.map} +1 -1
  54. package/dist/components/alert.js +1 -1
  55. package/dist/components/app-header.js +1 -1
  56. package/dist/components/avatar.js +1 -1
  57. package/dist/components/box.js +1 -1
  58. package/dist/components/button.js +1 -1
  59. package/dist/components/card.js +1 -1
  60. package/dist/components/checkbox.js +1 -1
  61. package/dist/components/currency-input.js +1 -1
  62. package/dist/components/data-table.js +1 -1
  63. package/dist/components/date-input.js +1 -1
  64. package/dist/components/email-input.js +1 -1
  65. package/dist/components/focus-page.js +1 -1
  66. package/dist/components/form.js +1 -1
  67. package/dist/components/icon-button.js +1 -1
  68. package/dist/components/icon.js +1 -1
  69. package/dist/components/input-builder.js +1 -1
  70. package/dist/components/link.js +1 -1
  71. package/dist/components/list.js +1 -1
  72. package/dist/components/menu.js +1 -1
  73. package/dist/components/navigation-list.js +1 -1
  74. package/dist/components/number-input.js +1 -1
  75. package/dist/components/page.js +1 -1
  76. package/dist/components/pagination.js +1 -1
  77. package/dist/components/password-input.js +1 -1
  78. package/dist/components/phone-input.js +1 -1
  79. package/dist/components/popover.js +1 -1
  80. package/dist/components/radio.js +1 -1
  81. package/dist/components/range-input.js +1 -1
  82. package/dist/components/section.js +1 -1
  83. package/dist/components/sectioned-page.js +1 -1
  84. package/dist/components/select.js +1 -1
  85. package/dist/components/tab-nav.js +2 -0
  86. package/dist/components/tab-nav.js.map +1 -0
  87. package/dist/components/tabs.js +1 -1
  88. package/dist/components/text-area.js +1 -1
  89. package/dist/components/text-input.js +1 -1
  90. package/dist/currency-input-BXZynbgP.js +20 -0
  91. package/dist/{currency-input-BqNb3IcU.js.map → currency-input-BXZynbgP.js.map} +1 -1
  92. package/dist/data-table-DgPcWpgQ.js +16 -0
  93. package/dist/{data-table-ZliVM1td.js.map → data-table-DgPcWpgQ.js.map} +1 -1
  94. package/dist/{date-input-DxDpVu3A.js → date-input-Do_gdYif.js} +2 -2
  95. package/dist/{date-input-DxDpVu3A.js.map → date-input-Do_gdYif.js.map} +1 -1
  96. package/dist/{email-input-84impWbH.js → email-input-C3DQI5CS.js} +2 -2
  97. package/dist/{email-input-84impWbH.js.map → email-input-C3DQI5CS.js.map} +1 -1
  98. package/dist/focus-page-De0KXI-m.js +19 -0
  99. package/dist/{focus-page-Boq96jK3.js.map → focus-page-De0KXI-m.js.map} +1 -1
  100. package/dist/form-VcfCjgct.js +508 -0
  101. package/dist/{form-CXvWQbiY.js.map → form-VcfCjgct.js.map} +1 -1
  102. package/dist/helpers/popover.js +11 -20
  103. package/dist/helpers/popover.js.map +1 -1
  104. package/dist/{icon-button-hS8-Jo0v.js → icon-button-ClE5SC8Y.js} +4 -4
  105. package/dist/{icon-button-hS8-Jo0v.js.map → icon-button-ClE5SC8Y.js.map} +1 -1
  106. package/dist/{icon-rlG6O1ps.js → icon-ej-3ZqQt.js} +2 -2
  107. package/dist/icon-ej-3ZqQt.js.map +1 -0
  108. package/dist/index.js +36 -35
  109. package/dist/index.js.map +1 -1
  110. package/dist/input-builder-DpIzsgxI.js +18 -0
  111. package/dist/{input-builder-C6GkddCw.js.map → input-builder-DpIzsgxI.js.map} +1 -1
  112. package/dist/{link-bqsg26Cc.js → link-4Kc0K38u.js} +3 -3
  113. package/dist/{link-bqsg26Cc.js.map → link-4Kc0K38u.js.map} +1 -1
  114. package/dist/{list-C86dLtuk.js → list-CIQXPiUH.js} +3 -3
  115. package/dist/{list-C86dLtuk.js.map → list-CIQXPiUH.js.map} +1 -1
  116. package/dist/{menu-DCDUaqYZ.js → menu-Dcc72jZp.js} +5 -15
  117. package/dist/menu-Dcc72jZp.js.map +1 -0
  118. package/dist/nav-link-KZJghY_q.js +22 -0
  119. package/dist/{nav-link-DL59IUt0.js.map → nav-link-KZJghY_q.js.map} +1 -1
  120. package/dist/{navigation-list-Dt-WaMyp.js → navigation-list-DkWUXH9a.js} +4 -4
  121. package/dist/{navigation-list-Dt-WaMyp.js.map → navigation-list-DkWUXH9a.js.map} +1 -1
  122. package/dist/{number-input-CDMSp7qk.js → number-input-C3nCdLGj.js} +2 -2
  123. package/dist/{number-input-CDMSp7qk.js.map → number-input-C3nCdLGj.js.map} +1 -1
  124. package/dist/page-BlSv_2Xh.js +19 -0
  125. package/dist/{page-DNrVa_Zo.js.map → page-BlSv_2Xh.js.map} +1 -1
  126. package/dist/{pagination-BYiNuWz8.js → pagination-Mgv860Cf.js} +5 -5
  127. package/dist/{pagination-BYiNuWz8.js.map → pagination-Mgv860Cf.js.map} +1 -1
  128. package/dist/{password-input-BYvLH8gQ.js → password-input-DRa3El-5.js} +2 -2
  129. package/dist/{password-input-BYvLH8gQ.js.map → password-input-DRa3El-5.js.map} +1 -1
  130. package/dist/{phone-input-8N_lOkZ2.js → phone-input-D3AIkLe8.js} +2 -2
  131. package/dist/{phone-input-8N_lOkZ2.js.map → phone-input-D3AIkLe8.js.map} +1 -1
  132. package/dist/{popover-wLRNTIPC.js → popover-CaKubr0X.js} +2 -2
  133. package/dist/{popover-wLRNTIPC.js.map → popover-CaKubr0X.js.map} +1 -1
  134. package/dist/push-C8z1Qw41.js +24 -0
  135. package/dist/{push-DnJFFc_p.js.map → push-C8z1Qw41.js.map} +1 -1
  136. package/dist/{radio-BQvSPyDT.js → radio-BQ_nDgm0.js} +2 -2
  137. package/dist/{radio-BQvSPyDT.js.map → radio-BQ_nDgm0.js.map} +1 -1
  138. package/dist/{range-input-Bosd7QI2.js → range-input-Oc8Z7tsH.js} +2 -2
  139. package/dist/{range-input-Bosd7QI2.js.map → range-input-Oc8Z7tsH.js.map} +1 -1
  140. package/dist/{section-B_1poNPX.js → section-DbYzqbWp.js} +2 -2
  141. package/dist/{section-B_1poNPX.js.map → section-DbYzqbWp.js.map} +1 -1
  142. package/dist/sectioned-page-Ba06ASAC.js +21 -0
  143. package/dist/sectioned-page-Ba06ASAC.js.map +1 -0
  144. package/dist/{select-DWOHAUfQ.js → select-CrdsGEgR.js} +3 -3
  145. package/dist/{select-DWOHAUfQ.js.map → select-CrdsGEgR.js.map} +1 -1
  146. package/dist/tab-nav-pvb2XhOD.js +16 -0
  147. package/dist/tab-nav-pvb2XhOD.js.map +1 -0
  148. package/dist/{tabs-e_cUi6pL.js → tabs-DdGp_ET2.js} +3 -3
  149. package/dist/{tabs-e_cUi6pL.js.map → tabs-DdGp_ET2.js.map} +1 -1
  150. package/dist/test-support/index.js +37 -26
  151. package/dist/test-support/index.js.map +1 -1
  152. package/dist/{text-area-BsDD1dpV.js → text-area-BBLWOU6L.js} +2 -2
  153. package/dist/{text-area-BsDD1dpV.js.map → text-area-BBLWOU6L.js.map} +1 -1
  154. package/dist/{text-input-BntDzi8S.js → text-input-B5cPU_e-.js} +2 -2
  155. package/dist/{text-input-BntDzi8S.js.map → text-input-B5cPU_e-.js.map} +1 -1
  156. package/package.json +45 -46
  157. package/dist/alert-DmCWMMRr.js.map +0 -1
  158. package/dist/app-header-DKlDPWSe.js.map +0 -1
  159. package/dist/button-BAtG9lC0.js +0 -24
  160. package/dist/card-Bq4sLW1m.js +0 -14
  161. package/dist/currency-input-BqNb3IcU.js +0 -20
  162. package/dist/data-table-ZliVM1td.js +0 -16
  163. package/dist/focus-page-Boq96jK3.js +0 -19
  164. package/dist/form-CXvWQbiY.js +0 -500
  165. package/dist/icon-rlG6O1ps.js.map +0 -1
  166. package/dist/input-builder-C6GkddCw.js +0 -18
  167. package/dist/menu-DCDUaqYZ.js.map +0 -1
  168. package/dist/nav-link-DL59IUt0.js +0 -22
  169. package/dist/page-DNrVa_Zo.js +0 -19
  170. package/dist/push-DnJFFc_p.js +0 -24
  171. package/dist/sectioned-page-D9Xxr97R.js +0 -21
  172. package/dist/sectioned-page-D9Xxr97R.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-header-B9BWy4HI.js","sources":["../src/components/navigation/app-header.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { hash, uniqueId } from '@ember/helper';\n\nimport { type CommandAction, CommandElement } from 'ember-command';\nimport { keepLatestTask, timeout } from 'ember-concurrency';\nimport { modifier } from 'ember-modifier';\n\nimport { and, not, or } from '../../-private/helpers.ts';\nimport { popover } from '../../helpers/popover.ts';\nimport { IconButton } from '../actions/icon-button.gts';\nimport { Menu } from '../controls/menu.gts';\nimport { NavLink } from './nav-link.gts';\n\nimport type { MenuItemArgs, MenuItemSignature } from '../controls/-menu.gts';\nimport type { TOC } from '@ember/component/template-only';\nimport type { ComponentLike } from '@glint/template';\nimport type { PositionArea } from '#src/helpers/-position.ts';\n\ninterface NavItemSignature extends MenuItemSignature {\n Args: MenuItemArgs & {\n position?: PositionArea;\n };\n}\n\nconst NavItem: TOC<NavItemSignature> = <template>\n {{#if (has-block)}}\n <NavLink @push={{@push}} @href={{@href}}>{{yield}}</NavLink>\n {{else if (and (has-block \"menu\") (has-block \"label\"))}}\n {{#let (popover position=(if @position @position \"bottom span-right\")) as |p|}}\n <button type=\"button\" aria-haspopup=\"menu\" part=\"item\" {{p.trigger}}>\n <span>{{yield to=\"label\"}}</span>\n </button>\n\n <Menu {{p.target}} as |m|>\n {{yield m to=\"menu\"}}\n </Menu>\n {{/let}}\n {{/if}}\n</template>;\n\nconst PopoverNavItem: TOC<NavItemSignature> = <template>\n {{#if (has-block)}}\n <NavLink @push={{@push}} @href={{@href}}>{{yield}}</NavLink>\n {{else if (and (has-block \"menu\") (has-block \"label\"))}}\n <details>\n <summary part=\"item\">{{yield to=\"label\"}}</summary>\n\n <div>\n {{yield (hash Item=PopoverNavItem) to=\"menu\"}}\n </div>\n </details>\n {{/if}}\n</template>;\n\nconst CloseIcon =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\" height=\"256\" viewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128L50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z\"/></svg>';\nconst ListIcon =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\" height=\"256\" viewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"M224 128a8 8 0 0 1-8 8H40a8 8 0 0 1 0-16h176a8 8 0 0 1 8 8M40 72h176a8 8 0 0 0 0-16H40a8 8 0 0 0 0 16m176 112H40a8 8 0 0 0 0 16h176a8 8 0 0 0 0-16\"/></svg>';\n\ninterface AppHeaderSignature {\n Element: HTMLElement;\n Args: {\n /**\n * Position of the navbar\n *\n * @default start\n */\n position?: 'start' | 'center' | 'end';\n\n home?: CommandAction;\n };\n Blocks: {\n brand?: [];\n nav?: [{ Item: typeof NavItem }];\n aux?: [{ Item: ComponentLike<typeof NavItem> }];\n };\n}\n\nexport class AppHeader extends Component<AppHeaderSignature> {\n @tracked topNavShown = true;\n @tracked sensing = false;\n\n detectOverflow = keepLatestTask(async (element: HTMLElement) => {\n await timeout(30);\n\n this.sensing = true;\n\n // wait till sensing is flushed to the browser and made elements visible\n await timeout(0);\n\n const relevantChildren = [...element.children].filter(\n (elem) => elem.tagName.toLowerCase() === 'nav' || elem.getAttribute('part') === 'aux'\n );\n\n if (relevantChildren.length === 0) {\n this.sensing = false;\n\n return;\n }\n\n let headerWidth = [...element.children]\n .filter((elem) => elem.getAttribute('part') !== 'menu')\n .map((e) => Math.floor(e.scrollWidth))\n .reduce((sum, elemWidth) => sum + elemWidth, 0);\n\n // + padding\n headerWidth +=\n Number.parseInt(getComputedStyle(element).getPropertyValue('padding-inline'), 10) * 2;\n\n // + gap\n headerWidth +=\n Number.parseInt(getComputedStyle(element).getPropertyValue('gap'), 10) *\n (element.childElementCount - 1);\n\n this.topNavShown = element.clientWidth >= headerWidth;\n this.sensing = false;\n });\n\n flipflop = modifier((element: HTMLElement) => {\n const sensor = () => this.detectOverflow.perform(element);\n\n void sensor();\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n window.addEventListener('resize', sensor);\n\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n window.removeEventListener('resize', sensor);\n };\n });\n\n closeWhenLink = modifier((element: HTMLElement) => {\n const checkForClose = (event: Event) => {\n const hitALink = event\n .composedPath()\n .some(\n (target: EventTarget) =>\n (target as HTMLElement | null)?.tagName &&\n ['a', 'button'].includes((target as HTMLElement).tagName.toLowerCase()) &&\n !(target as HTMLElement).getAttribute('aria-haspopup')\n );\n\n if (hitALink) {\n element.hidePopover();\n }\n };\n\n element.addEventListener('click', checkForClose);\n\n return () => {\n element.removeEventListener('click', checkForClose);\n };\n });\n\n <template>\n {{#let (uniqueId) as |brandId|}}\n <header class=\"app-header\" data-test-app-header ...attributes>\n <div data-sensing={{this.sensing}} {{this.flipflop}}>\n {{#if (has-block \"brand\")}}\n <CommandElement @command={{@home}} part=\"brand\" id={{brandId}}>\n <span>{{yield to=\"brand\"}}</span>\n </CommandElement>\n {{/if}}\n\n {{#if (or this.topNavShown this.sensing)}}\n <nav data-position={{if @position @position}} aria-labelledby={{brandId}}>\n {{yield (hash Item=NavItem) to=\"nav\"}}\n </nav>\n\n {{#if (has-block \"aux\")}}\n <span part=\"aux\">\n {{yield (hash Item=NavItem) to=\"aux\"}}\n </span>\n {{/if}}\n {{/if}}\n\n {{#if (not this.topNavShown)}}\n <span part=\"menu\">\n {{#let (popover) as |p|}}\n <IconButton\n @importance=\"plain\"\n @icon={{if p.opened CloseIcon ListIcon}}\n {{p.trigger}}\n data-test-toggle\n @label=\"toggle\"\n />\n\n <div popover {{p.target}} {{this.closeWhenLink}}>\n <div data-menu-header>\n {{#if (has-block \"brand\")}}\n <span part=\"brand\">\n {{yield to=\"brand\"}}\n </span>\n {{/if}}\n </div>\n\n <div data-menu-content>\n {{! template-lint-disable no-duplicate-landmark-elements }}\n <nav aria-labelledby={{brandId}}>\n {{yield (hash Item=PopoverNavItem) to=\"nav\"}}\n </nav>\n {{! template-lint-enable no-duplicate-landmark-elements }}\n\n {{#if (has-block \"aux\")}}\n <span part=\"aux\">\n {{yield (hash Item=(component NavItem position=\"top span-right\")) to=\"aux\"}}\n </span>\n {{/if}}\n </div>\n </div>\n {{/let}}\n </span>\n {{/if}}\n </div>\n </header>\n {{/let}}\n </template>\n}\n"],"names":["NavItem","setComponentTemplate","precompileTemplate","strictMode","scope","NavLink","and","popover","Menu","templateOnly","PopoverNavItem","hash","CloseIcon","ListIcon","AppHeader","Component","g","prototype","tracked","i","void 0","detectOverflow","_buildTask","context","generator","element","timeout","sensing","relevantChildren","children","filter","elem","tagName","toLowerCase","getAttribute","length","headerWidth","map","e","Math","floor","scrollWidth","reduce","sum","elemWidth","Number","parseInt","getComputedStyle","getPropertyValue","childElementCount","topNavShown","clientWidth","flipflop","modifier","sensor","perform","window","addEventListener","removeEventListener","closeWhenLink","checkForClose","event","hitALink","composedPath","some","target","includes","hidePopover","uniqueId","CommandElement","or","not","IconButton"],"mappings":"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"}
@@ -14,7 +14,7 @@ function getInitials(name) {
14
14
  return '';
15
15
  }
16
16
  const UserIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><path fill="currentColor" d="M172 120a44 44 0 1 1-44-44a44.05 44.05 0 0 1 44 44m60 8A104 104 0 1 1 128 24a104.11 104.11 0 0 1 104 104m-16 0a88.09 88.09 0 0 0-91.47-87.93C77.43 41.89 39.87 81.12 40 128.25a87.65 87.65 0 0 0 22.24 58.16A79.7 79.7 0 0 1 84 165.1a4 4 0 0 1 4.83.32a59.83 59.83 0 0 0 78.28 0a4 4 0 0 1 4.83-.32a79.7 79.7 0 0 1 21.79 21.31A87.62 87.62 0 0 0 216 128"/></svg>`;
17
- const Avatar = setComponentTemplate(precompileTemplate("\n <span class=\"avatar\" data-test-avatar ...attributes>\n {{#if @src}}\n <img src={{@src}} alt={{@name}} />\n {{else if @name}}\n {{getInitials @name}}\n {{else}}\n {{htmlSafe UserIcon}}\n {{/if}}\n </span>\n", {
17
+ const Avatar = setComponentTemplate(precompileTemplate("<span class=\"avatar\" data-test-avatar ...attributes>\n {{#if @src}}\n <img src={{@src}} alt={{@name}} />\n {{else if @name}}\n {{getInitials @name}}\n {{else}}\n {{htmlSafe UserIcon}}\n {{/if}}\n</span>", {
18
18
  strictMode: true,
19
19
  scope: () => ({
20
20
  getInitials,
@@ -24,4 +24,4 @@ const Avatar = setComponentTemplate(precompileTemplate("\n <span class=\"avatar
24
24
  }), templateOnly());
25
25
 
26
26
  export { Avatar as A };
27
- //# sourceMappingURL=avatar-DTqwlbny.js.map
27
+ //# sourceMappingURL=avatar-CKkZu7w3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar-DTqwlbny.js","sources":["../src/components/graphics/avatar.gts"],"sourcesContent":["import { type TOC } from '@ember/component/template-only';\nimport { htmlSafe } from '@ember/template';\n\nfunction getInitials(name: string) {\n const parts = name.split(' ');\n\n if (parts.length > 1) {\n return `${parts[0]?.[0]} ${parts.at(-1)?.[0]}`;\n }\n\n if (parts.length === 1) {\n return name[0];\n }\n\n return '';\n}\n\nconst UserIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"M172 120a44 44 0 1 1-44-44a44.05 44.05 0 0 1 44 44m60 8A104 104 0 1 1 128 24a104.11 104.11 0 0 1 104 104m-16 0a88.09 88.09 0 0 0-91.47-87.93C77.43 41.89 39.87 81.12 40 128.25a87.65 87.65 0 0 0 22.24 58.16A79.7 79.7 0 0 1 84 165.1a4 4 0 0 1 4.83.32a59.83 59.83 0 0 0 78.28 0a4 4 0 0 1 4.83-.32a79.7 79.7 0 0 1 21.79 21.31A87.62 87.62 0 0 0 216 128\"/></svg>`;\n\ninterface AvatarSignature {\n Element: HTMLSpanElement;\n Args: {\n src?: string | null;\n name?: string;\n };\n}\n\nexport const Avatar: TOC<AvatarSignature> = <template>\n <span class=\"avatar\" data-test-avatar ...attributes>\n {{#if @src}}\n <img src={{@src}} alt={{@name}} />\n {{else if @name}}\n {{getInitials @name}}\n {{else}}\n {{htmlSafe UserIcon}}\n {{/if}}\n </span>\n</template>;\n"],"names":["getInitials","name","parts","split","length","at","UserIcon","Avatar","setComponentTemplate","precompileTemplate","strictMode","scope","htmlSafe","templateOnly"],"mappings":";;;;;AAGA,SAASA,WAAAA,CAAYC,IAAY,EAAA;AAC/B,EAAA,MAAMC,KAAA,GAAQD,IAAA,CAAKE,KAAK,CAAC,GAAA,CAAA;AAEzB,EAAA,IAAID,KAAA,CAAME,MAAM,GAAG,CAAA,EAAG;AACpB,IAAA,OAAO,GAAGF,KAAK,CAAC,CAAA,CAAE,GAAG,CAAA,CAAE,CAAA,CAAA,EAAIA,KAAA,CAAMG,EAAE,CAAC,MAAM,CAAA,CAAE,CAAA,CAAE;AAChD,EAAA;AAEA,EAAA,IAAIH,KAAA,CAAME,MAAM,KAAK,CAAA,EAAG;IACtB,OAAOH,IAAI,CAAC,CAAA,CAAE;AAChB,EAAA;AAEA,EAAA,OAAO,EAAA;AACT;AAEA,MAAMK,QAAA,GAAW,CAAA,8bAAA,CAAgc;MAUpcC,MAAY,GAAAC,oBAAA,CAAmBC,kBAAA,CAAA,iPAAA,EAU5C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAX,WAAA;IAAAY,QAAA;AAAAN,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAO,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"avatar-CKkZu7w3.js","sources":["../src/components/graphics/avatar.gts"],"sourcesContent":["import { type TOC } from '@ember/component/template-only';\nimport { htmlSafe } from '@ember/template';\n\nfunction getInitials(name: string) {\n const parts = name.split(' ');\n\n if (parts.length > 1) {\n return `${parts[0]?.[0]} ${parts.at(-1)?.[0]}`;\n }\n\n if (parts.length === 1) {\n return name[0];\n }\n\n return '';\n}\n\nconst UserIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 256\"><path fill=\"currentColor\" d=\"M172 120a44 44 0 1 1-44-44a44.05 44.05 0 0 1 44 44m60 8A104 104 0 1 1 128 24a104.11 104.11 0 0 1 104 104m-16 0a88.09 88.09 0 0 0-91.47-87.93C77.43 41.89 39.87 81.12 40 128.25a87.65 87.65 0 0 0 22.24 58.16A79.7 79.7 0 0 1 84 165.1a4 4 0 0 1 4.83.32a59.83 59.83 0 0 0 78.28 0a4 4 0 0 1 4.83-.32a79.7 79.7 0 0 1 21.79 21.31A87.62 87.62 0 0 0 216 128\"/></svg>`;\n\ninterface AvatarSignature {\n Element: HTMLSpanElement;\n Args: {\n src?: string | null;\n name?: string;\n };\n}\n\nexport const Avatar: TOC<AvatarSignature> = <template>\n <span class=\"avatar\" data-test-avatar ...attributes>\n {{#if @src}}\n <img src={{@src}} alt={{@name}} />\n {{else if @name}}\n {{getInitials @name}}\n {{else}}\n {{htmlSafe UserIcon}}\n {{/if}}\n </span>\n</template>;\n"],"names":["getInitials","name","parts","split","length","at","UserIcon","Avatar","setComponentTemplate","precompileTemplate","strictMode","scope","htmlSafe","templateOnly"],"mappings":";;;;;AAGA,SAASA,WAAAA,CAAYC,IAAY,EAAA;AAC/B,EAAA,MAAMC,KAAA,GAAQD,IAAA,CAAKE,KAAK,CAAC,GAAA,CAAA;AAEzB,EAAA,IAAID,KAAA,CAAME,MAAM,GAAG,CAAA,EAAG;AACpB,IAAA,OAAO,GAAGF,KAAK,CAAC,CAAA,CAAE,GAAG,CAAA,CAAE,CAAA,CAAA,EAAIA,KAAA,CAAMG,EAAE,CAAC,MAAM,CAAA,CAAE,CAAA,CAAE;AAChD,EAAA;AAEA,EAAA,IAAIH,KAAA,CAAME,MAAM,KAAK,CAAA,EAAG;IACtB,OAAOH,IAAI,CAAC,CAAA,CAAE;AAChB,EAAA;AAEA,EAAA,OAAO,EAAA;AACT;AAEA,MAAMK,QAAA,GAAW,CAAA,8bAAA,CAAgc;MAUpcC,MAAY,GAAAC,oBAAA,CAAmBC,kBAAA,CAAA,2NAAA,EAU5C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAX,WAAA;IAAAY,QAAA;AAAAN,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAO,YAAA,EAAA;;;;"}
@@ -5,7 +5,7 @@ import { setComponentTemplate } from '@ember/component';
5
5
 
6
6
  class Box extends Component {
7
7
  static {
8
- setComponentTemplate(precompileTemplate("\n {{#let (if @element @element (element \"div\")) as |Element|}}\n <Element class=\"container\" ...attributes>\n {{yield}}\n </Element>\n {{/let}}\n ", {
8
+ setComponentTemplate(precompileTemplate("{{#let (if @element @element (element \"div\")) as |Element|}}\n <Element class=\"container\" ...attributes>\n {{yield}}\n </Element>\n{{/let}}", {
9
9
  strictMode: true,
10
10
  scope: () => ({
11
11
  element
@@ -15,4 +15,4 @@ class Box extends Component {
15
15
  }
16
16
 
17
17
  export { Box as B };
18
- //# sourceMappingURL=box-COwjh1Rb.js.map
18
+ //# sourceMappingURL=box-6Zf3RnAO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"box-COwjh1Rb.js","sources":["../src/components/content/box.gts"],"sourcesContent":["import Component from '@glimmer/component';\n\nimport { element } from 'ember-element-helper';\n\nimport type { ComponentLike } from '@glint/template';\n\nexport interface BoxSignature<E extends Element = HTMLDivElement> {\n Element: E;\n Args: {\n element?: ComponentLike<{ Element: HTMLElement }>;\n };\n Blocks: {\n default: [];\n };\n}\n\nexport class Box<E extends Element = HTMLDivElement> extends Component<BoxSignature<E>> {\n <template>\n {{#let (if @element @element (element \"div\")) as |Element|}}\n <Element class=\"container\" ...attributes>\n {{yield}}\n </Element>\n {{/let}}\n </template>\n}\n"],"names":["Box","Component","setComponentTemplate","precompileTemplate","strictMode","scope","element"],"mappings":";;;;;AAgBO,MAAMA,GAAA,SAAgDC,UAAuB;AAClF,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,gLAAA,EAMA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"box-6Zf3RnAO.js","sources":["../src/components/content/box.gts"],"sourcesContent":["import Component from '@glimmer/component';\n\nimport { element } from 'ember-element-helper';\n\nimport type { ComponentLike } from '@glint/template';\n\nexport interface BoxSignature<E extends Element = HTMLDivElement> {\n Element: E;\n Args: {\n element?: ComponentLike<{ Element: HTMLElement }>;\n };\n Blocks: {\n default: [];\n };\n}\n\nexport class Box<E extends Element = HTMLDivElement> extends Component<BoxSignature<E>> {\n <template>\n {{#let (if @element @element (element \"div\")) as |Element|}}\n <Element class=\"container\" ...attributes>\n {{yield}}\n </Element>\n {{/let}}\n </template>\n}\n"],"names":["Box","Component","setComponentTemplate","precompileTemplate","strictMode","scope","element"],"mappings":";;;;;AAgBO,MAAMA,GAAA,SAAgDC,UAAuB;AAClF,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,sJAAA,EAMA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -0,0 +1,24 @@
1
+ import { element } from 'ember-element-helper';
2
+ import { b as asBoolean, n as not, a as and } from './helpers-D4So5-uK.js';
3
+ import { d as disabled } from './disabled-B_FQ0Z51.js';
4
+ import { P as PushElement } from './push-C8z1Qw41.js';
5
+ import { i as isLink } from './-button-KUaJCQaB.js';
6
+ import { precompileTemplate } from '@ember/template-compilation';
7
+ import { setComponentTemplate } from '@ember/component';
8
+ import templateOnly from '@ember/component/template-only';
9
+
10
+ const Button = setComponentTemplate(precompileTemplate("<PushElement @push={{@push}} @href={{@href}} @element={{element \"button\"}} class=\"button\" type={{if (and (not (isLink @push)) (not (asBoolean @href))) \"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</PushElement>", {
11
+ strictMode: true,
12
+ scope: () => ({
13
+ PushElement,
14
+ element,
15
+ and,
16
+ not,
17
+ isLink,
18
+ asBoolean,
19
+ disabled
20
+ })
21
+ }), templateOnly());
22
+
23
+ export { Button as B };
24
+ //# sourceMappingURL=button-CRe5grz4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-BAtG9lC0.js","sources":["../src/components/actions/button.gts"],"sourcesContent":["import { element } from 'ember-element-helper';\n\nimport { and, asBoolean, not } from '../../-private/helpers.ts';\nimport disabled from '../../-private/modifiers/disabled.ts';\nimport { type PushArgs, PushElement } from '../../-private/push.gts';\nimport { isLink } from './-button.ts';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { Importance, Intent, Spacing } from '@hokulea/tokens';\n\nexport interface ButtonSignature {\n Element: HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement;\n Args: PushArgs & {\n intent?: Intent;\n importance?: Importance;\n spacing?: Spacing;\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 <PushElement\n @push={{@push}}\n @href={{@href}}\n @element={{element \"button\"}}\n class=\"button\"\n type={{if (and (not (isLink @push)) (not (asBoolean @href))) \"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 </PushElement>\n</template>;\n"],"names":["Button","setComponentTemplate","precompileTemplate","strictMode","scope","PushElement","element","and","not","isLink","asBoolean","disabled","templateOnly"],"mappings":";;;;;;;;;MAiCaA,MAAY,GAAAC,oBAAA,CAAmBC,kBAAA,CAAA,m3BAAA,EAoC5C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,WAAA;IAAAC,OAAA;IAAAC,GAAA;IAAAC,GAAA;IAAAC,MAAA;IAAAC,SAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"button-CRe5grz4.js","sources":["../src/components/actions/button.gts"],"sourcesContent":["import { element } from 'ember-element-helper';\n\nimport { and, asBoolean, not } from '../../-private/helpers.ts';\nimport disabled from '../../-private/modifiers/disabled.ts';\nimport { type PushArgs, PushElement } from '../../-private/push.gts';\nimport { isLink } from './-button.ts';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { Importance, Intent, Spacing } from '@hokulea/tokens';\n\nexport interface ButtonSignature {\n Element: HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement;\n Args: PushArgs & {\n intent?: Intent;\n importance?: Importance;\n spacing?: Spacing;\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 <PushElement\n @push={{@push}}\n @href={{@href}}\n @element={{element \"button\"}}\n class=\"button\"\n type={{if (and (not (isLink @push)) (not (asBoolean @href))) \"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 </PushElement>\n</template>;\n"],"names":["Button","setComponentTemplate","precompileTemplate","strictMode","scope","PushElement","element","and","not","isLink","asBoolean","disabled","templateOnly"],"mappings":";;;;;;;;;MAiCaA,MAAY,GAAAC,oBAAA,CAAmBC,kBAAA,CAAA,u0BAAA,EAoC5C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,WAAA;IAAAC,OAAA;IAAAC,GAAA;IAAAC,GAAA;IAAAC,MAAA;IAAAC,SAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -0,0 +1,14 @@
1
+ import { o as or } from './helpers-D4So5-uK.js';
2
+ import { precompileTemplate } from '@ember/template-compilation';
3
+ import { setComponentTemplate } from '@ember/component';
4
+ import templateOnly from '@ember/component/template-only';
5
+
6
+ const Card = setComponentTemplate(precompileTemplate("<div class=\"card\" ...attributes>\n {{#if (has-block \"header\")}}\n <div part=\"header\">\n {{yield to=\"header\"}}\n </div>\n {{/if}}\n\n {{#if (or (has-block \"body\") (has-block))}}\n <div part=\"body\">\n {{#if (has-block \"body\")}}\n {{yield to=\"body\"}}\n {{else if (has-block)}}\n {{yield}}\n {{/if}}\n </div>\n {{/if}}\n\n {{#if (has-block \"footer\")}}\n <div part=\"footer\">\n {{yield to=\"footer\"}}\n </div>\n {{/if}}\n</div>", {
7
+ strictMode: true,
8
+ scope: () => ({
9
+ or
10
+ })
11
+ }), templateOnly());
12
+
13
+ export { Card as C };
14
+ //# sourceMappingURL=card-Wzo-S04B.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card-Bq4sLW1m.js","sources":["../src/components/content/card.gts"],"sourcesContent":["import { or } from '../../-private/helpers.ts';\n\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface CardSignature {\n Element: HTMLDivElement;\n Blocks: {\n header?: [];\n footer?: [];\n body?: [];\n default?: [];\n };\n}\n\nexport const Card: TOC<CardSignature> = <template>\n <div class=\"card\" ...attributes>\n {{#if (has-block \"header\")}}\n <div part=\"header\">\n {{yield to=\"header\"}}\n </div>\n {{/if}}\n\n {{#if (or (has-block \"body\") (has-block))}}\n <div part=\"body\">\n {{#if (has-block \"body\")}}\n {{yield to=\"body\"}}\n {{else if (has-block)}}\n {{yield}}\n {{/if}}\n </div>\n {{/if}}\n\n {{#if (has-block \"footer\")}}\n <div part=\"footer\">\n {{yield to=\"footer\"}}\n </div>\n {{/if}}\n </div>\n</template>;\n"],"names":["Card","setComponentTemplate","precompileTemplate","strictMode","scope","or","templateOnly"],"mappings":";;;;;MAcaA,IAAU,GAAAC,oBAAA,CAAiBC,kBAAA,CAAA,yiBAAA,EAwBxC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"card-Wzo-S04B.js","sources":["../src/components/content/card.gts"],"sourcesContent":["import { or } from '../../-private/helpers.ts';\n\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface CardSignature {\n Element: HTMLDivElement;\n Blocks: {\n header?: [];\n footer?: [];\n body?: [];\n default?: [];\n };\n}\n\nexport const Card: TOC<CardSignature> = <template>\n <div class=\"card\" ...attributes>\n {{#if (has-block \"header\")}}\n <div part=\"header\">\n {{yield to=\"header\"}}\n </div>\n {{/if}}\n\n {{#if (or (has-block \"body\") (has-block))}}\n <div part=\"body\">\n {{#if (has-block \"body\")}}\n {{yield to=\"body\"}}\n {{else if (has-block)}}\n {{yield}}\n {{/if}}\n </div>\n {{/if}}\n\n {{#if (has-block \"footer\")}}\n <div part=\"footer\">\n {{yield to=\"footer\"}}\n </div>\n {{/if}}\n </div>\n</template>;\n"],"names":["Card","setComponentTemplate","precompileTemplate","strictMode","scope","or","templateOnly"],"mappings":";;;;;MAcaA,IAAU,GAAAC,oBAAA,CAAiBC,kBAAA,CAAA,2fAAA,EAwBxC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -4,7 +4,7 @@ import { precompileTemplate } from '@ember/template-compilation';
4
4
  import { setComponentTemplate } from '@ember/component';
5
5
  import templateOnly from '@ember/component/template-only';
6
6
 
7
- const Checkbox = setComponentTemplate(precompileTemplate("\n <input class=\"input\" type=\"checkbox\" checked={{@value}} disabled={{@disabled}} data-test-choice {{on \"input\" (pick \"target.checked\" @update) capture=true}} ...attributes />\n", {
7
+ const Checkbox = setComponentTemplate(precompileTemplate("<input class=\"input\" type=\"checkbox\" checked={{@value}} disabled={{@disabled}} data-test-choice {{on \"input\" (pick \"target.checked\" @update) capture=true}} ...attributes />", {
8
8
  strictMode: true,
9
9
  scope: () => ({
10
10
  on,
@@ -13,4 +13,4 @@ const Checkbox = setComponentTemplate(precompileTemplate("\n <input class=\"inp
13
13
  }), templateOnly());
14
14
 
15
15
  export { Checkbox as C };
16
- //# sourceMappingURL=checkbox-C9-RZtWK.js.map
16
+ //# sourceMappingURL=checkbox-Dq-Ba0eG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-C9-RZtWK.js","sources":["../src/components/controls/checkbox.gts"],"sourcesContent":["import { on } from '@ember/modifier';\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 CheckboxSignature {\n Element: HTMLInputElement;\n Args: InputArgs<boolean>;\n}\n\nexport const Checkbox: TOC<CheckboxSignature> = <template>\n <input\n class=\"input\"\n type=\"checkbox\"\n checked={{@value}}\n disabled={{@disabled}}\n data-test-choice\n {{on \"input\" (pick \"target.checked\" @update) capture=true}}\n ...attributes\n />\n</template>;\n"],"names":["Checkbox","setComponentTemplate","precompileTemplate","strictMode","scope","on","pick","templateOnly"],"mappings":";;;;;;MAYaA,QAAc,GAAAC,oBAAA,CAAqBC,kBAAA,CAAA,4LAAA,EAUhD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"checkbox-Dq-Ba0eG.js","sources":["../src/components/controls/checkbox.gts"],"sourcesContent":["import { on } from '@ember/modifier';\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 CheckboxSignature {\n Element: HTMLInputElement;\n Args: InputArgs<boolean>;\n}\n\nexport const Checkbox: TOC<CheckboxSignature> = <template>\n <input\n class=\"input\"\n type=\"checkbox\"\n checked={{@value}}\n disabled={{@disabled}}\n data-test-choice\n {{on \"input\" (pick \"target.checked\" @update) capture=true}}\n ...attributes\n />\n</template>;\n"],"names":["Checkbox","setComponentTemplate","precompileTemplate","strictMode","scope","on","pick","templateOnly"],"mappings":";;;;;;MAYaA,QAAc,GAAAC,oBAAA,CAAqBC,kBAAA,CAAA,sLAAA,EAUhD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1,2 +1,2 @@
1
- export { A as default } from '../alert-DmCWMMRr.js';
1
+ export { A as default } from '../alert-CHUcylXU.js';
2
2
  //# sourceMappingURL=alert.js.map
@@ -1,2 +1,2 @@
1
- export { A as default } from '../app-header-DKlDPWSe.js';
1
+ export { A as default } from '../app-header-B9BWy4HI.js';
2
2
  //# sourceMappingURL=app-header.js.map
@@ -1,2 +1,2 @@
1
- export { A as default } from '../avatar-DTqwlbny.js';
1
+ export { A as default } from '../avatar-CKkZu7w3.js';
2
2
  //# sourceMappingURL=avatar.js.map
@@ -1,2 +1,2 @@
1
- export { B as default } from '../box-COwjh1Rb.js';
1
+ export { B as default } from '../box-6Zf3RnAO.js';
2
2
  //# sourceMappingURL=box.js.map
@@ -1,2 +1,2 @@
1
- export { B as default } from '../button-BAtG9lC0.js';
1
+ export { B as default } from '../button-CRe5grz4.js';
2
2
  //# sourceMappingURL=button.js.map
@@ -1,2 +1,2 @@
1
- export { C as default } from '../card-Bq4sLW1m.js';
1
+ export { C as default } from '../card-Wzo-S04B.js';
2
2
  //# sourceMappingURL=card.js.map
@@ -1,2 +1,2 @@
1
- export { C as default } from '../checkbox-C9-RZtWK.js';
1
+ export { C as default } from '../checkbox-Dq-Ba0eG.js';
2
2
  //# sourceMappingURL=checkbox.js.map
@@ -1,2 +1,2 @@
1
- export { C as default } from '../currency-input-BqNb3IcU.js';
1
+ export { C as default } from '../currency-input-BXZynbgP.js';
2
2
  //# sourceMappingURL=currency-input.js.map
@@ -1,2 +1,2 @@
1
- export { D as default } from '../data-table-ZliVM1td.js';
1
+ export { D as default } from '../data-table-DgPcWpgQ.js';
2
2
  //# sourceMappingURL=data-table.js.map
@@ -1,2 +1,2 @@
1
- export { D as default } from '../date-input-DxDpVu3A.js';
1
+ export { D as default } from '../date-input-Do_gdYif.js';
2
2
  //# sourceMappingURL=date-input.js.map
@@ -1,2 +1,2 @@
1
- export { E as default } from '../email-input-84impWbH.js';
1
+ export { E as default } from '../email-input-C3DQI5CS.js';
2
2
  //# sourceMappingURL=email-input.js.map
@@ -1,2 +1,2 @@
1
- export { F as default } from '../focus-page-Boq96jK3.js';
1
+ export { F as default } from '../focus-page-De0KXI-m.js';
2
2
  //# sourceMappingURL=focus-page.js.map
@@ -1,2 +1,2 @@
1
- export { F as default } from '../form-CXvWQbiY.js';
1
+ export { F as default } from '../form-VcfCjgct.js';
2
2
  //# sourceMappingURL=form.js.map
@@ -1,2 +1,2 @@
1
- export { I as default } from '../icon-button-hS8-Jo0v.js';
1
+ export { I as default } from '../icon-button-ClE5SC8Y.js';
2
2
  //# sourceMappingURL=icon-button.js.map
@@ -1,2 +1,2 @@
1
- export { I as default } from '../icon-rlG6O1ps.js';
1
+ export { I as default } from '../icon-ej-3ZqQt.js';
2
2
  //# sourceMappingURL=icon.js.map
@@ -1,2 +1,2 @@
1
- export { I as default } from '../input-builder-C6GkddCw.js';
1
+ export { I as default } from '../input-builder-DpIzsgxI.js';
2
2
  //# sourceMappingURL=input-builder.js.map
@@ -1,2 +1,2 @@
1
- export { L as default } from '../link-bqsg26Cc.js';
1
+ export { L as default } from '../link-4Kc0K38u.js';
2
2
  //# sourceMappingURL=link.js.map
@@ -1,2 +1,2 @@
1
- export { L as default } from '../list-C86dLtuk.js';
1
+ export { L as default } from '../list-CIQXPiUH.js';
2
2
  //# sourceMappingURL=list.js.map
@@ -1,2 +1,2 @@
1
- export { M as default } from '../menu-DCDUaqYZ.js';
1
+ export { M as default } from '../menu-Dcc72jZp.js';
2
2
  //# sourceMappingURL=menu.js.map
@@ -1,2 +1,2 @@
1
- export { N as default } from '../navigation-list-Dt-WaMyp.js';
1
+ export { N as default } from '../navigation-list-DkWUXH9a.js';
2
2
  //# sourceMappingURL=navigation-list.js.map
@@ -1,2 +1,2 @@
1
- export { N as default } from '../number-input-CDMSp7qk.js';
1
+ export { N as default } from '../number-input-C3nCdLGj.js';
2
2
  //# sourceMappingURL=number-input.js.map
@@ -1,2 +1,2 @@
1
- export { P as default } from '../page-DNrVa_Zo.js';
1
+ export { P as default } from '../page-BlSv_2Xh.js';
2
2
  //# sourceMappingURL=page.js.map
@@ -1,2 +1,2 @@
1
- export { P as default } from '../pagination-BYiNuWz8.js';
1
+ export { P as default } from '../pagination-Mgv860Cf.js';
2
2
  //# sourceMappingURL=pagination.js.map
@@ -1,2 +1,2 @@
1
- export { P as default } from '../password-input-BYvLH8gQ.js';
1
+ export { P as default } from '../password-input-DRa3El-5.js';
2
2
  //# sourceMappingURL=password-input.js.map
@@ -1,2 +1,2 @@
1
- export { P as default } from '../phone-input-8N_lOkZ2.js';
1
+ export { P as default } from '../phone-input-D3AIkLe8.js';
2
2
  //# sourceMappingURL=phone-input.js.map
@@ -1,2 +1,2 @@
1
- export { P as default } from '../popover-wLRNTIPC.js';
1
+ export { P as default } from '../popover-CaKubr0X.js';
2
2
  //# sourceMappingURL=popover.js.map
@@ -1,2 +1,2 @@
1
- export { R as default } from '../radio-BQvSPyDT.js';
1
+ export { R as default } from '../radio-BQ_nDgm0.js';
2
2
  //# sourceMappingURL=radio.js.map
@@ -1,2 +1,2 @@
1
- export { R as default } from '../range-input-Bosd7QI2.js';
1
+ export { R as default } from '../range-input-Oc8Z7tsH.js';
2
2
  //# sourceMappingURL=range-input.js.map
@@ -1,2 +1,2 @@
1
- export { S as default } from '../section-B_1poNPX.js';
1
+ export { S as default } from '../section-DbYzqbWp.js';
2
2
  //# sourceMappingURL=section.js.map
@@ -1,2 +1,2 @@
1
- export { S as default } from '../sectioned-page-D9Xxr97R.js';
1
+ export { S as default } from '../sectioned-page-Ba06ASAC.js';
2
2
  //# sourceMappingURL=sectioned-page.js.map
@@ -1,2 +1,2 @@
1
- export { S as default } from '../select-DWOHAUfQ.js';
1
+ export { S as default } from '../select-CrdsGEgR.js';
2
2
  //# sourceMappingURL=select.js.map
@@ -0,0 +1,2 @@
1
+ export { T as default } from '../tab-nav-pvb2XhOD.js';
2
+ //# sourceMappingURL=tab-nav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-nav.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- export { T as default } from '../tabs-e_cUi6pL.js';
1
+ export { T as default } from '../tabs-DdGp_ET2.js';
2
2
  //# sourceMappingURL=tabs.js.map
@@ -1,2 +1,2 @@
1
- export { T as default } from '../text-area-BsDD1dpV.js';
1
+ export { T as default } from '../text-area-BBLWOU6L.js';
2
2
  //# sourceMappingURL=text-area.js.map
@@ -1,2 +1,2 @@
1
- export { T as default } from '../text-input-BntDzi8S.js';
1
+ export { T as default } from '../text-input-B5cPU_e-.js';
2
2
  //# sourceMappingURL=text-input.js.map
@@ -0,0 +1,20 @@
1
+ import { on } from '@ember/modifier';
2
+ import { p as pick } from './helpers-D4So5-uK.js';
3
+ import { p as pickAsNumber } from './-input-DGR-n9U_.js';
4
+ import { I as InputBuilder } from './input-builder-DpIzsgxI.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 CurrencyInput = setComponentTemplate(precompileTemplate("<InputBuilder @disabled={{@disabled}} @spacing={{@spacing}} as |b|>\n <input class=\"input\" type=\"text\" inputmode=\"decimal\" value={{@value}} disabled={{@disabled}} data-test-input {{on \"input\" (pick \"target.value\" (pickAsNumber @update)) capture=true}} ...attributes />\n <b.Affix>\u20AC</b.Affix>\n</InputBuilder>", {
10
+ strictMode: true,
11
+ scope: () => ({
12
+ InputBuilder,
13
+ on,
14
+ pick,
15
+ pickAsNumber
16
+ })
17
+ }), templateOnly());
18
+
19
+ export { CurrencyInput as C };
20
+ //# sourceMappingURL=currency-input-BXZynbgP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency-input-BqNb3IcU.js","sources":["../src/components/controls/currency-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\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}} @spacing={{@spacing}} as |b|>\n <input\n class=\"input\"\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","on","pick","pickAsNumber","templateOnly"],"mappings":";;;;;;;;MAcaA,aAAmB,GAAAC,oBAAA,CAA0BC,kBAAA,CAAA,mVAAA,EAc1D;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;IAAAC,EAAA;IAAAC,IAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"currency-input-BXZynbgP.js","sources":["../src/components/controls/currency-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\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}} @spacing={{@spacing}} as |b|>\n <input\n class=\"input\"\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","on","pick","pickAsNumber","templateOnly"],"mappings":";;;;;;;;MAcaA,aAAmB,GAAAC,oBAAA,CAA0BC,kBAAA,CAAA,uUAAA,EAc1D;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;IAAAC,EAAA;IAAAC,IAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -0,0 +1,16 @@
1
+ import { precompileTemplate } from '@ember/template-compilation';
2
+ import { setComponentTemplate } from '@ember/component';
3
+ import templateOnly from '@ember/component/template-only';
4
+
5
+ function get(haystack, key) {
6
+ return key in haystack ? haystack[key] : '';
7
+ }
8
+ const DataTable = setComponentTemplate(precompileTemplate("<table class=\"data-table\" data-test-data-table>\n <thead>\n <tr>\n {{#each @header as |header|}}\n <th>{{header.content}}</th>\n {{/each}}\n </tr>\n </thead>\n <tbody>\n {{#each @rows as |row|}}\n <tr>\n {{#each @header as |header|}}\n <td>\n {{#let (get row header.name) as |c|}}\n {{c}}\n {{/let}}\n </td>\n {{/each}}\n </tr>\n {{/each}}\n </tbody>\n\n {{#if (has-block \"pagination\")}}\n <tfoot>\n <tr>\n <td colspan=\"100%\" data-pagination>\n {{yield to=\"pagination\"}}\n </td>\n </tr>\n </tfoot>\n {{/if}}\n</table>", {
9
+ strictMode: true,
10
+ scope: () => ({
11
+ get
12
+ })
13
+ }), templateOnly());
14
+
15
+ export { DataTable as D };
16
+ //# sourceMappingURL=data-table-DgPcWpgQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-table-ZliVM1td.js","sources":["../src/components/data/data-table.gts"],"sourcesContent":["import type { TOC } from '@ember/component/template-only';\nimport type { ComponentLike, ContentValue } from '@glint/template';\n\ninterface DataTableHeader {\n name: string;\n content: ContentValue;\n}\n\ninterface DataTableSignature {\n Element: HTMLTableElement;\n Args: {\n header: DataTableHeader[];\n rows: Record<string, ContentValue | ComponentLike>[];\n };\n Blocks: {\n default: [];\n };\n}\n\nfunction get(haystack: Record<string, ContentValue | ComponentLike>, key: string): ContentValue {\n return key in haystack ? (haystack[key] as ContentValue) : '';\n}\n\nexport const DataTable: TOC<DataTableSignature> = <template>\n <table class=\"data-table\" data-test-data-table>\n <thead>\n <tr>\n {{#each @header as |header|}}\n <th>{{header.content}}</th>\n {{/each}}\n </tr>\n </thead>\n <tbody>\n {{#each @rows as |row|}}\n <tr>\n {{#each @header as |header|}}\n <td>\n {{#let (get row header.name) as |c|}}\n {{c}}\n {{/let}}\n </td>\n {{/each}}\n </tr>\n {{/each}}\n </tbody>\n\n {{#if (has-block \"pagination\")}}\n <tfoot>\n <tr>\n <td colspan=\"100%\" data-pagination>\n {{yield to=\"pagination\"}}\n </td>\n </tr>\n </tfoot>\n {{/if}}\n </table>\n</template>;\n"],"names":["get","haystack","key","DataTable","setComponentTemplate","precompileTemplate","strictMode","scope","templateOnly"],"mappings":";;;;AAmBA,SAASA,GAAAA,CAAIC,QAAsD,EAAEC,GAAW,EAAG;EACjF,OAAOA,GAAA,IAAOD,WAAYA,QAAQ,CAACC,GAAA,CAAI,GAAoB,EAAA;AAC7D;MAEaC,SAAe,GAAAC,oBAAA,CAAsBC,kBAAA,CAAA,wuBAAA,EAiClD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAP,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAQ,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"data-table-DgPcWpgQ.js","sources":["../src/components/data/data-table.gts"],"sourcesContent":["import type { TOC } from '@ember/component/template-only';\nimport type { ComponentLike, ContentValue } from '@glint/template';\n\ninterface DataTableHeader {\n name: string;\n content: ContentValue;\n}\n\ninterface DataTableSignature {\n Element: HTMLTableElement;\n Args: {\n header: DataTableHeader[];\n rows: Record<string, ContentValue | ComponentLike>[];\n };\n Blocks: {\n default: [];\n };\n}\n\nfunction get(haystack: Record<string, ContentValue | ComponentLike>, key: string): ContentValue {\n return key in haystack ? (haystack[key] as ContentValue) : '';\n}\n\nexport const DataTable: TOC<DataTableSignature> = <template>\n <table class=\"data-table\" data-test-data-table>\n <thead>\n <tr>\n {{#each @header as |header|}}\n <th>{{header.content}}</th>\n {{/each}}\n </tr>\n </thead>\n <tbody>\n {{#each @rows as |row|}}\n <tr>\n {{#each @header as |header|}}\n <td>\n {{#let (get row header.name) as |c|}}\n {{c}}\n {{/let}}\n </td>\n {{/each}}\n </tr>\n {{/each}}\n </tbody>\n\n {{#if (has-block \"pagination\")}}\n <tfoot>\n <tr>\n <td colspan=\"100%\" data-pagination>\n {{yield to=\"pagination\"}}\n </td>\n </tr>\n </tfoot>\n {{/if}}\n </table>\n</template>;\n"],"names":["get","haystack","key","DataTable","setComponentTemplate","precompileTemplate","strictMode","scope","templateOnly"],"mappings":";;;;AAmBA,SAASA,GAAAA,CAAIC,QAAsD,EAAEC,GAAW,EAAG;EACjF,OAAOA,GAAA,IAAOD,WAAYA,QAAQ,CAACC,GAAA,CAAI,GAAoB,EAAA;AAC7D;MAEaC,SAAe,GAAAC,oBAAA,CAAsBC,kBAAA,CAAA,sqBAAA,EAiClD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAP,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAQ,YAAA,EAAA;;;;"}
@@ -4,7 +4,7 @@ import { precompileTemplate } from '@ember/template-compilation';
4
4
  import { setComponentTemplate } from '@ember/component';
5
5
  import templateOnly from '@ember/component/template-only';
6
6
 
7
- const DateInput = setComponentTemplate(precompileTemplate("\n <input class=\"input\" type=\"date\" value={{@value}} disabled={{@disabled}} data-spacing={{@spacing}} data-test-input {{on \"input\" (pick \"target.value\" @update) capture=true}} ...attributes />\n", {
7
+ const DateInput = setComponentTemplate(precompileTemplate("<input class=\"input\" type=\"date\" value={{@value}} disabled={{@disabled}} data-spacing={{@spacing}} data-test-input {{on \"input\" (pick \"target.value\" @update) capture=true}} ...attributes />", {
8
8
  strictMode: true,
9
9
  scope: () => ({
10
10
  on,
@@ -13,4 +13,4 @@ const DateInput = setComponentTemplate(precompileTemplate("\n <input class=\"in
13
13
  }), templateOnly());
14
14
 
15
15
  export { DateInput as D };
16
- //# sourceMappingURL=date-input-DxDpVu3A.js.map
16
+ //# sourceMappingURL=date-input-Do_gdYif.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-input-DxDpVu3A.js","sources":["../src/components/controls/date-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\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 DateInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\n\nexport const DateInput: TOC<DateInputSignature> = <template>\n <input\n class=\"input\"\n type=\"date\"\n value={{@value}}\n disabled={{@disabled}}\n data-spacing={{@spacing}}\n data-test-input\n {{on \"input\" (pick \"target.value\" @update) capture=true}}\n ...attributes\n />\n</template>;\n"],"names":["DateInput","setComponentTemplate","precompileTemplate","strictMode","scope","on","pick","templateOnly"],"mappings":";;;;;;MAYaA,SAAe,GAAAC,oBAAA,CAAsBC,kBAAA,CAAA,6MAAA,EAWlD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"date-input-Do_gdYif.js","sources":["../src/components/controls/date-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\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 DateInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\n\nexport const DateInput: TOC<DateInputSignature> = <template>\n <input\n class=\"input\"\n type=\"date\"\n value={{@value}}\n disabled={{@disabled}}\n data-spacing={{@spacing}}\n data-test-input\n {{on \"input\" (pick \"target.value\" @update) capture=true}}\n ...attributes\n />\n</template>;\n"],"names":["DateInput","setComponentTemplate","precompileTemplate","strictMode","scope","on","pick","templateOnly"],"mappings":";;;;;;MAYaA,SAAe,GAAAC,oBAAA,CAAsBC,kBAAA,CAAA,uMAAA,EAWlD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -4,7 +4,7 @@ import { precompileTemplate } from '@ember/template-compilation';
4
4
  import { setComponentTemplate } from '@ember/component';
5
5
  import templateOnly from '@ember/component/template-only';
6
6
 
7
- const EmailInput = setComponentTemplate(precompileTemplate("\n <input class=\"input\" type=\"email\" value={{@value}} disabled={{@disabled}} data-spacing={{@spacing}} data-test-input {{on \"input\" (pick \"target.value\" @update) capture=true}} ...attributes />\n", {
7
+ const EmailInput = setComponentTemplate(precompileTemplate("<input class=\"input\" type=\"email\" value={{@value}} disabled={{@disabled}} data-spacing={{@spacing}} data-test-input {{on \"input\" (pick \"target.value\" @update) capture=true}} ...attributes />", {
8
8
  strictMode: true,
9
9
  scope: () => ({
10
10
  on,
@@ -13,4 +13,4 @@ const EmailInput = setComponentTemplate(precompileTemplate("\n <input class=\"i
13
13
  }), templateOnly());
14
14
 
15
15
  export { EmailInput as E };
16
- //# sourceMappingURL=email-input-84impWbH.js.map
16
+ //# sourceMappingURL=email-input-C3DQI5CS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-input-84impWbH.js","sources":["../src/components/controls/email-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\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 EmailInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\n\nexport const EmailInput: TOC<EmailInputSignature> = <template>\n <input\n class=\"input\"\n type=\"email\"\n value={{@value}}\n disabled={{@disabled}}\n data-spacing={{@spacing}}\n data-test-input\n {{on \"input\" (pick \"target.value\" @update) capture=true}}\n ...attributes\n />\n</template>;\n"],"names":["EmailInput","setComponentTemplate","precompileTemplate","strictMode","scope","on","pick","templateOnly"],"mappings":";;;;;;MAYaA,UAAgB,GAAAC,oBAAA,CAAuBC,kBAAA,CAAA,8MAAA,EAWpD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"email-input-C3DQI5CS.js","sources":["../src/components/controls/email-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\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 EmailInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\n\nexport const EmailInput: TOC<EmailInputSignature> = <template>\n <input\n class=\"input\"\n type=\"email\"\n value={{@value}}\n disabled={{@disabled}}\n data-spacing={{@spacing}}\n data-test-input\n {{on \"input\" (pick \"target.value\" @update) capture=true}}\n ...attributes\n />\n</template>;\n"],"names":["EmailInput","setComponentTemplate","precompileTemplate","strictMode","scope","on","pick","templateOnly"],"mappings":";;;;;;MAYaA,UAAgB,GAAAC,oBAAA,CAAuBC,kBAAA,CAAA,wMAAA,EAWpD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -0,0 +1,19 @@
1
+ import { element } from 'ember-element-helper';
2
+ import { o as or } from './helpers-D4So5-uK.js';
3
+ import { P as PageDestructor, a as PageElement } from './pages-DgHJEvSy.js';
4
+ import { precompileTemplate } from '@ember/template-compilation';
5
+ import { setComponentTemplate } from '@ember/component';
6
+ import templateOnly from '@ember/component/template-only';
7
+
8
+ const FocusPage = setComponentTemplate(precompileTemplate("{{#let (if @element @element (element (pageElement))) as |Element|}}\n <Element class=\"focus-page\" {{pageDestructor}} ...attributes data-test-page>\n {{#if (or @title @description (has-block \"title\") (has-block \"description\") (has-block \"nav\"))}}\n <header class=\"page-content\">\n <h1 class=\"typography-display\">\n {{#if (has-block \"title\")}}\n {{yield to=\"title\"}}\n {{else if @title}}\n {{@title}}\n {{/if}}\n </h1>\n\n {{#if (or (has-block \"description\") @description)}}\n <p>\n {{#if (has-block \"description\")}}\n {{yield to=\"description\"}}\n {{else if @description}}\n {{@description}}\n {{/if}}\n </p>\n {{/if}}\n </header>\n {{/if}}\n\n <div class=\"page-content flow\" part=\"content\">\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else if (has-block)}}\n {{yield}}\n {{/if}}\n </div>\n </Element>\n{{/let}}", {
9
+ strictMode: true,
10
+ scope: () => ({
11
+ element,
12
+ pageElement: PageElement,
13
+ pageDestructor: PageDestructor,
14
+ or
15
+ })
16
+ }), templateOnly());
17
+
18
+ export { FocusPage as F };
19
+ //# sourceMappingURL=focus-page-De0KXI-m.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"focus-page-Boq96jK3.js","sources":["../src/components/layouts/focus-page.gts"],"sourcesContent":["import { element } from 'ember-element-helper';\n\nimport { or } from '../../-private/helpers.ts';\nimport { pageDestructor, pageElement } from './pages.ts';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { ComponentLike } from '@glint/template';\n\ninterface FocusPageSignature {\n Element: HTMLElement;\n Args: {\n title?: string;\n description?: string;\n element?: ComponentLike<{ Element: HTMLElement; Blocks: { default: [] } }>;\n };\n Blocks: {\n title?: [];\n description?: [];\n content?: [];\n default?: [];\n };\n}\n\nexport const FocusPage: TOC<FocusPageSignature> = <template>\n {{#let (if @element @element (element (pageElement))) as |Element|}}\n <Element class=\"focus-page\" {{pageDestructor}} ...attributes data-test-page>\n {{#if\n (or @title @description (has-block \"title\") (has-block \"description\") (has-block \"nav\"))\n }}\n <header class=\"page-content\">\n <h1 class=\"typography-display\">\n {{#if (has-block \"title\")}}\n {{yield to=\"title\"}}\n {{else if @title}}\n {{@title}}\n {{/if}}\n </h1>\n\n {{#if (or (has-block \"description\") @description)}}\n <p>\n {{#if (has-block \"description\")}}\n {{yield to=\"description\"}}\n {{else if @description}}\n {{@description}}\n {{/if}}\n </p>\n {{/if}}\n </header>\n {{/if}}\n\n <div class=\"page-content flow\" part=\"content\">\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else if (has-block)}}\n {{yield}}\n {{/if}}\n </div>\n </Element>\n {{/let}}\n</template>;\n"],"names":["FocusPage","setComponentTemplate","precompileTemplate","strictMode","scope","element","pageElement","pageDestructor","or","templateOnly"],"mappings":";;;;;;;MAuBaA,SAAe,GAAAC,oBAAA,CAAsBC,kBAAA,CAAA,4mCAAA,EAoClD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,OAAA;iBAAAC,WAAA;oBAAAC,cAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"focus-page-De0KXI-m.js","sources":["../src/components/layouts/focus-page.gts"],"sourcesContent":["import { element } from 'ember-element-helper';\n\nimport { or } from '../../-private/helpers.ts';\nimport { pageDestructor, pageElement } from './pages.ts';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { ComponentLike } from '@glint/template';\n\ninterface FocusPageSignature {\n Element: HTMLElement;\n Args: {\n title?: string;\n description?: string;\n element?: ComponentLike<{ Element: HTMLElement; Blocks: { default: [] } }>;\n };\n Blocks: {\n title?: [];\n description?: [];\n content?: [];\n default?: [];\n };\n}\n\nexport const FocusPage: TOC<FocusPageSignature> = <template>\n {{#let (if @element @element (element (pageElement))) as |Element|}}\n <Element class=\"focus-page\" {{pageDestructor}} ...attributes data-test-page>\n {{#if\n (or @title @description (has-block \"title\") (has-block \"description\") (has-block \"nav\"))\n }}\n <header class=\"page-content\">\n <h1 class=\"typography-display\">\n {{#if (has-block \"title\")}}\n {{yield to=\"title\"}}\n {{else if @title}}\n {{@title}}\n {{/if}}\n </h1>\n\n {{#if (or (has-block \"description\") @description)}}\n <p>\n {{#if (has-block \"description\")}}\n {{yield to=\"description\"}}\n {{else if @description}}\n {{@description}}\n {{/if}}\n </p>\n {{/if}}\n </header>\n {{/if}}\n\n <div class=\"page-content flow\" part=\"content\">\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else if (has-block)}}\n {{yield}}\n {{/if}}\n </div>\n </Element>\n {{/let}}\n</template>;\n"],"names":["FocusPage","setComponentTemplate","precompileTemplate","strictMode","scope","element","pageElement","pageDestructor","or","templateOnly"],"mappings":";;;;;;;MAuBaA,SAAe,GAAAC,oBAAA,CAAsBC,kBAAA,CAAA,0iCAAA,EAoClD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,OAAA;iBAAAC,WAAA;oBAAAC,cAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}