@hokulea/ember 0.8.0 → 0.9.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 (333) hide show
  1. package/declarations/-private/stories.d.ts +2 -0
  2. package/declarations/-private/stories.d.ts.map +1 -1
  3. package/declarations/components/actions/-button.d.ts.map +1 -0
  4. package/declarations/components/actions/button.gts.d.ts +25 -0
  5. package/declarations/components/actions/button.gts.d.ts.map +1 -0
  6. package/declarations/components/actions/icon-button.gts.d.ts +26 -0
  7. package/declarations/components/actions/icon-button.gts.d.ts.map +1 -0
  8. package/declarations/components/app-header.gts.d.ts +1 -48
  9. package/declarations/components/app-header.gts.d.ts.map +1 -1
  10. package/declarations/components/box.gts.d.ts +1 -15
  11. package/declarations/components/box.gts.d.ts.map +1 -1
  12. package/declarations/components/button.gts.d.ts +1 -25
  13. package/declarations/components/button.gts.d.ts.map +1 -1
  14. package/declarations/components/card.gts.d.ts +1 -12
  15. package/declarations/components/card.gts.d.ts.map +1 -1
  16. package/declarations/components/checkbox.gts.d.ts +1 -8
  17. package/declarations/components/checkbox.gts.d.ts.map +1 -1
  18. package/declarations/components/content/box.gts.d.ts +16 -0
  19. package/declarations/components/content/box.gts.d.ts.map +1 -0
  20. package/declarations/components/content/card.gts.d.ts +12 -0
  21. package/declarations/components/content/card.gts.d.ts.map +1 -0
  22. package/declarations/components/content/section.gts.d.ts +18 -0
  23. package/declarations/components/content/section.gts.d.ts.map +1 -0
  24. package/declarations/components/controls/-input.d.ts.map +1 -0
  25. package/declarations/components/controls/-menu.d.ts.map +1 -0
  26. package/declarations/components/controls/checkbox.gts.d.ts +8 -0
  27. package/declarations/components/controls/checkbox.gts.d.ts.map +1 -0
  28. package/declarations/components/controls/currency-input.gts.d.ts +8 -0
  29. package/declarations/components/controls/currency-input.gts.d.ts.map +1 -0
  30. package/declarations/components/controls/date-input.gts.d.ts +8 -0
  31. package/declarations/components/controls/date-input.gts.d.ts.map +1 -0
  32. package/declarations/components/controls/email-input.gts.d.ts +8 -0
  33. package/declarations/components/controls/email-input.gts.d.ts.map +1 -0
  34. package/declarations/components/controls/input-builder.gts.d.ts +29 -0
  35. package/declarations/components/controls/input-builder.gts.d.ts.map +1 -0
  36. package/declarations/components/controls/list.gts.d.ts +51 -0
  37. package/declarations/components/controls/list.gts.d.ts.map +1 -0
  38. package/declarations/components/controls/menu.gts.d.ts +39 -0
  39. package/declarations/components/controls/menu.gts.d.ts.map +1 -0
  40. package/declarations/components/controls/number-input.gts.d.ts +8 -0
  41. package/declarations/components/controls/number-input.gts.d.ts.map +1 -0
  42. package/declarations/components/controls/password-input.gts.d.ts +8 -0
  43. package/declarations/components/controls/password-input.gts.d.ts.map +1 -0
  44. package/declarations/components/controls/phone-input.gts.d.ts +8 -0
  45. package/declarations/components/controls/phone-input.gts.d.ts.map +1 -0
  46. package/declarations/components/controls/radio.gts.d.ts +8 -0
  47. package/declarations/components/controls/radio.gts.d.ts.map +1 -0
  48. package/declarations/components/controls/range-input.gts.d.ts +13 -0
  49. package/declarations/components/controls/range-input.gts.d.ts.map +1 -0
  50. package/declarations/components/controls/select.gts.d.ts +36 -0
  51. package/declarations/components/controls/select.gts.d.ts.map +1 -0
  52. package/declarations/components/controls/tabs.gts.d.ts +61 -0
  53. package/declarations/components/controls/tabs.gts.d.ts.map +1 -0
  54. package/declarations/components/controls/text-area.gts.d.ts +8 -0
  55. package/declarations/components/controls/text-area.gts.d.ts.map +1 -0
  56. package/declarations/components/controls/text-input.gts.d.ts +8 -0
  57. package/declarations/components/controls/text-input.gts.d.ts.map +1 -0
  58. package/declarations/components/currency-input.gts.d.ts +1 -8
  59. package/declarations/components/currency-input.gts.d.ts.map +1 -1
  60. package/declarations/components/date-input.gts.d.ts +1 -8
  61. package/declarations/components/date-input.gts.d.ts.map +1 -1
  62. package/declarations/components/email-input.gts.d.ts +1 -8
  63. package/declarations/components/email-input.gts.d.ts.map +1 -1
  64. package/declarations/components/focus-page.gts.d.ts +2 -0
  65. package/declarations/components/focus-page.gts.d.ts.map +1 -0
  66. package/declarations/components/form/description.gts.d.ts +1 -2
  67. package/declarations/components/form/description.gts.d.ts.map +1 -1
  68. package/declarations/components/form/errors.gts.d.ts +1 -2
  69. package/declarations/components/form/errors.gts.d.ts.map +1 -1
  70. package/declarations/components/form/field.gts.d.ts +2 -2
  71. package/declarations/components/form/field.gts.d.ts.map +1 -1
  72. package/declarations/components/form/fields/checkbox.gts.d.ts +2 -2
  73. package/declarations/components/form/fields/checkbox.gts.d.ts.map +1 -1
  74. package/declarations/components/form/fields/currency.gts.d.ts +2 -2
  75. package/declarations/components/form/fields/currency.gts.d.ts.map +1 -1
  76. package/declarations/components/form/fields/date.gts.d.ts +2 -2
  77. package/declarations/components/form/fields/date.gts.d.ts.map +1 -1
  78. package/declarations/components/form/fields/email.gts.d.ts +2 -2
  79. package/declarations/components/form/fields/email.gts.d.ts.map +1 -1
  80. package/declarations/components/form/fields/list.gts.d.ts +3 -3
  81. package/declarations/components/form/fields/list.gts.d.ts.map +1 -1
  82. package/declarations/components/form/fields/multiple-choice.gts.d.ts +2 -2
  83. package/declarations/components/form/fields/multiple-choice.gts.d.ts.map +1 -1
  84. package/declarations/components/form/fields/number.gts.d.ts +2 -2
  85. package/declarations/components/form/fields/number.gts.d.ts.map +1 -1
  86. package/declarations/components/form/fields/password.gts.d.ts +2 -2
  87. package/declarations/components/form/fields/password.gts.d.ts.map +1 -1
  88. package/declarations/components/form/fields/phone.gts.d.ts +2 -2
  89. package/declarations/components/form/fields/phone.gts.d.ts.map +1 -1
  90. package/declarations/components/form/fields/range.gts.d.ts +2 -2
  91. package/declarations/components/form/fields/range.gts.d.ts.map +1 -1
  92. package/declarations/components/form/fields/select.gts.d.ts +2 -2
  93. package/declarations/components/form/fields/select.gts.d.ts.map +1 -1
  94. package/declarations/components/form/fields/singular-choice.gts.d.ts +2 -2
  95. package/declarations/components/form/fields/singular-choice.gts.d.ts.map +1 -1
  96. package/declarations/components/form/fields/text-area.gts.d.ts +2 -2
  97. package/declarations/components/form/fields/text-area.gts.d.ts.map +1 -1
  98. package/declarations/components/form/fields/text.gts.d.ts +2 -2
  99. package/declarations/components/form/fields/text.gts.d.ts.map +1 -1
  100. package/declarations/components/form/form.gts.d.ts +30 -30
  101. package/declarations/components/form/form.gts.d.ts.map +1 -1
  102. package/declarations/components/form/index.d.ts +1 -1
  103. package/declarations/components/form/index.d.ts.map +1 -1
  104. package/declarations/components/form/label.gts.d.ts +1 -2
  105. package/declarations/components/form/label.gts.d.ts.map +1 -1
  106. package/declarations/components/form/reset.gts.d.ts +1 -2
  107. package/declarations/components/form/reset.gts.d.ts.map +1 -1
  108. package/declarations/components/form/rules.gts.d.ts +1 -1
  109. package/declarations/components/form/rules.gts.d.ts.map +1 -1
  110. package/declarations/components/form/submit.gts.d.ts +1 -2
  111. package/declarations/components/form/submit.gts.d.ts.map +1 -1
  112. package/declarations/components/form.gts.d.ts +1 -1
  113. package/declarations/components/form.gts.d.ts.map +1 -1
  114. package/declarations/components/graphics/icon.gts.d.ts +13 -0
  115. package/declarations/components/graphics/icon.gts.d.ts.map +1 -0
  116. package/declarations/components/icon-button.gts.d.ts +1 -25
  117. package/declarations/components/icon-button.gts.d.ts.map +1 -1
  118. package/declarations/components/icon.gts.d.ts +1 -13
  119. package/declarations/components/icon.gts.d.ts.map +1 -1
  120. package/declarations/components/input-builder.gts.d.ts +1 -28
  121. package/declarations/components/input-builder.gts.d.ts.map +1 -1
  122. package/declarations/components/layouts/focus-page.gts.d.ts +24 -0
  123. package/declarations/components/layouts/focus-page.gts.d.ts.map +1 -0
  124. package/declarations/components/layouts/page.gts.d.ts +24 -0
  125. package/declarations/components/layouts/page.gts.d.ts.map +1 -0
  126. package/declarations/components/layouts/pages.d.ts +15 -0
  127. package/declarations/components/layouts/pages.d.ts.map +1 -0
  128. package/declarations/components/layouts/sectioned-page.gts.d.ts +26 -0
  129. package/declarations/components/layouts/sectioned-page.gts.d.ts.map +1 -0
  130. package/declarations/components/list.gts.d.ts +1 -50
  131. package/declarations/components/list.gts.d.ts.map +1 -1
  132. package/declarations/components/menu.gts.d.ts +1 -38
  133. package/declarations/components/menu.gts.d.ts.map +1 -1
  134. package/declarations/components/navigation/app-header.gts.d.ts +55 -0
  135. package/declarations/components/navigation/app-header.gts.d.ts.map +1 -0
  136. package/declarations/components/navigation/nav-link.gts.d.ts +10 -0
  137. package/declarations/components/navigation/nav-link.gts.d.ts.map +1 -0
  138. package/declarations/components/navigation/navigation-list.gts.d.ts +19 -0
  139. package/declarations/components/navigation/navigation-list.gts.d.ts.map +1 -0
  140. package/declarations/components/navigation-list.gts.d.ts +2 -0
  141. package/declarations/components/navigation-list.gts.d.ts.map +1 -0
  142. package/declarations/components/number-input.gts.d.ts +1 -8
  143. package/declarations/components/number-input.gts.d.ts.map +1 -1
  144. package/declarations/components/page.gts.d.ts +1 -35
  145. package/declarations/components/page.gts.d.ts.map +1 -1
  146. package/declarations/components/password-input.gts.d.ts +1 -8
  147. package/declarations/components/password-input.gts.d.ts.map +1 -1
  148. package/declarations/components/phone-input.gts.d.ts +1 -8
  149. package/declarations/components/phone-input.gts.d.ts.map +1 -1
  150. package/declarations/components/popover.gts.d.ts +1 -9
  151. package/declarations/components/popover.gts.d.ts.map +1 -1
  152. package/declarations/components/radio.gts.d.ts +1 -8
  153. package/declarations/components/radio.gts.d.ts.map +1 -1
  154. package/declarations/components/range-input.gts.d.ts +1 -13
  155. package/declarations/components/range-input.gts.d.ts.map +1 -1
  156. package/declarations/components/section.gts.d.ts +1 -18
  157. package/declarations/components/section.gts.d.ts.map +1 -1
  158. package/declarations/components/sectioned-page.gts.d.ts +2 -0
  159. package/declarations/components/sectioned-page.gts.d.ts.map +1 -0
  160. package/declarations/components/select.gts.d.ts +1 -35
  161. package/declarations/components/select.gts.d.ts.map +1 -1
  162. package/declarations/components/tabs.gts.d.ts +1 -60
  163. package/declarations/components/tabs.gts.d.ts.map +1 -1
  164. package/declarations/components/text-area.gts.d.ts +1 -8
  165. package/declarations/components/text-area.gts.d.ts.map +1 -1
  166. package/declarations/components/text-input.gts.d.ts +1 -8
  167. package/declarations/components/text-input.gts.d.ts.map +1 -1
  168. package/declarations/components/windows/popover.gts.d.ts +9 -0
  169. package/declarations/components/windows/popover.gts.d.ts.map +1 -0
  170. package/declarations/helpers/popover.d.ts +1 -1
  171. package/declarations/helpers/popover.d.ts.map +1 -1
  172. package/declarations/index.d.ts +29 -26
  173. package/declarations/index.d.ts.map +1 -1
  174. package/declarations/registry.d.ts +2 -0
  175. package/declarations/registry.d.ts.map +1 -0
  176. package/declarations/services/-hokulea.d.ts.map +1 -1
  177. package/declarations/template-registry.d.ts +41 -35
  178. package/declarations/template-registry.d.ts.map +1 -1
  179. package/declarations/test-support/index.d.ts +2 -1
  180. package/declarations/test-support/index.d.ts.map +1 -1
  181. package/declarations/test-support/page-objects/-navigation.d.ts +9 -0
  182. package/declarations/test-support/page-objects/-navigation.d.ts.map +1 -0
  183. package/declarations/test-support/page-objects/app-header.d.ts +1 -1
  184. package/declarations/test-support/page-objects/app-header.d.ts.map +1 -1
  185. package/declarations/test-support/page-objects/navigation-list.d.ts +10 -0
  186. package/declarations/test-support/page-objects/navigation-list.d.ts.map +1 -0
  187. package/declarations/test-support/page-objects/page.d.ts +3 -1
  188. package/declarations/test-support/page-objects/page.d.ts.map +1 -1
  189. package/declarations/test-support/page-objects/tabs.d.ts.map +1 -1
  190. package/dist/-button-KUaJCQaB.js.map +1 -1
  191. package/dist/-input-DGR-n9U_.js.map +1 -1
  192. package/dist/_app_/components/focus-page.js +1 -0
  193. package/dist/_app_/components/navigation-list.js +1 -0
  194. package/dist/_app_/components/sectioned-page.js +1 -0
  195. package/dist/app-header-B6Q7pbiY.js +122 -0
  196. package/dist/app-header-B6Q7pbiY.js.map +1 -0
  197. package/dist/box-DU6m9gDw.js +20 -0
  198. package/dist/box-DU6m9gDw.js.map +1 -0
  199. package/dist/button-XdQyGTGA.js +24 -0
  200. package/dist/button-XdQyGTGA.js.map +1 -0
  201. package/dist/card-Bdv-UvKX.js +16 -0
  202. package/dist/card-Bdv-UvKX.js.map +1 -0
  203. package/dist/checkbox-D4vALmT2.js +18 -0
  204. package/dist/checkbox-D4vALmT2.js.map +1 -0
  205. package/dist/components/app-header.js +1 -131
  206. package/dist/components/app-header.js.map +1 -1
  207. package/dist/components/box.js +1 -19
  208. package/dist/components/box.js.map +1 -1
  209. package/dist/components/button.js +1 -23
  210. package/dist/components/button.js.map +1 -1
  211. package/dist/components/card.js +1 -15
  212. package/dist/components/card.js.map +1 -1
  213. package/dist/components/checkbox.js +1 -17
  214. package/dist/components/checkbox.js.map +1 -1
  215. package/dist/components/currency-input.js +1 -21
  216. package/dist/components/currency-input.js.map +1 -1
  217. package/dist/components/date-input.js +1 -17
  218. package/dist/components/date-input.js.map +1 -1
  219. package/dist/components/email-input.js +1 -17
  220. package/dist/components/email-input.js.map +1 -1
  221. package/dist/components/focus-page.js +2 -0
  222. package/dist/components/focus-page.js.map +1 -0
  223. package/dist/components/form.js +1 -1
  224. package/dist/components/icon-button.js +1 -36
  225. package/dist/components/icon-button.js.map +1 -1
  226. package/dist/components/icon.js +1 -15
  227. package/dist/components/icon.js.map +1 -1
  228. package/dist/components/input-builder.js +1 -19
  229. package/dist/components/input-builder.js.map +1 -1
  230. package/dist/components/list.js +1 -65
  231. package/dist/components/list.js.map +1 -1
  232. package/dist/components/menu.js +1 -115
  233. package/dist/components/menu.js.map +1 -1
  234. package/dist/components/navigation-list.js +2 -0
  235. package/dist/components/navigation-list.js.map +1 -0
  236. package/dist/components/number-input.js +1 -19
  237. package/dist/components/number-input.js.map +1 -1
  238. package/dist/components/page.js +1 -62
  239. package/dist/components/page.js.map +1 -1
  240. package/dist/components/password-input.js +1 -17
  241. package/dist/components/password-input.js.map +1 -1
  242. package/dist/components/phone-input.js +1 -17
  243. package/dist/components/phone-input.js.map +1 -1
  244. package/dist/components/popover.js +1 -13
  245. package/dist/components/popover.js.map +1 -1
  246. package/dist/components/radio.js +1 -17
  247. package/dist/components/radio.js.map +1 -1
  248. package/dist/components/range-input.js +1 -36
  249. package/dist/components/range-input.js.map +1 -1
  250. package/dist/components/section.js +1 -24
  251. package/dist/components/section.js.map +1 -1
  252. package/dist/components/sectioned-page.js +2 -0
  253. package/dist/components/sectioned-page.js.map +1 -0
  254. package/dist/components/select.js +1 -38
  255. package/dist/components/select.js.map +1 -1
  256. package/dist/components/tabs.js +1 -110
  257. package/dist/components/tabs.js.map +1 -1
  258. package/dist/components/text-area.js +1 -17
  259. package/dist/components/text-area.js.map +1 -1
  260. package/dist/components/text-input.js +1 -17
  261. package/dist/components/text-input.js.map +1 -1
  262. package/dist/currency-input-8ef0Igfb.js +22 -0
  263. package/dist/currency-input-8ef0Igfb.js.map +1 -0
  264. package/dist/date-input-BayaBuSb.js +18 -0
  265. package/dist/date-input-BayaBuSb.js.map +1 -0
  266. package/dist/email-input-j-Z0KO4A.js +18 -0
  267. package/dist/email-input-j-Z0KO4A.js.map +1 -0
  268. package/dist/focus-page-B9myJVvL.js +23 -0
  269. package/dist/focus-page-B9myJVvL.js.map +1 -0
  270. package/dist/{form-DBuzL4_0.js → form-DWyQ6QHX.js} +15 -15
  271. package/dist/form-DWyQ6QHX.js.map +1 -0
  272. package/dist/helpers/popover.js +1 -1
  273. package/dist/helpers/popover.js.map +1 -1
  274. package/dist/icon-bLZqjTMP.js +16 -0
  275. package/dist/icon-bLZqjTMP.js.map +1 -0
  276. package/dist/icon-button-7K-W_8jc.js +37 -0
  277. package/dist/icon-button-7K-W_8jc.js.map +1 -0
  278. package/dist/index.js +30 -27
  279. package/dist/index.js.map +1 -1
  280. package/dist/input-builder-DmcQbywA.js +20 -0
  281. package/dist/input-builder-DmcQbywA.js.map +1 -0
  282. package/dist/list-CsLvih6-.js +66 -0
  283. package/dist/list-CsLvih6-.js.map +1 -0
  284. package/dist/menu-CZKNGJ91.js +116 -0
  285. package/dist/menu-CZKNGJ91.js.map +1 -0
  286. package/dist/nav-link-CGVtuqwC.js +30 -0
  287. package/dist/nav-link-CGVtuqwC.js.map +1 -0
  288. package/dist/navigation-list-Cxs6uZdM.js +22 -0
  289. package/dist/navigation-list-Cxs6uZdM.js.map +1 -0
  290. package/dist/number-input-B84zcPlM.js +20 -0
  291. package/dist/number-input-B84zcPlM.js.map +1 -0
  292. package/dist/page-BcSgHxr7.js +23 -0
  293. package/dist/page-BcSgHxr7.js.map +1 -0
  294. package/dist/pages-DgHJEvSy.js +31 -0
  295. package/dist/pages-DgHJEvSy.js.map +1 -0
  296. package/dist/password-input-BMp5uscw.js +18 -0
  297. package/dist/password-input-BMp5uscw.js.map +1 -0
  298. package/dist/phone-input-DeaTM5yP.js +18 -0
  299. package/dist/phone-input-DeaTM5yP.js.map +1 -0
  300. package/dist/popover-B6j413u9.js +14 -0
  301. package/dist/popover-B6j413u9.js.map +1 -0
  302. package/dist/radio-CGBLrzK4.js +18 -0
  303. package/dist/radio-CGBLrzK4.js.map +1 -0
  304. package/dist/range-input-BiAPgpW8.js +37 -0
  305. package/dist/range-input-BiAPgpW8.js.map +1 -0
  306. package/dist/registry.js +14 -0
  307. package/dist/registry.js.map +1 -0
  308. package/dist/section-BAdmc3Yn.js +25 -0
  309. package/dist/section-BAdmc3Yn.js.map +1 -0
  310. package/dist/sectioned-page-fB9mV5WD.js +25 -0
  311. package/dist/sectioned-page-fB9mV5WD.js.map +1 -0
  312. package/dist/select-DxyaUFuy.js +39 -0
  313. package/dist/select-DxyaUFuy.js.map +1 -0
  314. package/dist/services/-hokulea.js +1 -8
  315. package/dist/services/-hokulea.js.map +1 -1
  316. package/dist/tabs-a9GhNQv9.js +111 -0
  317. package/dist/tabs-a9GhNQv9.js.map +1 -0
  318. package/dist/test-support/index.js +23 -4
  319. package/dist/test-support/index.js.map +1 -1
  320. package/dist/text-area-55_E1zv8.js +18 -0
  321. package/dist/text-area-55_E1zv8.js.map +1 -0
  322. package/dist/text-input-CK-yGbI5.js +18 -0
  323. package/dist/text-input-CK-yGbI5.js.map +1 -0
  324. package/package.json +17 -13
  325. package/declarations/components/-button.d.ts.map +0 -1
  326. package/declarations/components/-input.d.ts.map +0 -1
  327. package/declarations/components/-menu.d.ts.map +0 -1
  328. package/declarations/components/-stories.d.ts +0 -3
  329. package/declarations/components/-stories.d.ts.map +0 -1
  330. package/dist/form-DBuzL4_0.js.map +0 -1
  331. /package/declarations/components/{-button.d.ts → actions/-button.d.ts} +0 -0
  332. /package/declarations/components/{-input.d.ts → controls/-input.d.ts} +0 -0
  333. /package/declarations/components/{-menu.d.ts → controls/-menu.d.ts} +0 -0
