@hokulea/ember 0.7.2 → 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 (382) 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/{-private/form/components → components/form}/description.gts.d.ts +1 -2
  67. package/declarations/components/form/description.gts.d.ts.map +1 -0
  68. package/declarations/components/form/errors.gts.d.ts +14 -0
  69. package/declarations/components/form/errors.gts.d.ts.map +1 -0
  70. package/declarations/components/form/field.gts.d.ts +111 -0
  71. package/declarations/components/form/field.gts.d.ts.map +1 -0
  72. package/declarations/components/form/fields/checkbox.gts.d.ts +16 -0
  73. package/declarations/components/form/fields/checkbox.gts.d.ts.map +1 -0
  74. package/declarations/components/form/fields/currency.gts.d.ts +16 -0
  75. package/declarations/components/form/fields/currency.gts.d.ts.map +1 -0
  76. package/declarations/components/form/fields/date.gts.d.ts +16 -0
  77. package/declarations/components/form/fields/date.gts.d.ts.map +1 -0
  78. package/declarations/components/form/fields/email.gts.d.ts +16 -0
  79. package/declarations/components/form/fields/email.gts.d.ts.map +1 -0
  80. package/declarations/components/form/fields/list.gts.d.ts +28 -0
  81. package/declarations/components/form/fields/list.gts.d.ts.map +1 -0
  82. package/declarations/components/form/fields/multiple-choice.gts.d.ts +60 -0
  83. package/declarations/components/form/fields/multiple-choice.gts.d.ts.map +1 -0
  84. package/declarations/components/form/fields/number.gts.d.ts +16 -0
  85. package/declarations/components/form/fields/number.gts.d.ts.map +1 -0
  86. package/declarations/components/form/fields/password.gts.d.ts +18 -0
  87. package/declarations/components/form/fields/password.gts.d.ts.map +1 -0
  88. package/declarations/components/form/fields/phone.gts.d.ts +18 -0
  89. package/declarations/components/form/fields/phone.gts.d.ts.map +1 -0
  90. package/declarations/components/form/fields/range.gts.d.ts +16 -0
  91. package/declarations/components/form/fields/range.gts.d.ts.map +1 -0
  92. package/declarations/components/form/fields/select.gts.d.ts +17 -0
  93. package/declarations/components/form/fields/select.gts.d.ts.map +1 -0
  94. package/declarations/components/form/fields/singular-choice.gts.d.ts +56 -0
  95. package/declarations/components/form/fields/singular-choice.gts.d.ts.map +1 -0
  96. package/declarations/{-private/form/components → components/form}/fields/stories-utils.d.ts +2 -2
  97. package/declarations/components/form/fields/stories-utils.d.ts.map +1 -0
  98. package/declarations/components/form/fields/text-area.gts.d.ts +16 -0
  99. package/declarations/components/form/fields/text-area.gts.d.ts.map +1 -0
  100. package/declarations/components/form/fields/text.gts.d.ts +18 -0
  101. package/declarations/components/form/fields/text.gts.d.ts.map +1 -0
  102. package/declarations/components/form/form.gts.d.ts +210 -0
  103. package/declarations/components/form/form.gts.d.ts.map +1 -0
  104. package/declarations/components/form/index.d.ts +4 -0
  105. package/declarations/components/form/index.d.ts.map +1 -0
  106. package/declarations/{-private/form/components → components/form}/label.gts.d.ts +1 -2
  107. package/declarations/components/form/label.gts.d.ts.map +1 -0
  108. package/declarations/components/form/manage-validation.d.ts +18 -0
  109. package/declarations/components/form/manage-validation.d.ts.map +1 -0
  110. package/declarations/{-private/form/components → components/form}/reset.gts.d.ts +1 -2
  111. package/declarations/components/form/reset.gts.d.ts.map +1 -0
  112. package/declarations/components/form/rules.gts.d.ts +36 -0
  113. package/declarations/components/form/rules.gts.d.ts.map +1 -0
  114. package/declarations/{-private/form/components → components/form}/submit.gts.d.ts +1 -2
  115. package/declarations/components/form/submit.gts.d.ts.map +1 -0
  116. package/declarations/components/form.gts.d.ts +1 -318
  117. package/declarations/components/form.gts.d.ts.map +1 -1
  118. package/declarations/components/graphics/icon.gts.d.ts +13 -0
  119. package/declarations/components/graphics/icon.gts.d.ts.map +1 -0
  120. package/declarations/components/icon-button.gts.d.ts +1 -25
  121. package/declarations/components/icon-button.gts.d.ts.map +1 -1
  122. package/declarations/components/icon.gts.d.ts +1 -13
  123. package/declarations/components/icon.gts.d.ts.map +1 -1
  124. package/declarations/components/input-builder.gts.d.ts +1 -28
  125. package/declarations/components/input-builder.gts.d.ts.map +1 -1
  126. package/declarations/components/layouts/focus-page.gts.d.ts +24 -0
  127. package/declarations/components/layouts/focus-page.gts.d.ts.map +1 -0
  128. package/declarations/components/layouts/page.gts.d.ts +24 -0
  129. package/declarations/components/layouts/page.gts.d.ts.map +1 -0
  130. package/declarations/components/layouts/pages.d.ts +15 -0
  131. package/declarations/components/layouts/pages.d.ts.map +1 -0
  132. package/declarations/components/layouts/sectioned-page.gts.d.ts +26 -0
  133. package/declarations/components/layouts/sectioned-page.gts.d.ts.map +1 -0
  134. package/declarations/components/list.gts.d.ts +1 -50
  135. package/declarations/components/list.gts.d.ts.map +1 -1
  136. package/declarations/components/menu.gts.d.ts +1 -38
  137. package/declarations/components/menu.gts.d.ts.map +1 -1
  138. package/declarations/components/navigation/app-header.gts.d.ts +55 -0
  139. package/declarations/components/navigation/app-header.gts.d.ts.map +1 -0
  140. package/declarations/components/navigation/nav-link.gts.d.ts +10 -0
  141. package/declarations/components/navigation/nav-link.gts.d.ts.map +1 -0
  142. package/declarations/components/navigation/navigation-list.gts.d.ts +19 -0
  143. package/declarations/components/navigation/navigation-list.gts.d.ts.map +1 -0
  144. package/declarations/components/navigation-list.gts.d.ts +2 -0
  145. package/declarations/components/navigation-list.gts.d.ts.map +1 -0
  146. package/declarations/components/number-input.gts.d.ts +1 -8
  147. package/declarations/components/number-input.gts.d.ts.map +1 -1
  148. package/declarations/components/page.gts.d.ts +1 -35
  149. package/declarations/components/page.gts.d.ts.map +1 -1
  150. package/declarations/components/password-input.gts.d.ts +1 -8
  151. package/declarations/components/password-input.gts.d.ts.map +1 -1
  152. package/declarations/components/phone-input.gts.d.ts +1 -8
  153. package/declarations/components/phone-input.gts.d.ts.map +1 -1
  154. package/declarations/components/popover.gts.d.ts +1 -9
  155. package/declarations/components/popover.gts.d.ts.map +1 -1
  156. package/declarations/components/radio.gts.d.ts +1 -8
  157. package/declarations/components/radio.gts.d.ts.map +1 -1
  158. package/declarations/components/range-input.gts.d.ts +1 -13
  159. package/declarations/components/range-input.gts.d.ts.map +1 -1
  160. package/declarations/components/section.gts.d.ts +1 -18
  161. package/declarations/components/section.gts.d.ts.map +1 -1
  162. package/declarations/components/sectioned-page.gts.d.ts +2 -0
  163. package/declarations/components/sectioned-page.gts.d.ts.map +1 -0
  164. package/declarations/components/select.gts.d.ts +1 -35
  165. package/declarations/components/select.gts.d.ts.map +1 -1
  166. package/declarations/components/tabs.gts.d.ts +1 -60
  167. package/declarations/components/tabs.gts.d.ts.map +1 -1
  168. package/declarations/components/text-area.gts.d.ts +1 -8
  169. package/declarations/components/text-area.gts.d.ts.map +1 -1
  170. package/declarations/components/text-input.gts.d.ts +1 -8
  171. package/declarations/components/text-input.gts.d.ts.map +1 -1
  172. package/declarations/components/windows/popover.gts.d.ts +9 -0
  173. package/declarations/components/windows/popover.gts.d.ts.map +1 -0
  174. package/declarations/helpers/popover.d.ts +1 -1
  175. package/declarations/helpers/popover.d.ts.map +1 -1
  176. package/declarations/index.d.ts +31 -29
  177. package/declarations/index.d.ts.map +1 -1
  178. package/declarations/registry.d.ts +2 -0
  179. package/declarations/registry.d.ts.map +1 -0
  180. package/declarations/services/-hokulea.d.ts.map +1 -1
  181. package/declarations/template-registry.d.ts +41 -35
  182. package/declarations/template-registry.d.ts.map +1 -1
  183. package/declarations/test-support/index.d.ts +2 -1
  184. package/declarations/test-support/index.d.ts.map +1 -1
  185. package/declarations/test-support/page-objects/-navigation.d.ts +9 -0
  186. package/declarations/test-support/page-objects/-navigation.d.ts.map +1 -0
  187. package/declarations/test-support/page-objects/-private/field.d.ts +4 -0
  188. package/declarations/test-support/page-objects/-private/field.d.ts.map +1 -1
  189. package/declarations/test-support/page-objects/app-header.d.ts +1 -1
  190. package/declarations/test-support/page-objects/app-header.d.ts.map +1 -1
  191. package/declarations/test-support/page-objects/navigation-list.d.ts +10 -0
  192. package/declarations/test-support/page-objects/navigation-list.d.ts.map +1 -0
  193. package/declarations/test-support/page-objects/page.d.ts +3 -1
  194. package/declarations/test-support/page-objects/page.d.ts.map +1 -1
  195. package/declarations/test-support/page-objects/tabs.d.ts.map +1 -1
  196. package/dist/-button-KUaJCQaB.js.map +1 -1
  197. package/dist/-input-DGR-n9U_.js.map +1 -1
  198. package/dist/_app_/components/focus-page.js +1 -0
  199. package/dist/_app_/components/navigation-list.js +1 -0
  200. package/dist/_app_/components/sectioned-page.js +1 -0
  201. package/dist/app-header-B6Q7pbiY.js +122 -0
  202. package/dist/app-header-B6Q7pbiY.js.map +1 -0
  203. package/dist/box-DU6m9gDw.js +20 -0
  204. package/dist/box-DU6m9gDw.js.map +1 -0
  205. package/dist/button-XdQyGTGA.js +24 -0
  206. package/dist/button-XdQyGTGA.js.map +1 -0
  207. package/dist/card-Bdv-UvKX.js +16 -0
  208. package/dist/card-Bdv-UvKX.js.map +1 -0
  209. package/dist/checkbox-D4vALmT2.js +18 -0
  210. package/dist/checkbox-D4vALmT2.js.map +1 -0
  211. package/dist/components/app-header.js +1 -131
  212. package/dist/components/app-header.js.map +1 -1
  213. package/dist/components/box.js +1 -19
  214. package/dist/components/box.js.map +1 -1
  215. package/dist/components/button.js +1 -23
  216. package/dist/components/button.js.map +1 -1
  217. package/dist/components/card.js +1 -15
  218. package/dist/components/card.js.map +1 -1
  219. package/dist/components/checkbox.js +1 -17
  220. package/dist/components/checkbox.js.map +1 -1
  221. package/dist/components/currency-input.js +1 -21
  222. package/dist/components/currency-input.js.map +1 -1
  223. package/dist/components/date-input.js +1 -17
  224. package/dist/components/date-input.js.map +1 -1
  225. package/dist/components/email-input.js +1 -17
  226. package/dist/components/email-input.js.map +1 -1
  227. package/dist/components/focus-page.js +2 -0
  228. package/dist/components/focus-page.js.map +1 -0
  229. package/dist/components/form.js +1 -835
  230. package/dist/components/form.js.map +1 -1
  231. package/dist/components/icon-button.js +1 -36
  232. package/dist/components/icon-button.js.map +1 -1
  233. package/dist/components/icon.js +1 -15
  234. package/dist/components/icon.js.map +1 -1
  235. package/dist/components/input-builder.js +1 -19
  236. package/dist/components/input-builder.js.map +1 -1
  237. package/dist/components/list.js +1 -65
  238. package/dist/components/list.js.map +1 -1
  239. package/dist/components/menu.js +1 -115
  240. package/dist/components/menu.js.map +1 -1
  241. package/dist/components/navigation-list.js +2 -0
  242. package/dist/components/navigation-list.js.map +1 -0
  243. package/dist/components/number-input.js +1 -19
  244. package/dist/components/number-input.js.map +1 -1
  245. package/dist/components/page.js +1 -62
  246. package/dist/components/page.js.map +1 -1
  247. package/dist/components/password-input.js +1 -17
  248. package/dist/components/password-input.js.map +1 -1
  249. package/dist/components/phone-input.js +1 -17
  250. package/dist/components/phone-input.js.map +1 -1
  251. package/dist/components/popover.js +1 -13
  252. package/dist/components/popover.js.map +1 -1
  253. package/dist/components/radio.js +1 -17
  254. package/dist/components/radio.js.map +1 -1
  255. package/dist/components/range-input.js +1 -36
  256. package/dist/components/range-input.js.map +1 -1
  257. package/dist/components/section.js +1 -24
  258. package/dist/components/section.js.map +1 -1
  259. package/dist/components/sectioned-page.js +2 -0
  260. package/dist/components/sectioned-page.js.map +1 -0
  261. package/dist/components/select.js +1 -38
  262. package/dist/components/select.js.map +1 -1
  263. package/dist/components/tabs.js +1 -110
  264. package/dist/components/tabs.js.map +1 -1
  265. package/dist/components/text-area.js +1 -17
  266. package/dist/components/text-area.js.map +1 -1
  267. package/dist/components/text-input.js +1 -17
  268. package/dist/components/text-input.js.map +1 -1
  269. package/dist/currency-input-8ef0Igfb.js +22 -0
  270. package/dist/currency-input-8ef0Igfb.js.map +1 -0
  271. package/dist/date-input-BayaBuSb.js +18 -0
  272. package/dist/date-input-BayaBuSb.js.map +1 -0
  273. package/dist/email-input-j-Z0KO4A.js +18 -0
  274. package/dist/email-input-j-Z0KO4A.js.map +1 -0
  275. package/dist/focus-page-B9myJVvL.js +23 -0
  276. package/dist/focus-page-B9myJVvL.js.map +1 -0
  277. package/dist/form-DWyQ6QHX.js +518 -0
  278. package/dist/form-DWyQ6QHX.js.map +1 -0
  279. package/dist/helpers/popover.js +1 -1
  280. package/dist/helpers/popover.js.map +1 -1
  281. package/dist/icon-bLZqjTMP.js +16 -0
  282. package/dist/icon-bLZqjTMP.js.map +1 -0
  283. package/dist/icon-button-7K-W_8jc.js +37 -0
  284. package/dist/icon-button-7K-W_8jc.js.map +1 -0
  285. package/dist/index.js +30 -27
  286. package/dist/index.js.map +1 -1
  287. package/dist/input-builder-DmcQbywA.js +20 -0
  288. package/dist/input-builder-DmcQbywA.js.map +1 -0
  289. package/dist/list-CsLvih6-.js +66 -0
  290. package/dist/list-CsLvih6-.js.map +1 -0
  291. package/dist/menu-CZKNGJ91.js +116 -0
  292. package/dist/menu-CZKNGJ91.js.map +1 -0
  293. package/dist/nav-link-CGVtuqwC.js +30 -0
  294. package/dist/nav-link-CGVtuqwC.js.map +1 -0
  295. package/dist/navigation-list-Cxs6uZdM.js +22 -0
  296. package/dist/navigation-list-Cxs6uZdM.js.map +1 -0
  297. package/dist/number-input-B84zcPlM.js +20 -0
  298. package/dist/number-input-B84zcPlM.js.map +1 -0
  299. package/dist/page-BcSgHxr7.js +23 -0
  300. package/dist/page-BcSgHxr7.js.map +1 -0
  301. package/dist/pages-DgHJEvSy.js +31 -0
  302. package/dist/pages-DgHJEvSy.js.map +1 -0
  303. package/dist/password-input-BMp5uscw.js +18 -0
  304. package/dist/password-input-BMp5uscw.js.map +1 -0
  305. package/dist/phone-input-DeaTM5yP.js +18 -0
  306. package/dist/phone-input-DeaTM5yP.js.map +1 -0
  307. package/dist/popover-B6j413u9.js +14 -0
  308. package/dist/popover-B6j413u9.js.map +1 -0
  309. package/dist/radio-CGBLrzK4.js +18 -0
  310. package/dist/radio-CGBLrzK4.js.map +1 -0
  311. package/dist/range-input-BiAPgpW8.js +37 -0
  312. package/dist/range-input-BiAPgpW8.js.map +1 -0
  313. package/dist/registry.js +14 -0
  314. package/dist/registry.js.map +1 -0
  315. package/dist/section-BAdmc3Yn.js +25 -0
  316. package/dist/section-BAdmc3Yn.js.map +1 -0
  317. package/dist/sectioned-page-fB9mV5WD.js +25 -0
  318. package/dist/sectioned-page-fB9mV5WD.js.map +1 -0
  319. package/dist/select-DxyaUFuy.js +39 -0
  320. package/dist/select-DxyaUFuy.js.map +1 -0
  321. package/dist/services/-hokulea.js +1 -8
  322. package/dist/services/-hokulea.js.map +1 -1
  323. package/dist/tabs-a9GhNQv9.js +111 -0
  324. package/dist/tabs-a9GhNQv9.js.map +1 -0
  325. package/dist/test-support/index.js +29 -4
  326. package/dist/test-support/index.js.map +1 -1
  327. package/dist/text-area-55_E1zv8.js +18 -0
  328. package/dist/text-area-55_E1zv8.js.map +1 -0
  329. package/dist/text-input-CK-yGbI5.js +18 -0
  330. package/dist/text-input-CK-yGbI5.js.map +1 -0
  331. package/package.json +38 -32
  332. package/declarations/-private/form/components/description.gts.d.ts.map +0 -1
  333. package/declarations/-private/form/components/errors.gts.d.ts +0 -15
  334. package/declarations/-private/form/components/errors.gts.d.ts.map +0 -1
  335. package/declarations/-private/form/components/field.gts.d.ts +0 -147
  336. package/declarations/-private/form/components/field.gts.d.ts.map +0 -1
  337. package/declarations/-private/form/components/fields/checkbox.gts.d.ts +0 -15
  338. package/declarations/-private/form/components/fields/checkbox.gts.d.ts.map +0 -1
  339. package/declarations/-private/form/components/fields/currency.gts.d.ts +0 -15
  340. package/declarations/-private/form/components/fields/currency.gts.d.ts.map +0 -1
  341. package/declarations/-private/form/components/fields/date.gts.d.ts +0 -15
  342. package/declarations/-private/form/components/fields/date.gts.d.ts.map +0 -1
  343. package/declarations/-private/form/components/fields/email.gts.d.ts +0 -15
  344. package/declarations/-private/form/components/fields/email.gts.d.ts.map +0 -1
  345. package/declarations/-private/form/components/fields/list.gts.d.ts +0 -27
  346. package/declarations/-private/form/components/fields/list.gts.d.ts.map +0 -1
  347. package/declarations/-private/form/components/fields/multiple-choice.gts.d.ts +0 -58
  348. package/declarations/-private/form/components/fields/multiple-choice.gts.d.ts.map +0 -1
  349. package/declarations/-private/form/components/fields/number.gts.d.ts +0 -15
  350. package/declarations/-private/form/components/fields/number.gts.d.ts.map +0 -1
  351. package/declarations/-private/form/components/fields/password.gts.d.ts +0 -15
  352. package/declarations/-private/form/components/fields/password.gts.d.ts.map +0 -1
  353. package/declarations/-private/form/components/fields/phone.gts.d.ts +0 -15
  354. package/declarations/-private/form/components/fields/phone.gts.d.ts.map +0 -1
  355. package/declarations/-private/form/components/fields/range.gts.d.ts +0 -15
  356. package/declarations/-private/form/components/fields/range.gts.d.ts.map +0 -1
  357. package/declarations/-private/form/components/fields/select.gts.d.ts +0 -16
  358. package/declarations/-private/form/components/fields/select.gts.d.ts.map +0 -1
  359. package/declarations/-private/form/components/fields/singular-choice.gts.d.ts +0 -56
  360. package/declarations/-private/form/components/fields/singular-choice.gts.d.ts.map +0 -1
  361. package/declarations/-private/form/components/fields/stories-utils.d.ts.map +0 -1
  362. package/declarations/-private/form/components/fields/text-area.gts.d.ts +0 -15
  363. package/declarations/-private/form/components/fields/text-area.gts.d.ts.map +0 -1
  364. package/declarations/-private/form/components/fields/text.gts.d.ts +0 -15
  365. package/declarations/-private/form/components/fields/text.gts.d.ts.map +0 -1
  366. package/declarations/-private/form/components/label.gts.d.ts.map +0 -1
  367. package/declarations/-private/form/components/reset.gts.d.ts.map +0 -1
  368. package/declarations/-private/form/components/submit.gts.d.ts.map +0 -1
  369. package/declarations/-private/form/index.d.ts +0 -49
  370. package/declarations/-private/form/index.d.ts.map +0 -1
  371. package/declarations/-private/form/modifiers/capture-events.d.ts +0 -21
  372. package/declarations/-private/form/modifiers/capture-events.d.ts.map +0 -1
  373. package/declarations/-private/form/modifiers/manage-validation.d.ts +0 -24
  374. package/declarations/-private/form/modifiers/manage-validation.d.ts.map +0 -1
  375. package/declarations/components/-button.d.ts.map +0 -1
  376. package/declarations/components/-input.d.ts.map +0 -1
  377. package/declarations/components/-menu.d.ts.map +0 -1
  378. package/declarations/components/-stories.d.ts +0 -3
  379. package/declarations/components/-stories.d.ts.map +0 -1
  380. /package/declarations/components/{-button.d.ts → actions/-button.d.ts} +0 -0
  381. /package/declarations/components/{-input.d.ts → controls/-input.d.ts} +0 -0
  382. /package/declarations/components/{-menu.d.ts → controls/-menu.d.ts} +0 -0
