@hokulea/ember 0.6.2 → 0.7.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 (252) hide show
  1. package/README.md +178 -17
  2. package/addon-main.cjs +5 -0
  3. package/declarations/-private/form/components/{description.d.ts → description.gts.d.ts} +1 -1
  4. package/declarations/-private/form/components/description.gts.d.ts.map +1 -0
  5. package/declarations/-private/form/components/{errors.d.ts → errors.gts.d.ts} +2 -2
  6. package/declarations/-private/form/components/errors.gts.d.ts.map +1 -0
  7. package/declarations/-private/form/components/{field.d.ts → field.gts.d.ts} +22 -16
  8. package/declarations/-private/form/components/field.gts.d.ts.map +1 -0
  9. package/declarations/-private/form/components/fields/{checkbox.d.ts → checkbox.gts.d.ts} +2 -2
  10. package/declarations/-private/form/components/fields/checkbox.gts.d.ts.map +1 -0
  11. package/declarations/-private/form/components/fields/{currency.d.ts → currency.gts.d.ts} +2 -2
  12. package/declarations/-private/form/components/fields/currency.gts.d.ts.map +1 -0
  13. package/declarations/-private/form/components/fields/{date.d.ts → date.gts.d.ts} +2 -2
  14. package/declarations/-private/form/components/fields/date.gts.d.ts.map +1 -0
  15. package/declarations/-private/form/components/fields/{email.d.ts → email.gts.d.ts} +2 -2
  16. package/declarations/-private/form/components/fields/email.gts.d.ts.map +1 -0
  17. package/declarations/-private/form/components/fields/{list.d.ts → list.gts.d.ts} +3 -3
  18. package/declarations/-private/form/components/fields/list.gts.d.ts.map +1 -0
  19. package/declarations/-private/form/components/fields/{multiple-choice.d.ts → multiple-choice.gts.d.ts} +2 -2
  20. package/declarations/-private/form/components/fields/multiple-choice.gts.d.ts.map +1 -0
  21. package/declarations/-private/form/components/fields/{number.d.ts → number.gts.d.ts} +2 -2
  22. package/declarations/-private/form/components/fields/number.gts.d.ts.map +1 -0
  23. package/declarations/-private/form/components/fields/{password.d.ts → password.gts.d.ts} +2 -2
  24. package/declarations/-private/form/components/fields/password.gts.d.ts.map +1 -0
  25. package/declarations/-private/form/components/fields/{phone.d.ts → phone.gts.d.ts} +2 -2
  26. package/declarations/-private/form/components/fields/phone.gts.d.ts.map +1 -0
  27. package/declarations/-private/form/components/fields/{range.d.ts → range.gts.d.ts} +2 -2
  28. package/declarations/-private/form/components/fields/range.gts.d.ts.map +1 -0
  29. package/declarations/-private/form/components/fields/{select.d.ts → select.gts.d.ts} +2 -2
  30. package/declarations/-private/form/components/fields/select.gts.d.ts.map +1 -0
  31. package/declarations/-private/form/components/fields/{singular-choice.d.ts → singular-choice.gts.d.ts} +2 -2
  32. package/declarations/-private/form/components/fields/singular-choice.gts.d.ts.map +1 -0
  33. package/declarations/-private/form/components/fields/{text-area.d.ts → text-area.gts.d.ts} +2 -2
  34. package/declarations/-private/form/components/fields/text-area.gts.d.ts.map +1 -0
  35. package/declarations/-private/form/components/fields/{text.d.ts → text.gts.d.ts} +2 -2
  36. package/declarations/-private/form/components/fields/text.gts.d.ts.map +1 -0
  37. package/declarations/-private/form/components/{label.d.ts → label.gts.d.ts} +1 -1
  38. package/declarations/-private/form/components/label.gts.d.ts.map +1 -0
  39. package/declarations/-private/form/components/{reset.d.ts → reset.gts.d.ts} +1 -1
  40. package/declarations/-private/form/components/reset.gts.d.ts.map +1 -0
  41. package/declarations/-private/form/components/{submit.d.ts → submit.gts.d.ts} +1 -1
  42. package/declarations/-private/form/components/submit.gts.d.ts.map +1 -0
  43. package/declarations/-private/form/modifiers/capture-events.d.ts.map +1 -1
  44. package/declarations/-private/form/modifiers/manage-validation.d.ts +8 -5
  45. package/declarations/-private/form/modifiers/manage-validation.d.ts.map +1 -1
  46. package/declarations/-private/helpers.d.ts.map +1 -1
  47. package/declarations/-private/stories.d.ts +2 -0
  48. package/declarations/-private/stories.d.ts.map +1 -0
  49. package/declarations/components/-stories.d.ts +3 -0
  50. package/declarations/components/-stories.d.ts.map +1 -0
  51. package/declarations/components/{app-header.d.ts → app-header.gts.d.ts} +1 -2
  52. package/declarations/components/app-header.gts.d.ts.map +1 -0
  53. package/declarations/components/{box.d.ts → box.gts.d.ts} +1 -1
  54. package/declarations/components/box.gts.d.ts.map +1 -0
  55. package/declarations/components/{button.d.ts → button.gts.d.ts} +1 -1
  56. package/declarations/components/button.gts.d.ts.map +1 -0
  57. package/declarations/components/{card.d.ts → card.gts.d.ts} +1 -1
  58. package/declarations/components/card.gts.d.ts.map +1 -0
  59. package/declarations/components/{checkbox.d.ts → checkbox.gts.d.ts} +2 -2
  60. package/declarations/components/checkbox.gts.d.ts.map +1 -0
  61. package/declarations/components/{currency-input.d.ts → currency-input.gts.d.ts} +2 -2
  62. package/declarations/components/currency-input.gts.d.ts.map +1 -0
  63. package/declarations/components/{date-input.d.ts → date-input.gts.d.ts} +2 -2
  64. package/declarations/components/date-input.gts.d.ts.map +1 -0
  65. package/declarations/components/{email-input.d.ts → email-input.gts.d.ts} +2 -2
  66. package/declarations/components/email-input.gts.d.ts.map +1 -0
  67. package/declarations/components/{form.d.ts → form.gts.d.ts} +27 -31
  68. package/declarations/components/form.gts.d.ts.map +1 -0
  69. package/declarations/components/{icon-button.d.ts → icon-button.gts.d.ts} +4 -5
  70. package/declarations/components/icon-button.gts.d.ts.map +1 -0
  71. package/declarations/components/icon.gts.d.ts +14 -0
  72. package/declarations/components/icon.gts.d.ts.map +1 -0
  73. package/declarations/components/{input-builder.d.ts → input-builder.gts.d.ts} +1 -1
  74. package/declarations/components/input-builder.gts.d.ts.map +1 -0
  75. package/declarations/components/{list.d.ts → list.gts.d.ts} +1 -1
  76. package/declarations/components/list.gts.d.ts.map +1 -0
  77. package/declarations/components/{menu.d.ts → menu.gts.d.ts} +3 -4
  78. package/declarations/components/menu.gts.d.ts.map +1 -0
  79. package/declarations/components/{number-input.d.ts → number-input.gts.d.ts} +2 -2
  80. package/declarations/components/number-input.gts.d.ts.map +1 -0
  81. package/declarations/components/{page.d.ts → page.gts.d.ts} +6 -2
  82. package/declarations/components/page.gts.d.ts.map +1 -0
  83. package/declarations/components/{password-input.d.ts → password-input.gts.d.ts} +2 -2
  84. package/declarations/components/password-input.gts.d.ts.map +1 -0
  85. package/declarations/components/{phone-input.d.ts → phone-input.gts.d.ts} +2 -2
  86. package/declarations/components/phone-input.gts.d.ts.map +1 -0
  87. package/declarations/components/{popover.d.ts → popover.gts.d.ts} +1 -1
  88. package/declarations/components/popover.gts.d.ts.map +1 -0
  89. package/declarations/components/{radio.d.ts → radio.gts.d.ts} +2 -2
  90. package/declarations/components/radio.gts.d.ts.map +1 -0
  91. package/declarations/components/{range-input.d.ts → range-input.gts.d.ts} +2 -2
  92. package/declarations/components/range-input.gts.d.ts.map +1 -0
  93. package/declarations/components/{section.d.ts → section.gts.d.ts} +1 -1
  94. package/declarations/components/section.gts.d.ts.map +1 -0
  95. package/declarations/components/{select.d.ts → select.gts.d.ts} +1 -1
  96. package/declarations/components/select.gts.d.ts.map +1 -0
  97. package/declarations/components/{tabs.d.ts → tabs.gts.d.ts} +6 -5
  98. package/declarations/components/tabs.gts.d.ts.map +1 -0
  99. package/declarations/components/{text-area.d.ts → text-area.gts.d.ts} +2 -2
  100. package/declarations/components/text-area.gts.d.ts.map +1 -0
  101. package/declarations/components/{text-input.d.ts → text-input.gts.d.ts} +2 -2
  102. package/declarations/components/text-input.gts.d.ts.map +1 -0
  103. package/declarations/index.d.ts +11 -11
  104. package/declarations/index.d.ts.map +1 -1
  105. package/declarations/services/-hokulea.d.ts +5 -0
  106. package/declarations/services/-hokulea.d.ts.map +1 -0
  107. package/declarations/template-registry.d.ts +1 -1
  108. package/declarations/template-registry.d.ts.map +1 -1
  109. package/declarations/test-support/index.d.ts +18 -18
  110. package/declarations/test-support/index.d.ts.map +1 -1
  111. package/declarations/test-support/page-objects/-private/choices.d.ts +1 -2
  112. package/declarations/test-support/page-objects/-private/choices.d.ts.map +1 -1
  113. package/declarations/test-support/page-objects/-private/field.d.ts +11 -33
  114. package/declarations/test-support/page-objects/-private/field.d.ts.map +1 -1
  115. package/declarations/test-support/page-objects/app-header.d.ts +3 -3
  116. package/declarations/test-support/page-objects/app-header.d.ts.map +1 -1
  117. package/declarations/test-support/page-objects/choice.d.ts +1 -1
  118. package/declarations/test-support/page-objects/choice.d.ts.map +1 -1
  119. package/declarations/test-support/page-objects/form.d.ts +4 -2
  120. package/declarations/test-support/page-objects/form.d.ts.map +1 -1
  121. package/declarations/test-support/page-objects/icon-button.d.ts +1 -1
  122. package/declarations/test-support/page-objects/icon-button.d.ts.map +1 -1
  123. package/declarations/test-support/page-objects/icon.d.ts +1 -2
  124. package/declarations/test-support/page-objects/icon.d.ts.map +1 -1
  125. package/declarations/test-support/page-objects/input-builder.d.ts +2 -2
  126. package/declarations/test-support/page-objects/input-builder.d.ts.map +1 -1
  127. package/declarations/test-support/page-objects/menu.d.ts +1 -1
  128. package/declarations/test-support/page-objects/menu.d.ts.map +1 -1
  129. package/declarations/test-support/page-objects/tabs.d.ts.map +1 -1
  130. package/declarations/test-support/page-objects/text-area.d.ts +1 -1
  131. package/declarations/test-support/page-objects/text-area.d.ts.map +1 -1
  132. package/dist/{-button-CJL1yb2d.js → -button-KUaJCQaB.js} +2 -2
  133. package/dist/-button-KUaJCQaB.js.map +1 -0
  134. package/dist/-input-DGR-n9U_.js.map +1 -1
  135. package/dist/_app_/services/-hokulea.js +1 -0
  136. package/dist/components/app-header.js +35 -40
  137. package/dist/components/app-header.js.map +1 -1
  138. package/dist/components/box.js +3 -3
  139. package/dist/components/box.js.map +1 -1
  140. package/dist/components/button.js +4 -4
  141. package/dist/components/button.js.map +1 -1
  142. package/dist/components/card.js +3 -3
  143. package/dist/components/card.js.map +1 -1
  144. package/dist/components/checkbox.js +3 -3
  145. package/dist/components/checkbox.js.map +1 -1
  146. package/dist/components/currency-input.js +3 -3
  147. package/dist/components/currency-input.js.map +1 -1
  148. package/dist/components/date-input.js +3 -3
  149. package/dist/components/date-input.js.map +1 -1
  150. package/dist/components/email-input.js +3 -3
  151. package/dist/components/email-input.js.map +1 -1
  152. package/dist/components/form.js +287 -295
  153. package/dist/components/form.js.map +1 -1
  154. package/dist/components/icon-button.js +8 -6
  155. package/dist/components/icon-button.js.map +1 -1
  156. package/dist/components/icon.js +9 -34
  157. package/dist/components/icon.js.map +1 -1
  158. package/dist/components/input-builder.js +2 -2
  159. package/dist/components/input-builder.js.map +1 -1
  160. package/dist/components/list.js +17 -17
  161. package/dist/components/list.js.map +1 -1
  162. package/dist/components/menu.js +18 -23
  163. package/dist/components/menu.js.map +1 -1
  164. package/dist/components/number-input.js +3 -3
  165. package/dist/components/number-input.js.map +1 -1
  166. package/dist/components/page.js +33 -35
  167. package/dist/components/page.js.map +1 -1
  168. package/dist/components/password-input.js +3 -3
  169. package/dist/components/password-input.js.map +1 -1
  170. package/dist/components/phone-input.js +3 -3
  171. package/dist/components/phone-input.js.map +1 -1
  172. package/dist/components/popover.js +2 -2
  173. package/dist/components/popover.js.map +1 -1
  174. package/dist/components/radio.js +3 -3
  175. package/dist/components/radio.js.map +1 -1
  176. package/dist/components/range-input.js +15 -15
  177. package/dist/components/range-input.js.map +1 -1
  178. package/dist/components/section.js +10 -10
  179. package/dist/components/section.js.map +1 -1
  180. package/dist/components/select.js +10 -10
  181. package/dist/components/select.js.map +1 -1
  182. package/dist/components/tabs.js +28 -27
  183. package/dist/components/tabs.js.map +1 -1
  184. package/dist/components/text-area.js +3 -3
  185. package/dist/components/text-area.js.map +1 -1
  186. package/dist/components/text-input.js +3 -3
  187. package/dist/components/text-input.js.map +1 -1
  188. package/dist/disabled-B_FQ0Z51.js.map +1 -1
  189. package/dist/helpers/popover.js +3 -3
  190. package/dist/helpers/popover.js.map +1 -1
  191. package/dist/{helpers-DApiJrHl.js → helpers-DS9du02l.js} +4 -2
  192. package/dist/helpers-DS9du02l.js.map +1 -0
  193. package/dist/index.js +9 -9
  194. package/dist/services/-hokulea.js +15 -0
  195. package/dist/services/-hokulea.js.map +1 -0
  196. package/dist/test-support/index.js +12 -14
  197. package/dist/test-support/index.js.map +1 -1
  198. package/package.json +93 -84
  199. package/addon-main.js +0 -49
  200. package/declarations/-private/form/components/description.d.ts.map +0 -1
  201. package/declarations/-private/form/components/errors.d.ts.map +0 -1
  202. package/declarations/-private/form/components/field.d.ts.map +0 -1
  203. package/declarations/-private/form/components/fields/checkbox.d.ts.map +0 -1
  204. package/declarations/-private/form/components/fields/currency.d.ts.map +0 -1
  205. package/declarations/-private/form/components/fields/date.d.ts.map +0 -1
  206. package/declarations/-private/form/components/fields/email.d.ts.map +0 -1
  207. package/declarations/-private/form/components/fields/list.d.ts.map +0 -1
  208. package/declarations/-private/form/components/fields/multiple-choice.d.ts.map +0 -1
  209. package/declarations/-private/form/components/fields/number.d.ts.map +0 -1
  210. package/declarations/-private/form/components/fields/password.d.ts.map +0 -1
  211. package/declarations/-private/form/components/fields/phone.d.ts.map +0 -1
  212. package/declarations/-private/form/components/fields/range.d.ts.map +0 -1
  213. package/declarations/-private/form/components/fields/select.d.ts.map +0 -1
  214. package/declarations/-private/form/components/fields/singular-choice.d.ts.map +0 -1
  215. package/declarations/-private/form/components/fields/text-area.d.ts.map +0 -1
  216. package/declarations/-private/form/components/fields/text.d.ts.map +0 -1
  217. package/declarations/-private/form/components/label.d.ts.map +0 -1
  218. package/declarations/-private/form/components/reset.d.ts.map +0 -1
  219. package/declarations/-private/form/components/submit.d.ts.map +0 -1
  220. package/declarations/components/app-header.d.ts.map +0 -1
  221. package/declarations/components/box.d.ts.map +0 -1
  222. package/declarations/components/button.d.ts.map +0 -1
  223. package/declarations/components/card.d.ts.map +0 -1
  224. package/declarations/components/checkbox.d.ts.map +0 -1
  225. package/declarations/components/currency-input.d.ts.map +0 -1
  226. package/declarations/components/date-input.d.ts.map +0 -1
  227. package/declarations/components/email-input.d.ts.map +0 -1
  228. package/declarations/components/form.d.ts.map +0 -1
  229. package/declarations/components/icon-button.d.ts.map +0 -1
  230. package/declarations/components/icon.d.ts +0 -13698
  231. package/declarations/components/icon.d.ts.map +0 -1
  232. package/declarations/components/input-builder.d.ts.map +0 -1
  233. package/declarations/components/list.d.ts.map +0 -1
  234. package/declarations/components/menu.d.ts.map +0 -1
  235. package/declarations/components/number-input.d.ts.map +0 -1
  236. package/declarations/components/page.d.ts.map +0 -1
  237. package/declarations/components/password-input.d.ts.map +0 -1
  238. package/declarations/components/phone-input.d.ts.map +0 -1
  239. package/declarations/components/popover.d.ts.map +0 -1
  240. package/declarations/components/radio.d.ts.map +0 -1
  241. package/declarations/components/range-input.d.ts.map +0 -1
  242. package/declarations/components/section.d.ts.map +0 -1
  243. package/declarations/components/select.d.ts.map +0 -1
  244. package/declarations/components/tabs.d.ts.map +0 -1
  245. package/declarations/components/text-area.d.ts.map +0 -1
  246. package/declarations/components/text-input.d.ts.map +0 -1
  247. package/dist/-button-CJL1yb2d.js.map +0 -1
  248. package/dist/helpers-DApiJrHl.js.map +0 -1
  249. package/lib/config.js +0 -10
  250. package/lib/css-modules-plugin.js +0 -43
  251. package/lib/index.js +0 -30
  252. package/lib/webpack-asset-loader-plugin.js +0 -23