@@ -1,116 +1,2 @@
1
- import Component from '@glimmer/component';
2
- import { tracked } from '@glimmer/tracking';
3
- import { registerDestructor } from '@ember/destroyable';
4
- import { hash } from '@ember/helper';
5
- import { next } from '@ember/runloop';
6
- import { service } from '@ember/service';
7
- import { htmlSafe } from '@ember/template';
8
- import { ariaMenu } from 'ember-aria-voyager';
9
- import { CommandElement } from 'ember-command';
10
- import { TrackedArray } from 'tracked-built-ins';
11
- import styles from '@hokulea/core/controls.module.css';
12
- import { d as disabled } from '../disabled-B_FQ0Z51.js';
13
- import popover from '../helpers/popover.js';
14
- import { precompileTemplate } from '@ember/template-compilation';
15
- import { setComponentTemplate } from '@ember/component';
16
- import { g, i } from 'decorator-transforms/runtime-esm';
17
-
18
- // below are attempts at conditional typing based on provided blocks in dynamic invocation
19
- // type MenuItemArgs = {
20
- // disabled?: boolean;
21
- // registerItem: (item: MenuItem) => void;
22
- // unregisterItem: (item: MenuItem) => void;
23
- // };
24
- // export interface MenuItemSignature<T = {}> {
25
- // Element: HTMLButtonElement | HTMLAnchorElement;
26
- // Args: T extends { Blocks: { default: [] } }
27
- // ? MenuItemArgs & {
28
- // push: CommandAction;
29
- // }
30
- // : MenuItemArgs;
31
- // Blocks: T extends { Blocks: { default: [] } }
32
- // ? { default: [] }
33
- // : { label: []; menu: [MenuDefaultBlock] };
34
- // }
35
- // & (
36
- // | {
37
- // Args: MenuItemArgs & {
38
- // push: CommandAction;
39
- // };
40
- // Blocks: {
41
- // default: [];
42
- // };
43
- // }
44
- // | {
45
- // Args: MenuItemArgs;
46
- // Blocks: {
47
- // label: [];
48
- // menu: [MenuDefaultBlock];
49
- // };
50
- // }
51
- // );
52
- /* eslint-disable @typescript-eslint/no-use-before-define */
53
- class MenuItem extends Component {
54
- constructor(owner, args) {
55
- super(owner, args);
56
- args.registerItem(this);
57
- registerDestructor(this, () => {
58
- args.unregisterItem(this);
59
- });
60
- }
61
- static {
62
- setComponentTemplate(precompileTemplate("\n {{#if (has-block \"menu\")}}\n {{#let (popover position=\"right-start\") as |p|}}\n <button type=\"button\" role=\"menuitem\" aria-haspopup=\"menu\" {{disabled when=(if @disabled @disabled false)}} {{p.trigger}}>\n {{~yield to=\"label\"~}}\n </button>\n\n <Menu {{p.target}} as |m|>\n {{yield m to=\"menu\"}}\n </Menu>\n {{/let}}\n {{else}}\n <CommandElement @command={{@push}} {{disabled when=(if @disabled @disabled false)}} role=\"menuitem\">\n {{~yield~}}\n </CommandElement>\n {{/if}}\n ", {
63
- strictMode: true,
64
- scope: () => ({
65
- popover,
66
- disabled,
67
- Menu,
68
- CommandElement
69
- })
70
- }), this);
71
- }
72
- }
73
- /* eslint-enable @typescript-eslint/no-use-before-define */
74
-
75
- class Menu extends Component {
76
- static {
77
- g(this.prototype, "fastboot", [service]);
78
- }
79
- #fastboot = (i(this, "fastboot"), void 0);
80
- static {
81
- g(this.prototype, "items", [tracked], function () {
82
- return new TrackedArray();
83
- });
84
- }
85
- #items = (i(this, "items"), void 0);
86
- get hideInSSR() {
87
- return this.fastboot?.isFastBoot;
88
- }
89
- registerItem = item => {
90
- // eslint-disable-next-line ember/no-runloop
91
- next(() => {
92
- this.items.push(item);
93
- });
94
- };
95
- unregisterItem = item => {
96
- // eslint-disable-next-line ember/no-runloop
97
- next(() => {
98
- this.items.splice(this.items.indexOf(item), 1);
99
- });
100
- };
101
- static {
102
- setComponentTemplate(precompileTemplate("\n <div class={{styles.menu}} data-test-menu ...attributes {{ariaMenu items=this.items disabled=@disabled}} style={{if this.hideInSSR (htmlSafe \"display: none\")}}>\n {{yield (hash Item=(component MenuItem registerItem=this.registerItem unregisterItem=this.unregisterItem))}}\n </div>\n ", {
103
- strictMode: true,
104
- scope: () => ({
105
- styles,
106
- htmlSafe,
107
- ariaMenu,
108
- hash,
109
- MenuItem
110
- })
111
- }), this);
112
- }
113
- }
114
-
115
- export { Menu as default };
1
+ export { M as default } from '../menu-CZKNGJ91.js';
116
2
  //# sourceMappingURL=menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sources":["../../src/components/menu.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { registerDestructor } from '@ember/destroyable';\nimport { hash } from '@ember/helper';\nimport { next } from '@ember/runloop';\nimport { service } from '@ember/service';\nimport { htmlSafe } from '@ember/template';\n\nimport { ariaMenu } from 'ember-aria-voyager';\nimport { CommandElement } from 'ember-command';\nimport { TrackedArray } from 'tracked-built-ins';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport disabled from '../-private/modifiers/disabled.ts';\nimport popover from '../helpers/popover.ts';\n\nimport type { MenuItemArgs, MenuItemBlocks, MenuItemElement } from './-menu.ts';\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\nimport type FastBoot from 'ember-cli-fastboot/services/fastboot';\n\nexport type MenuDefaultBlock = {\n Item: WithBoundArgs<typeof MenuItem, 'registerItem' | 'unregisterItem'>;\n};\n\nexport interface MenuItemSignature {\n Element: MenuItemElement;\n Args: MenuItemArgs & {\n registerItem: (item: MenuItem) => void;\n unregisterItem: (item: MenuItem) => void;\n };\n Blocks: MenuItemBlocks & {\n menu?: [MenuDefaultBlock];\n };\n}\n\n// below are attempts at conditional typing based on provided blocks in dynamic invocation\n\n// type MenuItemArgs = {\n// disabled?: boolean;\n// registerItem: (item: MenuItem) => void;\n// unregisterItem: (item: MenuItem) => void;\n// };\n\n// export interface MenuItemSignature<T = {}> {\n// Element: HTMLButtonElement | HTMLAnchorElement;\n// Args: T extends { Blocks: { default: [] } }\n// ? MenuItemArgs & {\n// push: CommandAction;\n// }\n// : MenuItemArgs;\n// Blocks: T extends { Blocks: { default: [] } }\n// ? { default: [] }\n// : { label: []; menu: [MenuDefaultBlock] };\n// }\n\n// & (\n// | {\n// Args: MenuItemArgs & {\n// push: CommandAction;\n// };\n// Blocks: {\n// default: [];\n// };\n// }\n// | {\n// Args: MenuItemArgs;\n// Blocks: {\n// label: [];\n// menu: [MenuDefaultBlock];\n// };\n// }\n// );\n\n/* eslint-disable @typescript-eslint/no-use-before-define */\nclass MenuItem extends Component<MenuItemSignature> {\n constructor(owner: Owner, args: MenuItemSignature['Args']) {\n super(owner, args);\n\n args.registerItem(this);\n\n registerDestructor(this, () => {\n args.unregisterItem(this);\n });\n }\n\n <template>\n {{#if (has-block \"menu\")}}\n {{#let (popover position=\"right-start\") as |p|}}\n <button\n type=\"button\"\n role=\"menuitem\"\n aria-haspopup=\"menu\"\n {{disabled when=(if @disabled @disabled false)}}\n {{p.trigger}}\n >\n {{~yield to=\"label\"~}}\n </button>\n\n <Menu {{p.target}} as |m|>\n {{yield m to=\"menu\"}}\n </Menu>\n {{/let}}\n {{else}}\n <CommandElement\n @command={{@push}}\n {{disabled when=(if @disabled @disabled false)}}\n role=\"menuitem\"\n >\n {{~yield~}}\n </CommandElement>\n {{/if}}\n </template>\n}\n/* eslint-enable @typescript-eslint/no-use-before-define */\n\nexport interface MenuSignature {\n Element: HTMLDivElement;\n Args: {\n disabled?: boolean;\n };\n Blocks: {\n default: [MenuDefaultBlock];\n };\n}\n\nexport default class Menu extends Component<MenuSignature> {\n @service declare fastboot?: FastBoot;\n\n @tracked items: MenuItem[] = new TrackedArray();\n\n get hideInSSR() {\n return this.fastboot?.isFastBoot;\n }\n\n registerItem = (item: MenuItem) => {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n this.items.push(item);\n });\n };\n\n unregisterItem = (item: MenuItem) => {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n this.items.splice(this.items.indexOf(item), 1);\n });\n };\n\n <template>\n <div\n class={{styles.menu}}\n data-test-menu\n ...attributes\n {{ariaMenu items=this.items disabled=@disabled}}\n style={{if this.hideInSSR (htmlSafe \"display: none\")}}\n >\n {{yield\n (hash\n Item=(component\n MenuItem registerItem=this.registerItem unregisterItem=this.unregisterItem\n )\n )\n }}\n </div>\n </template>\n}\n"],"names":["MenuItem","Component","constructor","owner","args","registerItem","registerDestructor","unregisterItem","setComponentTemplate","precompileTemplate","strictMode","scope","popover","disabled","Menu","CommandElement","g","prototype","service","i","void 0","tracked","TrackedArray","hideInSSR","fastboot","isFastBoot","item","next","items","push","splice","indexOf","styles","htmlSafe","ariaMenu","hash"],"mappings":";;;;;;;;;;;;;;;;;AAqCA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,MAAMA,QAAA,SAAiBC,SAAA,CAAU;AAC/BC,EAAAA,WAAAA,CAAYC,KAAY,EAAEC,IAA+B,EAAE;AACzD,IAAA,KAAK,CAACD,KAAA,EAAOC,IAAA,CAAA;AAEbA,IAAAA,IAAA,CAAKC,YAAY,CAAC,IAAI,CAAA;IAEtBC,kBAAA,CAAmB,IAAI,EAAE,MAAA;AACvBF,MAAAA,IAAA,CAAKG,cAAc,CAAC,IAAI,CAAA;AAC1B,IAAA,CAAA,CAAA;AACF,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,okBAAA,EA0BA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,OAAA;QAAAC,QAAA;QAAAC,IAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;AACA;;AAYe,MAAMD,aAAab,SAAA,CAAU;AAAA,EAAA;IAAAe,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,UAAA,EAAA,CACzCC,OAAA,CAAA,CAAA;AAAA;AAAA,EAAA,SAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,UAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,OAAA,EAAA,CAEAI,OAAA,CAAA,EAAA,YAAA;MAAA,OAA4B,IAAIC,YAAA,EAAA;AAAA,IAAA,CAAA,CAAA;AAAA;AAAA,EAAA,MAAA,IAAAH,CAAA,CAAA,IAAA,EAAA,OAAA,CAAA,EAAAC,MAAA;EAEjC,IAAIG,SAAAA,GAAY;AACd,IAAA,OAAO,IAAI,CAACC,QAAQ,EAAEC,UAAA;AACxB,EAAA;EAEApB,YAAA,GAAgBqB,IAAM,IAAA;AACpB;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACC,KAAK,CAACC,IAAI,CAACH,IAAA,CAAA;AAClB,IAAA,CAAA,CAAA;EACF,CAAA;EAEAnB,cAAA,GAAkBmB,IAAM,IAAA;AACtB;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACC,KAAK,CAACE,MAAM,CAAC,IAAI,CAACF,KAAK,CAACG,OAAO,CAACL,IAAA,CAAA,EAAO,CAAA,CAAA;AAC9C,IAAA,CAAA,CAAA;EACF,CAAA;AAEA,EAAA;IAAAlB,oBAAA,CAAAC,kBAAA,CAAA,8SAAA,EAgBA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAqB,MAAA;QAAAC,QAAA;QAAAC,QAAA;QAAAC,IAAA;AAAAnC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"menu.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { N as default } from '../navigation-list-Cxs6uZdM.js';
