@hokulea/ember 0.8.0 → 0.10.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 (392) hide show
  1. package/declarations/-private/helpers.d.ts +3 -1
  2. package/declarations/-private/helpers.d.ts.map +1 -1
  3. package/declarations/-private/push.gts.d.ts +20 -0
  4. package/declarations/-private/push.gts.d.ts.map +1 -0
  5. package/declarations/-private/shapes.d.ts +5 -0
  6. package/declarations/-private/shapes.d.ts.map +1 -0
  7. package/declarations/-private/stories.d.ts +2 -0
  8. package/declarations/-private/stories.d.ts.map +1 -1
  9. package/declarations/components/actions/-button.d.ts.map +1 -0
  10. package/declarations/components/actions/button.gts.d.ts +24 -0
  11. package/declarations/components/actions/button.gts.d.ts.map +1 -0
  12. package/declarations/components/actions/icon-button.gts.d.ts +25 -0
  13. package/declarations/components/actions/icon-button.gts.d.ts.map +1 -0
  14. package/declarations/components/app-header.gts.d.ts +1 -48
  15. package/declarations/components/app-header.gts.d.ts.map +1 -1
  16. package/declarations/components/avatar.gts.d.ts +2 -0
  17. package/declarations/components/avatar.gts.d.ts.map +1 -0
  18. package/declarations/components/box.gts.d.ts +1 -15
  19. package/declarations/components/box.gts.d.ts.map +1 -1
  20. package/declarations/components/button.gts.d.ts +1 -25
  21. package/declarations/components/button.gts.d.ts.map +1 -1
  22. package/declarations/components/card.gts.d.ts +1 -12
  23. package/declarations/components/card.gts.d.ts.map +1 -1
  24. package/declarations/components/checkbox.gts.d.ts +1 -8
  25. package/declarations/components/checkbox.gts.d.ts.map +1 -1
  26. package/declarations/components/content/box.gts.d.ts +16 -0
  27. package/declarations/components/content/box.gts.d.ts.map +1 -0
  28. package/declarations/components/content/card.gts.d.ts +12 -0
  29. package/declarations/components/content/card.gts.d.ts.map +1 -0
  30. package/declarations/components/content/section.gts.d.ts +18 -0
  31. package/declarations/components/content/section.gts.d.ts.map +1 -0
  32. package/declarations/components/{-input.d.ts → controls/-input.d.ts} +3 -2
  33. package/declarations/components/controls/-input.d.ts.map +1 -0
  34. package/declarations/components/{-menu.d.ts → controls/-menu.gts.d.ts} +3 -4
  35. package/declarations/components/controls/-menu.gts.d.ts.map +1 -0
  36. package/declarations/components/controls/checkbox.gts.d.ts +8 -0
  37. package/declarations/components/controls/checkbox.gts.d.ts.map +1 -0
  38. package/declarations/components/controls/currency-input.gts.d.ts +8 -0
  39. package/declarations/components/controls/currency-input.gts.d.ts.map +1 -0
  40. package/declarations/components/controls/date-input.gts.d.ts +8 -0
  41. package/declarations/components/controls/date-input.gts.d.ts.map +1 -0
  42. package/declarations/components/controls/email-input.gts.d.ts +8 -0
  43. package/declarations/components/controls/email-input.gts.d.ts.map +1 -0
  44. package/declarations/components/controls/input-builder.gts.d.ts +30 -0
  45. package/declarations/components/controls/input-builder.gts.d.ts.map +1 -0
  46. package/declarations/components/controls/list.gts.d.ts +51 -0
  47. package/declarations/components/controls/list.gts.d.ts.map +1 -0
  48. package/declarations/components/controls/menu.gts.d.ts +39 -0
  49. package/declarations/components/controls/menu.gts.d.ts.map +1 -0
  50. package/declarations/components/controls/number-input.gts.d.ts +8 -0
  51. package/declarations/components/controls/number-input.gts.d.ts.map +1 -0
  52. package/declarations/components/controls/password-input.gts.d.ts +8 -0
  53. package/declarations/components/controls/password-input.gts.d.ts.map +1 -0
  54. package/declarations/components/controls/phone-input.gts.d.ts +8 -0
  55. package/declarations/components/controls/phone-input.gts.d.ts.map +1 -0
  56. package/declarations/components/controls/radio.gts.d.ts +8 -0
  57. package/declarations/components/controls/radio.gts.d.ts.map +1 -0
  58. package/declarations/components/controls/range-input.gts.d.ts +13 -0
  59. package/declarations/components/controls/range-input.gts.d.ts.map +1 -0
  60. package/declarations/components/controls/select.gts.d.ts +39 -0
  61. package/declarations/components/controls/select.gts.d.ts.map +1 -0
  62. package/declarations/components/controls/tabs.gts.d.ts +61 -0
  63. package/declarations/components/controls/tabs.gts.d.ts.map +1 -0
  64. package/declarations/components/controls/text-area.gts.d.ts +8 -0
  65. package/declarations/components/controls/text-area.gts.d.ts.map +1 -0
  66. package/declarations/components/controls/text-input.gts.d.ts +8 -0
  67. package/declarations/components/controls/text-input.gts.d.ts.map +1 -0
  68. package/declarations/components/currency-input.gts.d.ts +1 -8
  69. package/declarations/components/currency-input.gts.d.ts.map +1 -1
  70. package/declarations/components/data/data-table.gts.d.ts +19 -0
  71. package/declarations/components/data/data-table.gts.d.ts.map +1 -0
  72. package/declarations/components/data-table.gts.d.ts +2 -0
  73. package/declarations/components/data-table.gts.d.ts.map +1 -0
  74. package/declarations/components/date-input.gts.d.ts +1 -8
  75. package/declarations/components/date-input.gts.d.ts.map +1 -1
  76. package/declarations/components/email-input.gts.d.ts +1 -8
  77. package/declarations/components/email-input.gts.d.ts.map +1 -1
  78. package/declarations/components/focus-page.gts.d.ts +2 -0
  79. package/declarations/components/focus-page.gts.d.ts.map +1 -0
  80. package/declarations/components/form/description.gts.d.ts +1 -2
  81. package/declarations/components/form/description.gts.d.ts.map +1 -1
  82. package/declarations/components/form/errors.gts.d.ts +1 -2
  83. package/declarations/components/form/errors.gts.d.ts.map +1 -1
  84. package/declarations/components/form/field.gts.d.ts +2 -2
  85. package/declarations/components/form/field.gts.d.ts.map +1 -1
  86. package/declarations/components/form/fields/checkbox.gts.d.ts +2 -2
  87. package/declarations/components/form/fields/checkbox.gts.d.ts.map +1 -1
  88. package/declarations/components/form/fields/currency.gts.d.ts +2 -2
  89. package/declarations/components/form/fields/currency.gts.d.ts.map +1 -1
  90. package/declarations/components/form/fields/date.gts.d.ts +2 -2
  91. package/declarations/components/form/fields/date.gts.d.ts.map +1 -1
  92. package/declarations/components/form/fields/email.gts.d.ts +2 -2
  93. package/declarations/components/form/fields/email.gts.d.ts.map +1 -1
  94. package/declarations/components/form/fields/list.gts.d.ts +3 -3
  95. package/declarations/components/form/fields/list.gts.d.ts.map +1 -1
  96. package/declarations/components/form/fields/multiple-choice.gts.d.ts +2 -2
  97. package/declarations/components/form/fields/multiple-choice.gts.d.ts.map +1 -1
  98. package/declarations/components/form/fields/number.gts.d.ts +2 -2
  99. package/declarations/components/form/fields/number.gts.d.ts.map +1 -1
  100. package/declarations/components/form/fields/password.gts.d.ts +2 -2
  101. package/declarations/components/form/fields/password.gts.d.ts.map +1 -1
  102. package/declarations/components/form/fields/phone.gts.d.ts +2 -2
  103. package/declarations/components/form/fields/phone.gts.d.ts.map +1 -1
  104. package/declarations/components/form/fields/range.gts.d.ts +2 -2
  105. package/declarations/components/form/fields/range.gts.d.ts.map +1 -1
  106. package/declarations/components/form/fields/select.gts.d.ts +2 -2
  107. package/declarations/components/form/fields/select.gts.d.ts.map +1 -1
  108. package/declarations/components/form/fields/singular-choice.gts.d.ts +2 -2
  109. package/declarations/components/form/fields/singular-choice.gts.d.ts.map +1 -1
  110. package/declarations/components/form/fields/text-area.gts.d.ts +2 -2
  111. package/declarations/components/form/fields/text-area.gts.d.ts.map +1 -1
  112. package/declarations/components/form/fields/text.gts.d.ts +2 -2
  113. package/declarations/components/form/fields/text.gts.d.ts.map +1 -1
  114. package/declarations/components/form/form.gts.d.ts +31 -30
  115. package/declarations/components/form/form.gts.d.ts.map +1 -1
  116. package/declarations/components/form/index.d.ts +1 -1
  117. package/declarations/components/form/index.d.ts.map +1 -1
  118. package/declarations/components/form/label.gts.d.ts +1 -2
  119. package/declarations/components/form/label.gts.d.ts.map +1 -1
  120. package/declarations/components/form/reset.gts.d.ts +5 -6
  121. package/declarations/components/form/reset.gts.d.ts.map +1 -1
  122. package/declarations/components/form/rules.gts.d.ts +1 -1
  123. package/declarations/components/form/rules.gts.d.ts.map +1 -1
  124. package/declarations/components/form/submit.gts.d.ts +5 -6
  125. package/declarations/components/form/submit.gts.d.ts.map +1 -1
  126. package/declarations/components/form.gts.d.ts +1 -1
  127. package/declarations/components/form.gts.d.ts.map +1 -1
  128. package/declarations/components/graphics/avatar.gts.d.ts +10 -0
  129. package/declarations/components/graphics/avatar.gts.d.ts.map +1 -0
  130. package/declarations/components/graphics/icon.gts.d.ts +13 -0
  131. package/declarations/components/graphics/icon.gts.d.ts.map +1 -0
  132. package/declarations/components/icon-button.gts.d.ts +1 -25
  133. package/declarations/components/icon-button.gts.d.ts.map +1 -1
  134. package/declarations/components/icon.gts.d.ts +1 -13
  135. package/declarations/components/icon.gts.d.ts.map +1 -1
  136. package/declarations/components/input-builder.gts.d.ts +1 -28
  137. package/declarations/components/input-builder.gts.d.ts.map +1 -1
  138. package/declarations/components/layouts/focus-page.gts.d.ts +24 -0
  139. package/declarations/components/layouts/focus-page.gts.d.ts.map +1 -0
  140. package/declarations/components/layouts/page.gts.d.ts +24 -0
  141. package/declarations/components/layouts/page.gts.d.ts.map +1 -0
  142. package/declarations/components/layouts/pages.d.ts +15 -0
  143. package/declarations/components/layouts/pages.d.ts.map +1 -0
  144. package/declarations/components/layouts/sectioned-page.gts.d.ts +26 -0
  145. package/declarations/components/layouts/sectioned-page.gts.d.ts.map +1 -0
  146. package/declarations/components/link.gts.d.ts +2 -0
  147. package/declarations/components/link.gts.d.ts.map +1 -0
  148. package/declarations/components/list.gts.d.ts +1 -50
  149. package/declarations/components/list.gts.d.ts.map +1 -1
  150. package/declarations/components/menu.gts.d.ts +1 -38
  151. package/declarations/components/menu.gts.d.ts.map +1 -1
  152. package/declarations/components/navigation/-pagination.d.ts +17 -0
  153. package/declarations/components/navigation/-pagination.d.ts.map +1 -0
  154. package/declarations/components/navigation/app-header.gts.d.ts +54 -0
  155. package/declarations/components/navigation/app-header.gts.d.ts.map +1 -0
  156. package/declarations/components/navigation/link.gts.d.ts +13 -0
  157. package/declarations/components/navigation/link.gts.d.ts.map +1 -0
  158. package/declarations/components/navigation/nav-link.gts.d.ts +12 -0
  159. package/declarations/components/navigation/nav-link.gts.d.ts.map +1 -0
  160. package/declarations/components/navigation/navigation-list.gts.d.ts +19 -0
  161. package/declarations/components/navigation/navigation-list.gts.d.ts.map +1 -0
  162. package/declarations/components/navigation/pagination.gts.d.ts +78 -0
  163. package/declarations/components/navigation/pagination.gts.d.ts.map +1 -0
  164. package/declarations/components/navigation-list.gts.d.ts +2 -0
  165. package/declarations/components/navigation-list.gts.d.ts.map +1 -0
  166. package/declarations/components/number-input.gts.d.ts +1 -8
  167. package/declarations/components/number-input.gts.d.ts.map +1 -1
  168. package/declarations/components/page.gts.d.ts +1 -35
  169. package/declarations/components/page.gts.d.ts.map +1 -1
  170. package/declarations/components/pagination.gts.d.ts +2 -0
  171. package/declarations/components/pagination.gts.d.ts.map +1 -0
  172. package/declarations/components/password-input.gts.d.ts +1 -8
  173. package/declarations/components/password-input.gts.d.ts.map +1 -1
  174. package/declarations/components/phone-input.gts.d.ts +1 -8
  175. package/declarations/components/phone-input.gts.d.ts.map +1 -1
  176. package/declarations/components/popover.gts.d.ts +1 -9
  177. package/declarations/components/popover.gts.d.ts.map +1 -1
  178. package/declarations/components/radio.gts.d.ts +1 -8
  179. package/declarations/components/radio.gts.d.ts.map +1 -1
  180. package/declarations/components/range-input.gts.d.ts +1 -13
  181. package/declarations/components/range-input.gts.d.ts.map +1 -1
  182. package/declarations/components/section.gts.d.ts +1 -18
  183. package/declarations/components/section.gts.d.ts.map +1 -1
  184. package/declarations/components/sectioned-page.gts.d.ts +2 -0
  185. package/declarations/components/sectioned-page.gts.d.ts.map +1 -0
  186. package/declarations/components/select.gts.d.ts +1 -35
  187. package/declarations/components/select.gts.d.ts.map +1 -1
  188. package/declarations/components/tabs.gts.d.ts +1 -60
  189. package/declarations/components/tabs.gts.d.ts.map +1 -1
  190. package/declarations/components/text-area.gts.d.ts +1 -8
  191. package/declarations/components/text-area.gts.d.ts.map +1 -1
  192. package/declarations/components/text-input.gts.d.ts +1 -8
  193. package/declarations/components/text-input.gts.d.ts.map +1 -1
  194. package/declarations/components/windows/popover.gts.d.ts +9 -0
  195. package/declarations/components/windows/popover.gts.d.ts.map +1 -0
  196. package/declarations/helpers/popover.d.ts +1 -1
  197. package/declarations/helpers/popover.d.ts.map +1 -1
  198. package/declarations/index.d.ts +33 -26
  199. package/declarations/index.d.ts.map +1 -1
  200. package/declarations/registry.d.ts +2 -0
  201. package/declarations/registry.d.ts.map +1 -0
  202. package/declarations/services/-hokulea.d.ts.map +1 -1
  203. package/declarations/template-registry.d.ts +49 -35
  204. package/declarations/template-registry.d.ts.map +1 -1
  205. package/declarations/test-support/index.d.ts +5 -1
  206. package/declarations/test-support/index.d.ts.map +1 -1
  207. package/declarations/test-support/page-objects/-navigation.d.ts +9 -0
  208. package/declarations/test-support/page-objects/-navigation.d.ts.map +1 -0
  209. package/declarations/test-support/page-objects/app-header.d.ts +1 -1
  210. package/declarations/test-support/page-objects/app-header.d.ts.map +1 -1
  211. package/declarations/test-support/page-objects/avatar.d.ts +10 -0
  212. package/declarations/test-support/page-objects/avatar.d.ts.map +1 -0
  213. package/declarations/test-support/page-objects/data-table.d.ts +36 -0
  214. package/declarations/test-support/page-objects/data-table.d.ts.map +1 -0
  215. package/declarations/test-support/page-objects/input.d.ts +1 -0
  216. package/declarations/test-support/page-objects/input.d.ts.map +1 -1
  217. package/declarations/test-support/page-objects/navigation-list.d.ts +10 -0
  218. package/declarations/test-support/page-objects/navigation-list.d.ts.map +1 -0
  219. package/declarations/test-support/page-objects/page.d.ts +3 -1
  220. package/declarations/test-support/page-objects/page.d.ts.map +1 -1
  221. package/declarations/test-support/page-objects/pagination.d.ts +65 -0
  222. package/declarations/test-support/page-objects/pagination.d.ts.map +1 -0
  223. package/declarations/test-support/page-objects/select.d.ts +1 -0
  224. package/declarations/test-support/page-objects/select.d.ts.map +1 -1
  225. package/declarations/test-support/page-objects/tabs.d.ts.map +1 -1
  226. package/dist/-button-KUaJCQaB.js.map +1 -1
  227. package/dist/-input-DGR-n9U_.js.map +1 -1
  228. package/dist/_app_/components/avatar.js +1 -0
  229. package/dist/_app_/components/data-table.js +1 -0
  230. package/dist/_app_/components/focus-page.js +1 -0
  231. package/dist/_app_/components/link.js +1 -0
  232. package/dist/_app_/components/navigation-list.js +1 -0
  233. package/dist/_app_/components/pagination.js +1 -0
  234. package/dist/_app_/components/sectioned-page.js +1 -0
  235. package/dist/app-header-nmqytjxx.js +117 -0
  236. package/dist/app-header-nmqytjxx.js.map +1 -0
  237. package/dist/avatar-CtqAk4G6.js +29 -0
  238. package/dist/avatar-CtqAk4G6.js.map +1 -0
  239. package/dist/box-DU6m9gDw.js +20 -0
  240. package/dist/box-DU6m9gDw.js.map +1 -0
  241. package/dist/button-BhxkZ70u.js +26 -0
  242. package/dist/button-BhxkZ70u.js.map +1 -0
  243. package/dist/card-tK78paQn.js +16 -0
  244. package/dist/card-tK78paQn.js.map +1 -0
  245. package/dist/checkbox-D3_2ps5M.js +18 -0
  246. package/dist/checkbox-D3_2ps5M.js.map +1 -0
  247. package/dist/components/app-header.js +1 -131
  248. package/dist/components/app-header.js.map +1 -1
  249. package/dist/components/avatar.js +2 -0
  250. package/dist/components/avatar.js.map +1 -0
  251. package/dist/components/box.js +1 -19
  252. package/dist/components/box.js.map +1 -1
  253. package/dist/components/button.js +1 -23
  254. package/dist/components/button.js.map +1 -1
  255. package/dist/components/card.js +1 -15
  256. package/dist/components/card.js.map +1 -1
  257. package/dist/components/checkbox.js +1 -17
  258. package/dist/components/checkbox.js.map +1 -1
  259. package/dist/components/currency-input.js +1 -21
  260. package/dist/components/currency-input.js.map +1 -1
  261. package/dist/components/data-table.js +2 -0
  262. package/dist/components/data-table.js.map +1 -0
  263. package/dist/components/date-input.js +1 -17
  264. package/dist/components/date-input.js.map +1 -1
  265. package/dist/components/email-input.js +1 -17
  266. package/dist/components/email-input.js.map +1 -1
  267. package/dist/components/focus-page.js +2 -0
  268. package/dist/components/focus-page.js.map +1 -0
  269. package/dist/components/form.js +1 -1
  270. package/dist/components/icon-button.js +1 -36
  271. package/dist/components/icon-button.js.map +1 -1
  272. package/dist/components/icon.js +1 -15
  273. package/dist/components/icon.js.map +1 -1
  274. package/dist/components/input-builder.js +1 -19
  275. package/dist/components/input-builder.js.map +1 -1
  276. package/dist/components/link.js +2 -0
  277. package/dist/components/link.js.map +1 -0
  278. package/dist/components/list.js +1 -65
  279. package/dist/components/list.js.map +1 -1
  280. package/dist/components/menu.js +1 -115
  281. package/dist/components/menu.js.map +1 -1
  282. package/dist/components/navigation-list.js +2 -0
  283. package/dist/components/navigation-list.js.map +1 -0
  284. package/dist/components/number-input.js +1 -19
  285. package/dist/components/number-input.js.map +1 -1
  286. package/dist/components/page.js +1 -62
  287. package/dist/components/page.js.map +1 -1
  288. package/dist/components/pagination.js +2 -0
  289. package/dist/components/pagination.js.map +1 -0
  290. package/dist/components/password-input.js +1 -17
  291. package/dist/components/password-input.js.map +1 -1
  292. package/dist/components/phone-input.js +1 -17
  293. package/dist/components/phone-input.js.map +1 -1
  294. package/dist/components/popover.js +1 -13
  295. package/dist/components/popover.js.map +1 -1
  296. package/dist/components/radio.js +1 -17
  297. package/dist/components/radio.js.map +1 -1
  298. package/dist/components/range-input.js +1 -36
  299. package/dist/components/range-input.js.map +1 -1
  300. package/dist/components/section.js +1 -24
  301. package/dist/components/section.js.map +1 -1
  302. package/dist/components/sectioned-page.js +2 -0
  303. package/dist/components/sectioned-page.js.map +1 -0
  304. package/dist/components/select.js +1 -38
  305. package/dist/components/select.js.map +1 -1
  306. package/dist/components/tabs.js +1 -110
  307. package/dist/components/tabs.js.map +1 -1
  308. package/dist/components/text-area.js +1 -17
  309. package/dist/components/text-area.js.map +1 -1
  310. package/dist/components/text-input.js +1 -17
  311. package/dist/components/text-input.js.map +1 -1
  312. package/dist/currency-input-tBhgIMTh.js +22 -0
  313. package/dist/currency-input-tBhgIMTh.js.map +1 -0
  314. package/dist/data-table-5VDYeRya.js +18 -0
  315. package/dist/data-table-5VDYeRya.js.map +1 -0
  316. package/dist/date-input-DLv9jE39.js +18 -0
  317. package/dist/date-input-DLv9jE39.js.map +1 -0
  318. package/dist/email-input-BR33Qevz.js +18 -0
  319. package/dist/email-input-BR33Qevz.js.map +1 -0
  320. package/dist/focus-page-DFu6qtBk.js +23 -0
  321. package/dist/focus-page-DFu6qtBk.js.map +1 -0
  322. package/dist/{form-DBuzL4_0.js → form-VsNkRlXs.js} +16 -16
  323. package/dist/form-VsNkRlXs.js.map +1 -0
  324. package/dist/helpers/popover.js +1 -1
  325. package/dist/helpers/popover.js.map +1 -1
  326. package/dist/{helpers-DS9du02l.js → helpers-D4So5-uK.js} +8 -2
  327. package/dist/helpers-D4So5-uK.js.map +1 -0
  328. package/dist/icon-BfRBkZ72.js +16 -0
  329. package/dist/icon-BfRBkZ72.js.map +1 -0
  330. package/dist/icon-button-DBt7fMi1.js +38 -0
  331. package/dist/icon-button-DBt7fMi1.js.map +1 -0
  332. package/dist/index.js +34 -27
  333. package/dist/index.js.map +1 -1
  334. package/dist/input-builder-DHYx-2Yz.js +20 -0
  335. package/dist/input-builder-DHYx-2Yz.js.map +1 -0
  336. package/dist/link-bqsg26Cc.js +18 -0
  337. package/dist/link-bqsg26Cc.js.map +1 -0
  338. package/dist/list-CsLvih6-.js +66 -0
  339. package/dist/list-CsLvih6-.js.map +1 -0
  340. package/dist/menu-s0AthZse.js +118 -0
  341. package/dist/menu-s0AthZse.js.map +1 -0
  342. package/dist/nav-link-CDtYj6HW.js +22 -0
  343. package/dist/nav-link-CDtYj6HW.js.map +1 -0
  344. package/dist/navigation-list-Ng5UsNCY.js +22 -0
  345. package/dist/navigation-list-Ng5UsNCY.js.map +1 -0
  346. package/dist/number-input-FJympEv2.js +20 -0
  347. package/dist/number-input-FJympEv2.js.map +1 -0
  348. package/dist/page-BuLkLO08.js +23 -0
  349. package/dist/page-BuLkLO08.js.map +1 -0
  350. package/dist/pages-DgHJEvSy.js +31 -0
  351. package/dist/pages-DgHJEvSy.js.map +1 -0
  352. package/dist/pagination-DCMxI10i.js +124 -0
  353. package/dist/pagination-DCMxI10i.js.map +1 -0
  354. package/dist/password-input-DV5yb10h.js +18 -0
  355. package/dist/password-input-DV5yb10h.js.map +1 -0
  356. package/dist/phone-input-Uv5v9hK9.js +18 -0
  357. package/dist/phone-input-Uv5v9hK9.js.map +1 -0
  358. package/dist/popover-B6j413u9.js +14 -0
  359. package/dist/popover-B6j413u9.js.map +1 -0
  360. package/dist/push-DnJFFc_p.js +24 -0
  361. package/dist/push-DnJFFc_p.js.map +1 -0
  362. package/dist/radio-CLF40kob.js +18 -0
  363. package/dist/radio-CLF40kob.js.map +1 -0
  364. package/dist/range-input-BIb7GkKH.js +37 -0
  365. package/dist/range-input-BIb7GkKH.js.map +1 -0
  366. package/dist/registry.js +14 -0
  367. package/dist/registry.js.map +1 -0
  368. package/dist/section-BAdmc3Yn.js +25 -0
  369. package/dist/section-BAdmc3Yn.js.map +1 -0
  370. package/dist/sectioned-page-CgINWVQ2.js +25 -0
  371. package/dist/sectioned-page-CgINWVQ2.js.map +1 -0
  372. package/dist/select-CeO8AZMK.js +42 -0
  373. package/dist/select-CeO8AZMK.js.map +1 -0
  374. package/dist/services/-hokulea.js +1 -8
  375. package/dist/services/-hokulea.js.map +1 -1
  376. package/dist/tabs-DAscspzh.js +111 -0
  377. package/dist/tabs-DAscspzh.js.map +1 -0
  378. package/dist/test-support/index.js +82 -18
  379. package/dist/test-support/index.js.map +1 -1
  380. package/dist/text-area-DF8-cDiy.js +18 -0
  381. package/dist/text-area-DF8-cDiy.js.map +1 -0
  382. package/dist/text-input-CcIcYksE.js +18 -0
  383. package/dist/text-input-CcIcYksE.js.map +1 -0
  384. package/package.json +21 -13
  385. package/declarations/components/-button.d.ts.map +0 -1
  386. package/declarations/components/-input.d.ts.map +0 -1
  387. package/declarations/components/-menu.d.ts.map +0 -1
  388. package/declarations/components/-stories.d.ts +0 -3
  389. package/declarations/components/-stories.d.ts.map +0 -1
  390. package/dist/form-DBuzL4_0.js.map +0 -1
  391. package/dist/helpers-DS9du02l.js.map +0 -1
  392. /package/declarations/components/{-button.d.ts → actions/-button.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","sources":["../../src/helpers/popover.ts"],"sourcesContent":["import { tracked } from '@glimmer/tracking';\nimport { helper } from '@ember/component/helper';\nimport { uniqueId } from '@ember/helper';\n\nimport { computePosition, flip, type Placement } from '@floating-ui/dom';\nimport { modifier } from 'ember-modifier';\n\ninterface PopoverArgs {\n position?: Placement;\n opened?: () => void;\n closed?: () => void;\n}\n\nclass State {\n @tracked id = uniqueId();\n @tracked opened = false;\n}\n\nconst popover = helper((_, { position, opened, closed }: PopoverArgs) => {\n const state = new State();\n let triggerElement: HTMLElement | undefined;\n let targetElement: HTMLElement | undefined;\n\n return {\n trigger: modifier((element: HTMLElement) => {\n element.setAttribute('popovertarget', state.id);\n triggerElement = element;\n }),\n target: modifier((element: HTMLElement, __, { manual }: { manual?: boolean }) => {\n element.setAttribute('popover', manual ? 'manual' : '');\n targetElement = element;\n\n if (element.id) {\n state.id = element.id;\n } else {\n element.id = state.id;\n }\n\n const toggleHandler = (event: ToggleEvent) => {\n state.opened = event.newState === 'open';\n\n if (event.newState === 'open') {\n if (position && triggerElement) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n computePosition(triggerElement, element, {\n placement: position,\n middleware: [flip()]\n }).then(({ x, y }): void => {\n Object.assign(element.style, {\n left: `${String(x)}px`,\n top: `${String(y)}px`\n });\n });\n }\n\n opened?.();\n } else if (event.newState === 'closed') {\n closed?.();\n }\n };\n\n element.addEventListener('toggle', toggleHandler);\n\n return () => {\n element.removeEventListener('toggle', toggleHandler);\n };\n }),\n get opened() {\n return state.opened;\n },\n open: () => {\n targetElement?.showPopover();\n },\n close: () => {\n targetElement?.hidePopover();\n }\n };\n});\n\nexport default popover;\n"],"names":["State","g","prototype","tracked","uniqueId","i","void 0","popover","helper","_","position","opened","closed","state","triggerElement","targetElement","trigger","modifier","element","setAttribute","id","target","__","manual","toggleHandler","event","newState","computePosition","placement","middleware","flip","then","x","y","Object","assign","style","left","String","top","addEventListener","removeEventListener","open","showPopover","close","hidePopover"],"mappings":"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"}