@@ -6,49 +6,48 @@ import { CommandElement } from 'ember-command';
6
6
  import { timeout } from 'ember-concurrency';
7
7
  import { Link } from 'ember-link';
8
8
  import { modifier } from 'ember-modifier';
9
- import { provide } from 'ember-provide-consume-context';
10
9
  import styles from '@hokulea/core/navigation.module.css';
11
- import { a as and, o as or, n as not } from '../helpers-DApiJrHl.js';
10
+ import { a as and, n as not, o as or } from '../helpers-DS9du02l.js';
12
11
  import popover from '../helpers/popover.js';
13
12
  import IconButton from './icon-button.js';
14
13
  import Menu from './menu.js';
15
14
  import { precompileTemplate } from '@ember/template-compilation';
16
15
  import { setComponentTemplate } from '@ember/component';
17
16
  import templateOnly from '@ember/component/template-only';
18
- import { g, i, n } from 'decorator-transforms/runtime';
17
+ import { g, i } from 'decorator-transforms/runtime-esm';
19
18
 
20
- const asLink = value1 => {
21
- return value1;
19
+ const asLink = value => {
20
+ return value;
22
21
  };
23
- const isActive = commandable1 => {
24
- return commandable1 instanceof Link && commandable1.isActive;
22
+ const isActive = commandable => {
23
+ return commandable instanceof Link && commandable.isActive;
25
24
  };
26
25
  const NavLink = setComponentTemplate(precompileTemplate("\n {{#if @push}}\n <CommandElement @command={{@push}} aria-current=\"{{if (isActive @push) \"page\"}}\" part=\"item\">\n <span>{{yield}}</span>\n </CommandElement>\n {{else}}\n <span part=\"item\">{{yield}}</span>\n {{/if}}\n", {
26
+ strictMode: true,
27
27
  scope: () => ({
28
28
  CommandElement,
29
29
  isActive
30
- }),
31
- strictMode: true
30
+ })
32
31
  }), templateOnly());
33
32
  const NavItem = setComponentTemplate(precompileTemplate("\n {{#if (has-block)}}\n <NavLink @push={{asLink @push}}>{{yield}}</NavLink>\n {{else if (and (has-block \"menu\") (has-block \"label\"))}}\n {{#let (popover position=\"bottom-start\") 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", {
33
+ strictMode: true,
34
34
  scope: () => ({
35
35
  NavLink,
36
36
  asLink,
37
37
  and,
38
38
  popover,
39
39
  Menu
40
- }),
41
- strictMode: true
40
+ })
42
41
  }), templateOnly());
43
42
  const PopoverNavItem = setComponentTemplate(precompileTemplate("\n {{#if (has-block)}}\n <NavLink @push={{asLink @push}}>{{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", {
43
+ strictMode: true,
44
44
  scope: () => ({
45
45
  NavLink,
46
46
  asLink,
47
47
  and,
48
48
  hash,
49
49
  PopoverNavItem
50
- }),
51
- strictMode: true
50
+ })
52
51
  }), templateOnly());
53
52
  class AppHeader extends Component {
54
53
  static {
@@ -63,55 +62,52 @@ class AppHeader extends Component {
63
62
  });
64
63
  }
65
64
  #sensing = (i(this, "sensing"), void 0);