2
+ //# sourceMappingURL=navigation-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-list.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,20 +1,2 @@
1
- import { on } from '@ember/modifier';
2
- import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DS9du02l.js';
4
- import { p as pickAsNumber } from '../-input-DGR-n9U_.js';
5
- import { precompileTemplate } from '@ember/template-compilation';
6
- import { setComponentTemplate } from '@ember/component';
7
- import templateOnly from '@ember/component/template-only';
8
-
9
- const NumberInput = setComponentTemplate(precompileTemplate("\n <input class={{styles.input}} type=\"number\" value={{@value}} disabled={{@disabled}} data-test-input {{on \"input\" (pick \"target.value\" (pickAsNumber @update)) capture=true}} ...attributes />\n", {
10
- strictMode: true,
11
- scope: () => ({
12
- styles,
13
- on,
14
- pick,
15
- pickAsNumber
16
- })
17
- }), templateOnly());
18
-
19
- export { NumberInput as default };
1
+ export { N as default } from '../number-input-B84zcPlM.js';
20
2
  //# sourceMappingURL=number-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"number-input.js","sources":["../../src/components/number-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';\n\nimport type { InputArgs } from './-input.ts';\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface NumberInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<number>;\n}\n\nconst NumberInput: TOC<NumberInputSignature> = <template>\n <input\n class={{styles.input}}\n type=\"number\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n {{on \"input\" (pick \"target.value\" (pickAsNumber @update)) capture=true}}\n ...attributes\n />\n</template>;\n\nexport default NumberInput;\n"],"names":["NumberInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","pickAsNumber","templateOnly"],"mappings":";;;;;;;;AAeA,MAAMA,WAAiB,GAAAC,oBAAA,CAAwBC,kBAAA,CAAA,2MAAA,EAU/C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;IAAAC,IAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"number-input.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,63 +1,2 @@