@@ -0,0 +1,30 @@
1
+ import { on } from '@ember/modifier';
2
+ import { CommandElement } from 'ember-command';
3
+ import { link, Link } from 'ember-link';
4
+ import { I as Icon } from './icon-bLZqjTMP.js';
5
+ import { precompileTemplate } from '@ember/template-compilation';
6
+ import { setComponentTemplate } from '@ember/component';
7
+ import templateOnly from '@ember/component/template-only';
8
+
9
+ const isActive = commandable => {
10
+ return commandable instanceof Link && commandable.isActive;
11
+ };
12
+ const MaybeIcon = setComponentTemplate(precompileTemplate("\n {{#if @icon}}\n <Icon @icon={{@icon}} part=\"icon\" />\n {{/if}}\n", {
13
+ strictMode: true,
14
+ scope: () => ({
15
+ Icon
16
+ })
17
+ }), templateOnly());
18
+ const NavLink = setComponentTemplate(precompileTemplate("\n {{#if @href}}\n {{#let (link @href) as |l|}}\n <a href={{l.url}} {{on \"click\" l.open}} part=\"item\" aria-current=\"{{if (isActive l) \"page\"}}\">\n <MaybeIcon @icon={{@icon}} />\n <span>{{yield}}</span>\n </a>\n {{/let}}\n {{else if @push}}\n <CommandElement @command={{@push}} aria-current=\"{{if (isActive @push) \"page\"}}\" part=\"item\">\n <MaybeIcon @icon={{@icon}} />\n <span>{{yield}}</span>\n </CommandElement>\n {{else}}\n <span part=\"item\">\n <MaybeIcon @icon={{@icon}} />\n {{yield}}\n </span>\n {{/if}}\n", {
19
+ strictMode: true,
20
+ scope: () => ({
21
+ link,
22
+ isActive,
23
+ on,
24
+ MaybeIcon,
25
+ CommandElement
26
+ })
27
+ }), templateOnly());
28
+
29
+ export { NavLink as N };
30
+ //# sourceMappingURL=nav-link-CGVtuqwC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-link-CGVtuqwC.js","sources":["../src/components/navigation/nav-link.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport { CommandElement } from 'ember-command';\nimport { Link, link } from 'ember-link';\n\nimport { Icon } from '../graphics/icon.gts';\n\nimport type { MenuItemArgs, MenuItemBlocks } from '../controls/-menu';\nimport type { TOC } from '@ember/component/template-only';\nimport type { CommandAction } from 'ember-command';\n\nconst isActive = (commandable: CommandAction) => {\n return commandable instanceof Link && commandable.isActive;\n};\n\nconst MaybeIcon: TOC<{ Args: { icon?: string } }> = <template>\n {{#if @icon}}\n <Icon @icon={{@icon}} part=\"icon\" />\n {{/if}}\n</template>;\n\nexport const NavLink: TOC<{\n Args: MenuItemArgs & {\n href?: string;\n icon?: string;\n };\n Blocks: MenuItemBlocks;\n}> = <template>\n {{#if @href}}\n {{#let (link @href) as |l|}}\n <a href={{l.url}} {{on \"click\" l.open}} part=\"item\" aria-current=\"{{if (isActive l) 'page'}}\">\n <MaybeIcon @icon={{@icon}} />\n <span>{{yield}}</span>\n </a>\n {{/let}}\n {{else if @push}}\n <CommandElement @command={{@push}} aria-current=\"{{if (isActive @push) 'page'}}\" part=\"item\">\n <MaybeIcon @icon={{@icon}} />\n <span>{{yield}}</span>\n </CommandElement>\n {{else}}\n <span part=\"item\">\n <MaybeIcon @icon={{@icon}} />\n {{yield}}\n </span>\n {{/if}}\n</template>;\n"],"names":["isActive","commandable","Link","MaybeIcon","setComponentTemplate","precompileTemplate","strictMode","scope","Icon","templateOnly","NavLink","link","on","CommandElement"],"mappings":";;;;;;;;AAWA,MAAMA,QAAA,GAAYC,WAAa,IAAA;AAC7B,EAAA,OAAOA,WAAA,YAAuBC,IAAA,IAAQD,WAAA,CAAYD,QAAQ;AAC5D,CAAA;AAEA,MAAMG,SAA8C,GAAAC,oBAAA,CAAAC,kBAAA,CAAA,4EAAA,EAIpD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA;MAEGC,OAMR,GAAAN,oBAAA,CAAAC,kBAAA,CAAA,klBAAA,EAmBL;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAI,IAAA;IAAAX,QAAA;IAAAY,EAAA;IAAAT,SAAA;AAAAU,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAJ,YAAA,EAAA;;;;"}
@@ -0,0 +1,22 @@
1
+ import { hash } from '@ember/helper';
2
+ import styles from '@hokulea/core/navigation.module.css';
3
+ import { N as NavLink } from './nav-link-CGVtuqwC.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 Title = setComponentTemplate(precompileTemplate("\n <span part=\"title\">{{yield}}</span>\n", {
9
+ strictMode: true
10
+ }), templateOnly());
11
+ const NavigationList = setComponentTemplate(precompileTemplate("\n <nav class={{styles.navigationList}} data-test-navigation-list ...attributes>\n {{yield (hash Item=NavLink Title=Title)}}\n </nav>\n", {
12
+ strictMode: true,
13
+ scope: () => ({
14
+ styles,
15
+ hash,
16
+ NavLink,
17
+ Title
18
+ })
19
+ }), templateOnly());
20
+
21
+ export { NavigationList as N };
22
+ //# sourceMappingURL=navigation-list-Cxs6uZdM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-list-Cxs6uZdM.js","sources":["../src/components/navigation/navigation-list.gts"],"sourcesContent":["import { hash } from '@ember/helper';\n\nimport styles from '@hokulea/core/navigation.module.css';\n\nimport { NavLink } from './nav-link.gts';\n\nimport type { TOC } from '@ember/component/template-only';\n\nconst Title: TOC<{ Blocks: { default: [] } }> = <template>\n <span part=\"title\">{{yield}}</span>\n</template>;\n\nexport interface NavigationListSignature {\n Element: HTMLElement;\n Blocks: {\n default?: [{ Item: typeof NavLink; Title: typeof Title }];\n };\n}\n\nexport const NavigationList: TOC<NavigationListSignature> = <template>\n <nav class={{styles.navigationList}} data-test-navigation-list ...attributes>\n {{yield (hash Item=NavLink Title=Title)}}\n </nav>\n</template>;\n"],"names":["Title","setComponentTemplate","precompileTemplate","strictMode","templateOnly","NavigationList","scope","styles","hash","NavLink"],"mappings":";;;;;;;AAQA,MAAMA,KAA0C,GAAAC,oBAAA,CAAAC,kBAAA,CAAA,6CAAA,EAEhD;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA;MASGC,cAAoB,GAAAJ,oBAAA,CAA2BC,kBAAA,CAAA,8IAAA,EAI5D;EAAAC,UAAA,EAAA,IAAA;AAAAG,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,IAAA;IAAAC,OAAA;AAAAT,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAI,YAAA,EAAA;;;;"}
@@ -0,0 +1,20 @@
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 N };
20
+ //# sourceMappingURL=number-input-B84zcPlM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-input-B84zcPlM.js","sources":["../src/components/controls/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\nexport const 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"],"names":["NumberInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","pickAsNumber","templateOnly"],"mappings":";;;;;;;;MAeaA,WAAiB,GAAAC,oBAAA,CAAwBC,kBAAA,CAAA,2MAAA,EAUtD;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;;;;"}
@@ -0,0 +1,23 @@
1
+ import { element } from 'ember-element-helper';
2
+ import styles from '@hokulea/core/layouts.module.css';
3
+ import typo from '@hokulea/core/typography.module.css';
4
+ import { o as or } from './helpers-DS9du02l.js';
5
+ import { P as PageDestructor, a as PageElement } from './pages-DgHJEvSy.js';
6
+ import { precompileTemplate } from '@ember/template-compilation';
7
+ import { setComponentTemplate } from '@ember/component';
8
+ import templateOnly from '@ember/component/template-only';
9
+
10
+ const Page = setComponentTemplate(precompileTemplate("\n {{#let (if @element @element (element (pageElement))) as |Element|}}\n <Element class={{styles.page}} {{pageDestructor}} ...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 </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", {
11
+ strictMode: true,
12
+ scope: () => ({
13
+ element,
14
+ pageElement: PageElement,
15
+ styles,
16
+ pageDestructor: PageDestructor,
17
+ or,
18
+ typo
19
+ })
20
+ }), templateOnly());
21
+
22
+ export { Page as P };
23
+ //# sourceMappingURL=page-BcSgHxr7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-BcSgHxr7.js","sources":["../src/components/layouts/page.gts"],"sourcesContent":["import { 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';\nimport { pageDestructor, pageElement } from './pages.ts';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { ComponentLike } from '@glint/template';\n\ninterface PageSignature {\n Element: HTMLElement;\n Args: {\n title?: string;\n description?: string;\n element?: ComponentLike<{ Element: HTMLElement; Blocks: { default: [] } }>;\n };\n Blocks: {\n title?: [];\n description?: [];\n content?: [];\n default?: [];\n };\n}\n\nexport const Page: TOC<PageSignature> = <template>\n {{#let (if @element @element (element (pageElement))) as |Element|}}\n <Element class={{styles.page}} {{pageDestructor}} ...attributes data-test-page>\n {{#if\n (or @title @description (has-block \"title\") (has-block \"description\") (has-block \"nav\"))\n }}\n <header class={{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 </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"],"names":["Page","setComponentTemplate","precompileTemplate","strictMode","scope","element","pageElement","styles","pageDestructor","or","typo","templateOnly"],"mappings":";;;;;;;;;MA4BaA,IAAU,GAAAC,oBAAA,CAAiBC,kBAAA,CAAA,koCAAA,EAoCxC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,OAAA;iBAAAC,WAAA;IAAAC,MAAA;oBAAAC,cAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -0,0 +1,31 @@
1
+ import Helper from '@ember/component/helper';
2
+ import { registerDestructor } from '@ember/destroyable';
3
+ import { service } from '@ember/service';
4
+ import Modifier from 'ember-modifier';
5
+ import { g, i } from 'decorator-transforms/runtime-esm';
6
+
7
+ class PageElement extends Helper {
8
+ static {
9
+ g(this.prototype, "hokulea", [service('-hokulea')]);
10
+ }
11
+ #hokulea = (i(this, "hokulea"), void 0);
12
+ compute() {
13
+ const element = this.hokulea.pageLevel === 0 ? 'main' : 'section';
14
+ this.hokulea.pageLevel++;
15
+ return element;
16
+ }
17
+ }
18
+ class PageDestructor extends Modifier {
19
+ static {
20
+ g(this.prototype, "hokulea", [service('-hokulea')]);
21
+ }
22
+ #hokulea = (i(this, "hokulea"), void 0);
23
+ modify() {
24
+ registerDestructor(this, () => {
25
+ this.hokulea.pageLevel--;
26
+ });
27
+ }
28
+ }
29
+
30
+ export { PageDestructor as P, PageElement as a };
31
+ //# sourceMappingURL=pages-DgHJEvSy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages-DgHJEvSy.js","sources":["../src/components/layouts/pages.ts"],"sourcesContent":["import Helper from '@ember/component/helper';\nimport { registerDestructor } from '@ember/destroyable';\nimport { service } from '@ember/service';\n\nimport Modifier from 'ember-modifier';\n\nimport type HokuleaService from '../../services/-hokulea';\n\nclass PageElement extends Helper<{ Return: 'main' | 'section' }> {\n @service('-hokulea') declare hokulea: HokuleaService;\n\n compute(): 'main' | 'section' {\n const element = this.hokulea.pageLevel === 0 ? 'main' : 'section';\n\n this.hokulea.pageLevel++;\n\n return element;\n }\n}\n\nclass PageDestructor extends Modifier {\n @service('-hokulea') declare hokulea: HokuleaService;\n\n modify(): void {\n registerDestructor(this, () => {\n this.hokulea.pageLevel--;\n });\n }\n}\n\nexport { PageDestructor as pageDestructor, PageElement as pageElement };\n"],"names":["PageElement","Helper","g","prototype","service","i","void 0","compute","element","hokulea","pageLevel","PageDestructor","Modifier","modify","registerDestructor"],"mappings":";;;;;;AAQA,MAAMA,WAAW,SAASC,MAAM,CAAiC;AAAA,EAAA;AAAAC,IAAAA,CAAA,MAAAC,SAAA,EAAA,SAAA,EAAA,CAC9DC,OAAO,CAAC,UAAU,CAAC,CAAA,CAAA;AAAA;AAAA,EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAAC,MAAA;AAEpBC,EAAAA,OAAOA,GAAuB;AAC5B,IAAA,MAAMC,OAAO,GAAG,IAAI,CAACC,OAAO,CAACC,SAAS,KAAK,CAAC,GAAG,MAAM,GAAG,SAAS;AAEjE,IAAA,IAAI,CAACD,OAAO,CAACC,SAAS,EAAE;AAExB,IAAA,OAAOF,OAAO;AAChB,EAAA;AACF;AAEA,MAAMG,cAAc,SAASC,QAAQ,CAAC;AAAA,EAAA;AAAAV,IAAAA,CAAA,MAAAC,SAAA,EAAA,SAAA,EAAA,CACnCC,OAAO,CAAC,UAAU,CAAC,CAAA,CAAA;AAAA;AAAA,EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAAC,MAAA;AAEpBO,EAAAA,MAAMA,GAAS;IACbC,kBAAkB,CAAC,IAAI,EAAE,MAAM;AAC7B,MAAA,IAAI,CAACL,OAAO,CAACC,SAAS,EAAE;AAC1B,IAAA,CAAC,CAAC;AACJ,EAAA;AACF;;;;"}
@@ -0,0 +1,18 @@
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 P };
18
+ //# sourceMappingURL=password-input-BMp5uscw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-input-BMp5uscw.js","sources":["../src/components/controls/password-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { pick } from '../../-private/helpers.ts';\n\nimport type { InputArgs } from './-input.ts';\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface PasswordInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\n\nexport const PasswordInput: TOC<PasswordInputSignature> = <template>\n <input\n class={{styles.input}}\n type=\"password\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n {{on \"input\" (pick \"target.value\" @update) capture=true}}\n ...attributes\n />\n</template>;\n"],"names":["PasswordInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;MAcaA,aAAmB,GAAAC,oBAAA,CAA0BC,kBAAA,CAAA,8LAAA,EAU1D;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -0,0 +1,18 @@
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 P };
18
+ //# sourceMappingURL=phone-input-DeaTM5yP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone-input-DeaTM5yP.js","sources":["../src/components/controls/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\nexport const 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"],"names":["PhoneInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;MAcaA,UAAgB,GAAAC,oBAAA,CAAuBC,kBAAA,CAAA,yLAAA,EAUpD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -0,0 +1,14 @@
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 P };
14
+ //# sourceMappingURL=popover-B6j413u9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-B6j413u9.js","sources":["../src/components/windows/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\nexport const Popover: TOC<PopoverSignature> = <template>\n <div class={{styles.popover}} data-test-popover ...attributes>\n {{yield}}\n </div>\n</template>;\n"],"names":["Popover","setComponentTemplate","precompileTemplate","strictMode","scope","styles","templateOnly"],"mappings":";;;;;MAWaA,OAAa,GAAAC,oBAAA,CAAoBC,kBAAA,CAAA,+FAAA,EAI9C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -0,0 +1,18 @@
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 R };
18
+ //# sourceMappingURL=radio-CGBLrzK4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-CGBLrzK4.js","sources":["../src/components/controls/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\nexport const 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"],"names":["Radio","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;MAcaA,KAAW,GAAAC,oBAAA,CAAkBC,kBAAA,CAAA,iMAAA,EAU1C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -0,0 +1,37 @@
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 R };
37
+ //# sourceMappingURL=range-input-BiAPgpW8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-input-BiAPgpW8.js","sources":["../src/components/controls/range-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport { modifier } from 'ember-modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { pick } from '../../-private/helpers.ts';\nimport { pickAsNumber } from './-input.ts';\n\nimport type { InputArgs } from './-input.ts';\nimport type { TOC } from '@ember/component/template-only';\n\nfunction applyProgressStyle(range: HTMLInputElement, value?: number) {\n const min = Number.parseFloat(range.min) || 0;\n const max = Number.parseFloat(range.max) || 100;\n const currentVal = value ?? Number.parseFloat(range.value);\n const progress = ((currentVal - min) / (max - min)) * 100;\n\n range.style.setProperty('--_hokulea-slider-progress', `${progress}%`);\n}\n\nconst progressStyle = modifier((element: HTMLInputElement, [value]: [number?]) => {\n applyProgressStyle(element, value);\n\n const listenForProgressChange = () => {\n applyProgressStyle(element);\n };\n\n element.addEventListener('input', listenForProgressChange);\n\n return () => element.removeEventListener('input', listenForProgressChange);\n});\n\nexport interface RangeInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<number> & {\n min?: number;\n max?: number;\n step?: number | 'any';\n orientation?: 'horizontal' | 'vertical';\n };\n}\n\nexport const RangeInput: TOC<RangeInputSignature> = <template>\n <input\n class={{styles.range}}\n type=\"range\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n data-orientation={{@orientation}}\n {{on \"input\" (pick \"target.value\" (pickAsNumber @update)) capture=true}}\n {{progressStyle @value}}\n ...attributes\n />\n</template>;\n"],"names":["applyProgressStyle","range","value","min","Number","parseFloat","max","currentVal","progress","style","setProperty","progressStyle","modifier","element","listenForProgressChange","addEventListener","removeEventListener","RangeInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","pickAsNumber","templateOnly"],"mappings":";;;;;;;;;AAYA,SAASA,kBAAAA,CAAmBC,KAAuB,EAAEC,KAAc,EAAA;EACjE,MAAMC,MAAMC,MAAA,CAAOC,UAAU,CAACJ,KAAA,CAAME,GAAG,CAAA,IAAK,CAAA;EAC5C,MAAMG,MAAMF,MAAA,CAAOC,UAAU,CAACJ,KAAA,CAAMK,GAAG,CAAA,IAAK,GAAA;EAC5C,MAAMC,aAAaL,KAAA,IAASE,MAAA,CAAOC,UAAU,CAACJ,MAAMC,KAAK,CAAA;AACzD,EAAA,MAAMM,QAAA,GAAY,CAACD,UAAA,GAAaJ,GAAG,KAAKG,GAAA,GAAMH,GAAG,CAAC,GAAI,GAAA;EAEtDF,KAAA,CAAMQ,KAAK,CAACC,WAAW,CAAC,8BAA8B,CAAA,EAAGF,QAAA,CAAA,CAAA,CAAW,CAAA;AACtE;AAEA,MAAMG,aAAA,GAAgBC,SAAS,CAACC,SAA2B,CAACX,KAAA,CAAiB,KAAA;AAC3EF,EAAAA,kBAAA,CAAmBa,OAAA,EAASX,KAAA,CAAA;EAE5B,MAAMY,uBAAA,GAA0BA,MAAA;IAC9Bd,kBAAA,CAAmBa,OAAA,CAAA;EACrB,CAAA;AAEAA,EAAAA,OAAA,CAAQE,gBAAgB,CAAC,OAAA,EAASD,uBAAA,CAAA;EAElC,OAAO,MAAMD,OAAA,CAAQG,mBAAmB,CAAC,OAAA,EAASF,uBAAA,CAAA;AACpD,CAAA,CAAA;MAYaG,UAAgB,GAAAC,oBAAA,CAAuBC,kBAAA,CAAA,qQAAA,EAYpD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;IAAAC,IAAA;IAAAC,YAAA;AAAAd,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAe,YAAA,EAAA;;;;"}
@@ -0,0 +1,14 @@
1
+ import { LinkManagerService } from 'ember-link';
2
+ import PortalService from 'ember-stargate/services/-portal';
3
+ import { buildRegistry } from 'ember-strict-application-resolver/build-registry';
4
+ import HokuleaService from './services/-hokulea.js';
5
+
6
+ const hokuleaRegistry = buildRegistry({
7
+ './services/-hokulea': HokuleaService,
8
+ // external addons
9
+ './services/link-manager': LinkManagerService,
10
+ './services/-portal': PortalService
11
+ });
12
+
13
+ export { hokuleaRegistry };
14
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sources":["../src/registry.ts"],"sourcesContent":["import { LinkManagerService } from 'ember-link';\nimport PortalService from 'ember-stargate/services/-portal';\nimport { buildRegistry } from 'ember-strict-application-resolver/build-registry';\n\nimport HokuleaService from './services/-hokulea.ts';\n\nexport const hokuleaRegistry = buildRegistry({\n './services/-hokulea': HokuleaService,\n\n // external addons\n './services/link-manager': LinkManagerService,\n './services/-portal': PortalService\n});\n"],"names":["hokuleaRegistry","buildRegistry","HokuleaService","LinkManagerService","PortalService"],"mappings":";;;;;AAMO,MAAMA,eAAe,GAAGC,aAAa,CAAC;AAC3C,EAAA,qBAAqB,EAAEC,cAAc;AAErC;AACA,EAAA,yBAAyB,EAAEC,kBAAkB;AAC7C,EAAA,oBAAoB,EAAEC;AACxB,CAAC;;;;"}
@@ -0,0 +1,25 @@
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 S };
25
+ //# sourceMappingURL=section-BAdmc3Yn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-BAdmc3Yn.js","sources":["../src/components/content/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\nexport const 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"],"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;MAEaI,OAAa,GAAAC,oBAAA,CAAoBC,kBAAA,CAAA,8fAAA,EAgB9C;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;;;;"}
@@ -0,0 +1,25 @@
1
+ import { element } from 'ember-element-helper';
2
+ import styles from '@hokulea/core/layouts.module.css';
3
+ import typo from '@hokulea/core/typography.module.css';
4
+ import { o as or } from './helpers-DS9du02l.js';
5
+ import { N as NavLink } from './nav-link-CGVtuqwC.js';
6
+ import { P as PageDestructor, a as PageElement } from './pages-DgHJEvSy.js';
7
+ import { precompileTemplate } from '@ember/template-compilation';
8
+ import { setComponentTemplate } from '@ember/component';
9
+ import templateOnly from '@ember/component/template-only';
10
+
11
+ const SectionedPage = setComponentTemplate(precompileTemplate("\n {{#let (if @element @element (element (pageElement))) as |Element|}}\n <Element class={{styles.sectionedPage}} {{pageDestructor}} ...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", {
12
+ strictMode: true,
13
+ scope: () => ({
14
+ element,
15
+ pageElement: PageElement,
16
+ styles,
17
+ pageDestructor: PageDestructor,
18
+ or,
19
+ typo,
20
+ NavLink
21
+ })
22
+ }), templateOnly());
23
+
24
+ export { SectionedPage as S };
25
+ //# sourceMappingURL=sectioned-page-fB9mV5WD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sectioned-page-fB9mV5WD.js","sources":["../src/components/layouts/sectioned-page.gts"],"sourcesContent":["import { 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';\nimport { NavLink } from '../navigation/nav-link.gts';\nimport { pageDestructor, pageElement } from './pages.ts';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { ComponentLike } from '@glint/template';\n\ninterface SectionedPageSignature {\n Element: HTMLElement;\n Args: {\n title?: string;\n description?: string;\n element?: ComponentLike<{ Element: HTMLElement; Blocks: { default: [] } }>;\n };\n Blocks: {\n title?: [];\n description?: [];\n nav?: [typeof NavLink];\n content?: [];\n default?: [];\n };\n}\n\nexport const SectionedPage: TOC<SectionedPageSignature> = <template>\n {{#let (if @element @element (element (pageElement))) as |Element|}}\n <Element class={{styles.sectionedPage}} {{pageDestructor}} ...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"],"names":["SectionedPage","setComponentTemplate","precompileTemplate","strictMode","scope","element","pageElement","styles","pageDestructor","or","typo","NavLink","templateOnly"],"mappings":";;;;;;;;;;MA8BaA,aAAmB,GAAAC,oBAAA,CAA0BC,kBAAA,CAAA,0xCAAA,EA0C1D;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,OAAA;iBAAAC,WAAA;IAAAC,MAAA;oBAAAC,cAAA;IAAAC,EAAA;IAAAC,IAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -0,0 +1,39 @@
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 S };
39
+ //# sourceMappingURL=select-DxyaUFuy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-DxyaUFuy.js","sources":["../src/components/controls/select.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { WithBoundArgs } from '@glint/template';\n\nexport type Value = string | number;\n\nexport interface OptionSignature {\n Element: HTMLOptionElement;\n Args: {\n value: Value;\n isSelected: (option: Value) => boolean;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst Option: TOC<OptionSignature> = <template>\n <option value={{@value}} selected={{@isSelected @value}} ...attributes>\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@value}}\n {{/if}}\n </option>\n</template>;\n\nexport interface SelectSignature {\n Element: HTMLSelectElement;\n Args: {\n value?: Value | Value[];\n update?: (value: Value | Value[]) => void;\n disabled?: boolean;\n };\n Blocks: {\n default: [\n {\n Option: WithBoundArgs<typeof Option, 'isSelected'>;\n }\n ];\n };\n}\n\nexport class Select extends Component<SelectSignature> {\n isSelected = (option: Value) => {\n if (Array.isArray(this.args.value)) {\n return this.args.value.includes(option);\n }\n\n return String(option) === String(this.args.value);\n };\n\n select = (event: Event) => {\n const select = event.target as HTMLSelectElement;\n const selection = Array.of(...select.selectedOptions).map((option) => option.value);\n const value = selection.length === 1 ? (selection[0] as Value) : (selection as Value[]);\n\n this.args.update?.(value);\n };\n\n <template>\n <span class={{styles.select}}>\n <select\n disabled={{@disabled}}\n data-test-select\n {{on \"input\" this.select capture=true}}\n ...attributes\n >\n {{yield (hash Option=(component Option isSelected=this.isSelected))}}\n </select>\n </span>\n </template>\n}\n"],"names":["Option","setComponentTemplate","precompileTemplate","strictMode","templateOnly","Select","Component","isSelected","option","Array","isArray","args","value","includes","String","select","event","target","selection","of","selectedOptions","map","length","update","scope","styles","on","hash"],"mappings":";;;;;;;;AAsBA,MAAMA,MAAY,GAAAC,oBAAA,CAAmBC,kBAAA,CAAA,mLAAA,EAQrC;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA;AAkBH,MAAMC,eAAeC,SAAA,CAAU;EACpCC,UAAA,GAAcC,MAAQ,IAAA;IACpB,IAAIC,KAAA,CAAMC,OAAO,CAAC,IAAI,CAACC,IAAI,CAACC,KAAK,CAAA,EAAG;MAClC,OAAO,IAAI,CAACD,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACL,MAAA,CAAA;AAClC,IAAA;AAEA,IAAA,OAAOM,OAAON,MAAA,CAAA,KAAYM,MAAA,CAAO,IAAI,CAACH,IAAI,CAACC,KAAK,CAAA;EAClD,CAAA;EAEAG,MAAA,GAAUC,KAAO,IAAA;AACf,IAAA,MAAMD,MAAA,GAASC,KAAA,CAAMC,MAAU;AAC/B,IAAA,MAAMC,SAAA,GAAYT,KAAA,CAAMU,EAAE,CAAA,GAAIJ,MAAA,CAAOK,eAAe,CAAA,CAAEC,GAAG,CAAEb,MAAA,IAAWA,MAAA,CAAOI,KAAK,CAAA;AAClF,IAAA,MAAMA,KAAA,GAAQM,SAAA,CAAUI,MAAM,KAAK,IAAKJ,SAAS,CAAC,CAAA,CAAE,GAAcA,SAAoB;AAEtF,IAAA,IAAI,CAACP,IAAI,CAACY,MAAM,GAAGX,KAAA,CAAA;EACrB,CAAA;AAEA,EAAA;IAAAX,oBAAA,CAAAC,kBAAA,CAAA,uQAAA,EAWA;MAAAC,UAAA,EAAA,IAAA;AAAAqB,MAAAA,KAAA,EAAAA,OAAA;QAAAC,MAAA;QAAAC,EAAA;QAAAC,IAAA;AAAA3B,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -1,14 +1,7 @@
1
- import { tracked } from '@glimmer/tracking';
2
1
  import Service from '@ember/service';