66
- get appHeader() {
67
- return true;
68
- }
69
- static {
70
- n(this.prototype, "appHeader", [provide('hokulea-app-header')]);
71
- }
72
65
  detectOverflow = buildTask(() => ({
73
66
  context: this,
74
- generator: function* (element1) {
67
+ generator: function* (element) {
75
68
  yield timeout(30);
76
69
  this.sensing = true;
77
70
  // wait till sensing is flushed to the browser and made elements visible
78
71
  yield timeout(0);
79
- const relevantChildren1 = [...element1.children].filter(elem1 => elem1.tagName.toLowerCase() === 'nav' || elem1.getAttribute('part') === 'aux');
80
- if (relevantChildren1.length === 0) {
72
+ const relevantChildren = [...element.children].filter(elem => elem.tagName.toLowerCase() === 'nav' || elem.getAttribute('part') === 'aux');
73
+ if (relevantChildren.length === 0) {
81
74
  this.sensing = false;
82
75
  return;
83
76
  }
84
- let headerWidth1 = [...element1.children].filter(elem1 => elem1.getAttribute('part') !== 'menu').map(e1 => Math.floor(e1.scrollWidth)).reduce((sum1, elemWidth1) => sum1 + elemWidth1, 0);
77
+ let headerWidth = [...element.children].filter(elem => elem.getAttribute('part') !== 'menu').map(e => Math.floor(e.scrollWidth)).reduce((sum, elemWidth) => sum + elemWidth, 0);
85
78
  // + padding
86
- headerWidth1 += Number.parseInt(getComputedStyle(element1).getPropertyValue('padding-inline'), 10) * 2;
79
+ headerWidth += Number.parseInt(getComputedStyle(element).getPropertyValue('padding-inline'), 10) * 2;
87
80
  // + gap
88
- headerWidth1 += Number.parseInt(getComputedStyle(element1).getPropertyValue('gap'), 10) * (element1.childElementCount - 1);
89
- this.topNavShown = element1.clientWidth >= headerWidth1;
81
+ headerWidth += Number.parseInt(getComputedStyle(element).getPropertyValue('gap'), 10) * (element.childElementCount - 1);
82
+ this.topNavShown = element.clientWidth >= headerWidth;
90
83
  this.sensing = false;
91
84
  }
92
85
  }), null, "detectOverflow", "keepLatest");
93
- flipflop = modifier(element1 => {
94
- const sensor1 = () => this.detectOverflow.perform(element1);
95
- sensor1();
96
- window.addEventListener('resize', sensor1);
86
+ flipflop = modifier(element => {
87
+ const sensor = () => this.detectOverflow.perform(element);
88
+ void sensor();
89
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
90
+ window.addEventListener('resize', sensor);
97
91
  return () => {
98
- window.removeEventListener('resize', sensor1);
92
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
93
+ window.removeEventListener('resize', sensor);
99
94
  };
100
95
  });
101
- closeWhenLink = modifier(element1 => {
102
- const checkForClose1 = event1 => {
103
- const hitALink1 = event1.composedPath().some(target1 => target1?.tagName && ['a', 'button'].includes(target1.tagName.toLowerCase()));
104
- if (hitALink1) {
105
- element1.hidePopover();
96
+ closeWhenLink = modifier(element => {
97
+ const checkForClose = event => {
98
+ const hitALink = event.composedPath().some(target => target?.tagName && ['a', 'button'].includes(target.tagName.toLowerCase()));
99
+ if (hitALink) {
100
+ element.hidePopover();
106
101
  }
107
102
  };
108
- element1.addEventListener('click', checkForClose1);
103
+ element.addEventListener('click', checkForClose);
109
104
  return () => {
110
- element1.removeEventListener('click', checkForClose1);
105
+ element.removeEventListener('click', checkForClose);
111
106
  };
112
107
  });
113
108
  static {
114
109
  setComponentTemplate(precompileTemplate("\n {{#let (uniqueId) as |brandId|}}\n <header class={{styles.appHeader}} data-test-app-header ...attributes>\n <div class={{styles.appHeaderContent}} data-sensing={{this.sensing}} {{this.flipflop}}>\n {{#if (has-block \"brand\")}}\n <CommandElement @command={{@home}} part=\"brand\" id={{brandId}}>\n {{yield to=\"brand\"}}\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 @importance=\"plain\" @icon={{if p.opened \"x\" \"list\"}} {{p.trigger}} data-test-toggle @label=\"toggle\" />\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=PopoverNavItem) to=\"aux\"}}\n </span>\n {{/if}}\n </div>\n </div>\n {{/let}}\n </span>\n {{/if}}\n </div>\n </header>\n {{/let}}\n ", {
110
+ strictMode: true,
115
111
  scope: () => ({
116
112
  uniqueId,
117
113
  styles,
@@ -123,8 +119,7 @@ class AppHeader extends Component {
123
119
  popover,
124
120
  IconButton,
125
121
  PopoverNavItem
126
- }),
127
- strictMode: true
122
+ })
128
123
  }), this);
129
124
  }
130
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.js","sources":["../../src/components/app-header.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { uniqueId } from '@ember/helper';\nimport { type CommandAction, CommandElement } from 'ember-command';\nimport { keepLatestTask, timeout } from 'ember-concurrency';\nimport { Link } from 'ember-link';\nimport { modifier } from 'ember-modifier';\nimport { provide } from 'ember-provide-consume-context';\nimport styles from '@hokulea/core/navigation.module.css';\nimport { and, not, or } from '../-private/helpers';\nimport popover from '../helpers/popover';\nimport IconButton from './icon-button';\nimport Menu from './menu';\nimport type { MenuItemArgs, MenuItemBlocks, MenuItemSignature } from './-menu';\nimport type { TOC } from '@ember/component/template-only';\nconst asLink = (value1: unknown): Link =>{\n return value1 as Link;\n};\nconst isActive = (commandable1: CommandAction)=>{\n return commandable1 instanceof Link && (commandable1 as Link).isActive;\n};\ninterface NavItemSignature extends MenuItemSignature {\n}\nconst NavLink: TOC<{\n Args: MenuItemArgs;\n Blocks: MenuItemBlocks;\n}> = template(`\n {{#if @push}}\n <CommandElement @command={{@push}} aria-current=\"{{if (isActive @push) 'page'}}\" part=\"item\">\n <span>{{yield}}</span>\n </CommandElement>\n {{else}}\n <span part=\"item\">{{yield}}</span>\n {{/if}}\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nconst NavItem: TOC<NavItemSignature> = template(`\n {{#if (has-block)}}\n <NavLink @push={{asLink @push}}>{{yield}}</NavLink>\n {{else if (and (has-block \"menu\") (has-block \"label\"))}}\n {{#let (popover position=\"bottom-start\") 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`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nconst PopoverNavItem: TOC<NavItemSignature> = template(`\n {{#if (has-block)}}\n <NavLink @push={{asLink @push}}>{{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`, {\n eval () {\n return eval(arguments[0]);\n }\n});\ninterface AppHeaderSignature {\n Element: HTMLElement;\n Args: {\n /**\n * Position of the navbar\n *\n * @default start\n */ position?: 'start' | 'center' | 'end';\n home?: CommandAction;\n };\n Blocks: {\n brand?: [];\n nav?: [{\n Item: typeof NavItem;\n }];\n aux?: [{\n Item: typeof NavItem;\n }];\n };\n}\nexport default class AppHeader extends Component<AppHeaderSignature> {\n @tracked\n topNavShown = true;\n @tracked\n sensing = false;\n @provide('hokulea-app-header')\n get appHeader() {\n return true;\n }\n detectOverflow = keepLatestTask(async (element1: HTMLElement)=>{\n await timeout(30);\n this.sensing = true;\n // wait till sensing is flushed to the browser and made elements visible\n await timeout(0);\n const relevantChildren1 = [\n ...element1.children\n ].filter((elem1)=>elem1.tagName.toLowerCase() === 'nav' || elem1.getAttribute('part') === 'aux');\n if (relevantChildren1.length === 0) {\n this.sensing = false;\n return;\n }\n let headerWidth1 = [\n ...element1.children\n ].filter((elem1)=>elem1.getAttribute('part') !== 'menu').map((e1)=>Math.floor(e1.scrollWidth)).reduce((sum1, elemWidth1)=>sum1 + elemWidth1, 0);\n // + padding\n headerWidth1 += Number.parseInt(getComputedStyle(element1).getPropertyValue('padding-inline'), 10) * 2;\n // + gap\n headerWidth1 += Number.parseInt(getComputedStyle(element1).getPropertyValue('gap'), 10) * (element1.childElementCount - 1);\n this.topNavShown = element1.clientWidth >= headerWidth1;\n this.sensing = false;\n });\n flipflop = modifier((element1: HTMLElement)=>{\n const sensor1 = ()=>this.detectOverflow.perform(element1);\n sensor1();\n window.addEventListener('resize', sensor1);\n return ()=>{\n window.removeEventListener('resize', sensor1);\n };\n });\n closeWhenLink = modifier((element1: HTMLElement)=>{\n const checkForClose1 = (event1: Event)=>{\n const hitALink1 = event1.composedPath().some((target1: EventTarget)=>(target1 as HTMLElement | null)?.tagName && [\n 'a',\n 'button'\n ].includes((target1 as HTMLElement).tagName.toLowerCase()));\n if (hitALink1) {\n element1.hidePopover();\n }\n };\n element1.addEventListener('click', checkForClose1);\n return ()=>{\n element1.removeEventListener('click', checkForClose1);\n };\n });\n static{\n template(`\n {{#let (uniqueId) as |brandId|}}\n <header class={{styles.appHeader}} data-test-app-header ...attributes>\n <div class={{styles.appHeaderContent}} data-sensing={{this.sensing}} {{this.flipflop}}>\n {{#if (has-block \"brand\")}}\n <CommandElement @command={{@home}} part=\"brand\" id={{brandId}}>\n {{yield to=\"brand\"}}\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 \"x\" \"list\"}}\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=PopoverNavItem) to=\"aux\"}}\n </span>\n {{/if}}\n </div>\n </div>\n {{/let}}\n </span>\n {{/if}}\n </div>\n </header>\n {{/let}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL2FwcC1oZWFkZXIuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IHRyYWNrZWQgfSBmcm9tICdAZ2xpbW1lci90cmFja2luZyc7XG5pbXBvcnQgeyBoYXNoIH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5pbXBvcnQgeyB1bmlxdWVJZCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuXG5pbXBvcnQgeyB0eXBlIENvbW1hbmRBY3Rpb24sIENvbW1hbmRFbGVtZW50IH0gZnJvbSAnZW1iZXItY29tbWFuZCc7XG5pbXBvcnQgeyBrZWVwTGF0ZXN0VGFzaywgdGltZW91dCB9IGZyb20gJ2VtYmVyLWNvbmN1cnJlbmN5JztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdlbWJlci1saW5rJztcbmltcG9ydCB7IG1vZGlmaWVyIH0gZnJvbSAnZW1iZXItbW9kaWZpZXInO1xuaW1wb3J0IHsgcHJvdmlkZSB9IGZyb20gJ2VtYmVyLXByb3ZpZGUtY29uc3VtZS1jb250ZXh0JztcblxuaW1wb3J0IHN0eWxlcyBmcm9tICdAaG9rdWxlYS9jb3JlL25hdmlnYXRpb24ubW9kdWxlLmNzcyc7XG5cbmltcG9ydCB7IGFuZCwgbm90LCBvciB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMnO1xuaW1wb3J0IHBvcG92ZXIgZnJvbSAnLi4vaGVscGVycy9wb3BvdmVyJztcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gJy4vaWNvbi1idXR0b24nO1xuaW1wb3J0IE1lbnUgZnJvbSAnLi9tZW51JztcblxuaW1wb3J0IHR5cGUgeyBNZW51SXRlbUFyZ3MsIE1lbnVJdGVtQmxvY2tzLCBNZW51SXRlbVNpZ25hdHVyZSB9IGZyb20gJy4vLW1lbnUnO1xuaW1wb3J0IHR5cGUgeyBUT0MgfSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5jb25zdCBhc0xpbmsgPSAodmFsdWU6IHVua25vd24pOiBMaW5rID0-IHtcbiAgcmV0dXJuIHZhbHVlIGFzIExpbms7XG59O1xuXG5jb25zdCBpc0FjdGl2ZSA9IChjb21tYW5kYWJsZTogQ29tbWFuZEFjdGlvbikgPT4ge1xuICByZXR1cm4gY29tbWFuZGFibGUgaW5zdGFuY2VvZiBMaW5rICYmIChjb21tYW5kYWJsZSBhcyBMaW5rKS5pc0FjdGl2ZTtcbn07XG5cbmludGVyZmFjZSBOYXZJdGVtU2lnbmF0dXJlIGV4dGVuZHMgTWVudUl0ZW1TaWduYXR1cmUge31cblxuY29uc3QgTmF2TGluazogVE9DPHtcbiAgQXJnczogTWVudUl0ZW1BcmdzO1xuICBCbG9ja3M6IE1lbnVJdGVtQmxvY2tzO1xufT4gPSA8dGVtcGxhdGU-XG4gIHt7I2lmIEBwdXNofX1cbiAgICA8Q29tbWFuZEVsZW1lbnQgQGNvbW1hbmQ9e3tAcHVzaH19IGFyaWEtY3VycmVudD1cInt7aWYgKGlzQWN0aXZlIEBwdXNoKSAncGFnZSd9fVwiIHBhcnQ9XCJpdGVtXCI-XG4gICAgICA8c3Bhbj57e3lpZWxkfX08L3NwYW4-XG4gICAgPC9Db21tYW5kRWxlbWVudD5cbiAge3tlbHNlfX1cbiAgICA8c3BhbiBwYXJ0PVwiaXRlbVwiPnt7eWllbGR9fTwvc3Bhbj5cbiAge3svaWZ9fVxuPC90ZW1wbGF0ZT47XG5cbmNvbnN0IE5hdkl0ZW06IFRPQzxOYXZJdGVtU2lnbmF0dXJlPiA9IDx0ZW1wbGF0ZT5cbiAge3sjaWYgKGhhcy1ibG9jayl9fVxuICAgIDxOYXZMaW5rIEBwdXNoPXt7YXNMaW5rIEBwdXNofX0-e3t5aWVsZH19PC9OYXZMaW5rPlxuICB7e2Vsc2UgaWYgKGFuZCAoaGFzLWJsb2NrIFwibWVudVwiKSAoaGFzLWJsb2NrIFwibGFiZWxcIikpfX1cbiAgICB7eyNsZXQgKHBvcG92ZXIgcG9zaXRpb249XCJib3R0b20tc3RhcnRcIikgYXMgfHB8fX1cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGFyaWEtaGFzcG9wdXA9XCJtZW51XCIgcGFydD1cIml0ZW1cIiB7e3AudHJpZ2dlcn19PlxuICAgICAgICA8c3Bhbj57e3lpZWxkIHRvPVwibGFiZWxcIn19PC9zcGFuPlxuICAgICAgPC9idXR0b24-XG5cbiAgICAgIDxNZW51IHt7cC50YXJnZXR9fSBhcyB8bXw-XG4gICAgICAgIHt7eWllbGQgbSB0bz1cIm1lbnVcIn19XG4gICAgICA8L01lbnU-XG4gICAge3svbGV0fX1cbiAge3svaWZ9fVxuPC90ZW1wbGF0ZT47XG5cbmNvbnN0IFBvcG92ZXJOYXZJdGVtOiBUT0M8TmF2SXRlbVNpZ25hdHVyZT4gPSA8dGVtcGxhdGU-XG4gIHt7I2lmIChoYXMtYmxvY2spfX1cbiAgICA8TmF2TGluayBAcHVzaD17e2FzTGluayBAcHVzaH19Pnt7eWllbGR9fTwvTmF2TGluaz5cbiAge3tlbHNlIGlmIChhbmQgKGhhcy1ibG9jayBcIm1lbnVcIikgKGhhcy1ibG9jayBcImxhYmVsXCIpKX19XG4gICAgPGRldGFpbHM-XG4gICAgICA8c3VtbWFyeSBwYXJ0PVwiaXRlbVwiPnt7eWllbGQgdG89XCJsYWJlbFwifX08L3N1bW1hcnk-XG5cbiAgICAgIDxkaXY-XG4gICAgICAgIHt7eWllbGQgKGhhc2ggSXRlbT1Qb3BvdmVyTmF2SXRlbSkgdG89XCJtZW51XCJ9fVxuICAgICAgPC9kaXY-XG4gICAgPC9kZXRhaWxzPlxuICB7ey9pZn19XG48L3RlbXBsYXRlPjtcblxuaW50ZXJmYWNlIEFwcEhlYWRlclNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBBcmdzOiB7XG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIG5hdmJhclxuICAgICAqXG4gICAgICogQGRlZmF1bHQgc3RhcnRcbiAgICAgKi9cbiAgICBwb3NpdGlvbj86ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnO1xuXG4gICAgaG9tZT86IENvbW1hbmRBY3Rpb247XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGJyYW5kPzogW107XG4gICAgbmF2PzogW3sgSXRlbTogdHlwZW9mIE5hdkl0ZW0gfV07XG4gICAgYXV4PzogW3sgSXRlbTogdHlwZW9mIE5hdkl0ZW0gfV07XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwcEhlYWRlciBleHRlbmRzIENvbXBvbmVudDxBcHBIZWFkZXJTaWduYXR1cmU-IHtcbiAgQHRyYWNrZWQgdG9wTmF2U2hvd24gPSB0cnVlO1xuICBAdHJhY2tlZCBzZW5zaW5nID0gZmFsc2U7XG5cbiAgQHByb3ZpZGUoJ2hva3VsZWEtYXBwLWhlYWRlcicpXG4gIGdldCBhcHBIZWFkZXIoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBkZXRlY3RPdmVyZmxvdyA9IGtlZXBMYXRlc3RUYXNrKGFzeW5jIChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4ge1xuICAgIGF3YWl0IHRpbWVvdXQoMzApO1xuXG4gICAgdGhpcy5zZW5zaW5nID0gdHJ1ZTtcblxuICAgIC8vIHdhaXQgdGlsbCBzZW5zaW5nIGlzIGZsdXNoZWQgdG8gdGhlIGJyb3dzZXIgYW5kIG1hZGUgZWxlbWVudHMgdmlzaWJsZVxuICAgIGF3YWl0IHRpbWVvdXQoMCk7XG5cbiAgICBjb25zdCByZWxldmFudENoaWxkcmVuID0gWy4uLmVsZW1lbnQuY2hpbGRyZW5dLmZpbHRlcihcbiAgICAgIChlbGVtKSA9PiBlbGVtLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ25hdicgfHwgZWxlbS5nZXRBdHRyaWJ1dGUoJ3BhcnQnKSA9PT0gJ2F1eCdcbiAgICApO1xuXG4gICAgaWYgKHJlbGV2YW50Q2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnNlbnNpbmcgPSBmYWxzZTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBoZWFkZXJXaWR0aCA9IFsuLi5lbGVtZW50LmNoaWxkcmVuXVxuICAgICAgLmZpbHRlcigoZWxlbSkgPT4gZWxlbS5nZXRBdHRyaWJ1dGUoJ3BhcnQnKSAhPT0gJ21lbnUnKVxuICAgICAgLm1hcCgoZSkgPT4gTWF0aC5mbG9vcihlLnNjcm9sbFdpZHRoKSlcbiAgICAgIC5yZWR1Y2UoKHN1bSwgZWxlbVdpZHRoKSA9PiBzdW0gKyBlbGVtV2lkdGgsIDApO1xuXG4gICAgLy8gKyBwYWRkaW5nXG4gICAgaGVhZGVyV2lkdGggKz1cbiAgICAgIE51bWJlci5wYXJzZUludChnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctaW5saW5lJyksIDEwKSAqIDI7XG5cbiAgICAvLyArIGdhcFxuICAgIGhlYWRlcldpZHRoICs9XG4gICAgICBOdW1iZXIucGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCdnYXAnKSwgMTApICpcbiAgICAgIChlbGVtZW50LmNoaWxkRWxlbWVudENvdW50IC0gMSk7XG5cbiAgICB0aGlzLnRvcE5hdlNob3duID0gZWxlbWVudC5jbGllbnRXaWR0aCA-PSBoZWFkZXJXaWR0aDtcbiAgICB0aGlzLnNlbnNpbmcgPSBmYWxzZTtcbiAgfSk7XG5cbiAgZmxpcGZsb3AgPSBtb2RpZmllcigoZWxlbWVudDogSFRNTEVsZW1lbnQpID0-IHtcbiAgICBjb25zdCBzZW5zb3IgPSAoKSA9PiB0aGlzLmRldGVjdE92ZXJmbG93LnBlcmZvcm0oZWxlbWVudCk7XG5cbiAgICBzZW5zb3IoKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgc2Vuc29yKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgc2Vuc29yKTtcbiAgICB9O1xuICB9KTtcblxuICBjbG9zZVdoZW5MaW5rID0gbW9kaWZpZXIoKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgY2hlY2tGb3JDbG9zZSA9IChldmVudDogRXZlbnQpID0-IHtcbiAgICAgIGNvbnN0IGhpdEFMaW5rID0gZXZlbnRcbiAgICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAgIC5zb21lKFxuICAgICAgICAgICh0YXJnZXQ6IEV2ZW50VGFyZ2V0KSA9PlxuICAgICAgICAgICAgKHRhcmdldCBhcyBIVE1MRWxlbWVudCB8IG51bGwpPy50YWdOYW1lICYmXG4gICAgICAgICAgICBbJ2EnLCAnYnV0dG9uJ10uaW5jbHVkZXMoKHRhcmdldCBhcyBIVE1MRWxlbWVudCkudGFnTmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApO1xuXG4gICAgICBpZiAoaGl0QUxpbmspIHtcbiAgICAgICAgZWxlbWVudC5oaWRlUG9wb3ZlcigpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgY2hlY2tGb3JDbG9zZSk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGNoZWNrRm9yQ2xvc2UpO1xuICAgIH07XG4gIH0pO1xuXG4gIDx0ZW1wbGF0ZT5cbiAgICB7eyNsZXQgKHVuaXF1ZUlkKSBhcyB8YnJhbmRJZHx9fVxuICAgICAgPGhlYWRlciBjbGFzcz17e3N0eWxlcy5hcHBIZWFkZXJ9fSBkYXRhLXRlc3QtYXBwLWhlYWRlciAuLi5hdHRyaWJ1dGVzPlxuICAgICAgICA8ZGl2IGNsYXNzPXt7c3R5bGVzLmFwcEhlYWRlckNvbnRlbnR9fSBkYXRhLXNlbnNpbmc9e3t0aGlzLnNlbnNpbmd9fSB7e3RoaXMuZmxpcGZsb3B9fT5cbiAgICAgICAgICB7eyNpZiAoaGFzLWJsb2NrIFwiYnJhbmRcIil9fVxuICAgICAgICAgICAgPENvbW1hbmRFbGVtZW50IEBjb21tYW5kPXt7QGhvbWV9fSBwYXJ0PVwiYnJhbmRcIiBpZD17e2JyYW5kSWR9fT5cbiAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImJyYW5kXCJ9fVxuICAgICAgICAgICAgPC9Db21tYW5kRWxlbWVudD5cbiAgICAgICAgICB7ey9pZn19XG5cbiAgICAgICAgICB7eyNpZiAob3IgdGhpcy50b3BOYXZTaG93biB0aGlzLnNlbnNpbmcpfX1cbiAgICAgICAgICAgIDxuYXYgZGF0YS1wb3NpdGlvbj17e2lmIEBwb3NpdGlvbiBAcG9zaXRpb259fSBhcmlhLWxhYmVsbGVkYnk9e3ticmFuZElkfX0-XG4gICAgICAgICAgICAgIHt7eWllbGQgKGhhc2ggSXRlbT1OYXZJdGVtKSB0bz1cIm5hdlwifX1cbiAgICAgICAgICAgIDwvbmF2PlxuXG4gICAgICAgICAgICB7eyNpZiAoaGFzLWJsb2NrIFwiYXV4XCIpfX1cbiAgICAgICAgICAgICAgPHNwYW4gcGFydD1cImF1eFwiPlxuICAgICAgICAgICAgICAgIHt7eWllbGQgKGhhc2ggSXRlbT1OYXZJdGVtKSB0bz1cImF1eFwifX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgIHt7L2lmfX1cblxuICAgICAgICAgIHt7I2lmIChub3QgdGhpcy50b3BOYXZTaG93bil9fVxuICAgICAgICAgICAgPHNwYW4gcGFydD1cIm1lbnVcIj5cbiAgICAgICAgICAgICAge3sjbGV0IChwb3BvdmVyKSBhcyB8cHx9fVxuICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICBAaW1wb3J0YW5jZT1cInBsYWluXCJcbiAgICAgICAgICAgICAgICAgIEBpY29uPXt7aWYgcC5vcGVuZWQgXCJ4XCIgXCJsaXN0XCJ9fVxuICAgICAgICAgICAgICAgICAge3twLnRyaWdnZXJ9fVxuICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0LXRvZ2dsZVxuICAgICAgICAgICAgICAgICAgQGxhYmVsPVwidG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBwb3BvdmVyIHt7cC50YXJnZXR9fSB7e3RoaXMuY2xvc2VXaGVuTGlua319PlxuICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLW1lbnUtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICB7eyNpZiAoaGFzLWJsb2NrIFwiYnJhbmRcIil9fVxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHBhcnQ9XCJicmFuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImJyYW5kXCJ9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY-XG5cbiAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1tZW51LWNvbnRlbnQ-XG4gICAgICAgICAgICAgICAgICAgIHt7ISB0ZW1wbGF0ZS1saW50LWRpc2FibGUgbm8tZHVwbGljYXRlLWxhbmRtYXJrLWVsZW1lbnRzIH19XG4gICAgICAgICAgICAgICAgICAgIDxuYXYgYXJpYS1sYWJlbGxlZGJ5PXt7YnJhbmRJZH19PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgKGhhc2ggSXRlbT1Qb3BvdmVyTmF2SXRlbSkgdG89XCJuYXZcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgICAgICAgICAgICB7eyEgdGVtcGxhdGUtbGludC1lbmFibGUgbm8tZHVwbGljYXRlLWxhbmRtYXJrLWVsZW1lbnRzIH19XG5cbiAgICAgICAgICAgICAgICAgICAge3sjaWYgKGhhcy1ibG9jayBcImF1eFwiKX19XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcGFydD1cImF1eFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCAoaGFzaCBJdGVtPVBvcG92ZXJOYXZJdGVtKSB0bz1cImF1eFwifX1cbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4-XG4gICAgICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB7ey9sZXR9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgPC9kaXY-XG4gICAgICA8L2hlYWRlcj5cbiAgICB7ey9sZXR9fVxuICA8L3RlbXBsYXRlPlxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLFNBQVMsT0FBTyxRQUFRLG9CQUFvQjtBQUM1QyxTQUFTLElBQUksUUFBUSxnQkFBZ0I7QUFDckMsU0FBUyxRQUFRLFFBQVEsZ0JBQWdCO0FBRXpDLFNBQVMsS0FBSyxhQUFhLEVBQUUsY0FBYyxRQUFRLGdCQUFnQjtBQUNuRSxTQUFTLGNBQWMsRUFBRSxPQUFPLFFBQVEsb0JBQW9CO0FBQzVELFNBQVMsSUFBSSxRQUFRLGFBQWE7QUFDbEMsU0FBUyxRQUFRLFFBQVEsaUJBQWlCO0FBQzFDLFNBQVMsT0FBTyxRQUFRLGdDQUFnQztBQUV4RCxPQUFPLFlBQVksc0NBQXNDO0FBRXpELFNBQVMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLFFBQVEsc0JBQXNCO0FBQ25ELE9BQU8sYUFBYSxxQkFBcUI7QUFDekMsT0FBTyxnQkFBZ0IsZ0JBQWdCO0FBQ3ZDLE9BQU8sVUFBVSxTQUFTO0FBRTFCLGNBQWMsWUFBWSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsUUFBUSxVQUFVO0FBQy9FLGNBQWMsR0FBRyxRQUFRLGlDQUFpQztBQUUxRCxNQUFNLFNBQVMsQ0FBQyxRQUFPLE9BQU8sR0FBRztJQUMvQixPQUFPLFVBQVM7QUFDbEI7QUFFQSxNQUFNLFdBQVcsQ0FBQyxjQUFhO0lBQzdCLE9BQU8sd0JBQXVCLFFBQVEsQ0FBQyxnQkFBZSxJQUFJLEVBQUUsUUFBUTtBQUN0RTtVQUVVLHlCQUF5Qjs7QUFFbkMsTUFBTSxTQUFTO0lBQ2IsTUFBTTtJQUNOLFFBQVE7S0FDTCxTQUFVLENBQUE7Ozs7Ozs7O0FBUWYsQ0FBQSxFQUFBO0lBQUE7UUFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7SUFBRDtBQUFBO0FBRVYsTUFBTSxTQUFTLElBQUksb0JBQW9CLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7QUFjakQsQ0FBQSxFQUFBO0lB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"],"names":["asLink","value1","isActive","commandable1","Link","NavLink","precompileTemplate","scope","CommandElement","strictMode","templateOnly","NavItem","setComponentTemplate","and","popover","Menu","PopoverNavItem","hash","AppHeader","Component","g","prototype","tracked","i","void 0","appHeader","n","provide","detectOverflow","_buildTask","context","generator","element1","timeout","sensing","relevantChildren1","children","filter","elem1","tagName","toLowerCase","getAttribute","length","headerWidth1","map","e1","Math","floor","scrollWidth","reduce","sum1","elemWidth1","Number","parseInt","getComputedStyle","getPropertyValue","childElementCount","topNavShown","clientWidth","flipflop","modifier","sensor1","perform","window","addEventListener","removeEventListener","closeWhenLink","checkForClose1","event1","hitALink1","composedPath","some","target1","includes","hidePopover","uniqueId","styles","or","not","IconButton"],"mappings":";;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,MAAA,GAAUC,MAAc,IAAG;AAC/B,EAAA,OAAOA,MAAA,CAAA;AACT,CAAA,CAAA;AAEA,MAAMC,QAAA,GAAYC,YAAa,IAAA;AAC7B,EAAA,OAAOA,YAAA,YAAuBC,IAAA,IAASD,YAAA,CAAqBD,QAAQ,CAAA;AACtE,CAAA,CAAA;AAIA,MAAMG,UAGDC,oBAAAA,CAAAA,kBAAA,CAQL,oPAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,cAAA;AAAAN,IAAAA,QAAAA;AAAA,GAAA,CAAA;EAAAO,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA,CAAA;AAEV,MAAMC,OAAa,GAAAC,oBAAA,CAAoBN,kBAAA,CAcvC,2cAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAF,OAAA;IAAAL,MAAA;IAAAa,GAAA;IAAAC,OAAA;AAAAC,IAAAA,IAAAA;AAAA,GAAA,CAAA;EAAAN,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA,CAAA;AAEV,MAAMM,cAAoB,GAAAJ,oBAAA,CAAoBN,kBAAA,CAY9C,oVAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAF,OAAA;IAAAL,MAAA;IAAAa,GAAA;IAAAI,IAAA;AAAAD,IAAAA,cAAAA;AAAA,GAAA,CAAA;EAAAP,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA,CAAA;AAqBK,MAAMQ,SAAA,SAAkBC,SAAA,CAAU;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,aAAA,EAAA,CAC9CC,OAAA,CAAA,EAAA,YAAA;MAAA,OAAsB,IAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,YAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,SAAA,EAAA,CACtBC,OAAA,CAAA,EAAA,YAAA;MAAA,OAAkB,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAEnB,EAAA,IACIC,YAAY;IACd,OAAO,IAAA,CAAA;AACT,GAAA;AAAA,EAAA;AAAAC,IAAAA,CAAA,CAAAL,IAAAA,CAAAA,SAAA,EAHCM,WAAAA,EAAAA,CAAAA,OAAA,CAAQ,oBAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAKTC,EAAAA,cAAA,GAAAC,SAAA,CAAA,OAAA;IAAAC,OAAA,EAAA,IAAA;IAAAC,SAAA,EAAA,WAAuCC,QAAS,EAAA;AAC9C,MAAA,MAAMC,OAAA,CAAQ,EAAA,CAAA,CAAA;MAEd,IAAI,CAACC,OAAO,GAAG,IAAA,CAAA;AAEf;AACA,MAAA,MAAMD,OAAA,CAAQ,CAAA,CAAA,CAAA;MAEd,MAAME,iBAAA,GAAmB,IAAIH,QAAA,CAAQI,QAAQ,CAAC,CAACC,MAAM,CAClDC,KAAA,IAASA,KAAA,CAAKC,OAAO,CAACC,WAAW,EAAA,KAAO,SAASF,KAAA,CAAKG,YAAY,CAAC,MAAY,CAAA,KAAA,KAAA,CAAA,CAAA;AAGlF,MAAA,IAAIN,iBAAA,CAAiBO,MAAM,KAAK,CAAG,EAAA;QACjC,IAAI,CAACR,OAAO,GAAG,KAAA,CAAA;AAEf,QAAA,OAAA;AACF,OAAA;AAEA,MAAA,IAAIS,YAAA,GAAc,IAAIX,QAAA,CAAQI,QAAQ,CAAC,CACpCC,MAAM,CAAEC,KAAA,IAASA,KAAA,CAAKG,YAAY,CAAC,YAAY,MAC/CG,CAAAA,CAAAA,GAAG,CAAEC,EAAA,IAAMC,IAAA,CAAKC,KAAK,CAACF,EAAA,CAAEG,WAAW,CAAA,CAAA,CACnCC,MAAM,CAAC,CAACC,IAAA,EAAKC,UAAA,KAAcD,IAAA,GAAMC,UAAA,EAAW,CAAA,CAAA,CAAA;AAE/C;AACAR,MAAAA,YAAA,IACES,MAAA,CAAOC,QAAQ,CAACC,gBAAA,CAAiBtB,QAAA,CAASuB,CAAAA,gBAAgB,CAAC,gBAAA,CAAA,EAAmB,EAAM,CAAA,GAAA,CAAA,CAAA;AAEtF;AACAZ,MAAAA,YAAA,IACES,MAAA,CAAOC,QAAQ,CAACC,gBAAA,CAAiBtB,QAAA,CAASuB,CAAAA,gBAAgB,CAAC,KAAQ,CAAA,EAAA,EAAA,CAAA,IAClEvB,QAAA,CAAQwB,iBAAiB,GAAG,CAAC,CAAA,CAAA;AAEhC,MAAA,IAAI,CAACC,WAAW,GAAGzB,QAAA,CAAQ0B,WAAW,IAAIf,YAAA,CAAA;MAC1C,IAAI,CAACT,OAAO,GAAG,KAAA,CAAA;AACjB,KAAA;AAAA,GAAA,CAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,CAAA;EAEAyB,QAAA,GAAWC,QAAA,CAAU5B,QAAS,IAAA;IAC5B,MAAM6B,OAAA,GAASA,MAAM,IAAI,CAACjC,cAAc,CAACkC,OAAO,CAAC9B,QAAA,CAAA,CAAA;IAEjD6B,OAAA,EAAA,CAAA;AACAE,IAAAA,MAAA,CAAOC,gBAAgB,CAAC,QAAA,EAAUH,OAAA,CAAA,CAAA;IAElC,OAAO,MAAA;AACLE,MAAAA,MAAA,CAAOE,mBAAmB,CAAC,QAAA,EAAUJ,OAAA,CAAA,CAAA;AACvC,KAAA,CAAA;AACF,GAAA,CAAA,CAAA;EAEAK,aAAA,GAAgBN,QAAA,CAAU5B,QAAS,IAAA;IACjC,MAAMmC,cAAA,GAAiBC,MAAO,IAAA;MAC5B,MAAMC,SAAA,GAAWD,MAAA,CACdE,YAAY,GACZC,IAAI,CACFC,OAAQ,IACNA,OAAA,EAA+BjC,OAAA,IAChC,CAAC,GAAK,EAAA,QAAA,CAAS,CAACkC,QAAQ,CAAED,OAAA,CAAuBjC,OAAO,CAACC,WAAW,EAAA,CAAA,CAAA,CAAA;AAG1E,MAAA,IAAI6B,SAAA,EAAU;AACZrC,QAAAA,QAAA,CAAQ0C,WAAW,EAAA,CAAA;AACrB,OAAA;AACF,KAAA,CAAA;AAEA1C,IAAAA,QAAA,CAAQgC,gBAAgB,CAAC,OAAA,EAASG,cAAA,CAAA,CAAA;IAElC,OAAO,MAAA;AACLnC,MAAAA,QAAA,CAAQiC,mBAAmB,CAAC,OAAA,EAASE,cAAA,CAAA,CAAA;AACvC,KAAA,CAAA;AACF,GAAA,CAAA,CAAA;AAEA,EAAA;IAAAvD,oBAAA,CAAAN,kBAAA,CA8DA,0pEAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAoE,QAAA;QAAAC,MAAA;QAAApE,cAAA;QAAAqE,EAAA;QAAA5D,IAAA;QAAAN,OAAA;QAAAmE,GAAA;QAAAhE,OAAA;QAAAiE,UAAA;AAAA/D,QAAAA,cAAAA;AAAA,OAAA,CAAA;MAAAP,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
1
+ {"version":3,"file":"app-header.js","sources":["../../src/components/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 { Link } from 'ember-link';\nimport { modifier } from 'ember-modifier';\n\nimport styles from '@hokulea/core/navigation.module.css';\n\nimport { and, not, or } from '../-private/helpers.ts';\nimport popover from '../helpers/popover.ts';\nimport IconButton from './icon-button.gts';\nimport Menu from './menu.gts';\n\nimport type { MenuItemArgs, MenuItemBlocks, MenuItemSignature } from './-menu';\nimport type { TOC } from '@ember/component/template-only';\n\nconst asLink = (value: unknown): Link => {\n return value as Link;\n};\n\nconst isActive = (commandable: CommandAction) => {\n return commandable instanceof Link && commandable.isActive;\n};\n\ninterface NavItemSignature extends MenuItemSignature {}\n\nconst NavLink: TOC<{\n Args: MenuItemArgs;\n Blocks: MenuItemBlocks;\n}> = <template>\n {{#if @push}}\n <CommandElement @command={{@push}} aria-current=\"{{if (isActive @push) 'page'}}\" part=\"item\">\n <span>{{yield}}</span>\n </CommandElement>\n {{else}}\n <span part=\"item\">{{yield}}</span>\n {{/if}}\n</template>;\n\nconst NavItem: TOC<NavItemSignature> = <template>\n {{#if (has-block)}}\n <NavLink @push={{asLink @push}}>{{yield}}</NavLink>\n {{else if (and (has-block \"menu\") (has-block \"label\"))}}\n {{#let (popover position=\"bottom-start\") 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={{asLink @push}}>{{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\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: typeof NavItem }];\n };\n}\n\nexport default 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 );\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={{styles.appHeader}} data-test-app-header ...attributes>\n <div class={{styles.appHeaderContent}} data-sensing={{this.sensing}} {{this.flipflop}}>\n {{#if (has-block \"brand\")}}\n <CommandElement @command={{@home}} part=\"brand\" id={{brandId}}>\n {{yield to=\"brand\"}}\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 \"x\" \"list\"}}\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=PopoverNavItem) 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":["asLink","value","isActive","commandable","Link","NavLink","setComponentTemplate","precompileTemplate","strictMode","scope","CommandElement","templateOnly","NavItem","and","popover","Menu","PopoverNavItem","hash","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","styles","or","not","IconButton"],"mappings":";;;;;;;;;;;;;;;;;;AAmBA,MAAMA,MAAA,GAAUC,KAAc,IAAG;AAC/B,EAAA,OAAOA,KAAA;AACT,CAAA;AAEA,MAAMC,QAAA,GAAYC,WAAa,IAAA;AAC7B,EAAA,OAAOA,WAAA,YAAuBC,IAAA,IAAQD,WAAA,CAAYD,QAAQ;AAC5D,CAAA;AAIA,MAAMG,OAGD,GAAAC,oBAAA,CAAAC,kBAAA,CAAA,oPAAA,EAQL;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,cAAA;AAAAR,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAS,YAAA,EAAA,CAAA;AAEV,MAAMC,OAAa,GAAAN,oBAAA,CAAoBC,kBAAA,CAAA,2cAAA,EAcvC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAJ,OAAA;IAAAL,MAAA;IAAAa,GAAA;IAAAC,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAJ,YAAA,EAAA,CAAA;AAEV,MAAMK,cAAoB,GAAAV,oBAAA,CAAoBC,kBAAA,CAAA,oVAAA,EAY9C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAJ,OAAA;IAAAL,MAAA;IAAAa,GAAA;IAAAI,IAAA;AAAAD,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAL,YAAA,EAAA,CAAA;AAqBK,MAAMO,kBAAkBC,SAAA,CAAU;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,aAAA,EAAA,CAC9CC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAsB,IAAA;AAAA,IAAA,CAAA,CAAA;AAAA;AAAA,EAAA,YAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,SAAA,EAAA,CACtBC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAkB,KAAA;AAAA,IAAA,CAAA,CAAA;AAAA;AAAA,EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAAC,MAAA;AAEnBC,EAAAA,cAAA,GAAAC,SAAA,CAAA,OAAA;IAAAC,OAAA,EAAA,IAAA;IAAAC,SAAA,EAAA,WAAuCC,OAAS,EAAA;MAC9C,MAAMC,OAAA,CAAQ,EAAA,CAAA;MAEd,IAAI,CAACC,OAAO,GAAG,IAAA;AAEf;MACA,MAAMD,OAAA,CAAQ,CAAA,CAAA;AAEd,MAAA,MAAME,gBAAA,GAAmB,CAAI,GAAAH,OAAA,CAAQI,QAAQ,CAAC,CAACC,MAAM,CAClDC,IAAA,IAASA,IAAA,CAAKC,OAAO,CAACC,WAAW,EAAA,KAAO,KAAA,IAASF,IAAA,CAAKG,YAAY,CAAC,MAAA,CAAA,KAAY,KAAA,CAAA;AAGlF,MAAA,IAAIN,gBAAA,CAAiBO,MAAM,KAAK,CAAA,EAAG;QACjC,IAAI,CAACR,OAAO,GAAG,KAAA;AAEf,QAAA;AACF,MAAA;MAEA,IAAIS,WAAA,GAAc,CAAI,GAAAX,OAAA,CAAQI,QAAQ,CAAC,CACpCC,MAAM,CAAEC,IAAA,IAASA,IAAA,CAAKG,YAAY,CAAC,MAAA,CAAA,KAAY,MAAA,CAAA,CAC/CG,GAAG,CAAEC,KAAMC,IAAA,CAAKC,KAAK,CAACF,CAAA,CAAEG,WAAW,CAAA,CAAA,CACnCC,MAAM,CAAC,CAACC,GAAA,EAAKC,SAAA,KAAcD,GAAA,GAAMC,SAAA,EAAW,CAAA,CAAA;AAE/C;AACAR,MAAAA,WAAA,IACES,MAAA,CAAOC,QAAQ,CAACC,gBAAA,CAAiBtB,SAASuB,gBAAgB,CAAC,mBAAmB,EAAA,CAAA,GAAM,CAAA;AAEtF;MACAZ,WAAA,IACES,MAAA,CAAOC,QAAQ,CAACC,gBAAA,CAAiBtB,OAAA,CAAA,CAASuB,gBAAgB,CAAC,KAAA,CAAA,EAAQ,EAAA,CAAA,IAClEvB,OAAA,CAAQwB,iBAAiB,GAAG,CAAC,CAAA;AAEhC,MAAA,IAAI,CAACC,WAAW,GAAGzB,OAAA,CAAQ0B,WAAW,IAAIf,WAAA;MAC1C,IAAI,CAACT,OAAO,GAAG,KAAA;AACjB,IAAA;AAAA,GAAA,CAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,YAAA,CAAA;AAEAyB,EAAAA,QAAA,GAAWC,QAAA,CAAU5B,OAAS,IAAA;IAC5B,MAAM6B,SAASA,MAAM,IAAI,CAACjC,cAAc,CAACkC,OAAO,CAAC9B,OAAA,CAAA;IAEjD,KAAK6B,MAAA,EAAA;AACL;AACAE,IAAAA,MAAA,CAAOC,gBAAgB,CAAC,QAAA,EAAUH,MAAA,CAAA;AAElC,IAAA,OAAO,MAAA;AACL;AACAE,MAAAA,MAAA,CAAOE,mBAAmB,CAAC,QAAA,EAAUJ,MAAA,CAAA;IACvC,CAAA;AACF,EAAA,CAAA,CAAA;AAEAK,EAAAA,aAAA,GAAgBN,QAAA,CAAU5B,OAAS,IAAA;IACjC,MAAMmC,aAAA,GAAiBC,KAAO,IAAA;AAC5B,MAAA,MAAMC,QAAA,GAAWD,KAAA,CACdE,YAAY,EAAA,CACZC,IAAI,CACFC,MAAQ,IACNA,MAAA,EAA+BjC,OAAA,IAChC,CAAC,GAAA,EAAK,QAAA,CAAS,CAACkC,QAAQ,CAAED,MAAA,CAAuBjC,OAAO,CAACC,WAAW,EAAA,CAAA,CAAA;AAG1E,MAAA,IAAI6B,QAAA,EAAU;QACZrC,OAAA,CAAQ0C,WAAW,EAAA;AACrB,MAAA;IACF,CAAA;AAEA1C,IAAAA,OAAA,CAAQgC,gBAAgB,CAAC,OAAA,EAASG,aAAA,CAAA;AAElC,IAAA,OAAO,MAAA;AACLnC,MAAAA,OAAA,CAAQiC,mBAAmB,CAAC,OAAA,EAASE,aAAA,CAAA;IACvC,CAAA;AACF,EAAA,CAAA,CAAA;AAEA,EAAA;IAAA1D,oBAAA,CAAAC,kBAAA,CAAA,0pEAAA,EA8DA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAA+D,QAAA;QAAAC,MAAA;QAAA/D,cAAA;QAAAgE,EAAA;QAAAzD,IAAA;QAAAL,OAAA;QAAA+D,GAAA;QAAA7D,OAAA;QAAA8D,UAAA;AAAA5D,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -6,12 +6,12 @@ import { setComponentTemplate } from '@ember/component';
6
6
 
7
7
  class Box extends Component {
8
8
  static {
9
- setComponentTemplate(precompileTemplate("\n {{#let (if @element @element (element \"div\")) as |Element|}}\n {{!-- @glint-expect-error https://github.com/typed-ember/glint/issues/610 --}}\n <Element class={{styles.container}} ...attributes>\n {{yield}}\n </Element>\n {{/let}}\n ", {
9
+ setComponentTemplate(precompileTemplate("\n {{#let (if @element @element (element \"div\")) as |Element|}}\n <Element class={{styles.container}} ...attributes>\n {{yield}}\n </Element>\n {{/let}}\n ", {
10
+ strictMode: true,
10
11
  scope: () => ({
11
12
  element,
12
13
  styles
13
- }),
14
- strictMode: true
14
+ })
15
15
  }), this);
16
16
  }
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"box.js","sources":["../../src/components/box.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { element } from 'ember-element-helper';\nimport styles from '@hokulea/core/layouts.module.css';\nimport type { ComponentLike } from '@glint/template';\nexport interface BoxSignature<E extends Element = HTMLDivElement> {\n Element: E;\n Args: {\n element?: ComponentLike<{\n Element: HTMLElement;\n }>;\n };\n Blocks: {\n default: [];\n };\n}\nexport default class Box<E extends Element = HTMLDivElement> extends Component<BoxSignature<E>> {\n static{\n template(`\n {{#let (if @element @element (element \"div\")) as |Element|}}\n {{! @glint-expect-error https://github.com/typed-ember/glint/issues/610 }}\n <Element class={{styles.container}} ...attributes>\n {{yield}}\n </Element>\n {{/let}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL2JveC5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBlbGVtZW50IH0gZnJvbSAnZW1iZXItZWxlbWVudC1oZWxwZXInO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gJ0Bob2t1bGVhL2NvcmUvbGF5b3V0cy5tb2R1bGUuY3NzJztcblxuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRMaWtlIH0gZnJvbSAnQGdsaW50L3RlbXBsYXRlJztcblxuZXhwb3J0IGludGVyZmFjZSBCb3hTaWduYXR1cmU8RSBleHRlbmRzIEVsZW1lbnQgPSBIVE1MRGl2RWxlbWVudD4ge1xuICBFbGVtZW50OiBFO1xuICBBcmdzOiB7XG4gICAgZWxlbWVudD86IENvbXBvbmVudExpa2U8eyBFbGVtZW50OiBIVE1MRWxlbWVudCB9PjtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW107XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJveDxFIGV4dGVuZHMgRWxlbWVudCA9IEhUTUxEaXZFbGVtZW50PiBleHRlbmRzIENvbXBvbmVudDxCb3hTaWduYXR1cmU8RT4-IHtcbiAgPHRlbXBsYXRlPlxuICAgIHt7I2xldCAoaWYgQGVsZW1lbnQgQGVsZW1lbnQgKGVsZW1lbnQgXCJkaXZcIikpIGFzIHxFbGVtZW50fH19XG4gICAgICB7eyEgQGdsaW50LWV4cGVjdC1lcnJvciBodHRwczovL2dpdGh1Yi5jb20vdHlwZWQtZW1iZXIvZ2xpbnQvaXNzdWVzLzYxMCB9fVxuICAgICAgPEVsZW1lbnQgY2xhc3M9e3tzdHlsZXMuY29udGFpbmVyfX0gLi4uYXR0cmlidXRlcz5cbiAgICAgICAge3t5aWVsZH19XG4gICAgICA8L0VsZW1lbnQ-XG4gICAge3svbGV0fX1cbiAgPC90ZW1wbGF0ZT5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxlQUFlLHFCQUFxQjtBQUUzQyxTQUFTLE9BQU8sUUFBUSx1QkFBdUI7QUFFL0MsT0FBTyxZQUFZLG1DQUFtQztBQUV0RCxjQUFjLGFBQWEsUUFBUSxrQkFBa0I7QUFFckQsaUJBQWlCLGFBQWEsVUFBVSxVQUFVO0lBQ2hELFNBQVM7SUFDVDtRQUNFLFVBQVU7WUFBZ0IsU0FBUzs7O0lBRXJDO1FBQ0U7OztBQUlKLGVBQWUsTUFBTSxJQUFJLFVBQVUsVUFBVSx3QkFBd0IsVUFBVSxhQUFhO0lBQzFGLE1BQUE7UUFBQSxTQUFVLENBQUE7Ozs7Ozs7RUFPVixDQUFBLEVBQUE7WUFBQSxXQUFBLElBQVc7WUFBWDtnQkFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7WUFBRDtRQUFBO0lBQUEsQ0FQQTtBQVFaIn0"],"names":["Box","Component","setComponentTemplate","precompileTemplate","scope","element","styles","strictMode"],"mappings":";;;;;;AAkBe,MAAMA,GAAA,SAAgDC,SAAA,CAAuB;AAC1F,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAOA,6QAAA,EAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,OAAA;AAAAC,QAAAA,MAAAA;AAAA,OAAA,CAAA;MAAAC,UAAA,EAAA,IAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
1
+ {"version":3,"file":"box.js","sources":["../../src/components/box.gts"],"sourcesContent":["import Component from '@glimmer/component';\n\nimport { element } from 'ember-element-helper';\n\nimport styles from '@hokulea/core/layouts.module.css';\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 default class Box<E extends Element = HTMLDivElement> extends Component<BoxSignature<E>> {\n <template>\n {{#let (if @element @element (element \"div\")) as |Element|}}\n <Element class={{styles.container}} ...attributes>\n {{yield}}\n </Element>\n {{/let}}\n </template>\n}\n"],"names":["Box","Component","setComponentTemplate","precompileTemplate","strictMode","scope","element","styles"],"mappings":";;;;;;AAkBe,MAAMA,GAAA,SAAgDC,UAAuB;AAC1F,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,uLAAA,EAMA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -1,14 +1,15 @@
1
1
  import { CommandElement } from 'ember-command';
2
2
  import { element } from 'ember-element-helper';
3
3
  import styles from '@hokulea/core/actions.module.css';
4
- import { n as not } from '../helpers-DApiJrHl.js';
4
+ import { n as not } from '../helpers-DS9du02l.js';
5
5
  import { d as disabled } from '../disabled-B_FQ0Z51.js';
6
- import { i as isLink } from '../-button-CJL1yb2d.js';
6
+ import { i as isLink } from '../-button-KUaJCQaB.js';
7
7
  import { precompileTemplate } from '@ember/template-compilation';
8
8
  import { setComponentTemplate } from '@ember/component';
9
9
  import templateOnly from '@ember/component/template-only';
10
10
 
11
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,
12
13
  scope: () => ({
13
14
  CommandElement,
14
15
  element,
@@ -16,8 +17,7 @@ const Button = setComponentTemplate(precompileTemplate("\n <CommandElement @ele
16
17
  not,
17
18
  isLink,
18
19
  disabled
19
- }),
20
- strictMode: true
20
+ })
21
21
  }), templateOnly());
22
22
 
23
23
  export { Button as default };
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sources":["../../src/components/button.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { CommandElement } from 'ember-command';\nimport { element } from 'ember-element-helper';\nimport styles from '@hokulea/core/actions.module.css';\nimport { not } from '../-private/helpers';\nimport disabled from '../-private/modifiers/disabled';\nimport { isLink } from './-button';\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';\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 */ default: [];\n /** The label for the button */ label: [];\n /** A slot in front of the label */ before: [];\n /** A slot after the label */ after: [];\n };\n}\nconst 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`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default Button;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL2J1dHRvbi5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZEVsZW1lbnQgfSBmcm9tICdlbWJlci1jb21tYW5kJztcbmltcG9ydCB7IGVsZW1lbnQgfSBmcm9tICdlbWJlci1lbGVtZW50LWhlbHBlcic7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSAnQGhva3VsZWEvY29yZS9hY3Rpb25zLm1vZHVsZS5jc3MnO1xuXG5pbXBvcnQgeyBub3QgfSBmcm9tICcuLi8tcHJpdmF0ZS9oZWxwZXJzJztcbmltcG9ydCBkaXNhYmxlZCBmcm9tICcuLi8tcHJpdmF0ZS9tb2RpZmllcnMvZGlzYWJsZWQnO1xuaW1wb3J0IHsgaXNMaW5rIH0gZnJvbSAnLi8tYnV0dG9uJztcblxuaW1wb3J0IHR5cGUgeyBUT0MgfSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuaW1wb3J0IHR5cGUgeyBJbXBvcnRhbmNlLCBJbXBvcnRhbmNlcywgSW50ZW50LCBJbnRlbnRzLCBTcGFjaW5nLCBTcGFjaW5ncyB9IGZyb20gJ0Bob2t1bGVhL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7IENvbW1hbmRBY3Rpb24gfSBmcm9tICdlbWJlci1jb21tYW5kJztcblxuZXhwb3J0IGludGVyZmFjZSBCdXR0b25TaWduYXR1cmUge1xuICBFbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudCB8IEhUTUxBbmNob3JFbGVtZW50IHwgSFRNTFNwYW5FbGVtZW50O1xuICBBcmdzOiB7XG4gICAgcHVzaD86IENvbW1hbmRBY3Rpb247XG4gICAgaW50ZW50PzogSW50ZW50IHwgSW50ZW50cztcbiAgICBpbXBvcnRhbmNlPzogSW1wb3J0YW5jZSB8IEltcG9ydGFuY2VzO1xuICAgIHNwYWNpbmc_OiBTcGFjaW5nIHwgU3BhY2luZ3M7XG4gICAgZGlzYWJsZWQ_OiBib29sZWFuO1xuICB9O1xuICBCbG9ja3M6IHtcbiAgICAvKiogVGhlIGxhYmVsIGZvciB0aGUgYnV0dG9uICovXG4gICAgZGVmYXVsdDogW107XG5cbiAgICAvKiogVGhlIGxhYmVsIGZvciB0aGUgYnV0dG9uICovXG4gICAgbGFiZWw6IFtdO1xuXG4gICAgLyoqIEEgc2xvdCBpbiBmcm9udCBvZiB0aGUgbGFiZWwgKi9cbiAgICBiZWZvcmU6IFtdO1xuXG4gICAgLyoqIEEgc2xvdCBhZnRlciB0aGUgbGFiZWwgKi9cbiAgICBhZnRlcjogW107XG4gIH07XG59XG5cbmNvbnN0IEJ1dHRvbjogVE9DPEJ1dHRvblNpZ25hdHVyZT4gPSA8dGVtcGxhdGU-XG4gIDxDb21tYW5kRWxlbWVudFxuICAgIEBlbGVtZW50PXt7ZWxlbWVudCBcImJ1dHRvblwifX1cbiAgICBAY29tbWFuZD17e0BwdXNofX1cbiAgICBjbGFzcz1cInt7c3R5bGVzLmJ1dHRvbn19XCJcbiAgICB0eXBlPXt7aWYgKG5vdCAoaXNMaW5rIEBwdXNoKSkgXCJidXR0b25cIn19XG4gICAgZGF0YS1pbnRlbnQ9e3tpZiBAaW50ZW50IEBpbnRlbnQgXCJhY3Rpb25cIn19XG4gICAgZGF0YS1pbXBvcnRhbmNlPXt7aWYgQGltcG9ydGFuY2UgQGltcG9ydGFuY2UgXCJzdXByZW1lXCJ9fVxuICAgIGRhdGEtc3BhY2luZz17e0BzcGFjaW5nfX1cbiAgICB7e2Rpc2FibGVkIHdoZW49KGlmIEBkaXNhYmxlZCBAZGlzYWJsZWQgZmFsc2UpfX1cbiAgICBkYXRhLXRlc3QtYnV0dG9uXG4gICAgLi4uYXR0cmlidXRlc1xuICA-XG4gICAge3sjaWYgKGhhcy1ibG9jayBcImJlZm9yZVwiKX19XG4gICAgICA8c3BhbiBkYXRhLXRlc3QtYnV0dG9uPVwiYmVmb3JlXCI-XG4gICAgICAgIHt7eWllbGQgdG89XCJiZWZvcmVcIn19XG4gICAgICA8L3NwYW4-XG4gICAge3svaWZ9fVxuXG4gICAgPHNwYW4gZGF0YS10ZXN0LWJ1dHRvbj1cImxhYmVsXCI-XG4gICAgICB7eyNpZiAoaGFzLWJsb2NrIFwibGFiZWxcIil9fVxuICAgICAgICB7e3lpZWxkIHRvPVwibGFiZWxcIn19XG4gICAgICB7ey9pZn19XG5cbiAgICAgIHt7I2lmIChoYXMtYmxvY2spfX1cbiAgICAgICAge3t5aWVsZH19XG4gICAgICB7ey9pZn19XG4gICAgPC9zcGFuPlxuXG4gICAge3sjaWYgKGhhcy1ibG9jayBcImFmdGVyXCIpfX1cbiAgICAgIDxzcGFuIGRhdGEtdGVzdC1idXR0b249XCJhZnRlclwiPlxuICAgICAgICB7e3lpZWxkIHRvPVwiYWZ0ZXJcIn19XG4gICAgICA8L3NwYW4-XG4gICAge3svaWZ9fVxuICA8L0NvbW1hbmRFbGVtZW50PlxuPC90ZW1wbGF0ZT47XG5cbmV4cG9ydCBkZWZhdWx0IEJ1dHRvbjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUyxjQUFjLFFBQVEsZ0JBQWdCO0FBQy9DLFNBQVMsT0FBTyxRQUFRLHVCQUF1QjtBQUUvQyxPQUFPLFlBQVksbUNBQW1DO0FBRXRELFNBQVMsR0FBRyxRQUFRLHNCQUFzQjtBQUMxQyxPQUFPLGNBQWMsaUNBQWlDO0FBQ3RELFNBQVMsTUFBTSxRQUFRLFlBQVk7QUFFbkMsY0FBYyxHQUFHLFFBQVEsaUNBQWlDO0FBQzFELGNBQWMsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLFFBQVEsa0JBQWtCO0FBQ25HLGNBQWMsYUFBYSxRQUFRLGdCQUFnQjtBQUVuRCxpQkFBaUI7SUFDZixTQUFTLG9CQUFvQixvQkFBb0I7SUFDakQ7UUFDRSxPQUFPO1FBQ1AsU0FBUyxTQUFTO1FBQ2xCLGFBQWEsYUFBYTtRQUMxQixVQUFVLFVBQVU7UUFDcEIsV0FBVyxPQUFPOztJQUVwQjtRQUNFLDZCQUE2QixHQUM3QjtRQUVBLDZCQUE2QixHQUM3QjtRQUVBLGlDQUFpQyxHQUNqQztRQUVBLDJCQUEyQixHQUMzQjs7O0FBSUosTUFBTSxRQUFRLElBQUksbUJBQW1CLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQy9DLENBQUEsRUFBQTtJQUFBO1FBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO0lBQUQ7QUFBQTtBQUVWLGVBQWUsT0FBTyJ9"],"names":["Button","setComponentTemplate","precompileTemplate","scope","CommandElement","element","styles","not","isLink","disabled","strictMode","templateOnly"],"mappings":";;;;;;;;;;AAqCA,MAAMA,MAAY,GAAAC,oBAAA,CAAmBC,kBAAA,CAmCrC,y1BAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,cAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,GAAA;IAAAC,MAAA;AAAAC,IAAAA,QAAAA;AAAA,GAAA,CAAA;EAAAC,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"button.js","sources":["../../src/components/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\nconst 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\nexport default Button;\n"],"names":["Button","setComponentTemplate","precompileTemplate","strictMode","scope","CommandElement","element","styles","not","isLink","disabled","templateOnly"],"mappings":";;;;;;;;;;AAqCA,MAAMA,MAAY,GAAAC,oBAAA,CAAmBC,kBAAA,CAAA,y1BAAA,EAmCrC;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,15 +1,15 @@
1
1
  import styles from '@hokulea/core/content.module.css';
2
- import { o as or } from '../helpers-DApiJrHl.js';
2
+ import { o as or } from '../helpers-DS9du02l.js';
3
3
  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
7
  const Card = setComponentTemplate(precompileTemplate("\n <div class={{styles.card}} ...attributes>\n {{#if (has-block \"header\")}}\n <div class={{styles.header}} part=\"header\">\n {{yield to=\"header\"}}\n </div>\n {{/if}}\n\n {{#if (or (has-block \"body\") (has-block))}}\n <div class={{styles.body}} 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 class={{styles.footer}} part=\"footer\">\n {{yield to=\"footer\"}}\n </div>\n {{/if}}\n </div>\n", {
8
+ strictMode: true,
8
9
  scope: () => ({
9
10
  styles,
10
11
  or
11
- }),
12
- strictMode: true
12
+ })
13
13
  }), templateOnly());
14
14
 
15
15
  export { Card as default };
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sources":["../../src/components/card.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport styles from '@hokulea/core/content.module.css';\nimport { or } from '../-private/helpers';\nimport type { TOC } from '@ember/component/template-only';\nexport interface CardSignature {\n Element: HTMLDivElement;\n Blocks: {\n header?: [];\n footer?: [];\n body?: [];\n default?: [];\n };\n}\nconst Card: TOC<CardSignature> = template(`\n <div class={{styles.card}} ...attributes>\n {{#if (has-block \"header\")}}\n <div class={{styles.header}} part=\"header\">\n {{yield to=\"header\"}}\n </div>\n {{/if}}\n\n {{#if (or (has-block \"body\") (has-block))}}\n <div class={{styles.body}} 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 class={{styles.footer}} part=\"footer\">\n {{yield to=\"footer\"}}\n </div>\n {{/if}}\n </div>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default Card;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL2NhcmQuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZXMgZnJvbSAnQGhva3VsZWEvY29yZS9jb250ZW50Lm1vZHVsZS5jc3MnO1xuXG5pbXBvcnQgeyBvciB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMnO1xuXG5pbXBvcnQgdHlwZSB7IFRPQyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQvdGVtcGxhdGUtb25seSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FyZFNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xuICBCbG9ja3M6IHtcbiAgICBoZWFkZXI_OiBbXTtcbiAgICBmb290ZXI_OiBbXTtcbiAgICBib2R5PzogW107XG4gICAgZGVmYXVsdD86IFtdO1xuICB9O1xufVxuXG5jb25zdCBDYXJkOiBUT0M8Q2FyZFNpZ25hdHVyZT4gPSA8dGVtcGxhdGU-XG4gIDxkaXYgY2xhc3M9e3tzdHlsZXMuY2FyZH19IC4uLmF0dHJpYnV0ZXM-XG4gICAge3sjaWYgKGhhcy1ibG9jayBcImhlYWRlclwiKX19XG4gICAgICA8ZGl2IGNsYXNzPXt7c3R5bGVzLmhlYWRlcn19IHBhcnQ9XCJoZWFkZXJcIj5cbiAgICAgICAge3t5aWVsZCB0bz1cImhlYWRlclwifX1cbiAgICAgIDwvZGl2PlxuICAgIHt7L2lmfX1cblxuICAgIHt7I2lmIChvciAoaGFzLWJsb2NrIFwiYm9keVwiKSAoaGFzLWJsb2NrKSl9fVxuICAgICAgPGRpdiBjbGFzcz17e3N0eWxlcy5ib2R5fX0gcGFydD1cImJvZHlcIj5cbiAgICAgICAge3sjaWYgKGhhcy1ibG9jayBcImJvZHlcIil9fVxuICAgICAgICAgIHt7eWllbGQgdG89XCJib2R5XCJ9fVxuICAgICAgICB7e2Vsc2UgaWYgKGhhcy1ibG9jayl9fVxuICAgICAgICAgIHt7eWllbGR9fVxuICAgICAgICB7ey9pZn19XG4gICAgICA8L2Rpdj5cbiAgICB7ey9pZn19XG5cbiAgICB7eyNpZiAoaGFzLWJsb2NrIFwiZm9vdGVyXCIpfX1cbiAgICAgIDxkaXYgY2xhc3M9e3tzdHlsZXMuZm9vdGVyfX0gcGFydD1cImZvb3RlclwiPlxuICAgICAgICB7e3lpZWxkIHRvPVwiZm9vdGVyXCJ9fVxuICAgICAgPC9kaXY-XG4gICAge3svaWZ9fVxuICA8L2Rpdj5cbjwvdGVtcGxhdGU-O1xuXG5leHBvcnQgZGVmYXVsdCBDYXJkO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLFlBQVksbUNBQW1DO0FBRXRELFNBQVMsRUFBRSxRQUFRLHNCQUFzQjtBQUV6QyxjQUFjLEdBQUcsUUFBUSxpQ0FBaUM7QUFFMUQsaUJBQWlCO0lBQ2YsU0FBUztJQUNUO1FBQ0U7UUFDQTtRQUNBO1FBQ0E7OztBQUlKLE1BQU0sTUFBTSxJQUFJLGlCQUFpQixTQUFVLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCM0MsQ0FBQSxFQUFBO0lBQUE7UUFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7SUFBRDtBQUFBO0FBRVYsZUFBZSxLQUFLIn0"],"names":["Card","setComponentTemplate","precompileTemplate","scope","styles","or","strictMode","templateOnly"],"mappings":";;;;;;AAgBA,MAAMA,IAAU,GAAAC,oBAAA,CAAiBC,kBAAA,CAwBjC,snBAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;AAAAC,IAAAA,EAAAA;AAAA,GAAA,CAAA;EAAAC,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"card.js","sources":["../../src/components/card.gts"],"sourcesContent":["import styles from '@hokulea/core/content.module.css';\n\nimport { 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\nconst Card: TOC<CardSignature> = <template>\n <div class={{styles.card}} ...attributes>\n {{#if (has-block \"header\")}}\n <div class={{styles.header}} part=\"header\">\n {{yield to=\"header\"}}\n </div>\n {{/if}}\n\n {{#if (or (has-block \"body\") (has-block))}}\n <div class={{styles.body}} 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 class={{styles.footer}} part=\"footer\">\n {{yield to=\"footer\"}}\n </div>\n {{/if}}\n </div>\n</template>;\n\nexport default Card;\n"],"names":["Card","setComponentTemplate","precompileTemplate","strictMode","scope","styles","or","templateOnly"],"mappings":";;;;;;AAgBA,MAAMA,IAAU,GAAAC,oBAAA,CAAiBC,kBAAA,CAAA,snBAAA,EAwBjC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1,17 +1,17 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-DS9du02l.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
7
7
 
8
8
  const Checkbox = setComponentTemplate(precompileTemplate("\n <input class={{styles.choice}} type=\"checkbox\" checked={{@value}} disabled={{@disabled}} data-test-choice ...attributes {{on \"input\" (pick \"target.checked\" @update)}} />\n", {
9
+ strictMode: true,
9
10
  scope: () => ({
10
11
  styles,
11
12
  on,
12
13
  pick
13
- }),
14
- strictMode: true
14
+ })
15
15
  }), templateOnly());
16
16
 
17
17
  export { Checkbox as default };
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sources":["../../src/components/checkbox.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { on } from '@ember/modifier';\nimport styles from '@hokulea/core/controls.module.css';\nimport { pick } from '../-private/helpers';\nimport type { InputArgs } from './-input';\nimport type { TOC } from '@ember/component/template-only';\nexport interface CheckboxSignature {\n Element: HTMLInputElement;\n Args: InputArgs<boolean>;\n}\nconst Checkbox: TOC<CheckboxSignature> = template(`\n <input\n class={{styles.choice}}\n type=\"checkbox\"\n checked={{@value}}\n disabled={{@disabled}}\n data-test-choice\n ...attributes\n {{on \"input\" (pick \"target.checked\" @update)}}\n />\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default Checkbox;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL2NoZWNrYm94Lmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBvbiB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSAnQGhva3VsZWEvY29yZS9jb250cm9scy5tb2R1bGUuY3NzJztcblxuaW1wb3J0IHsgcGljayB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMnO1xuXG5pbXBvcnQgdHlwZSB7IElucHV0QXJncyB9IGZyb20gJy4vLWlucHV0JztcbmltcG9ydCB0eXBlIHsgVE9DIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5JztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVja2JveFNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIEFyZ3M6IElucHV0QXJnczxib29sZWFuPjtcbn1cblxuY29uc3QgQ2hlY2tib3g6IFRPQzxDaGVja2JveFNpZ25hdHVyZT4gPSA8dGVtcGxhdGU-XG4gIDxpbnB1dFxuICAgIGNsYXNzPXt7c3R5bGVzLmNob2ljZX19XG4gICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICBjaGVja2VkPXt7QHZhbHVlfX1cbiAgICBkaXNhYmxlZD17e0BkaXNhYmxlZH19XG4gICAgZGF0YS10ZXN0LWNob2ljZVxuICAgIC4uLmF0dHJpYnV0ZXNcbiAgICB7e29uIFwiaW5wdXRcIiAocGljayBcInRhcmdldC5jaGVja2VkXCIgQHVwZGF0ZSl9fVxuICAvPlxuPC90ZW1wbGF0ZT47XG5cbmV4cG9ydCBkZWZhdWx0IENoZWNrYm94O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTLEVBQUUsUUFBUSxrQkFBa0I7QUFFckMsT0FBTyxZQUFZLG9DQUFvQztBQUV2RCxTQUFTLElBQUksUUFBUSxzQkFBc0I7QUFFM0MsY0FBYyxTQUFTLFFBQVEsV0FBVztBQUMxQyxjQUFjLEdBQUcsUUFBUSxpQ0FBaUM7QUFFMUQsaUJBQWlCO0lBQ2YsU0FBUztJQUNULE1BQU0sVUFBVSxPQUFPOztBQUd6QixNQUFNLFVBQVUsSUFBSSxxQkFBcUIsU0FBVSxDQUFBOzs7Ozs7Ozs7O0FBVW5ELENBQUEsRUFBQTtJQUFBO1FBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO0lBQUQ7QUFBQTtBQUVWLGVBQWUsU0FBUyJ9"],"names":["Checkbox","setComponentTemplate","precompileTemplate","scope","styles","on","pick","strictMode","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,QAAc,GAAAC,oBAAA,CAAqBC,kBAAA,CAUzC,uLAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA,IAAAA;AAAA,GAAA,CAAA;EAAAC,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"checkbox.js","sources":["../../src/components/checkbox.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 CheckboxSignature {\n Element: HTMLInputElement;\n Args: InputArgs<boolean>;\n}\n\nconst Checkbox: TOC<CheckboxSignature> = <template>\n <input\n class={{styles.choice}}\n type=\"checkbox\"\n checked={{@value}}\n disabled={{@disabled}}\n data-test-choice\n ...attributes\n {{on \"input\" (pick \"target.checked\" @update)}}\n />\n</template>;\n\nexport default Checkbox;\n"],"names":["Checkbox","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,QAAc,GAAAC,oBAAA,CAAqBC,kBAAA,CAAA,uLAAA,EAUzC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-DS9du02l.js';
4
4
  import { p as pickAsNumber } from '../-input-DGR-n9U_.js';
5
5
  import TextInput from './input-builder.js';
6
6
  import { precompileTemplate } from '@ember/template-compilation';
@@ -8,14 +8,14 @@ import { setComponentTemplate } from '@ember/component';
8
8
  import templateOnly from '@ember/component/template-only';
9
9
 
10
10
  const CurrencyInput = setComponentTemplate(precompileTemplate("\n <InputBuilder @disabled={{@disabled}} as |b|>\n <input class=\"{{styles.input}} {{styles.currency}}\" type=\"text\" inputmode=\"decimal\" value={{@value}} disabled={{@disabled}} data-test-input ...attributes {{on \"input\" (pick \"target.value\" (pickAsNumber @update))}} />\n <b.Affix>\u20AC</b.Affix>\n </InputBuilder>\n", {
11
+ strictMode: true,
11
12
  scope: () => ({
12
13
  InputBuilder: TextInput,
13
14
  styles,
14
15
  on,
15
16
  pick,
16
17
  pickAsNumber
17
- }),
18
- strictMode: true
18
+ })
19
19
  }), templateOnly());
20
20
 
21
21
  export { CurrencyInput as default };
@@ -1 +1 @@
1
- {"version":3,"file":"currency-input.js","sources":["../../src/components/currency-input.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { on } from '@ember/modifier';\nimport styles from '@hokulea/core/controls.module.css';\nimport { pick } from '../-private/helpers';\nimport { pickAsNumber } from './-input';\nimport InputBuilder from './input-builder';\nimport type { InputArgs } from './-input';\nimport type { TOC } from '@ember/component/template-only';\nexport interface CurrencyInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<number>;\n}\nconst 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 ...attributes\n {{on \"input\" (pick \"target.value\" (pickAsNumber @update))}}\n />\n <b.Affix>€</b.Affix>\n </InputBuilder>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default CurrencyInput;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL2N1cnJlbmN5LWlucHV0Lmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBvbiB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSAnQGhva3VsZWEvY29yZS9jb250cm9scy5tb2R1bGUuY3NzJztcblxuaW1wb3J0IHsgcGljayB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMnO1xuaW1wb3J0IHsgcGlja0FzTnVtYmVyIH0gZnJvbSAnLi8taW5wdXQnO1xuaW1wb3J0IElucHV0QnVpbGRlciBmcm9tICcuL2lucHV0LWJ1aWxkZXInO1xuXG5pbXBvcnQgdHlwZSB7IElucHV0QXJncyB9IGZyb20gJy4vLWlucHV0JztcbmltcG9ydCB0eXBlIHsgVE9DIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5JztcblxuZXhwb3J0IGludGVyZmFjZSBDdXJyZW5jeUlucHV0U2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcbiAgQXJnczogSW5wdXRBcmdzPG51bWJlcj47XG59XG5cbmNvbnN0IEN1cnJlbmN5SW5wdXQ6IFRPQzxDdXJyZW5jeUlucHV0U2lnbmF0dXJlPiA9IDx0ZW1wbGF0ZT5cbiAgPElucHV0QnVpbGRlciBAZGlzYWJsZWQ9e3tAZGlzYWJsZWR9fSBhcyB8Ynw-XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cInt7c3R5bGVzLmlucHV0fX0ge3tzdHlsZXMuY3VycmVuY3l9fVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBpbnB1dG1vZGU9XCJkZWNpbWFsXCJcbiAgICAgIHZhbHVlPXt7QHZhbHVlfX1cbiAgICAgIGRpc2FibGVkPXt7QGRpc2FibGVkfX1cbiAgICAgIGRhdGEtdGVzdC1pbnB1dFxuICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAge3tvbiBcImlucHV0XCIgKHBpY2sgXCJ0YXJnZXQudmFsdWVcIiAocGlja0FzTnVtYmVyIEB1cGRhdGUpKX19XG4gICAgLz5cbiAgICA8Yi5BZmZpeD7igqw8L2IuQWZmaXg-XG4gIDwvSW5wdXRCdWlsZGVyPlxuPC90ZW1wbGF0ZT47XG5cbmV4cG9ydCBkZWZhdWx0IEN1cnJlbmN5SW5wdXQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVMsRUFBRSxRQUFRLGtCQUFrQjtBQUVyQyxPQUFPLFlBQVksb0NBQW9DO0FBRXZELFNBQVMsSUFBSSxRQUFRLHNCQUFzQjtBQUMzQyxTQUFTLFlBQVksUUFBUSxXQUFXO0FBQ3hDLE9BQU8sa0JBQWtCLGtCQUFrQjtBQUUzQyxjQUFjLFNBQVMsUUFBUSxXQUFXO0FBQzFDLGNBQWMsR0FBRyxRQUFRLGlDQUFpQztBQUUxRCxpQkFBaUI7SUFDZixTQUFTO0lBQ1QsTUFBTSxVQUFVLE1BQU07O0FBR3hCLE1BQU0sZUFBZSxJQUFJLDBCQUEwQixTQUFVLENBQUE7Ozs7Ozs7Ozs7Ozs7O0FBYzdELENBQUEsRUFBQTtJQUFBO1FBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO0lBQUQ7QUFBQTtBQUVWLGVBQWUsY0FBYyJ9"],"names":["CurrencyInput","setComponentTemplate","precompileTemplate","scope","InputBuilder","styles","on","pick","pickAsNumber","strictMode","templateOnly"],"mappings":";;;;;;;;;AAgBA,MAAMA,aAAmB,GAAAC,oBAAA,CAA0BC,kBAAA,CAcnD,+UAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;kBAAAC,SAAA;IAAAC,MAAA;IAAAC,EAAA;IAAAC,IAAA;AAAAC,IAAAA,YAAAA;AAAA,GAAA,CAAA;EAAAC,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"currency-input.js","sources":["../../src/components/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\nconst 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 ...attributes\n {{on \"input\" (pick \"target.value\" (pickAsNumber @update))}}\n />\n <b.Affix>€</b.Affix>\n </InputBuilder>\n</template>;\n\nexport default CurrencyInput;\n"],"names":["CurrencyInput","setComponentTemplate","precompileTemplate","strictMode","scope","InputBuilder","styles","on","pick","pickAsNumber","templateOnly"],"mappings":";;;;;;;;;AAgBA,MAAMA,aAAmB,GAAAC,oBAAA,CAA0BC,kBAAA,CAAA,+UAAA,EAcnD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;kBAAAC,SAAA;IAAAC,MAAA;IAAAC,EAAA;IAAAC,IAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1,17 +1,17 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-DS9du02l.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
7
7
 
8
8
  const DateInput = setComponentTemplate(precompileTemplate("\n <input class={{styles.input}} type=\"date\" value={{@value}} disabled={{@disabled}} data-test-input ...attributes {{on \"input\" (pick \"target.value\" @update)}} />\n", {
9
+ strictMode: true,
9
10
  scope: () => ({
10
11
  styles,
11
12
  on,
12
13
  pick
13
- }),
14
- strictMode: true
14
+ })
15
15
  }), templateOnly());
16
16
 
17
17
  export { DateInput as default };
@@ -1 +1 @@
1
- {"version":3,"file":"date-input.js","sources":["../../src/components/date-input.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { on } from '@ember/modifier';\nimport styles from '@hokulea/core/controls.module.css';\nimport { pick } from '../-private/helpers';\nimport type { InputArgs } from './-input';\nimport type { TOC } from '@ember/component/template-only';\nexport interface DateInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\nconst DateInput: TOC<DateInputSignature> = template(`\n <input\n class={{styles.input}}\n type=\"date\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n ...attributes\n {{on \"input\" (pick \"target.value\" @update)}}\n />\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default DateInput;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL2RhdGUtaW5wdXQuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcblxuaW1wb3J0IHN0eWxlcyBmcm9tICdAaG9rdWxlYS9jb3JlL2NvbnRyb2xzLm1vZHVsZS5jc3MnO1xuXG5pbXBvcnQgeyBwaWNrIH0gZnJvbSAnLi4vLXByaXZhdGUvaGVscGVycyc7XG5cbmltcG9ydCB0eXBlIHsgSW5wdXRBcmdzIH0gZnJvbSAnLi8taW5wdXQnO1xuaW1wb3J0IHR5cGUgeyBUT0MgfSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGVJbnB1dFNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIEFyZ3M6IElucHV0QXJnczxzdHJpbmc-O1xufVxuXG5jb25zdCBEYXRlSW5wdXQ6IFRPQzxEYXRlSW5wdXRTaWduYXR1cmU-ID0gPHRlbXBsYXRlPlxuICA8aW5wdXRcbiAgICBjbGFzcz17e3N0eWxlcy5pbnB1dH19XG4gICAgdHlwZT1cImRhdGVcIlxuICAgIHZhbHVlPXt7QHZhbHVlfX1cbiAgICBkaXNhYmxlZD17e0BkaXNhYmxlZH19XG4gICAgZGF0YS10ZXN0LWlucHV0XG4gICAgLi4uYXR0cmlidXRlc1xuICAgIHt7b24gXCJpbnB1dFwiIChwaWNrIFwidGFyZ2V0LnZhbHVlXCIgQHVwZGF0ZSl9fVxuICAvPlxuPC90ZW1wbGF0ZT47XG5cbmV4cG9ydCBkZWZhdWx0IERhdGVJbnB1dDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUyxFQUFFLFFBQVEsa0JBQWtCO0FBRXJDLE9BQU8sWUFBWSxvQ0FBb0M7QUFFdkQsU0FBUyxJQUFJLFFBQVEsc0JBQXNCO0FBRTNDLGNBQWMsU0FBUyxRQUFRLFdBQVc7QUFDMUMsY0FBYyxHQUFHLFFBQVEsaUNBQWlDO0FBRTFELGlCQUFpQjtJQUNmLFNBQVM7SUFDVCxNQUFNLFVBQVUsTUFBTTs7QUFHeEIsTUFBTSxXQUFXLElBQUksc0JBQXNCLFNBQVUsQ0FBQTs7Ozs7Ozs7OztBQVVyRCxDQUFBLEVBQUE7SUFBQTtRQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztJQUFEO0FBQUE7QUFFVixlQUFlLFVBQVUifQ"],"names":["DateInput","setComponentTemplate","precompileTemplate","scope","styles","on","pick","strictMode","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,SAAe,GAAAC,oBAAA,CAAsBC,kBAAA,CAU3C,6KAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA,IAAAA;AAAA,GAAA,CAAA;EAAAC,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"date-input.js","sources":["../../src/components/date-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 DateInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\n\nconst DateInput: TOC<DateInputSignature> = <template>\n <input\n class={{styles.input}}\n type=\"date\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n ...attributes\n {{on \"input\" (pick \"target.value\" @update)}}\n />\n</template>;\n\nexport default DateInput;\n"],"names":["DateInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,SAAe,GAAAC,oBAAA,CAAsBC,kBAAA,CAAA,6KAAA,EAU3C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1,17 +1,17 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-DS9du02l.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
7
7
 
8
8
  const EmailInput = setComponentTemplate(precompileTemplate("\n <input class={{styles.input}} type=\"email\" value={{@value}} disabled={{@disabled}} data-test-input ...attributes {{on \"input\" (pick \"target.value\" @update)}} />\n", {
9
+ strictMode: true,
9
10
  scope: () => ({
10
11
  styles,
11
12
  on,
12
13
  pick
13
- }),
14
- strictMode: true
14
+ })
15
15
  }), templateOnly());
16
16
 
17
17
  export { EmailInput as default };
@@ -1 +1 @@
1
- {"version":3,"file":"email-input.js","sources":["../../src/components/email-input.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { on } from '@ember/modifier';\nimport styles from '@hokulea/core/controls.module.css';\nimport { pick } from '../-private/helpers';\nimport type { InputArgs } from './-input';\nimport type { TOC } from '@ember/component/template-only';\nexport interface EmailInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\nconst EmailInput: TOC<EmailInputSignature> = template(`\n <input\n class={{styles.input}}\n type=\"email\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n ...attributes\n {{on \"input\" (pick \"target.value\" @update)}}\n />\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default EmailInput;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL2VtYWlsLWlucHV0Lmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBvbiB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XG5cbmltcG9ydCBzdHlsZXMgZnJvbSAnQGhva3VsZWEvY29yZS9jb250cm9scy5tb2R1bGUuY3NzJztcblxuaW1wb3J0IHsgcGljayB9IGZyb20gJy4uLy1wcml2YXRlL2hlbHBlcnMnO1xuXG5pbXBvcnQgdHlwZSB7IElucHV0QXJncyB9IGZyb20gJy4vLWlucHV0JztcbmltcG9ydCB0eXBlIHsgVE9DIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5JztcblxuZXhwb3J0IGludGVyZmFjZSBFbWFpbElucHV0U2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcbiAgQXJnczogSW5wdXRBcmdzPHN0cmluZz47XG59XG5cbmNvbnN0IEVtYWlsSW5wdXQ6IFRPQzxFbWFpbElucHV0U2lnbmF0dXJlPiA9IDx0ZW1wbGF0ZT5cbiAgPGlucHV0XG4gICAgY2xhc3M9e3tzdHlsZXMuaW5wdXR9fVxuICAgIHR5cGU9XCJlbWFpbFwiXG4gICAgdmFsdWU9e3tAdmFsdWV9fVxuICAgIGRpc2FibGVkPXt7QGRpc2FibGVkfX1cbiAgICBkYXRhLXRlc3QtaW5wdXRcbiAgICAuLi5hdHRyaWJ1dGVzXG4gICAge3tvbiBcImlucHV0XCIgKHBpY2sgXCJ0YXJnZXQudmFsdWVcIiBAdXBkYXRlKX19XG4gIC8-XG48L3RlbXBsYXRlPjtcblxuZXhwb3J0IGRlZmF1bHQgRW1haWxJbnB1dDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUyxFQUFFLFFBQVEsa0JBQWtCO0FBRXJDLE9BQU8sWUFBWSxvQ0FBb0M7QUFFdkQsU0FBUyxJQUFJLFFBQVEsc0JBQXNCO0FBRTNDLGNBQWMsU0FBUyxRQUFRLFdBQVc7QUFDMUMsY0FBYyxHQUFHLFFBQVEsaUNBQWlDO0FBRTFELGlCQUFpQjtJQUNmLFNBQVM7SUFDVCxNQUFNLFVBQVUsTUFBTTs7QUFHeEIsTUFBTSxZQUFZLElBQUksdUJBQXVCLFNBQVUsQ0FBQTs7Ozs7Ozs7OztBQVV2RCxDQUFBLEVBQUE7SUFBQTtRQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztJQUFEO0FBQUE7QUFFVixlQUFlLFdBQVcifQ"],"names":["EmailInput","setComponentTemplate","precompileTemplate","scope","styles","on","pick","strictMode","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,UAAgB,GAAAC,oBAAA,CAAuBC,kBAAA,CAU7C,8KAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA,IAAAA;AAAA,GAAA,CAAA;EAAAC,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"email-input.js","sources":["../../src/components/email-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 EmailInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\n\nconst EmailInput: TOC<EmailInputSignature> = <template>\n <input\n class={{styles.input}}\n type=\"email\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n ...attributes\n {{on \"input\" (pick \"target.value\" @update)}}\n />\n</template>;\n\nexport default EmailInput;\n"],"names":["EmailInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,UAAgB,GAAAC,oBAAA,CAAuBC,kBAAA,CAAA,8KAAA,EAU7C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}