1
- import Component from '@glimmer/component';
2
- import { tracked } from '@glimmer/tracking';
3
- import { registerDestructor } from '@ember/destroyable';
4
- import { on } from '@ember/modifier';
5
- import { next } from '@ember/runloop';
6
- import { service } from '@ember/service';
7
- import { element } from 'ember-element-helper';
8
- import styles from '@hokulea/core/layouts.module.css';
9
- import typo from '@hokulea/core/typography.module.css';
10
- import { o as or } from '../helpers-DS9du02l.js';
11
- import { precompileTemplate } from '@ember/template-compilation';
12
- import { setComponentTemplate } from '@ember/component';
13
- import templateOnly from '@ember/component/template-only';
14
- import { g, i } from 'decorator-transforms/runtime-esm';
15
-
16
- const NavLink = setComponentTemplate(precompileTemplate("\n <a href={{@link.url}} {{on \"click\" @link.open}} aria-current={{if @link.isActive \"page\"}}>\n <span>\n {{yield}}\n </span>\n </a>\n", {
17
- strictMode: true,
18
- scope: () => ({
19
- on
20
- })
21
- }), templateOnly());
22
- class Page extends Component {
23
- static {
24
- g(this.prototype, "hokulea", [service('-hokulea')]);
25
- }
26
- #hokulea = (i(this, "hokulea"), void 0);
27
- static {
28
- g(this.prototype, "pageLevel", [tracked], function () {
29
- return 0;
30
- });
31
- }
32
- #pageLevel = (i(this, "pageLevel"), void 0);
33
- /* the level for _THIS_ page */
34
- get rootPage() {
35
- return this.pageLevel === 1;
36
- }
37
- constructor(owner, args) {
38
- super(owner, args);
39
- // eslint-disable-next-line ember/no-runloop
40
- next(() => {
41
- this.hokulea.pageLevel += 1;
42
- this.pageLevel = this.hokulea.pageLevel;
43
- });
44
- registerDestructor(this, () => {
45
- this.hokulea.pageLevel -= 1;
46
- });
47
- }
48
- static {
49
- setComponentTemplate(precompileTemplate("\n {{#let (element (if this.rootPage \"main\" \"section\")) as |Element|}}\n <Element class={{styles.page}} ...attributes data-test-page>\n {{#if (or @title @description (has-block \"title\") (has-block \"description\") (has-block \"nav\"))}}\n <header class={{styles.pageContent}}>\n <h1 class={{typo.display}}>\n {{#if (has-block \"title\")}}\n {{yield to=\"title\"}}\n {{else if @title}}\n {{@title}}\n {{/if}}\n </h1>\n\n {{#if (or (has-block \"description\") @description)}}\n <p>\n {{#if (has-block \"description\")}}\n {{yield to=\"description\"}}\n {{else if @description}}\n {{@description}}\n {{/if}}\n </p>\n {{/if}}\n\n {{#if (has-block \"nav\")}}\n <nav>\n {{yield NavLink to=\"nav\"}}\n </nav>\n {{/if}}\n </header>\n {{/if}}\n\n <div class=\"{{styles.pageContent}} {{styles.flow}}\" part=\"content\">\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else if (has-block)}}\n {{yield}}\n {{/if}}\n </div>\n </Element>\n {{/let}}\n ", {
50
- strictMode: true,
51
- scope: () => ({
52
- element,
53
- styles,
54
- or,
55
- typo,
56
- NavLink
57
- })
58
- }), this);
59
- }
60
- }
61
-
62
- export { Page as default };
1
+ export { P as default } from '../page-BcSgHxr7.js';
63
2
  //# sourceMappingURL=page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sources":["../../src/components/page.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { registerDestructor } from '@ember/destroyable';\nimport { on } from '@ember/modifier';\nimport { next } from '@ember/runloop';\nimport { service } from '@ember/service';\n\nimport { element } from 'ember-element-helper';\n\n// eslint-disable-next-line import-x/no-duplicates\nimport styles from '@hokulea/core/layouts.module.css';\n// eslint-disable-next-line import-x/no-duplicates\nimport typo from '@hokulea/core/typography.module.css';\n\nimport { or } from '../-private/helpers.ts';\n\nimport type HokuleaService from '../services/-hokulea.ts';\nimport type { TOC } from '@ember/component/template-only';\nimport type Owner from '@ember/owner';\nimport type { Link } from 'ember-link';\n\ninterface NavLinkSignature {\n Args: {\n link: Link;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst NavLink: TOC<NavLinkSignature> = <template>\n <a href={{@link.url}} {{on \"click\" @link.open}} aria-current={{if @link.isActive \"page\"}}>\n <span>\n {{yield}}\n </span>\n </a>\n</template>;\n\ninterface PageSignature {\n Element: HTMLElement;\n Args: {\n title?: string;\n description?: string;\n };\n Blocks: {\n title?: [];\n description?: [];\n nav?: [typeof NavLink];\n content?: [];\n default?: [];\n };\n}\n\nclass Page extends Component<PageSignature> {\n @service('-hokulea') declare hokulea: HokuleaService;\n\n /* the level for _THIS_ page */\n @tracked pageLevel = 0;\n\n get rootPage() {\n return this.pageLevel === 1;\n }\n\n constructor(owner: Owner, args: PageSignature['Args']) {\n super(owner, args);\n\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n this.hokulea.pageLevel += 1;\n this.pageLevel = this.hokulea.pageLevel;\n });\n\n registerDestructor(this, () => {\n this.hokulea.pageLevel -= 1;\n });\n }\n\n <template>\n {{#let (element (if this.rootPage \"main\" \"section\")) as |Element|}}\n <Element class={{styles.page}} ...attributes data-test-page>\n {{#if\n (or @title @description (has-block \"title\") (has-block \"description\") (has-block \"nav\"))\n }}\n <header class={{styles.pageContent}}>\n <h1 class={{typo.display}}>\n {{#if (has-block \"title\")}}\n {{yield to=\"title\"}}\n {{else if @title}}\n {{@title}}\n {{/if}}\n </h1>\n\n {{#if (or (has-block \"description\") @description)}}\n <p>\n {{#if (has-block \"description\")}}\n {{yield to=\"description\"}}\n {{else if @description}}\n {{@description}}\n {{/if}}\n </p>\n {{/if}}\n\n {{#if (has-block \"nav\")}}\n <nav>\n {{yield NavLink to=\"nav\"}}\n </nav>\n {{/if}}\n </header>\n {{/if}}\n\n <div class=\"{{styles.pageContent}} {{styles.flow}}\" part=\"content\">\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else if (has-block)}}\n {{yield}}\n {{/if}}\n </div>\n </Element>\n {{/let}}\n </template>\n}\n\nexport default Page;\n"],"names":["NavLink","setComponentTemplate","precompileTemplate","strictMode","scope","on","templateOnly","Page","Component","g","prototype","service","i","void 0","tracked","rootPage","pageLevel","constructor","owner","args","next","hokulea","registerDestructor","element","styles","or","typo"],"mappings":";;;;;;;;;;;;;;;AA8BA,MAAMA,OAAa,GAAAC,oBAAA,CAAoBC,kBAAA,CAAA,wJAAA,EAMvC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA;AAiBV,MAAMC,aAAaC,SAAA,CAAU;AAAA,EAAA;AAAAC,IAAAA,CAAA,MAAAC,SAAA,EAAA,SAAA,EAAA,CAC1BC,OAAA,CAAQ,UAAA,CAAA,CAAA,CAAA;AAAA;AAAA,EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,WAAA,EAAA,CAGRI,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAoB,CAAA;AAAA,IAAA,CAAA,CAAA;AAAA;AAAA,EAAA,UAAA,IAAAF,CAAA,CAAA,IAAA,EAAA,WAAA,CAAA,EAAAC,MAAA;AADrB;EAGA,IAAIE,QAAAA,GAAW;AACb,IAAA,OAAO,IAAI,CAACC,SAAS,KAAK,CAAA;AAC5B,EAAA;AAEAC,EAAAA,WAAAA,CAAYC,KAAY,EAAEC,IAA2B,EAAE;AACrD,IAAA,KAAK,CAACD,KAAA,EAAOC,IAAA,CAAA;AAEb;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACC,OAAO,CAACL,SAAS,IAAI,CAAA;AAC1B,MAAA,IAAI,CAACA,SAAS,GAAG,IAAI,CAACK,OAAO,CAACL,SAAS;AACzC,IAAA,CAAA,CAAA;IAEAM,kBAAA,CAAmB,IAAI,EAAE,MAAA;AACvB,MAAA,IAAI,CAACD,OAAO,CAACL,SAAS,IAAI,CAAA;AAC5B,IAAA,CAAA,CAAA;AACF,EAAA;AAEA,EAAA;IAAAf,oBAAA,CAAAC,kBAAA,CAAA,20CAAA,EA0CA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAmB,OAAA;QAAAC,MAAA;QAAAC,EAAA;QAAAC,IAAA;AAAA1B,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"page.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,18 +1,2 @@