1
+ {"version":3,"file":"popover.js","sources":["../../src/helpers/popover.ts"],"sourcesContent":["import { tracked } from '@glimmer/tracking';\nimport { helper } from '@ember/component/helper';\nimport { uniqueId } from '@ember/helper';\n\nimport { computePosition, flip, type Placement } from '@floating-ui/dom';\nimport { modifier } from 'ember-modifier';\n\ninterface PopoverArgs {\n position?: Placement;\n opened?: () => void;\n closed?: () => void;\n}\n\nclass State {\n @tracked id = uniqueId();\n @tracked opened = false;\n}\n\nexport const popover = helper((_, { position, opened, closed }: PopoverArgs) => {\n const state = new State();\n let triggerElement: HTMLElement | undefined;\n let targetElement: HTMLElement | undefined;\n\n return {\n trigger: modifier((element: HTMLElement) => {\n element.setAttribute('popovertarget', state.id);\n triggerElement = element;\n }),\n target: modifier((element: HTMLElement, __, { manual }: { manual?: boolean }) => {\n element.setAttribute('popover', manual ? 'manual' : '');\n targetElement = element;\n\n if (element.id) {\n state.id = element.id;\n } else {\n element.id = state.id;\n }\n\n const toggleHandler = (event: ToggleEvent) => {\n state.opened = event.newState === 'open';\n\n if (event.newState === 'open') {\n if (position && triggerElement) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n computePosition(triggerElement, element, {\n placement: position,\n middleware: [flip()]\n }).then(({ x, y }): void => {\n Object.assign(element.style, {\n left: `${String(x)}px`,\n top: `${String(y)}px`\n });\n });\n }\n\n opened?.();\n } else if (event.newState === 'closed') {\n closed?.();\n }\n };\n\n element.addEventListener('toggle', toggleHandler);\n\n return () => {\n element.removeEventListener('toggle', toggleHandler);\n };\n }),\n get opened() {\n return state.opened;\n },\n open: () => {\n targetElement?.showPopover();\n },\n close: () => {\n targetElement?.hidePopover();\n }\n };\n});\n\nexport default popover;\n"],"names":["State","g","prototype","tracked","uniqueId","i","void 0","popover","helper","_","position","opened","closed","state","triggerElement","targetElement","trigger","modifier","element","setAttribute","id","target","__","manual","toggleHandler","event","newState","computePosition","placement","middleware","flip","then","x","y","Object","assign","style","left","String","top","addEventListener","removeEventListener","open","showPopover","close","hidePopover"],"mappings":"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"}
@@ -16,6 +16,12 @@ const or = (...conditions) => conditions.reduce((a, b) => a || b, false);
16
16
  const and = (a, b) => a && b;