3
- import { g, i } from 'decorator-transforms/runtime-esm';
4
2
 
5
3
  class HokuleaService extends Service {
6
- static {
7
- g(this.prototype, "pageLevel", [tracked], function () {
8
- return 0;
9
- });
10
- }
11
- #pageLevel = (i(this, "pageLevel"), void 0);
4
+ pageLevel = 0;
12
5
  }
13
6
 
14
7
  export { HokuleaService as default };
@@ -1 +1 @@
1
- {"version":3,"file":"-hokulea.js","sources":["../../src/services/-hokulea.ts"],"sourcesContent":["import { tracked } from '@glimmer/tracking';\nimport Service from '@ember/service';\n\nexport default class HokuleaService extends Service {\n @tracked pageLevel = 0;\n}\n"],"names":["HokuleaService","Service","g","prototype","tracked","i","void 0"],"mappings":";;;;AAGe,MAAMA,cAAc,SAASC,OAAO,CAAC;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,WAAA,EAAA,CACjDC,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAAa,CAAC;AAAA,IAAA,CAAA,CAAA;AAAA;AAAA,EAAA,UAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,WAAA,CAAA,EAAAC,MAAA;AACxB;;;;"}
1
+ {"version":3,"file":"-hokulea.js","sources":["../../src/services/-hokulea.ts"],"sourcesContent":["import Service from '@ember/service';\n\nexport default class HokuleaService extends Service {\n pageLevel = 0;\n}\n"],"names":["HokuleaService","Service","pageLevel"],"mappings":";;AAEe,MAAMA,cAAc,SAASC,OAAO,CAAC;AAClDC,EAAAA,SAAS,GAAG,CAAC;AACf;;;;"}
@@ -0,0 +1,111 @@
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 { Tabs as T, TabValue as a };
111
+ //# sourceMappingURL=tabs-a9GhNQv9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs-a9GhNQv9.js","sources":["../src/components/controls/tabs.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { registerDestructor } from '@ember/destroyable';\nimport { hash, uniqueId } from '@ember/helper';\nimport { guidFor } from '@ember/object/internals';\nimport { next } from '@ember/runloop';\n\nimport { ariaTablist, type Orientation, type TablistBehavior } from 'ember-aria-voyager';\nimport { modifier } from 'ember-modifier';\nimport Portal from 'ember-stargate/components/portal';\nimport PortalTarget from 'ember-stargate/components/portal-target';\nimport { TrackedArray } from 'tracked-built-ins';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { eq, not } from '../../-private/helpers.ts';\n\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\n\nexport const TabValue = Symbol('TabValue');\n\nconst attachValue = modifier((element, [value]) => {\n if (value) {\n // @ts-expect-error this is internal API\n element[TabValue] = value;\n }\n});\n\ninterface State {\n active: boolean;\n selected: boolean;\n}\n\ntype Item = string & {};\n\ntype TabSignature = {\n Element: HTMLDivElement;\n Args: {\n tablist: string;\n register: (tab: Tab) => void;\n unregister: (tab: Tab) => void;\n label?: string;\n value?: unknown;\n selection?: unknown;\n activeItem?: Item;\n };\n Blocks: {\n default?: [State];\n label?: [State];\n content?: [State];\n };\n};\n\nclass Tab extends Component<TabSignature> {\n constructor(owner: Owner, args: TabSignature['Args']) {\n super(owner, args);\n\n args.register(this);\n\n registerDestructor(this, () => {\n args.unregister(this);\n });\n }\n\n @cached\n get id() {\n return this.args.value ?? this.args.label ?? guidFor(this);\n }\n\n <template>\n {{#let\n (uniqueId) (hash active=(eq this.id @activeItem) selected=(eq this.id @selection))\n as |id state|\n }}\n <Portal @target={{@tablist}}>\n {{! template-lint-disable require-context-role }}\n <button\n type=\"button\"\n role=\"tab\"\n aria-controls={{id}}\n aria-selected={{if state.selected \"true\"}}\n id=\"{{id}}-label\"\n {{attachValue @value}}\n >\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\n id={{id}}\n role=\"tabpanel\"\n aria-labelledby=\"{{id}}-label\"\n local-class=\"content\"\n hidden={{not state.selected}}\n >\n {{#if (has-block \"content\")}}\n {{yield state to=\"content\"}}\n {{else}}\n {{yield state}}\n {{/if}}\n </section>\n {{/let}}\n </template>\n}\n\ninterface TabsSignature {\n Element: HTMLDivElement;\n Args: {\n disabled?: boolean;\n selection?: unknown;\n update?: (value: unknown) => void;\n behavior?: TablistBehavior;\n orientation?: Orientation;\n };\n Blocks: {\n default: [\n {\n Tab: WithBoundArgs<\n typeof Tab,\n 'selection' | 'activeItem' | 'tablist' | 'register' | 'unregister'\n >;\n }\n ];\n };\n}\n\nexport class Tabs extends Component<TabsSignature> {\n @tracked tabs: Tab[] = new TrackedArray();\n @tracked internalSelection?: Tab;\n @tracked activeItem?: Item;\n\n get items() {\n return this.tabs.map((t) => t.id);\n }\n\n get selection() {\n return this.args.selection ?? this.internalSelection?.id;\n }\n\n register = (tab: Tab) => {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n this.tabs.push(tab);\n });\n };\n\n unregister = (tab: Tab) => {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n this.tabs.splice(this.tabs.indexOf(tab), 1);\n });\n };\n\n select = (id: Item) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const tab = this.tabs.find((t) => t.id === id)!;\n\n this.internalSelection = tab;\n this.args.update?.(tab.args.value ?? tab.args.label ?? undefined);\n };\n\n activateItem = (id: Item) => {\n this.activeItem = id;\n };\n\n <template>\n <div class={{styles.tabs}} data-test-tabs>\n {{#let (uniqueId) as |tablistId|}}\n <PortalTarget\n @name={{tablistId}}\n @multiple={{true}}\n role=\"tablist\"\n {{ariaTablist\n items=this.items\n select=this.select\n selection=this.selection\n activateItem=this.activateItem\n disabled=@disabled\n behavior=@behavior\n orientation=@orientation\n }}\n />\n\n {{yield\n (hash\n Tab=(component\n Tab\n register=this.register\n unregister=this.unregister\n tablist=tablistId\n selection=this.selection\n activeItem=this.activeItem\n )\n )\n }}\n {{/let}}\n </div>\n </template>\n}\n"],"names":["TabValue","Symbol","attachValue","modifier","element","value","Tab","Component","constructor","owner","args","register","registerDestructor","unregister","id","label","guidFor","n","prototype","cached","setComponentTemplate","precompileTemplate","strictMode","scope","uniqueId","hash","eq","Portal","not","Tabs","g","tracked","TrackedArray","i","void 0","items","tabs","map","t","selection","internalSelection","tab","next","push","splice","indexOf","select","find","update","undefined","activateItem","activeItem","styles","PortalTarget","ariaTablist"],"mappings":";;;;;;;;;;;;;;;;;MAoBaA,QAAA,GAAWC,MAAA,CAAO,UAAA;AAE/B,MAAMC,WAAA,GAAcC,QAAA,CAAS,CAACC,OAAA,EAAS,CAACC,KAAA,CAAM,KAAA;AAC5C,EAAA,IAAIA,KAAA,EAAO;AACT;AACAD,IAAAA,OAAO,CAACJ,SAAS,GAAGK,KAAA;AACtB,EAAA;AACF,CAAA,CAAA;AA2BA,MAAMC,YAAYC,SAAA,CAAU;AAC1BC,EAAAA,WAAAA,CAAYC,KAAY,EAAEC,IAA0B,EAAE;AACpD,IAAA,KAAK,CAACD,KAAA,EAAOC,IAAA,CAAA;AAEbA,IAAAA,IAAA,CAAKC,QAAQ,CAAC,IAAI,CAAA;IAElBC,kBAAA,CAAmB,IAAI,EAAE,MAAA;AACvBF,MAAAA,IAAA,CAAKG,UAAU,CAAC,IAAI,CAAA;AACtB,IAAA,CAAA,CAAA;AACF,EAAA;EAEA,IACIC,EAAAA,GAAK;AACP,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACL,KAAK,IAAI,IAAI,CAACK,IAAI,CAACK,KAAK,IAAIC,QAAQ,IAAI,CAAA;AAC3D,EAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,IAAA,EAAA,CAHCC,MAAA,CAAA,CAAA;AAAA;AAKD,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,i5BAAA,EAuCA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,QAAA;QAAAC,IAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAzB,WAAA;AAAA0B,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;AAuBO,MAAMC,aAAatB,SAAA,CAAU;AAAA,EAAA;IAAAuB,CAAA,CAAA,IAAA,CAAAZ,SAAA,EAAA,MAAA,EAAA,CACjCa,OAAA,CAAA,EAAA,YAAA;MAAA,OAAsB,IAAIC,YAAA,EAAA;AAAA,IAAA,CAAA,CAAA;AAAA;AAAA,EAAA,KAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAZ,SAAA,EAAA,mBAAA,EAAA,CAC1Ba,OAAA,CAAA,CAAA;AAAA;AAAA,EAAA,kBAAA,IAAAE,CAAA,CAAA,IAAA,EAAA,mBAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAZ,SAAA,EAAA,YAAA,EAAA,CACAa,OAAA,CAAA,CAAA;AAAA;AAAA,EAAA,WAAA,IAAAE,CAAA,CAAA,IAAA,EAAA,YAAA,CAAA,EAAAC,MAAA;EAED,IAAIC,KAAAA,GAAQ;IACV,OAAO,IAAI,CAACC,IAAI,CAACC,GAAG,CAAEC,CAAA,IAAMA,CAAA,CAAExB,EAAE,CAAA;AAClC,EAAA;EAEA,IAAIyB,SAAAA,GAAY;IACd,OAAO,IAAI,CAAC7B,IAAI,CAAC6B,SAAS,IAAI,IAAI,CAACC,iBAAiB,EAAE1B,EAAA;AACxD,EAAA;EAEAH,QAAA,GAAY8B,GAAK,IAAA;AACf;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACN,IAAI,CAACO,IAAI,CAACF,GAAA,CAAA;AACjB,IAAA,CAAA,CAAA;EACF,CAAA;EAEA5B,UAAA,GAAc4B,GAAK,IAAA;AACjB;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACN,IAAI,CAACQ,MAAM,CAAC,IAAI,CAACR,IAAI,CAACS,OAAO,CAACJ,GAAA,CAAA,EAAM,CAAA,CAAA;AAC3C,IAAA,CAAA,CAAA;EACF,CAAA;EAEAK,MAAA,GAAUhC,EAAI,IAAA;AACZ;AACA,IAAA,MAAM2B,GAAA,GAAM,IAAI,CAACL,IAAI,CAACW,IAAI,CAAET,CAAA,IAAMA,CAAA,CAAExB,EAAE,KAAKA,EAAA,CAAA;IAE3C,IAAI,CAAC0B,iBAAiB,GAAGC,GAAA;AACzB,IAAA,IAAI,CAAC/B,IAAI,CAACsC,MAAM,GAAGP,GAAA,CAAI/B,IAAI,CAACL,KAAK,IAAIoC,GAAA,CAAI/B,IAAI,CAACK,KAAK,IAAIkC,SAAA,CAAA;EACzD,CAAA;EAEAC,YAAA,GAAgBpC,EAAI,IAAA;IAClB,IAAI,CAACqC,UAAU,GAAGrC,EAAA;EACpB,CAAA;AAEA,EAAA;IAAAM,oBAAA,CAAAC,kBAAA,CAAA,iiBAAA,EAgCA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAA6B,MAAA;QAAA5B,QAAA;QAAA6B,YAAA;QAAAC,WAAA;QAAA7B,IAAA;AAAAnB,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}