1
- import { on } from '@ember/modifier';
2
- import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DS9du02l.js';
4
- import { precompileTemplate } from '@ember/template-compilation';
5
- import { setComponentTemplate } from '@ember/component';
6
- import templateOnly from '@ember/component/template-only';
7
-
8
- const PasswordInput = setComponentTemplate(precompileTemplate("\n <input class={{styles.input}} type=\"password\" value={{@value}} disabled={{@disabled}} data-test-input {{on \"input\" (pick \"target.value\" @update) capture=true}} ...attributes />\n", {
9
- strictMode: true,
10
- scope: () => ({
11
- styles,
12
- on,
13
- pick
14
- })
15
- }), templateOnly());
16
-
17
- export { PasswordInput as default };
1
+ export { P as default } from '../password-input-BMp5uscw.js';
18
2
  //# sourceMappingURL=password-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"password-input.js","sources":["../../src/components/password-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { pick } from '../-private/helpers.ts';\n\nimport type { InputArgs } from './-input.ts';\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface PasswordInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\n\nconst PasswordInput: TOC<PasswordInputSignature> = <template>\n <input\n class={{styles.input}}\n type=\"password\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n {{on \"input\" (pick \"target.value\" @update) capture=true}}\n ...attributes\n />\n</template>;\n\nexport default PasswordInput;\n"],"names":["PasswordInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,aAAmB,GAAAC,oBAAA,CAA0BC,kBAAA,CAAA,8LAAA,EAUnD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"password-input.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,18 +1,2 @@