17
17
  const eq = (a, b) => a === b;
18
18
  const not = a => !a;
19
+ const gt = (left, right) => {
20
+ return left > right;
21
+ };
22
+
23
+ // eslint-disable-next-line unicorn/no-new-array
24
+ const range = amount => [...new Array(amount).keys()].map(i => i + 1);
19
25
  const asString = value => {
20
26
  return value;
21
27
  };
@@ -26,5 +32,5 @@ const asBoolean = value => {
26
32
  return value;
27
33
  };
28
34
 
29
- export { and as a, asBoolean as b, asNumber as c, asString as d, eq as e, not as n, or as o, pick as p };
30
- //# sourceMappingURL=helpers-DS9du02l.js.map
35
+ export { and as a, asBoolean as b, asNumber as c, asString as d, eq as e, gt as g, not as n, or as o, pick as p, range as r };
36
+ //# sourceMappingURL=helpers-D4So5-uK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers-D4So5-uK.js","sources":["../src/-private/helpers.ts"],"sourcesContent":["import { get } from '@ember/object';\n\n/* Shamelessly stolen from: https://github.com/DockYard/ember-composable-helpers/blob/master/addon/helpers/pick.js */\nfunction pick<V = unknown>(path: string, action?: (value: V) => void) {\n return function (event: object): V | void {\n const value = get(event, path) as V;\n\n if (!action) {\n return value;\n }\n\n action(value);\n };\n}\n\n// eslint-disable-next-line unicorn/no-array-reduce, @typescript-eslint/prefer-nullish-coalescing\nconst or = (...conditions: unknown[]) => conditions.reduce((a, b) => a || b, false);\n\nconst and = (a: unknown, b: unknown) => a && b;\n\nconst eq = (a: unknown, b: unknown) => a === b;\n\nconst not = (a: boolean) => !a;\n\nconst notEq = (a: unknown, b: unknown) => a !== b;\n\nconst gt = (left: unknown, right: unknown) => {\n return (left as number) > (right as number);\n};\n\n// eslint-disable-next-line unicorn/no-new-array\nconst range = (amount: number) => [...new Array(amount).keys()].map((i) => i + 1);\n\nconst asString = (value: unknown): string => {\n return value as string;\n};\n\nconst asNumber = (value: unknown): number => {\n return value as number;\n};\n\nconst asBoolean = (value: unknown): boolean => {\n return value as boolean;\n};\n\nexport { and, asBoolean, asNumber, asString, eq, gt, not, notEq, or, pick, range };\n"],"names":["pick","path","action","event","value","get","or","conditions","reduce","a","b","and","eq","not","gt","left","right","range","amount","Array","keys","map","i","asString","asNumber","asBoolean"],"mappings":";;AAEA;AACA,SAASA,IAAIA,CAAcC,IAAY,EAAEC,MAA2B,EAAE;EACpE,OAAO,UAAUC,KAAa,EAAY;AACxC,IAAA,MAAMC,KAAK,GAAGC,GAAG,CAACF,KAAK,EAAEF,IAAI,CAAM;IAEnC,IAAI,CAACC,MAAM,EAAE;AACX,MAAA,OAAOE,KAAK;AACd,IAAA;IAEAF,MAAM,CAACE,KAAK,CAAC;EACf,CAAC;AACH;;AAEA;AACA,MAAME,EAAE,GAAGA,CAAC,GAAGC,UAAqB,KAAKA,UAAU,CAACC,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,IAAIC,CAAC,EAAE,KAAK;AAElF,MAAMC,GAAG,GAAGA,CAACF,CAAU,EAAEC,CAAU,KAAKD,CAAC,IAAIC;AAE7C,MAAME,EAAE,GAAGA,CAACH,CAAU,EAAEC,CAAU,KAAKD,CAAC,KAAKC;AAE7C,MAAMG,GAAG,GAAIJ,CAAU,IAAK,CAACA;AAI7B,MAAMK,EAAE,GAAGA,CAACC,IAAa,EAAEC,KAAc,KAAK;EAC5C,OAAQD,IAAI,GAAeC,KAAgB;AAC7C;;AAEA;AACA,MAAMC,KAAK,GAAIC,MAAc,IAAK,CAAC,GAAG,IAAIC,KAAK,CAACD,MAAM,CAAC,CAACE,IAAI,EAAE,CAAC,CAACC,GAAG,CAAEC,CAAC,IAAKA,CAAC,GAAG,CAAC;AAEhF,MAAMC,QAAQ,GAAInB,KAAc,IAAa;AAC3C,EAAA,OAAOA,KAAK;AACd;AAEA,MAAMoB,QAAQ,GAAIpB,KAAc,IAAa;AAC3C,EAAA,OAAOA,KAAK;AACd;AAEA,MAAMqB,SAAS,GAAIrB,KAAc,IAAc;AAC7C,EAAA,OAAOA,KAAK;AACd;;;;"}
@@ -0,0 +1,16 @@
1
+ import { htmlSafe } from '@ember/template';
2
+ import styles from '@hokulea/core/graphics.module.css';
3
+ import { precompileTemplate } from '@ember/template-compilation';
4
+ import { setComponentTemplate } from '@ember/component';
5
+ import templateOnly from '@ember/component/template-only';
6
+
7
+ const Icon = setComponentTemplate(precompileTemplate("\n <span class={{styles.icon}} data-test-icon ...attributes>\n {{htmlSafe @icon}}\n </span>\n", {
8
+ strictMode: true,
9
+ scope: () => ({
10
+ styles,
11
+ htmlSafe
12
+ })
13
+ }), templateOnly());
14
+
15
+ export { Icon as I };
16
+ //# sourceMappingURL=icon-BfRBkZ72.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-BfRBkZ72.js","sources":["../src/components/graphics/icon.gts"],"sourcesContent":["import { htmlSafe } from '@ember/template';\n\nimport styles from '@hokulea/core/graphics.module.css';\n\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface IconSignature {\n Element: HTMLSpanElement;\n Args: {\n /**\n * A string containing a `<svg>` element.\n * Make sure to use `currentColor` to comply with the styling\n */\n icon: string;\n };\n}\n\nexport const Icon: TOC<IconSignature> = <template>\n <span class={{styles.icon}} data-test-icon ...attributes>\n {{htmlSafe @icon}}\n </span>\n</template>;\n"],"names":["Icon","setComponentTemplate","precompileTemplate","strictMode","scope","styles","htmlSafe","templateOnly"],"mappings":";;;;;;MAiBaA,IAAU,GAAAC,oBAAA,CAAiBC,kBAAA,CAAA,oGAAA,EAIxC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -0,0 +1,38 @@
1
+ import Component from '@glimmer/component';
2
+ import { assert } from '@ember/debug';
3
+ import { element } from 'ember-element-helper';
4
+ import styles from '@hokulea/core/actions.module.css';
5
+ import { b as asBoolean, n as not, a as and } from './helpers-D4So5-uK.js';
6
+ import { d as disabled } from './disabled-B_FQ0Z51.js';
7
+ import { P as PushElement } from './push-DnJFFc_p.js';
8
+ import { I as Icon } from './icon-BfRBkZ72.js';
9
+ import { i as isLink } from './-button-KUaJCQaB.js';
10
+ import { precompileTemplate } from '@ember/template-compilation';
11
+ import { setComponentTemplate } from '@ember/component';
12
+
13
+ class IconButton extends Component {
14
+ get label() {
15
+ assert('Please provide a `@label` to `<IconButton>` for accessibility reasons.', this.args.label !== undefined);
16
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
17
+ return this.args.label;
18
+ }
19
+ static {
20
+ setComponentTemplate(precompileTemplate("\n <PushElement @push={{@push}} @href={{@href}} @element={{element \"button\"}} class=\"{{styles.iconButton}}\" type={{if (and (not (isLink @push)) (not (asBoolean @href))) \"button\"}} data-intent={{if @intent @intent \"action\"}} data-importance={{if @importance @importance \"supreme\"}} data-spacing={{@spacing}} aria-label={{this.label}} {{disabled when=(if @disabled @disabled false)}} data-test-icon-button ...attributes>\n <Icon @icon={{@icon}} data-test-icon-button=\"icon\" />\n </PushElement>\n ", {
21
+ strictMode: true,
22
+ scope: () => ({
23
+ PushElement,
24
+ element,
25
+ styles,
26
+ and,
27
+ not,
28
+ isLink,
29
+ asBoolean,
30
+ disabled,
31
+ Icon
32
+ })
33
+ }), this);
34
+ }
35
+ }
36
+
37
+ export { IconButton as I };
38
+ //# sourceMappingURL=icon-button-DBt7fMi1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-button-DBt7fMi1.js","sources":["../src/components/actions/icon-button.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport { element } from 'ember-element-helper';\n\nimport styles from '@hokulea/core/actions.module.css';\n\nimport { and, asBoolean, not } from '../../-private/helpers.ts';\nimport disabled from '../../-private/modifiers/disabled.ts';\nimport { type PushArgs, PushElement } from '../../-private/push.gts';\nimport { Icon } from '../graphics/icon.gts';\nimport { isLink } from './-button.ts';\n\nimport type { Importance, Intent, Spacing } from '@hokulea/tokens';\n\nexport interface IconButtonSignature {\n Element: HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement;\n Args: PushArgs & {\n intent?: Intent;\n importance?: Importance;\n spacing?: Spacing;\n disabled?: boolean;\n label: string;\n /**\n * A string containing a `<svg>` element.\n * Make sure to use `currentColor` to comply with the styling\n */\n icon: string;\n };\n Blocks: {\n default: [];\n };\n}\n\nexport class IconButton extends Component<IconButtonSignature> {\n get label() {\n assert(\n 'Please provide a `@label` to `<IconButton>` for accessibility reasons.',\n\n this.args.label !== undefined\n );\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return this.args.label;\n }\n\n <template>\n <PushElement\n @push={{@push}}\n @href={{@href}}\n @element={{element \"button\"}}\n class=\"{{styles.iconButton}}\"\n type={{if (and (not (isLink @push)) (not (asBoolean @href))) \"button\"}}\n data-intent={{if @intent @intent \"action\"}}\n data-importance={{if @importance @importance \"supreme\"}}\n data-spacing={{@spacing}}\n aria-label={{this.label}}\n {{disabled when=(if @disabled @disabled false)}}\n data-test-icon-button\n ...attributes\n >\n <Icon @icon={{@icon}} data-test-icon-button=\"icon\" />\n </PushElement>\n </template>\n}\n"],"names":["IconButton","Component","label","assert","args","undefined","setComponentTemplate","precompileTemplate","strictMode","scope","PushElement","element","styles","and","not","isLink","asBoolean","disabled","Icon"],"mappings":";;;;;;;;;;;;AAkCO,MAAMA,mBAAmBC,SAAA,CAAU;EACxC,IAAIC,KAAAA,GAAQ;IACVC,MAAA,CACE,0EAEA,IAAI,CAACC,IAAI,CAACF,KAAK,KAAKG,SAAA,CAAA;AAGtB;AACA,IAAA,OAAO,IAAI,CAACD,IAAI,CAACF,KAAK;AACxB,EAAA;AAEA,EAAA;IAAAI,oBAAA,CAAAC,kBAAA,CAAA,wgBAAA,EAiBA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,WAAA;QAAAC,OAAA;QAAAC,MAAA;QAAAC,GAAA;QAAAC,GAAA;QAAAC,MAAA;QAAAC,SAAA;QAAAC,QAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
package/dist/index.js CHANGED
@@ -1,29 +1,36 @@
1
- export { default as Icon } from './components/icon.js';
2
- export { default as Button } from './components/button.js';
3
- export { default as IconButton } from './components/icon-button.js';
4
- export { default as Checkbox } from './components/checkbox.js';
5
- export { default as CurrencyInput } from './components/currency-input.js';
6
- export { default as DateInput } from './components/date-input.js';
7
- export { default as EmailInput } from './components/email-input.js';
8
- export { default as InputBuilder } from './components/input-builder.js';
9
- export { default as List } from './components/list.js';
10
- export { default as NumberInput } from './components/number-input.js';
11
- export { default as PasswordInput } from './components/password-input.js';
12
- export { default as PhoneInput } from './components/phone-input.js';
13
- export { default as Radio } from './components/radio.js';
14
- export { default as RangeInput } from './components/range-input.js';
15
- export { default as Select } from './components/select.js';
16
- export { default as TextArea } from './components/text-area.js';
17
- export { default as TextInput } from './components/text-input.js';
18
- export { F as Form } from './form-DBuzL4_0.js';
19
- export { default as AppHeader } from './components/app-header.js';
20
- export { default as Menu } from './components/menu.js';
21
- export { default as Page } from './components/page.js';
22
- export { default as Tabs } from './components/tabs.js';
23
- export { default as Box } from './components/box.js';
24
- export { default as Card } from './components/card.js';
25
- export { default as Section } from './components/section.js';
26
- export { default as Popover } from './components/popover.js';
27
- export { default as popover } from './helpers/popover.js';
1
+ export { B as Button } from './button-BhxkZ70u.js';
2
+ export { I as IconButton } from './icon-button-DBt7fMi1.js';
3
+ export { C as Checkbox } from './checkbox-D3_2ps5M.js';
4
+ export { C as CurrencyInput } from './currency-input-tBhgIMTh.js';
5
+ export { D as DateInput } from './date-input-DLv9jE39.js';
6
+ export { E as EmailInput } from './email-input-BR33Qevz.js';
7
+ export { I as InputBuilder } from './input-builder-DHYx-2Yz.js';
8
+ export { L as List } from './list-CsLvih6-.js';
9
+ export { M as Menu } from './menu-s0AthZse.js';
10
+ export { N as NumberInput } from './number-input-FJympEv2.js';
11
+ export { P as PasswordInput } from './password-input-DV5yb10h.js';
12
+ export { P as PhoneInput } from './phone-input-Uv5v9hK9.js';
13
+ export { R as Radio } from './radio-CLF40kob.js';
14
+ export { R as RangeInput } from './range-input-BIb7GkKH.js';
15
+ export { S as Select } from './select-CeO8AZMK.js';
16
+ export { T as Tabs } from './tabs-DAscspzh.js';
17
+ export { T as TextArea } from './text-area-DF8-cDiy.js';
18
+ export { T as TextInput } from './text-input-CcIcYksE.js';
19
+ export { D as DataTable } from './data-table-5VDYeRya.js';
20
+ export { F as Form } from './form-VsNkRlXs.js';
21
+ export { A as Avatar } from './avatar-CtqAk4G6.js';
22
+ export { I as Icon } from './icon-BfRBkZ72.js';
23
+ export { A as AppHeader } from './app-header-nmqytjxx.js';
24
+ export { L as Link } from './link-bqsg26Cc.js';
25
+ export { N as NavigationList } from './navigation-list-Ng5UsNCY.js';
26
+ export { P as Pagination } from './pagination-DCMxI10i.js';
27
+ export { F as FocusPage } from './focus-page-DFu6qtBk.js';
28
+ export { P as Page } from './page-BuLkLO08.js';
29
+ export { S as SectionedPage } from './sectioned-page-CgINWVQ2.js';
30
+ export { B as Box } from './box-DU6m9gDw.js';
31
+ export { C as Card } from './card-tK78paQn.js';
32
+ export { S as Section } from './section-BAdmc3Yn.js';
33
+ export { P as Popover } from './popover-B6j413u9.js';
34
+ export { popover } from './helpers/popover.js';
28
35
  export { default as HokuleaService } from './services/-hokulea.js';