1
- import { on } from '@ember/modifier';
2
- import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DS9du02l.js';
4
- import { precompileTemplate } from '@ember/template-compilation';
5
- import { setComponentTemplate } from '@ember/component';
6
- import templateOnly from '@ember/component/template-only';
7
-
8
- const PhoneInput = setComponentTemplate(precompileTemplate("\n <input class={{styles.input}} type=\"tel\" value={{@value}} disabled={{@disabled}} data-test-input {{on \"input\" (pick \"target.value\" @update) capture=true}} ...attributes />\n", {
9
- strictMode: true,
10
- scope: () => ({
11
- styles,
12
- on,
13
- pick
14
- })
15
- }), templateOnly());
16
-
17
- export { PhoneInput as default };
1
+ export { P as default } from '../phone-input-DeaTM5yP.js';
18
2
  //# sourceMappingURL=phone-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"phone-input.js","sources":["../../src/components/phone-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 PhoneInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\n\nconst PhoneInput: TOC<PhoneInputSignature> = <template>\n <input\n class={{styles.input}}\n type=\"tel\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n {{on \"input\" (pick \"target.value\" @update) capture=true}}\n ...attributes\n />\n</template>;\n\nexport default PhoneInput;\n"],"names":["PhoneInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,UAAgB,GAAAC,oBAAA,CAAuBC,kBAAA,CAAA,yLAAA,EAU7C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"phone-input.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,14 +1,2 @@
1
- import styles from '@hokulea/core/windows.module.css';
2
- import { precompileTemplate } from '@ember/template-compilation';
3
- import { setComponentTemplate } from '@ember/component';
4
- import templateOnly from '@ember/component/template-only';
5
-
6
- const Popover = setComponentTemplate(precompileTemplate("\n <div class={{styles.popover}} data-test-popover ...attributes>\n {{yield}}\n </div>\n", {
7
- strictMode: true,
8
- scope: () => ({
9
- styles
10
- })
11
- }), templateOnly());
12
-
13
- export { Popover as default };
1
+ export { P as default } from '../popover-B6j413u9.js';
14
2
  //# sourceMappingURL=popover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","sources":["../../src/components/popover.gts"],"sourcesContent":["import styles from '@hokulea/core/windows.module.css';\n\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface PopoverSignature {\n Element: HTMLDivElement;\n Blocks: {\n default: [];\n };\n}\n\nconst Popover: TOC<PopoverSignature> = <template>\n <div class={{styles.popover}} data-test-popover ...attributes>\n {{yield}}\n </div>\n</template>;\n\nexport default Popover;\n"],"names":["Popover","setComponentTemplate","precompileTemplate","strictMode","scope","styles","templateOnly"],"mappings":";;;;;AAWA,MAAMA,OAAa,GAAAC,oBAAA,CAAoBC,kBAAA,CAAA,+FAAA,EAIvC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"popover.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,18 +1,2 @@
1
- import { on } from '@ember/modifier';
2
- import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DS9du02l.js';
4
- import { precompileTemplate } from '@ember/template-compilation';
5
- import { setComponentTemplate } from '@ember/component';
6
- import templateOnly from '@ember/component/template-only';
7
-
8
- const Radio = setComponentTemplate(precompileTemplate("\n <input class={{styles.choice}} type=\"radio\" checked={{@value}} disabled={{@disabled}} data-test-choice {{on \"input\" (pick \"target.checked\" @update) capture=true}} ...attributes />\n", {
9
- strictMode: true,
10
- scope: () => ({
11
- styles,
12
- on,
13
- pick
14
- })
15
- }), templateOnly());
16
-
17
- export { Radio as default };
1
+ export { R as default } from '../radio-CGBLrzK4.js';
18
2
  //# sourceMappingURL=radio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sources":["../../src/components/radio.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 RadioSignature {\n Element: HTMLInputElement;\n Args: InputArgs<boolean>;\n}\n\nconst Radio: TOC<RadioSignature> = <template>\n <input\n class={{styles.choice}}\n type=\"radio\"\n checked={{@value}}\n disabled={{@disabled}}\n data-test-choice\n {{on \"input\" (pick \"target.checked\" @update) capture=true}}\n ...attributes\n />\n</template>;\n\nexport default Radio;\n"],"names":["Radio","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,KAAW,GAAAC,oBAAA,CAAkBC,kBAAA,CAAA,iMAAA,EAUnC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"radio.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,37 +1,2 @@
1
- import { on } from '@ember/modifier';
2
- import { modifier } from 'ember-modifier';
3
- import styles from '@hokulea/core/controls.module.css';
4
- import { p as pick } from '../helpers-DS9du02l.js';
5
- import { p as pickAsNumber } from '../-input-DGR-n9U_.js';
6
- import { precompileTemplate } from '@ember/template-compilation';
7
- import { setComponentTemplate } from '@ember/component';
8
- import templateOnly from '@ember/component/template-only';
9
-
10
- function applyProgressStyle(range, value) {
11
- const min = Number.parseFloat(range.min) || 0;
12
- const max = Number.parseFloat(range.max) || 100;
13
- const currentVal = value ?? Number.parseFloat(range.value);
14
- const progress = (currentVal - min) / (max - min) * 100;
15
- range.style.setProperty('--_hokulea-slider-progress', `${progress}%`);
16
- }
17
- const progressStyle = modifier((element, [value]) => {
18
- applyProgressStyle(element, value);
19
- const listenForProgressChange = () => {
20
- applyProgressStyle(element);
21
- };
22
- element.addEventListener('input', listenForProgressChange);
23
- return () => element.removeEventListener('input', listenForProgressChange);
24
- });
25
- const RangeInput = setComponentTemplate(precompileTemplate("\n <input class={{styles.range}} type=\"range\" value={{@value}} disabled={{@disabled}} data-test-input data-orientation={{@orientation}} {{on \"input\" (pick \"target.value\" (pickAsNumber @update)) capture=true}} {{progressStyle @value}} ...attributes />\n", {
26
- strictMode: true,
27
- scope: () => ({
28
- styles,
29
- on,
30
- pick,
31
- pickAsNumber,
32
- progressStyle
33
- })
34
- }), templateOnly());
35
-
36
- export { RangeInput as default };
1
+ export { R as default } from '../range-input-BiAPgpW8.js';
37
2
  //# sourceMappingURL=range-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"range-input.js","sources":["../../src/components/range-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport { modifier } from 'ember-modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { pick } from '../-private/helpers.ts';\nimport { pickAsNumber } from './-input.ts';\n\nimport type { InputArgs } from './-input.ts';\nimport type { TOC } from '@ember/component/template-only';\n\nfunction applyProgressStyle(range: HTMLInputElement, value?: number) {\n const min = Number.parseFloat(range.min) || 0;\n const max = Number.parseFloat(range.max) || 100;\n const currentVal = value ?? Number.parseFloat(range.value);\n const progress = ((currentVal - min) / (max - min)) * 100;\n\n range.style.setProperty('--_hokulea-slider-progress', `${progress}%`);\n}\n\nconst progressStyle = modifier((element: HTMLInputElement, [value]: [number?]) => {\n applyProgressStyle(element, value);\n\n const listenForProgressChange = () => {\n applyProgressStyle(element);\n };\n\n element.addEventListener('input', listenForProgressChange);\n\n return () => element.removeEventListener('input', listenForProgressChange);\n});\n\nexport interface RangeInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<number> & {\n min?: number;\n max?: number;\n step?: number | 'any';\n orientation?: 'horizontal' | 'vertical';\n };\n}\n\nconst RangeInput: TOC<RangeInputSignature> = <template>\n <input\n class={{styles.range}}\n type=\"range\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n data-orientation={{@orientation}}\n {{on \"input\" (pick \"target.value\" (pickAsNumber @update)) capture=true}}\n {{progressStyle @value}}\n ...attributes\n />\n</template>;\n\nexport default RangeInput;\n"],"names":["applyProgressStyle","range","value","min","Number","parseFloat","max","currentVal","progress","style","setProperty","progressStyle","modifier","element","listenForProgressChange","addEventListener","removeEventListener","RangeInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","pickAsNumber","templateOnly"],"mappings":";;;;;;;;;AAYA,SAASA,kBAAAA,CAAmBC,KAAuB,EAAEC,KAAc,EAAA;EACjE,MAAMC,MAAMC,MAAA,CAAOC,UAAU,CAACJ,KAAA,CAAME,GAAG,CAAA,IAAK,CAAA;EAC5C,MAAMG,MAAMF,MAAA,CAAOC,UAAU,CAACJ,KAAA,CAAMK,GAAG,CAAA,IAAK,GAAA;EAC5C,MAAMC,aAAaL,KAAA,IAASE,MAAA,CAAOC,UAAU,CAACJ,MAAMC,KAAK,CAAA;AACzD,EAAA,MAAMM,QAAA,GAAY,CAACD,UAAA,GAAaJ,GAAG,KAAKG,GAAA,GAAMH,GAAG,CAAC,GAAI,GAAA;EAEtDF,KAAA,CAAMQ,KAAK,CAACC,WAAW,CAAC,8BAA8B,CAAA,EAAGF,QAAA,CAAA,CAAA,CAAW,CAAA;AACtE;AAEA,MAAMG,aAAA,GAAgBC,SAAS,CAACC,SAA2B,CAACX,KAAA,CAAiB,KAAA;AAC3EF,EAAAA,kBAAA,CAAmBa,OAAA,EAASX,KAAA,CAAA;EAE5B,MAAMY,uBAAA,GAA0BA,MAAA;IAC9Bd,kBAAA,CAAmBa,OAAA,CAAA;EACrB,CAAA;AAEAA,EAAAA,OAAA,CAAQE,gBAAgB,CAAC,OAAA,EAASD,uBAAA,CAAA;EAElC,OAAO,MAAMD,OAAA,CAAQG,mBAAmB,CAAC,OAAA,EAASF,uBAAA,CAAA;AACpD,CAAA,CAAA;AAYA,MAAMG,UAAgB,GAAAC,oBAAA,CAAuBC,kBAAA,CAAA,qQAAA,EAY7C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;IAAAC,IAAA;IAAAC,YAAA;AAAAd,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAe,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"range-input.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,25 +1,2 @@
1
- import { assert } from '@ember/debug';
2
- import { element } from 'ember-element-helper';
3
- import styles$1 from '@hokulea/core/content.module.css';
4
- import styles from '@hokulea/core/layouts.module.css';
5
- import { precompileTemplate } from '@ember/template-compilation';
6
- import { setComponentTemplate } from '@ember/component';
7
- import templateOnly from '@ember/component/template-only';
8
-
9
- function elementForLevel(level) {
10
- const lvl = level ? Number.parseInt(level) : 2;
11
- assert(`@level for <Section> must be between 1 and 6, received '${lvl}'`, lvl >= 1 && lvl <= 6);
12
- return `h${lvl}`;
13
- }
14
- const Section = setComponentTemplate(precompileTemplate("\n <section class=\"{{styles.section}} {{layouts.flow}}\" data-test-section ...attributes>\n {{#if @title}}\n <header data-test-section=\"header\" part=\"header\">\n {{#if @title}}\n {{#let (element (elementForLevel @level)) as |Headline|}}\n <Headline data-test-section=\"title\" class={{styles.sectionTitle}}>{{@title}}</Headline>\n {{/let}}\n {{/if}}\n </header>\n {{/if}}\n\n {{#if (has-block)}}\n {{yield}}\n {{/if}}\n </section>\n", {
15
- strictMode: true,
16
- scope: () => ({
17
- styles: styles$1,
18
- layouts: styles,
19
- element,
20
- elementForLevel
21
- })
22
- }), templateOnly());
23
-
24
- export { Section as default };
1
+ export { S as default } from '../section-BAdmc3Yn.js';
25
2
  //# sourceMappingURL=section.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"section.js","sources":["../../src/components/section.gts"],"sourcesContent":["import { assert } from '@ember/debug';\n\nimport { element } from 'ember-element-helper';\n\n// eslint-disable-next-line import-x/no-duplicates\nimport styles from '@hokulea/core/content.module.css';\n// eslint-disable-next-line import-x/no-duplicates\nimport layouts from '@hokulea/core/layouts.module.css';\n\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface SectionSignature {\n Element: HTMLElement;\n Args: {\n title?: string;\n /**\n * The level of the component, 1-6 as in `<h1>` to `<h6>`\n *\n * @defaultValue 2\n */\n level?: string;\n };\n Blocks: {\n default: [];\n };\n}\n\nfunction elementForLevel(level?: string) {\n const lvl = level ? Number.parseInt(level) : 2;\n\n assert(`@level for <Section> must be between 1 and 6, received '${lvl}'`, lvl >= 1 && lvl <= 6);\n\n return `h${lvl}`;\n}\n\nconst Section: TOC<SectionSignature> = <template>\n <section class=\"{{styles.section}} {{layouts.flow}}\" data-test-section ...attributes>\n {{#if @title}}\n <header data-test-section=\"header\" part=\"header\">\n {{#if @title}}\n {{#let (element (elementForLevel @level)) as |Headline|}}\n <Headline data-test-section=\"title\" class={{styles.sectionTitle}}>{{@title}}</Headline>\n {{/let}}\n {{/if}}\n </header>\n {{/if}}\n\n {{#if (has-block)}}\n {{yield}}\n {{/if}}\n </section>\n</template>;\n\nexport default Section;\n"],"names":["elementForLevel","level","lvl","Number","parseInt","assert","Section","setComponentTemplate","precompileTemplate","strictMode","scope","styles","layouts","element","templateOnly"],"mappings":";;;;;;;;AA2BA,SAASA,eAAAA,CAAgBC,KAAc,EAAA;EACrC,MAAMC,GAAA,GAAMD,KAAA,GAAQE,MAAA,CAAOC,QAAQ,CAACH,KAAA,CAAA,GAAS,CAAA;AAE7CI,EAAAA,MAAA,CAAO,CAAA,wDAAA,EAA2DH,GAAA,CAAA,CAAA,CAAM,EAAEA,GAAA,IAAO,CAAA,IAAKA,GAAA,IAAO,CAAA,CAAA;EAE7F,OAAO,CAAA,CAAA,EAAIA,GAAA,CAAA,CAAK;AAClB;AAEA,MAAMI,OAAa,GAAAC,oBAAA,CAAoBC,kBAAA,CAAA,8fAAA,EAgBvC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;YAAAC,QAAA;aAAAC,MAAA;IAAAC,OAAA;AAAAb,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAc,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"section.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { S as default } from '../sectioned-page-fB9mV5WD.js';