29
36
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,20 @@
1
+ import { hash } from '@ember/helper';
2
+ import styles from '@hokulea/core/controls.module.css';
3
+ import { precompileTemplate } from '@ember/template-compilation';
4
+ import { setComponentTemplate } from '@ember/component';
5
+ import templateOnly from '@ember/component/template-only';
6
+
7
+ const Affix = setComponentTemplate(precompileTemplate("\n <span class={{@class}} data-test-input-builder={{@identity}}>{{yield}}</span>\n", {
8
+ strictMode: true
9
+ }), templateOnly());
10
+ const InputBuilder = setComponentTemplate(precompileTemplate("\n {{!-- template-lint-disable no-unsupported-role-attributes --}}\n <span class={{styles.inputBuilder}} aria-disabled={{if @disabled \"true\"}} data-spacing={{@spacing}} data-input-builder data-test-input-builder>\n {{yield (hash Prefix=(component Affix class=styles.prefix identity=\"prefix\") Affix=(component Affix class=styles.affix identity=\"affix\") Suffix=(component Affix class=styles.suffix identity=\"suffix\"))}}\n </span>\n", {
11
+ strictMode: true,
12
+ scope: () => ({
13
+ styles,
14
+ hash,
15
+ Affix
16
+ })
17
+ }), templateOnly());
18
+
19
+ export { InputBuilder as I };
20
+ //# sourceMappingURL=input-builder-DHYx-2Yz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-builder-DHYx-2Yz.js","sources":["../src/components/controls/input-builder.gts"],"sourcesContent":["import { hash } from '@ember/helper';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport type { ShapeArgs } from '../../-private/shapes.ts';\nimport type { TOC } from '@ember/component/template-only';\nimport type { WithBoundArgs } from '@glint/template';\n\ninterface AffixSignature {\n Args: {\n class: string;\n identity: 'prefix' | 'affix' | 'suffix';\n };\n Blocks: {\n default: [];\n };\n}\n\nconst Affix: TOC<AffixSignature> = <template>\n <span class={{@class}} data-test-input-builder={{@identity}}>{{yield}}</span>\n</template>;\n\nexport interface InputBuilderSignature {\n Args: ShapeArgs & {\n disabled?: boolean;\n };\n Blocks: {\n default: [\n {\n Affix: WithBoundArgs<typeof Affix, 'class' | 'identity'>;\n Prefix: WithBoundArgs<typeof Affix, 'class' | 'identity'>;\n Suffix: WithBoundArgs<typeof Affix, 'class' | 'identity'>;\n }\n ];\n };\n}\n\nexport const InputBuilder: TOC<InputBuilderSignature> = <template>\n {{! template-lint-disable no-unsupported-role-attributes }}\n <span\n class={{styles.inputBuilder}}\n aria-disabled={{if @disabled \"true\"}}\n data-spacing={{@spacing}}\n data-input-builder\n data-test-input-builder\n >\n {{yield\n (hash\n Prefix=(component Affix class=styles.prefix identity=\"prefix\")\n Affix=(component Affix class=styles.affix identity=\"affix\")\n Suffix=(component Affix class=styles.suffix identity=\"suffix\")\n )\n }}\n </span>\n</template>;\n"],"names":["Affix","setComponentTemplate","precompileTemplate","strictMode","templateOnly","InputBuilder","scope","styles","hash"],"mappings":";;;;;;AAkBA,MAAMA,KAAW,GAAAC,oBAAA,CAAkBC,kBAAA,CAAA,qFAAA,EAEnC;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA;MAiBGC,YAAkB,GAAAJ,oBAAA,CAAyBC,kBAAA,CAAA,6bAAA,EAiBxD;EAAAC,UAAA,EAAA,IAAA;AAAAG,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,IAAA;AAAAR,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAI,YAAA,EAAA;;;;"}
@@ -0,0 +1,18 @@
1
+ import { on } from '@ember/modifier';
2
+ import { link } from 'ember-link';
3
+ import { i as isActive } from './push-DnJFFc_p.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 Link = setComponentTemplate(precompileTemplate("\n {{#let (link @href) as |l|}}\n <a href={{l.url}} {{on \"click\" l.open}} data-external={{l.isExternal}} aria-current=\"{{if (isActive l) \"page\"}}\" ...attributes>\n {{yield}}\n </a>\n {{/let}}\n", {
9
+ strictMode: true,
10
+ scope: () => ({
11
+ link,
12
+ isActive,
13
+ on
14
+ })
15
+ }), templateOnly());
16
+
17
+ export { Link as L };
18
+ //# sourceMappingURL=link-bqsg26Cc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-bqsg26Cc.js","sources":["../src/components/navigation/link.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport { link } from 'ember-link';\n\nimport { isActive } from '../../-private/push.gts';\n\nimport type { TOC } from '@ember/component/template-only';\n\ninterface LinkSignature {\n Element: HTMLAnchorElement;\n Args: {\n href: string;\n };\n Blocks: {\n default: [];\n };\n}\n\nexport const Link: TOC<LinkSignature> = <template>\n {{#let (link @href) as |l|}}\n <a\n href={{l.url}}\n {{on \"click\" l.open}}\n data-external={{l.isExternal}}\n aria-current=\"{{if (isActive l) 'page'}}\"\n ...attributes\n >\n {{yield}}\n </a>\n {{/let}}\n</template>;\n"],"names":["Link","setComponentTemplate","precompileTemplate","strictMode","scope","link","isActive","on","templateOnly"],"mappings":";;;;;;;MAkBaA,IAAU,GAAAC,oBAAA,CAAiBC,kBAAA,CAAA,sNAAA,EAYxC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,IAAA;IAAAC,QAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -0,0 +1,66 @@
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 { ariaListbox } from 'ember-aria-voyager';
7
+ import { TrackedArray } from 'tracked-built-ins';
8
+ import styles from '@hokulea/core/controls.module.css';
9
+ import { precompileTemplate } from '@ember/template-compilation';
10
+ import { setComponentTemplate } from '@ember/component';
11
+ import { g, i } from 'decorator-transforms/runtime-esm';
12
+
13
+ class Option extends Component {
14
+ constructor(owner, args) {
15
+ super(owner, args);
16
+ args.registerItem(args.value);
17
+ registerDestructor(this, () => {
18
+ args.unregisterItem(args.value);
19
+ });
20
+ }
21
+ static {
22
+ setComponentTemplate(precompileTemplate("\n <span role=\"option\" aria-selected={{if (@isSelected @value) \"true\"}}>\n {{yield}}\n </span>\n ", {
23
+ strictMode: true
24
+ }), this);
25
+ }
26
+ }
27
+ class List extends Component {
28
+ Option = Option;
29
+ static {
30
+ g(this.prototype, "items", [tracked], function () {
31
+ return new TrackedArray();
32
+ });
33
+ }
34
+ #items = (i(this, "items"), void 0);
35
+ registerItem = item => {
36
+ // eslint-disable-next-line ember/no-runloop
37
+ next(() => {
38
+ this.items.push(item);
39
+ });
40
+ };
41
+ unregisterItem = item => {
42
+ // eslint-disable-next-line ember/no-runloop
43
+ next(() => {
44
+ this.items.splice(this.items.indexOf(item), 1);
45
+ });
46
+ };
47
+ isSelected = option => {
48
+ if (Array.isArray(this.args.value)) {
49
+ return this.args.value.includes(option);
50
+ }
51
+ return this.args.value === option;
52
+ };
53
+ static {
54
+ setComponentTemplate(precompileTemplate("\n <div class={{styles.list}} data-test-list ...attributes {{ariaListbox items=this.items selection=@value multi=@multiple disabled=@disabled select=@update activateItem=@activateItem}}>\n {{yield (hash Option=(component this.Option isSelected=this.isSelected registerItem=this.registerItem unregisterItem=this.unregisterItem))}}\n </div>\n ", {
55
+ strictMode: true,
56
+ scope: () => ({
57
+ styles,
58
+ ariaListbox,
59
+ hash
60
+ })
61
+ }), this);
62
+ }
63
+ }
64
+
65
+ export { List as L };
66
+ //# sourceMappingURL=list-CsLvih6-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-CsLvih6-.js","sources":["../src/components/controls/list.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';\n\nimport { ariaListbox } from 'ember-aria-voyager';\nimport { TrackedArray } from 'tracked-built-ins';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\n\nexport interface OptionSignature<V> {\n Element: HTMLOptionElement;\n Args: {\n value: V;\n isSelected: (option: V) => boolean;\n registerItem: (item: V) => void;\n unregisterItem: (item: V) => void;\n };\n Blocks: {\n default: [];\n };\n}\n\nclass Option<V> extends Component<OptionSignature<V>> {\n constructor(owner: Owner, args: OptionSignature<V>['Args']) {\n super(owner, args);\n\n args.registerItem(args.value);\n\n registerDestructor(this, () => {\n args.unregisterItem(args.value);\n });\n }\n\n <template>\n <span role=\"option\" aria-selected={{if (@isSelected @value) \"true\"}}>\n {{yield}}\n </span>\n </template>\n}\n\nexport interface ListSignature<V> {\n Element: HTMLDivElement;\n Args: {\n multiple?: boolean;\n disabled?: boolean;\n value?: V | V[];\n update?: (value: V | V[]) => void;\n activateItem?: (value: V) => void;\n };\n Blocks: {\n default: [\n {\n Option: WithBoundArgs<typeof Option<V>, 'isSelected' | 'registerItem' | 'unregisterItem'>;\n }\n ];\n };\n}\n\nexport class List<V> extends Component<ListSignature<V>> {\n Option = Option<V>;\n\n @tracked items: V[] = new TrackedArray();\n\n registerItem = (item: V) => {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n this.items.push(item);\n });\n };\n\n unregisterItem = (item: V) => {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n this.items.splice(this.items.indexOf(item), 1);\n });\n };\n\n isSelected = (option: V) => {\n if (Array.isArray(this.args.value)) {\n return this.args.value.includes(option);\n }\n\n return this.args.value === option;\n };\n\n <template>\n <div\n class={{styles.list}}\n data-test-list\n ...attributes\n {{ariaListbox\n items=this.items\n selection=@value\n multi=@multiple\n disabled=@disabled\n select=@update\n activateItem=@activateItem\n }}\n >\n {{yield\n (hash\n Option=(component\n this.Option\n isSelected=this.isSelected\n registerItem=this.registerItem\n unregisterItem=this.unregisterItem\n )\n )\n }}\n </div>\n </template>\n}\n"],"names":["Option","Component","constructor","owner","args","registerItem","value","registerDestructor","unregisterItem","setComponentTemplate","precompileTemplate","strictMode","List","g","prototype","tracked","TrackedArray","i","void 0","item","next","items","push","splice","indexOf","isSelected","option","Array","isArray","includes","scope","styles","ariaListbox","hash"],"mappings":";;;;;;;;;;;;AA2BA,MAAMA,MAAA,SAAkBC,SAAA,CAA0B;AAChDC,EAAAA,WAAAA,CAAYC,KAAY,EAAEC,IAAgC,EAAE;AAC1D,IAAA,KAAK,CAACD,KAAA,EAAOC,IAAA,CAAA;AAEbA,IAAAA,IAAA,CAAKC,YAAY,CAACD,IAAA,CAAKE,KAAK,CAAA;IAE5BC,kBAAA,CAAmB,IAAI,EAAE,MAAA;AACvBH,MAAAA,IAAA,CAAKI,cAAc,CAACJ,IAAA,CAAKE,KAAK,CAAA;AAChC,IAAA,CAAA,CAAA;AACF,EAAA;AAEA,EAAA;IAAAG,oBAAA,CAAAC,kBAAA,CAAA,mHAAA,EAIA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;AAoBO,MAAMC,IAAA,SAAgBX,SAAA,CAAwB;AACnDD,EAAAA,MAAA,GAASA;AAAU,EAAA;IAAAa,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,OAAA,EAAA,CAElBC,OAAA,CAAA,EAAA,YAAA;MAAA,OAAqB,IAAIC,YAAA,EAAA;AAAA,IAAA,CAAA,CAAA;AAAA;AAAA,EAAA,MAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,OAAA,CAAA,EAAAC,MAAA;EAE1Bb,YAAA,GAAgBc,IAAM,IAAA;AACpB;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACC,KAAK,CAACC,IAAI,CAACH,IAAA,CAAA;AAClB,IAAA,CAAA,CAAA;EACF,CAAA;EAEAX,cAAA,GAAkBW,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;EAEAM,UAAA,GAAcC,MAAQ,IAAA;IACpB,IAAIC,KAAA,CAAMC,OAAO,CAAC,IAAI,CAACxB,IAAI,CAACE,KAAK,CAAA,EAAG;MAClC,OAAO,IAAI,CAACF,IAAI,CAACE,KAAK,CAACuB,QAAQ,CAACH,MAAA,CAAA;AAClC,IAAA;AAEA,IAAA,OAAO,IAAI,CAACtB,IAAI,CAACE,KAAK,KAAKoB,MAAA;EAC7B,CAAA;AAEA,EAAA;IAAAjB,oBAAA,CAAAC,kBAAA,CAAA,mWAAA,EAyBA;MAAAC,UAAA,EAAA,IAAA;AAAAmB,MAAAA,KAAA,EAAAA,OAAA;QAAAC,MAAA;QAAAC,WAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -0,0 +1,118 @@
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 { TrackedArray } from 'tracked-built-ins';
10
+ import styles from '@hokulea/core/controls.module.css';
11
+ import { d as disabled } from './disabled-B_FQ0Z51.js';
12
+ import { P as PushElement } from './push-DnJFFc_p.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
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
57
+ args.registerItem(this);
58
+ registerDestructor(this, () => {
59
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
60
+ args.unregisterItem(this);
61
+ });
62
+ }
63
+ static {
64
+ 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 <PushElement @push={{@push}} @href={{@href}} {{disabled when=(if @disabled @disabled false)}} role=\"menuitem\">\n {{~yield~}}\n </PushElement>\n {{/if}}\n ", {
65
+ strictMode: true,
66
+ scope: () => ({
67
+ popover,
68
+ disabled,
69
+ Menu,
70
+ PushElement
71
+ })
72
+ }), this);
73
+ }
74
+ }
75
+ /* eslint-enable @typescript-eslint/no-use-before-define */
76
+
77
+ class Menu extends Component {
78
+ static {
79
+ g(this.prototype, "fastboot", [service]);
80
+ }
81
+ #fastboot = (i(this, "fastboot"), void 0);
82
+ static {
83
+ g(this.prototype, "items", [tracked], function () {
84
+ return new TrackedArray();
85
+ });
86
+ }
87
+ #items = (i(this, "items"), void 0);
88
+ get hideInSSR() {
89
+ return this.fastboot?.isFastBoot;
90
+ }
91
+ registerItem = item => {
92
+ // eslint-disable-next-line ember/no-runloop
93
+ next(() => {
94
+ this.items.push(item);
95
+ });
96
+ };
97
+ unregisterItem = item => {
98
+ // eslint-disable-next-line ember/no-runloop
99
+ next(() => {
100
+ this.items.splice(this.items.indexOf(item), 1);
101
+ });
102
+ };
103
+ static {
104
+ 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 ", {
105
+ strictMode: true,
106
+ scope: () => ({
107
+ styles,
108
+ htmlSafe,
109
+ ariaMenu,
110
+ hash,
111
+ MenuItem
112
+ })
113
+ }), this);
114
+ }
115
+ }
116
+
117
+ export { Menu as M };
118
+ //# sourceMappingURL=menu-s0AthZse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-s0AthZse.js","sources":["../src/components/controls/menu.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { registerDestructor } from '@ember/destroyable';\nimport { hash } from '@ember/helper';\nimport { next } from '@ember/runloop';\nimport { service } from '@ember/service';\nimport { htmlSafe } from '@ember/template';\n\nimport { ariaMenu } from 'ember-aria-voyager';\nimport { TrackedArray } from 'tracked-built-ins';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport disabled from '../../-private/modifiers/disabled.ts';\nimport { PushElement } from '../../-private/push.gts';\nimport { popover } from '../../helpers/popover.ts';\n\nimport type { MenuItemArgs, MenuItemBlocks, MenuItemElement } from './-menu.gts';\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n args.registerItem(this);\n\n registerDestructor(this, () => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\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 <PushElement\n @push={{@push}}\n @href={{@href}}\n {{disabled when=(if @disabled @disabled false)}}\n role=\"menuitem\"\n >\n {{~yield~}}\n </PushElement>\n {{/if}}\n </template>\n}\n/* eslint-enable @typescript-eslint/no-use-before-define */\n\nexport interface MenuSignature {\n Element: HTMLDivElement;\n Args: {\n disabled?: boolean;\n };\n Blocks: {\n default: [MenuDefaultBlock];\n };\n}\n\nexport class Menu extends Component<MenuSignature> {\n @service declare fastboot?: FastBoot;\n\n @tracked items: MenuItem[] = new TrackedArray();\n\n get hideInSSR() {\n return this.fastboot?.isFastBoot;\n }\n\n registerItem = (item: MenuItem) => {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n this.items.push(item);\n });\n };\n\n unregisterItem = (item: MenuItem) => {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n this.items.splice(this.items.indexOf(item), 1);\n });\n };\n\n <template>\n <div\n class={{styles.menu}}\n data-test-menu\n ...attributes\n {{ariaMenu items=this.items disabled=@disabled}}\n style={{if this.hideInSSR (htmlSafe \"display: none\")}}\n >\n {{yield\n (hash\n Item=(component\n MenuItem registerItem=this.registerItem unregisterItem=this.unregisterItem\n )\n )\n }}\n </div>\n </template>\n}\n"],"names":["MenuItem","Component","constructor","owner","args","registerItem","registerDestructor","unregisterItem","setComponentTemplate","precompileTemplate","strictMode","scope","popover","disabled","Menu","PushElement","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;AAEb;AACAA,IAAAA,IAAA,CAAKC,YAAY,CAAC,IAAI,CAAA;IAEtBC,kBAAA,CAAmB,IAAI,EAAE,MAAA;AACvB;AACAF,MAAAA,IAAA,CAAKG,cAAc,CAAC,IAAI,CAAA;AAC1B,IAAA,CAAA,CAAA;AACF,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,2kBAAA,EA2BA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,OAAA;QAAAC,QAAA;QAAAC,IAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;AACA;;AAYO,MAAMD,aAAab,SAAA,CAAU;AAAA,EAAA;IAAAe,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,UAAA,EAAA,CACjCC,OAAA,CAAA,CAAA;AAAA;AAAA,EAAA,SAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,UAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,OAAA,EAAA,CAEAI,OAAA,CAAA,EAAA,YAAA;MAAA,OAA4B,IAAIC,YAAA,EAAA;AAAA,IAAA,CAAA,CAAA;AAAA;AAAA,EAAA,MAAA,IAAAH,CAAA,CAAA,IAAA,EAAA,OAAA,CAAA,EAAAC,MAAA;EAEjC,IAAIG,SAAAA,GAAY;AACd,IAAA,OAAO,IAAI,CAACC,QAAQ,EAAEC,UAAA;AACxB,EAAA;EAEApB,YAAA,GAAgBqB,IAAM,IAAA;AACpB;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACC,KAAK,CAACC,IAAI,CAACH,IAAA,CAAA;AAClB,IAAA,CAAA,CAAA;EACF,CAAA;EAEAnB,cAAA,GAAkBmB,IAAM,IAAA;AACtB;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACC,KAAK,CAACE,MAAM,CAAC,IAAI,CAACF,KAAK,CAACG,OAAO,CAACL,IAAA,CAAA,EAAO,CAAA,CAAA;AAC9C,IAAA,CAAA,CAAA;EACF,CAAA;AAEA,EAAA;IAAAlB,oBAAA,CAAAC,kBAAA,CAAA,8SAAA,EAgBA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAqB,MAAA;QAAAC,QAAA;QAAAC,QAAA;QAAAC,IAAA;AAAAnC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -0,0 +1,22 @@
1
+ import { P as PushElement } from './push-DnJFFc_p.js';
2
+ import { I as Icon } from './icon-BfRBkZ72.js';
3
+ import { precompileTemplate } from '@ember/template-compilation';
4
+ import { setComponentTemplate } from '@ember/component';
5
+ import templateOnly from '@ember/component/template-only';
6
+
7
+ const MaybeIcon = setComponentTemplate(precompileTemplate("\n {{#if @icon}}\n <Icon @icon={{@icon}} part=\"icon\" />\n {{/if}}\n", {
8
+ strictMode: true,
9
+ scope: () => ({
10
+ Icon
11
+ })
12
+ }), templateOnly());
13
+ const NavLink = setComponentTemplate(precompileTemplate("\n <PushElement @push={{@push}} @href={{@href}} part=\"item\" ...attributes>\n <MaybeIcon @icon={{@icon}} />\n {{yield}}\n </PushElement>\n", {
14
+ strictMode: true,
15
+ scope: () => ({
16
+ PushElement,
17
+ MaybeIcon
18
+ })
19
+ }), templateOnly());
20
+
21
+ export { NavLink as N };
22
+ //# sourceMappingURL=nav-link-CDtYj6HW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-link-CDtYj6HW.js","sources":["../src/components/navigation/nav-link.gts"],"sourcesContent":["import { PushElement } from '../../-private/push.gts';\nimport { Icon } from '../graphics/icon.gts';\n\nimport type { MenuItemArgs, MenuItemBlocks } from '../controls/-menu.gts';\nimport type { TOC } from '@ember/component/template-only';\n\nconst MaybeIcon: TOC<{ Args: { icon?: string } }> = <template>\n {{#if @icon}}\n <Icon @icon={{@icon}} part=\"icon\" />\n {{/if}}\n</template>;\n\ninterface NavLinkSignature {\n Args: MenuItemArgs & {\n href?: string;\n icon?: string;\n };\n Blocks: MenuItemBlocks;\n}\n\nexport const NavLink: TOC<NavLinkSignature> = <template>\n <PushElement @push={{@push}} @href={{@href}} part=\"item\" ...attributes>\n <MaybeIcon @icon={{@icon}} />\n {{yield}}\n </PushElement>\n</template>;\n"],"names":["MaybeIcon","setComponentTemplate","precompileTemplate","strictMode","scope","Icon","templateOnly","NavLink","PushElement"],"mappings":";;;;;;AAMA,MAAMA,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;MAUGC,OAAa,GAAAN,oBAAA,CAAoBC,kBAAA,CAAA,qJAAA,EAK9C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAI,WAAA;AAAAR,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAM,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-CDtYj6HW.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-Ng5UsNCY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-list-Ng5UsNCY.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-D4So5-uK.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-spacing={{@spacing}} 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-FJympEv2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-input-FJympEv2.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-spacing={{@spacing}}\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,qOAAA,EAWtD;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-D4So5-uK.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-BuLkLO08.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-BuLkLO08.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;;;;"}