2
+ //# sourceMappingURL=sectioned-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sectioned-page.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,39 +1,2 @@
1
- import Component from '@glimmer/component';
2
- import { hash } from '@ember/helper';
3
- import { on } from '@ember/modifier';
4
- import styles from '@hokulea/core/controls.module.css';
5
- import { precompileTemplate } from '@ember/template-compilation';
6
- import { setComponentTemplate } from '@ember/component';
7
- import templateOnly from '@ember/component/template-only';
8
-
9
- const Option = setComponentTemplate(precompileTemplate("\n <option value={{@value}} selected={{@isSelected @value}} ...attributes>\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@value}}\n {{/if}}\n </option>\n", {
10
- strictMode: true
11
- }), templateOnly());
12
- class Select extends Component {
13
- isSelected = option => {
14
- if (Array.isArray(this.args.value)) {
15
- return this.args.value.includes(option);
16
- }
17
- return String(option) === String(this.args.value);
18
- };
19
- select = event => {
20
- const select = event.target;
21
- const selection = Array.of(...select.selectedOptions).map(option => option.value);
22
- const value = selection.length === 1 ? selection[0] : selection;
23
- this.args.update?.(value);
24
- };
25
- static {
26
- setComponentTemplate(precompileTemplate("\n <span class={{styles.select}}>\n <select disabled={{@disabled}} data-test-select {{on \"input\" this.select capture=true}} ...attributes>\n {{yield (hash Option=(component Option isSelected=this.isSelected))}}\n </select>\n </span>\n ", {
27
- strictMode: true,
28
- scope: () => ({
29
- styles,
30
- on,
31
- hash,
32
- Option
33
- })
34
- }), this);
35
- }
36
- }
37
-
38
- export { Select as default };
1
+ export { S as default } from '../select-DxyaUFuy.js';
39
2
  //# sourceMappingURL=select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sources":["../../src/components/select.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { WithBoundArgs } from '@glint/template';\n\nexport type Value = string | number;\n\nexport interface OptionSignature {\n Element: HTMLOptionElement;\n Args: {\n value: Value;\n isSelected: (option: Value) => boolean;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst Option: TOC<OptionSignature> = <template>\n <option value={{@value}} selected={{@isSelected @value}} ...attributes>\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@value}}\n {{/if}}\n </option>\n</template>;\n\nexport interface SelectSignature {\n Element: HTMLSelectElement;\n Args: {\n value?: Value | Value[];\n update?: (value: Value | Value[]) => void;\n disabled?: boolean;\n };\n Blocks: {\n default: [\n {\n Option: WithBoundArgs<typeof Option, 'isSelected'>;\n }\n ];\n };\n}\n\nexport default class Select extends Component<SelectSignature> {\n isSelected = (option: Value) => {\n if (Array.isArray(this.args.value)) {\n return this.args.value.includes(option);\n }\n\n return String(option) === String(this.args.value);\n };\n\n select = (event: Event) => {\n const select = event.target as HTMLSelectElement;\n const selection = Array.of(...select.selectedOptions).map((option) => option.value);\n const value = selection.length === 1 ? (selection[0] as Value) : (selection as Value[]);\n\n this.args.update?.(value);\n };\n\n <template>\n <span class={{styles.select}}>\n <select\n disabled={{@disabled}}\n data-test-select\n {{on \"input\" this.select capture=true}}\n ...attributes\n >\n {{yield (hash Option=(component Option isSelected=this.isSelected))}}\n </select>\n </span>\n </template>\n}\n"],"names":["Option","setComponentTemplate","precompileTemplate","strictMode","templateOnly","Select","Component","isSelected","option","Array","isArray","args","value","includes","String","select","event","target","selection","of","selectedOptions","map","length","update","scope","styles","on","hash"],"mappings":";;;;;;;;AAsBA,MAAMA,MAAY,GAAAC,oBAAA,CAAmBC,kBAAA,CAAA,mLAAA,EAQrC;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA;AAkBK,MAAMC,eAAeC,SAAA,CAAU;EAC5CC,UAAA,GAAcC,MAAQ,IAAA;IACpB,IAAIC,KAAA,CAAMC,OAAO,CAAC,IAAI,CAACC,IAAI,CAACC,KAAK,CAAA,EAAG;MAClC,OAAO,IAAI,CAACD,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACL,MAAA,CAAA;AAClC,IAAA;AAEA,IAAA,OAAOM,OAAON,MAAA,CAAA,KAAYM,MAAA,CAAO,IAAI,CAACH,IAAI,CAACC,KAAK,CAAA;EAClD,CAAA;EAEAG,MAAA,GAAUC,KAAO,IAAA;AACf,IAAA,MAAMD,MAAA,GAASC,KAAA,CAAMC,MAAU;AAC/B,IAAA,MAAMC,SAAA,GAAYT,KAAA,CAAMU,EAAE,CAAA,GAAIJ,MAAA,CAAOK,eAAe,CAAA,CAAEC,GAAG,CAAEb,MAAA,IAAWA,MAAA,CAAOI,KAAK,CAAA;AAClF,IAAA,MAAMA,KAAA,GAAQM,SAAA,CAAUI,MAAM,KAAK,IAAKJ,SAAS,CAAC,CAAA,CAAE,GAAcA,SAAoB;AAEtF,IAAA,IAAI,CAACP,IAAI,CAACY,MAAM,GAAGX,KAAA,CAAA;EACrB,CAAA;AAEA,EAAA;IAAAX,oBAAA,CAAAC,kBAAA,CAAA,uQAAA,EAWA;MAAAC,UAAA,EAAA,IAAA;AAAAqB,MAAAA,KAAA,EAAAA,OAAA;QAAAC,MAAA;QAAAC,EAAA;QAAAC,IAAA;AAAA3B,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"select.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,111 +1,2 @@
1
- import Component from '@glimmer/component';
2
- import { cached, tracked } from '@glimmer/tracking';
3
- import { registerDestructor } from '@ember/destroyable';
4
- import { hash, uniqueId } from '@ember/helper';
5
- import { guidFor } from '@ember/object/internals';
6
- import { next } from '@ember/runloop';
7
- import { ariaTablist } from 'ember-aria-voyager';
8
- import { modifier } from 'ember-modifier';
9
- import Portal from 'ember-stargate/components/portal';
10
- import PortalTarget from 'ember-stargate/components/portal-target';
11
- import { TrackedArray } from 'tracked-built-ins';
12
- import styles from '@hokulea/core/controls.module.css';
13
- import { n as not, e as eq } from '../helpers-DS9du02l.js';
14
- import { precompileTemplate } from '@ember/template-compilation';
15
- import { setComponentTemplate } from '@ember/component';
16
- import { n, g, i } from 'decorator-transforms/runtime-esm';
17
-
18
- const TabValue = Symbol('TabValue');
19
- const attachValue = modifier((element, [value]) => {
20
- if (value) {
21
- // @ts-expect-error this is internal API
22
- element[TabValue] = value;
23
- }
24
- });
25
- class Tab extends Component {
26
- constructor(owner, args) {
27
- super(owner, args);
28
- args.register(this);
29
- registerDestructor(this, () => {
30
- args.unregister(this);
31
- });
32
- }
33
- get id() {
34
- return this.args.value ?? this.args.label ?? guidFor(this);
35
- }
36
- static {
37
- n(this.prototype, "id", [cached]);
38
- }
39
- static {
40
- setComponentTemplate(precompileTemplate("\n {{#let (uniqueId) (hash active=(eq this.id @activeItem) selected=(eq this.id @selection)) as |id state|}}\n <Portal @target={{@tablist}}>\n {{!-- template-lint-disable require-context-role --}}\n <button type=\"button\" role=\"tab\" aria-controls={{id}} aria-selected={{if state.selected \"true\"}} id=\"{{id}}-label\" {{attachValue @value}}>\n <span>\n {{#if (has-block \"label\")}}\n {{yield state to=\"label\"}}\n {{else}}\n {{@label}}\n {{/if}}\n </span>\n </button>\n </Portal>\n\n <section id={{id}} role=\"tabpanel\" aria-labelledby=\"{{id}}-label\" local-class=\"content\" hidden={{not state.selected}}>\n {{#if (has-block \"content\")}}\n {{yield state to=\"content\"}}\n {{else}}\n {{yield state}}\n {{/if}}\n </section>\n {{/let}}\n ", {
41
- strictMode: true,
42
- scope: () => ({
43
- uniqueId,
44
- hash,
45
- eq,
46
- Portal,
47
- attachValue,
48
- not
49
- })
50
- }), this);
51
- }
52
- }
53
- class Tabs extends Component {
54
- static {
55
- g(this.prototype, "tabs", [tracked], function () {
56
- return new TrackedArray();
57
- });
58
- }
59
- #tabs = (i(this, "tabs"), void 0);
60
- static {
61
- g(this.prototype, "internalSelection", [tracked]);
62
- }
63
- #internalSelection = (i(this, "internalSelection"), void 0);
64
- static {
65
- g(this.prototype, "activeItem", [tracked]);
66
- }
67
- #activeItem = (i(this, "activeItem"), void 0);
68
- get items() {
69
- return this.tabs.map(t => t.id);
70
- }
71
- get selection() {
72
- return this.args.selection ?? this.internalSelection?.id;
73
- }
74
- register = tab => {
75
- // eslint-disable-next-line ember/no-runloop
76
- next(() => {
77
- this.tabs.push(tab);
78
- });
79
- };
80
- unregister = tab => {
81
- // eslint-disable-next-line ember/no-runloop
82
- next(() => {
83
- this.tabs.splice(this.tabs.indexOf(tab), 1);
84
- });
85
- };
86
- select = id => {
87
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
88
- const tab = this.tabs.find(t => t.id === id);
89
- this.internalSelection = tab;
90
- this.args.update?.(tab.args.value ?? tab.args.label ?? undefined);
91
- };
92
- activateItem = id => {
93
- this.activeItem = id;
94
- };
95
- static {
96
- setComponentTemplate(precompileTemplate("\n <div class={{styles.tabs}} data-test-tabs>\n {{#let (uniqueId) as |tablistId|}}\n <PortalTarget @name={{tablistId}} @multiple={{true}} role=\"tablist\" {{ariaTablist items=this.items select=this.select selection=this.selection activateItem=this.activateItem disabled=@disabled behavior=@behavior orientation=@orientation}} />\n\n {{yield (hash Tab=(component Tab register=this.register unregister=this.unregister tablist=tablistId selection=this.selection activeItem=this.activeItem))}}\n {{/let}}\n </div>\n ", {
97
- strictMode: true,
98
- scope: () => ({
99
- styles,
100
- uniqueId,
101
- PortalTarget,
102
- ariaTablist,
103
- hash,
104
- Tab
105
- })
106
- }), this);
107
- }
108
- }
109
-
110
- export { TabValue, Tabs as default };
1
+ export { T as default } from '../tabs-a9GhNQv9.js';
111
2
  //# sourceMappingURL=tabs.js.map