@hokulea/ember 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/README.md +178 -17
  2. package/addon-main.cjs +5 -0
  3. package/declarations/-private/form/components/{description.d.ts → description.gts.d.ts} +1 -1
  4. package/declarations/-private/form/components/description.gts.d.ts.map +1 -0
  5. package/declarations/-private/form/components/{errors.d.ts → errors.gts.d.ts} +2 -2
  6. package/declarations/-private/form/components/errors.gts.d.ts.map +1 -0
  7. package/declarations/-private/form/components/{field.d.ts → field.gts.d.ts} +22 -16
  8. package/declarations/-private/form/components/field.gts.d.ts.map +1 -0
  9. package/declarations/-private/form/components/fields/{checkbox.d.ts → checkbox.gts.d.ts} +2 -2
  10. package/declarations/-private/form/components/fields/checkbox.gts.d.ts.map +1 -0
  11. package/declarations/-private/form/components/fields/{currency.d.ts → currency.gts.d.ts} +2 -2
  12. package/declarations/-private/form/components/fields/currency.gts.d.ts.map +1 -0
  13. package/declarations/-private/form/components/fields/{date.d.ts → date.gts.d.ts} +2 -2
  14. package/declarations/-private/form/components/fields/date.gts.d.ts.map +1 -0
  15. package/declarations/-private/form/components/fields/{email.d.ts → email.gts.d.ts} +2 -2
  16. package/declarations/-private/form/components/fields/email.gts.d.ts.map +1 -0
  17. package/declarations/-private/form/components/fields/{list.d.ts → list.gts.d.ts} +3 -3
  18. package/declarations/-private/form/components/fields/list.gts.d.ts.map +1 -0
  19. package/declarations/-private/form/components/fields/{multiple-choice.d.ts → multiple-choice.gts.d.ts} +2 -2
  20. package/declarations/-private/form/components/fields/multiple-choice.gts.d.ts.map +1 -0
  21. package/declarations/-private/form/components/fields/{number.d.ts → number.gts.d.ts} +2 -2
  22. package/declarations/-private/form/components/fields/number.gts.d.ts.map +1 -0
  23. package/declarations/-private/form/components/fields/{password.d.ts → password.gts.d.ts} +2 -2
  24. package/declarations/-private/form/components/fields/password.gts.d.ts.map +1 -0
  25. package/declarations/-private/form/components/fields/{phone.d.ts → phone.gts.d.ts} +2 -2
  26. package/declarations/-private/form/components/fields/phone.gts.d.ts.map +1 -0
  27. package/declarations/-private/form/components/fields/{range.d.ts → range.gts.d.ts} +2 -2
  28. package/declarations/-private/form/components/fields/range.gts.d.ts.map +1 -0
  29. package/declarations/-private/form/components/fields/{select.d.ts → select.gts.d.ts} +2 -2
  30. package/declarations/-private/form/components/fields/select.gts.d.ts.map +1 -0
  31. package/declarations/-private/form/components/fields/{singular-choice.d.ts → singular-choice.gts.d.ts} +2 -2
  32. package/declarations/-private/form/components/fields/singular-choice.gts.d.ts.map +1 -0
  33. package/declarations/-private/form/components/fields/{text-area.d.ts → text-area.gts.d.ts} +2 -2
  34. package/declarations/-private/form/components/fields/text-area.gts.d.ts.map +1 -0
  35. package/declarations/-private/form/components/fields/{text.d.ts → text.gts.d.ts} +2 -2
  36. package/declarations/-private/form/components/fields/text.gts.d.ts.map +1 -0
  37. package/declarations/-private/form/components/{label.d.ts → label.gts.d.ts} +1 -1
  38. package/declarations/-private/form/components/label.gts.d.ts.map +1 -0
  39. package/declarations/-private/form/components/{reset.d.ts → reset.gts.d.ts} +1 -1
  40. package/declarations/-private/form/components/reset.gts.d.ts.map +1 -0
  41. package/declarations/-private/form/components/{submit.d.ts → submit.gts.d.ts} +1 -1
  42. package/declarations/-private/form/components/submit.gts.d.ts.map +1 -0
  43. package/declarations/-private/form/modifiers/capture-events.d.ts.map +1 -1
  44. package/declarations/-private/form/modifiers/manage-validation.d.ts +8 -5
  45. package/declarations/-private/form/modifiers/manage-validation.d.ts.map +1 -1
  46. package/declarations/-private/helpers.d.ts.map +1 -1
  47. package/declarations/-private/stories.d.ts +2 -0
  48. package/declarations/-private/stories.d.ts.map +1 -0
  49. package/declarations/components/-stories.d.ts +3 -0
  50. package/declarations/components/-stories.d.ts.map +1 -0
  51. package/declarations/components/{app-header.d.ts → app-header.gts.d.ts} +1 -2
  52. package/declarations/components/app-header.gts.d.ts.map +1 -0
  53. package/declarations/components/{box.d.ts → box.gts.d.ts} +1 -1
  54. package/declarations/components/box.gts.d.ts.map +1 -0
  55. package/declarations/components/{button.d.ts → button.gts.d.ts} +1 -1
  56. package/declarations/components/button.gts.d.ts.map +1 -0
  57. package/declarations/components/{card.d.ts → card.gts.d.ts} +1 -1
  58. package/declarations/components/card.gts.d.ts.map +1 -0
  59. package/declarations/components/{checkbox.d.ts → checkbox.gts.d.ts} +2 -2
  60. package/declarations/components/checkbox.gts.d.ts.map +1 -0
  61. package/declarations/components/{currency-input.d.ts → currency-input.gts.d.ts} +2 -2
  62. package/declarations/components/currency-input.gts.d.ts.map +1 -0
  63. package/declarations/components/{date-input.d.ts → date-input.gts.d.ts} +2 -2
  64. package/declarations/components/date-input.gts.d.ts.map +1 -0
  65. package/declarations/components/{email-input.d.ts → email-input.gts.d.ts} +2 -2
  66. package/declarations/components/email-input.gts.d.ts.map +1 -0
  67. package/declarations/components/{form.d.ts → form.gts.d.ts} +27 -31
  68. package/declarations/components/form.gts.d.ts.map +1 -0
  69. package/declarations/components/{icon-button.d.ts → icon-button.gts.d.ts} +4 -5
  70. package/declarations/components/icon-button.gts.d.ts.map +1 -0
  71. package/declarations/components/icon.gts.d.ts +14 -0
  72. package/declarations/components/icon.gts.d.ts.map +1 -0
  73. package/declarations/components/{input-builder.d.ts → input-builder.gts.d.ts} +1 -1
  74. package/declarations/components/input-builder.gts.d.ts.map +1 -0
  75. package/declarations/components/{list.d.ts → list.gts.d.ts} +1 -1
  76. package/declarations/components/list.gts.d.ts.map +1 -0
  77. package/declarations/components/{menu.d.ts → menu.gts.d.ts} +3 -4
  78. package/declarations/components/menu.gts.d.ts.map +1 -0
  79. package/declarations/components/{number-input.d.ts → number-input.gts.d.ts} +2 -2
  80. package/declarations/components/number-input.gts.d.ts.map +1 -0
  81. package/declarations/components/{page.d.ts → page.gts.d.ts} +6 -2
  82. package/declarations/components/page.gts.d.ts.map +1 -0
  83. package/declarations/components/{password-input.d.ts → password-input.gts.d.ts} +2 -2
  84. package/declarations/components/password-input.gts.d.ts.map +1 -0
  85. package/declarations/components/{phone-input.d.ts → phone-input.gts.d.ts} +2 -2
  86. package/declarations/components/phone-input.gts.d.ts.map +1 -0
  87. package/declarations/components/{popover.d.ts → popover.gts.d.ts} +1 -1
  88. package/declarations/components/popover.gts.d.ts.map +1 -0
  89. package/declarations/components/{radio.d.ts → radio.gts.d.ts} +2 -2
  90. package/declarations/components/radio.gts.d.ts.map +1 -0
  91. package/declarations/components/{range-input.d.ts → range-input.gts.d.ts} +2 -2
  92. package/declarations/components/range-input.gts.d.ts.map +1 -0
  93. package/declarations/components/{section.d.ts → section.gts.d.ts} +1 -1
  94. package/declarations/components/section.gts.d.ts.map +1 -0
  95. package/declarations/components/{select.d.ts → select.gts.d.ts} +1 -1
  96. package/declarations/components/select.gts.d.ts.map +1 -0
  97. package/declarations/components/{tabs.d.ts → tabs.gts.d.ts} +6 -5
  98. package/declarations/components/tabs.gts.d.ts.map +1 -0
  99. package/declarations/components/{text-area.d.ts → text-area.gts.d.ts} +2 -2
  100. package/declarations/components/text-area.gts.d.ts.map +1 -0
  101. package/declarations/components/{text-input.d.ts → text-input.gts.d.ts} +2 -2
  102. package/declarations/components/text-input.gts.d.ts.map +1 -0
  103. package/declarations/index.d.ts +11 -11
  104. package/declarations/index.d.ts.map +1 -1
  105. package/declarations/services/-hokulea.d.ts +5 -0
  106. package/declarations/services/-hokulea.d.ts.map +1 -0
  107. package/declarations/template-registry.d.ts +1 -1
  108. package/declarations/template-registry.d.ts.map +1 -1
  109. package/declarations/test-support/index.d.ts +18 -18
  110. package/declarations/test-support/index.d.ts.map +1 -1
  111. package/declarations/test-support/page-objects/-private/choices.d.ts +1 -2
  112. package/declarations/test-support/page-objects/-private/choices.d.ts.map +1 -1
  113. package/declarations/test-support/page-objects/-private/field.d.ts +11 -33
  114. package/declarations/test-support/page-objects/-private/field.d.ts.map +1 -1
  115. package/declarations/test-support/page-objects/app-header.d.ts +3 -3
  116. package/declarations/test-support/page-objects/app-header.d.ts.map +1 -1
  117. package/declarations/test-support/page-objects/choice.d.ts +1 -1
  118. package/declarations/test-support/page-objects/choice.d.ts.map +1 -1
  119. package/declarations/test-support/page-objects/form.d.ts +4 -2
  120. package/declarations/test-support/page-objects/form.d.ts.map +1 -1
  121. package/declarations/test-support/page-objects/icon-button.d.ts +1 -1
  122. package/declarations/test-support/page-objects/icon-button.d.ts.map +1 -1
  123. package/declarations/test-support/page-objects/icon.d.ts +1 -2
  124. package/declarations/test-support/page-objects/icon.d.ts.map +1 -1
  125. package/declarations/test-support/page-objects/input-builder.d.ts +2 -2
  126. package/declarations/test-support/page-objects/input-builder.d.ts.map +1 -1
  127. package/declarations/test-support/page-objects/menu.d.ts +1 -1
  128. package/declarations/test-support/page-objects/menu.d.ts.map +1 -1
  129. package/declarations/test-support/page-objects/tabs.d.ts.map +1 -1
  130. package/declarations/test-support/page-objects/text-area.d.ts +1 -1
  131. package/declarations/test-support/page-objects/text-area.d.ts.map +1 -1
  132. package/dist/{-button-CJL1yb2d.js → -button-KUaJCQaB.js} +2 -2
  133. package/dist/-button-KUaJCQaB.js.map +1 -0
  134. package/dist/-input-DGR-n9U_.js.map +1 -1
  135. package/dist/_app_/services/-hokulea.js +1 -0
  136. package/dist/components/app-header.js +35 -40
  137. package/dist/components/app-header.js.map +1 -1
  138. package/dist/components/box.js +3 -3
  139. package/dist/components/box.js.map +1 -1
  140. package/dist/components/button.js +4 -4
  141. package/dist/components/button.js.map +1 -1
  142. package/dist/components/card.js +3 -3
  143. package/dist/components/card.js.map +1 -1
  144. package/dist/components/checkbox.js +3 -3
  145. package/dist/components/checkbox.js.map +1 -1
  146. package/dist/components/currency-input.js +3 -3
  147. package/dist/components/currency-input.js.map +1 -1
  148. package/dist/components/date-input.js +3 -3
  149. package/dist/components/date-input.js.map +1 -1
  150. package/dist/components/email-input.js +3 -3
  151. package/dist/components/email-input.js.map +1 -1
  152. package/dist/components/form.js +287 -295
  153. package/dist/components/form.js.map +1 -1
  154. package/dist/components/icon-button.js +8 -6
  155. package/dist/components/icon-button.js.map +1 -1
  156. package/dist/components/icon.js +9 -34
  157. package/dist/components/icon.js.map +1 -1
  158. package/dist/components/input-builder.js +2 -2
  159. package/dist/components/input-builder.js.map +1 -1
  160. package/dist/components/list.js +17 -17
  161. package/dist/components/list.js.map +1 -1
  162. package/dist/components/menu.js +18 -23
  163. package/dist/components/menu.js.map +1 -1
  164. package/dist/components/number-input.js +3 -3
  165. package/dist/components/number-input.js.map +1 -1
  166. package/dist/components/page.js +33 -35
  167. package/dist/components/page.js.map +1 -1
  168. package/dist/components/password-input.js +3 -3
  169. package/dist/components/password-input.js.map +1 -1
  170. package/dist/components/phone-input.js +3 -3
  171. package/dist/components/phone-input.js.map +1 -1
  172. package/dist/components/popover.js +2 -2
  173. package/dist/components/popover.js.map +1 -1
  174. package/dist/components/radio.js +3 -3
  175. package/dist/components/radio.js.map +1 -1
  176. package/dist/components/range-input.js +15 -15
  177. package/dist/components/range-input.js.map +1 -1
  178. package/dist/components/section.js +10 -10
  179. package/dist/components/section.js.map +1 -1
  180. package/dist/components/select.js +10 -10
  181. package/dist/components/select.js.map +1 -1
  182. package/dist/components/tabs.js +29 -28
  183. package/dist/components/tabs.js.map +1 -1
  184. package/dist/components/text-area.js +3 -3
  185. package/dist/components/text-area.js.map +1 -1
  186. package/dist/components/text-input.js +3 -3
  187. package/dist/components/text-input.js.map +1 -1
  188. package/dist/disabled-B_FQ0Z51.js.map +1 -1
  189. package/dist/helpers/popover.js +3 -3
  190. package/dist/helpers/popover.js.map +1 -1
  191. package/dist/{helpers-DApiJrHl.js → helpers-DS9du02l.js} +4 -2
  192. package/dist/helpers-DS9du02l.js.map +1 -0
  193. package/dist/index.js +9 -9
  194. package/dist/services/-hokulea.js +15 -0
  195. package/dist/services/-hokulea.js.map +1 -0
  196. package/dist/test-support/index.js +12 -14
  197. package/dist/test-support/index.js.map +1 -1
  198. package/package.json +93 -84
  199. package/addon-main.js +0 -49
  200. package/declarations/-private/form/components/description.d.ts.map +0 -1
  201. package/declarations/-private/form/components/errors.d.ts.map +0 -1
  202. package/declarations/-private/form/components/field.d.ts.map +0 -1
  203. package/declarations/-private/form/components/fields/checkbox.d.ts.map +0 -1
  204. package/declarations/-private/form/components/fields/currency.d.ts.map +0 -1
  205. package/declarations/-private/form/components/fields/date.d.ts.map +0 -1
  206. package/declarations/-private/form/components/fields/email.d.ts.map +0 -1
  207. package/declarations/-private/form/components/fields/list.d.ts.map +0 -1
  208. package/declarations/-private/form/components/fields/multiple-choice.d.ts.map +0 -1
  209. package/declarations/-private/form/components/fields/number.d.ts.map +0 -1
  210. package/declarations/-private/form/components/fields/password.d.ts.map +0 -1
  211. package/declarations/-private/form/components/fields/phone.d.ts.map +0 -1
  212. package/declarations/-private/form/components/fields/range.d.ts.map +0 -1
  213. package/declarations/-private/form/components/fields/select.d.ts.map +0 -1
  214. package/declarations/-private/form/components/fields/singular-choice.d.ts.map +0 -1
  215. package/declarations/-private/form/components/fields/text-area.d.ts.map +0 -1
  216. package/declarations/-private/form/components/fields/text.d.ts.map +0 -1
  217. package/declarations/-private/form/components/label.d.ts.map +0 -1
  218. package/declarations/-private/form/components/reset.d.ts.map +0 -1
  219. package/declarations/-private/form/components/submit.d.ts.map +0 -1
  220. package/declarations/components/app-header.d.ts.map +0 -1
  221. package/declarations/components/box.d.ts.map +0 -1
  222. package/declarations/components/button.d.ts.map +0 -1
  223. package/declarations/components/card.d.ts.map +0 -1
  224. package/declarations/components/checkbox.d.ts.map +0 -1
  225. package/declarations/components/currency-input.d.ts.map +0 -1
  226. package/declarations/components/date-input.d.ts.map +0 -1
  227. package/declarations/components/email-input.d.ts.map +0 -1
  228. package/declarations/components/form.d.ts.map +0 -1
  229. package/declarations/components/icon-button.d.ts.map +0 -1
  230. package/declarations/components/icon.d.ts +0 -13698
  231. package/declarations/components/icon.d.ts.map +0 -1
  232. package/declarations/components/input-builder.d.ts.map +0 -1
  233. package/declarations/components/list.d.ts.map +0 -1
  234. package/declarations/components/menu.d.ts.map +0 -1
  235. package/declarations/components/number-input.d.ts.map +0 -1
  236. package/declarations/components/page.d.ts.map +0 -1
  237. package/declarations/components/password-input.d.ts.map +0 -1
  238. package/declarations/components/phone-input.d.ts.map +0 -1
  239. package/declarations/components/popover.d.ts.map +0 -1
  240. package/declarations/components/radio.d.ts.map +0 -1
  241. package/declarations/components/range-input.d.ts.map +0 -1
  242. package/declarations/components/section.d.ts.map +0 -1
  243. package/declarations/components/select.d.ts.map +0 -1
  244. package/declarations/components/tabs.d.ts.map +0 -1
  245. package/declarations/components/text-area.d.ts.map +0 -1
  246. package/declarations/components/text-input.d.ts.map +0 -1
  247. package/dist/-button-CJL1yb2d.js.map +0 -1
  248. package/dist/helpers-DApiJrHl.js.map +0 -1
  249. package/lib/config.js +0 -10
  250. package/lib/css-modules-plugin.js +0 -43
  251. package/lib/index.js +0 -30
  252. package/lib/webpack-asset-loader-plugin.js +0 -23
@@ -1,17 +1,17 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-DS9du02l.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
7
7
 
8
8
  const TextArea = setComponentTemplate(precompileTemplate("\n <textarea class={{styles.textarea}} type=\"text\" disabled={{@disabled}} data-test-textarea ...attributes {{on \"input\" (pick \"target.value\" @update)}}>{{@value}}</textarea>\n", {
9
+ strictMode: true,
9
10
  scope: () => ({
10
11
  styles,
11
12
  on,
12
13
  pick
13
- }),
14
- strictMode: true
14
+ })
15
15
  }), templateOnly());
16
16
 
17
17
  export { TextArea as default };
@@ -1 +1 @@
1
- {"version":3,"file":"text-area.js","sources":["../../src/components/text-area.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { on } from '@ember/modifier';\nimport styles from '@hokulea/core/controls.module.css';\nimport { pick } from '../-private/helpers';\nimport type { InputArgs } from './-input';\nimport type { TOC } from '@ember/component/template-only';\nexport interface TextAreaSignature {\n Element: HTMLTextAreaElement;\n Args: InputArgs<string>;\n}\nconst TextArea: TOC<TextAreaSignature> = template(`\n <textarea\n class={{styles.textarea}}\n type=\"text\"\n disabled={{@disabled}}\n data-test-textarea\n ...attributes\n {{on \"input\" (pick \"target.value\" @update)}}\n >{{@value}}</textarea>\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default TextArea;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL3RleHQtYXJlYS5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgb24gfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gJ0Bob2t1bGVhL2NvcmUvY29udHJvbHMubW9kdWxlLmNzcyc7XG5cbmltcG9ydCB7IHBpY2sgfSBmcm9tICcuLi8tcHJpdmF0ZS9oZWxwZXJzJztcblxuaW1wb3J0IHR5cGUgeyBJbnB1dEFyZ3MgfSBmcm9tICcuLy1pbnB1dCc7XG5pbXBvcnQgdHlwZSB7IFRPQyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQvdGVtcGxhdGUtb25seSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEFyZWFTaWduYXR1cmUge1xuICBFbGVtZW50OiBIVE1MVGV4dEFyZWFFbGVtZW50O1xuICBBcmdzOiBJbnB1dEFyZ3M8c3RyaW5nPjtcbn1cblxuY29uc3QgVGV4dEFyZWE6IFRPQzxUZXh0QXJlYVNpZ25hdHVyZT4gPSA8dGVtcGxhdGU-XG4gIDx0ZXh0YXJlYVxuICAgIGNsYXNzPXt7c3R5bGVzLnRleHRhcmVhfX1cbiAgICB0eXBlPVwidGV4dFwiXG4gICAgZGlzYWJsZWQ9e3tAZGlzYWJsZWR9fVxuICAgIGRhdGEtdGVzdC10ZXh0YXJlYVxuICAgIC4uLmF0dHJpYnV0ZXNcbiAgICB7e29uIFwiaW5wdXRcIiAocGljayBcInRhcmdldC52YWx1ZVwiIEB1cGRhdGUpfX1cbiAgPnt7QHZhbHVlfX08L3RleHRhcmVhPlxuPC90ZW1wbGF0ZT47XG5cbmV4cG9ydCBkZWZhdWx0IFRleHRBcmVhO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTLEVBQUUsUUFBUSxrQkFBa0I7QUFFckMsT0FBTyxZQUFZLG9DQUFvQztBQUV2RCxTQUFTLElBQUksUUFBUSxzQkFBc0I7QUFFM0MsY0FBYyxTQUFTLFFBQVEsV0FBVztBQUMxQyxjQUFjLEdBQUcsUUFBUSxpQ0FBaUM7QUFFMUQsaUJBQWlCO0lBQ2YsU0FBUztJQUNULE1BQU0sVUFBVSxNQUFNOztBQUd4QixNQUFNLFVBQVUsSUFBSSxxQkFBcUIsU0FBVSxDQUFBOzs7Ozs7Ozs7QUFTbkQsQ0FBQSxFQUFBO0lBQUE7UUFBQSxPQUFBLEtBQUEsU0FBQSxDQUFBLEVBQVc7SUFBRDtBQUFBO0FBRVYsZUFBZSxTQUFTIn0"],"names":["TextArea","setComponentTemplate","precompileTemplate","scope","styles","on","pick","strictMode","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,QAAc,GAAAC,oBAAA,CAAqBC,kBAAA,CASzC,wLAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA,IAAAA;AAAA,GAAA,CAAA;EAAAC,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"text-area.js","sources":["../../src/components/text-area.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 TextAreaSignature {\n Element: HTMLTextAreaElement;\n Args: InputArgs<string>;\n}\n\nconst TextArea: TOC<TextAreaSignature> = <template>\n <textarea\n class={{styles.textarea}}\n type=\"text\"\n disabled={{@disabled}}\n data-test-textarea\n ...attributes\n {{on \"input\" (pick \"target.value\" @update)}}\n >{{@value}}</textarea>\n</template>;\n\nexport default TextArea;\n"],"names":["TextArea","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,QAAc,GAAAC,oBAAA,CAAqBC,kBAAA,CAAA,wLAAA,EASzC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1,17 +1,17 @@
1
1
  import { on } from '@ember/modifier';
2
2
  import styles from '@hokulea/core/controls.module.css';
3
- import { p as pick } from '../helpers-DApiJrHl.js';
3
+ import { p as pick } from '../helpers-DS9du02l.js';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
7
7
 
8
8
  const TextInput = setComponentTemplate(precompileTemplate("\n <input class={{styles.input}} type=\"text\" value={{@value}} disabled={{@disabled}} data-test-input ...attributes {{on \"input\" (pick \"target.value\" @update)}} />\n", {
9
+ strictMode: true,
9
10
  scope: () => ({
10
11
  styles,
11
12
  on,
12
13
  pick
13
- }),
14
- strictMode: true
14
+ })
15
15
  }), templateOnly());
16
16
 
17
17
  export { TextInput as default };
@@ -1 +1 @@
1
- {"version":3,"file":"text-input.js","sources":["../../src/components/text-input.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { on } from '@ember/modifier';\nimport styles from '@hokulea/core/controls.module.css';\nimport { pick } from '../-private/helpers';\nimport type { InputArgs } from './-input';\nimport type { TOC } from '@ember/component/template-only';\nexport interface TextInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\nconst TextInput: TOC<TextInputSignature> = template(`\n <input\n class={{styles.input}}\n type=\"text\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n ...attributes\n {{on \"input\" (pick \"target.value\" @update)}}\n />\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default TextInput;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2hva3VsZWEvaG9rdWxlYS9lbWJlci9wYWNrYWdlL3NyYy9jb21wb25lbnRzL3RleHQtaW5wdXQuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcblxuaW1wb3J0IHN0eWxlcyBmcm9tICdAaG9rdWxlYS9jb3JlL2NvbnRyb2xzLm1vZHVsZS5jc3MnO1xuXG5pbXBvcnQgeyBwaWNrIH0gZnJvbSAnLi4vLXByaXZhdGUvaGVscGVycyc7XG5cbmltcG9ydCB0eXBlIHsgSW5wdXRBcmdzIH0gZnJvbSAnLi8taW5wdXQnO1xuaW1wb3J0IHR5cGUgeyBUT0MgfSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRJbnB1dFNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIEFyZ3M6IElucHV0QXJnczxzdHJpbmc-O1xufVxuXG5jb25zdCBUZXh0SW5wdXQ6IFRPQzxUZXh0SW5wdXRTaWduYXR1cmU-ID0gPHRlbXBsYXRlPlxuICA8aW5wdXRcbiAgICBjbGFzcz17e3N0eWxlcy5pbnB1dH19XG4gICAgdHlwZT1cInRleHRcIlxuICAgIHZhbHVlPXt7QHZhbHVlfX1cbiAgICBkaXNhYmxlZD17e0BkaXNhYmxlZH19XG4gICAgZGF0YS10ZXN0LWlucHV0XG4gICAgLi4uYXR0cmlidXRlc1xuICAgIHt7b24gXCJpbnB1dFwiIChwaWNrIFwidGFyZ2V0LnZhbHVlXCIgQHVwZGF0ZSl9fVxuICAvPlxuPC90ZW1wbGF0ZT47XG5cbmV4cG9ydCBkZWZhdWx0IFRleHRJbnB1dDtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUyxFQUFFLFFBQVEsa0JBQWtCO0FBRXJDLE9BQU8sWUFBWSxvQ0FBb0M7QUFFdkQsU0FBUyxJQUFJLFFBQVEsc0JBQXNCO0FBRTNDLGNBQWMsU0FBUyxRQUFRLFdBQVc7QUFDMUMsY0FBYyxHQUFHLFFBQVEsaUNBQWlDO0FBRTFELGlCQUFpQjtJQUNmLFNBQVM7SUFDVCxNQUFNLFVBQVUsTUFBTTs7QUFHeEIsTUFBTSxXQUFXLElBQUksc0JBQXNCLFNBQVUsQ0FBQTs7Ozs7Ozs7OztBQVVyRCxDQUFBLEVBQUE7SUFBQTtRQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztJQUFEO0FBQUE7QUFFVixlQUFlLFVBQVUifQ"],"names":["TextInput","setComponentTemplate","precompileTemplate","scope","styles","on","pick","strictMode","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,SAAe,GAAAC,oBAAA,CAAsBC,kBAAA,CAU3C,6KAAA,EAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA,IAAAA;AAAA,GAAA,CAAA;EAAAC,UAAA,EAAA,IAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"text-input.js","sources":["../../src/components/text-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 TextInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\n\nconst TextInput: TOC<TextInputSignature> = <template>\n <input\n class={{styles.input}}\n type=\"text\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n ...attributes\n {{on \"input\" (pick \"target.value\" @update)}}\n />\n</template>;\n\nexport default TextInput;\n"],"names":["TextInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;AAcA,MAAMA,SAAe,GAAAC,oBAAA,CAAsBC,kBAAA,CAAA,6KAAA,EAU3C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"disabled-B_FQ0Z51.js","sources":["../src/-private/modifiers/disabled.ts"],"sourcesContent":["import { assert } from '@ember/debug';\n\nimport { modifier } from 'ember-modifier';\n\nexport interface DisabledSignature {\n Element: HTMLElement;\n Args: {\n Positional: never[];\n Named: {\n when: boolean;\n };\n };\n}\n\nconst disabled = modifier<DisabledSignature>((element, _, { when: whenDisabled }) => {\n assert('disabled modifier requires boolean `when` argument', typeof whenDisabled === 'boolean');\n\n element.setAttribute('aria-disabled', whenDisabled ? 'true' : 'false');\n\n // hotfix:\n element.toggleAttribute('disabled', whenDisabled);\n\n if (whenDisabled) {\n const stopEvent = (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n\n return false;\n };\n\n element.addEventListener('click', stopEvent);\n\n return () => element.removeEventListener('click', stopEvent);\n }\n\n // No teardown necessary in this case!\n return;\n});\n\nexport default disabled;\n"],"names":["disabled","modifier","element","_","when","whenDisabled","assert","setAttribute","toggleAttribute","stopEvent","event","preventDefault","stopPropagation","addEventListener","removeEventListener"],"mappings":";;;AAcMA,MAAAA,QAAQ,GAAGC,QAAQ,CAAoB,CAACC,OAAO,EAAEC,CAAC,EAAE;AAAEC,EAAAA,IAAI,EAAEC,YAAAA;AAAa,CAAC,KAAK;AACnFC,EAAAA,MAAM,CAAC,oDAAoD,EAAE,OAAOD,YAAY,KAAK,SAAS,CAAC,CAAA;EAE/FH,OAAO,CAACK,YAAY,CAAC,eAAe,EAAEF,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;;AAEtE;AACAH,EAAAA,OAAO,CAACM,eAAe,CAAC,UAAU,EAAEH,YAAY,CAAC,CAAA;AAEjD,EAAA,IAAIA,YAAY,EAAE;IAChB,MAAMI,SAAS,GAAIC,KAAiB,IAAK;MACvCA,KAAK,CAACC,cAAc,EAAE,CAAA;MACtBD,KAAK,CAACE,eAAe,EAAE,CAAA;AAEvB,MAAA,OAAO,KAAK,CAAA;KACb,CAAA;AAEDV,IAAAA,OAAO,CAACW,gBAAgB,CAAC,OAAO,EAAEJ,SAAS,CAAC,CAAA;IAE5C,OAAO,MAAMP,OAAO,CAACY,mBAAmB,CAAC,OAAO,EAAEL,SAAS,CAAC,CAAA;AAC9D,GAAA;;AAEA;AACA,EAAA,OAAA;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"disabled-B_FQ0Z51.js","sources":["../src/-private/modifiers/disabled.ts"],"sourcesContent":["import { assert } from '@ember/debug';\n\nimport { modifier } from 'ember-modifier';\n\nexport interface DisabledSignature {\n Element: HTMLElement;\n Args: {\n Positional: never[];\n Named: {\n when: boolean;\n };\n };\n}\n\nconst disabled = modifier<DisabledSignature>((element, _, { when: whenDisabled }) => {\n assert('disabled modifier requires boolean `when` argument', typeof whenDisabled === 'boolean');\n\n element.setAttribute('aria-disabled', whenDisabled ? 'true' : 'false');\n\n // hotfix:\n element.toggleAttribute('disabled', whenDisabled);\n\n if (whenDisabled) {\n const stopEvent = (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n\n return false;\n };\n\n element.addEventListener('click', stopEvent);\n\n return () => element.removeEventListener('click', stopEvent);\n }\n\n // No teardown necessary in this case!\n return;\n});\n\nexport default disabled;\n"],"names":["disabled","modifier","element","_","when","whenDisabled","assert","setAttribute","toggleAttribute","stopEvent","event","preventDefault","stopPropagation","addEventListener","removeEventListener"],"mappings":";;;AAcA,MAAMA,QAAQ,GAAGC,QAAQ,CAAoB,CAACC,OAAO,EAAEC,CAAC,EAAE;AAAEC,EAAAA,IAAI,EAAEC;AAAa,CAAC,KAAK;AACnFC,EAAAA,MAAM,CAAC,oDAAoD,EAAE,OAAOD,YAAY,KAAK,SAAS,CAAC;EAE/FH,OAAO,CAACK,YAAY,CAAC,eAAe,EAAEF,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;;AAEtE;AACAH,EAAAA,OAAO,CAACM,eAAe,CAAC,UAAU,EAAEH,YAAY,CAAC;AAEjD,EAAA,IAAIA,YAAY,EAAE;IAChB,MAAMI,SAAS,GAAIC,KAAiB,IAAK;MACvCA,KAAK,CAACC,cAAc,EAAE;MACtBD,KAAK,CAACE,eAAe,EAAE;AAEvB,MAAA,OAAO,KAAK;IACd,CAAC;AAEDV,IAAAA,OAAO,CAACW,gBAAgB,CAAC,OAAO,EAAEJ,SAAS,CAAC;IAE5C,OAAO,MAAMP,OAAO,CAACY,mBAAmB,CAAC,OAAO,EAAEL,SAAS,CAAC;AAC9D,EAAA;;AAEA;AACA,EAAA;AACF,CAAC;;;;"}
@@ -3,7 +3,7 @@ import { helper } from '@ember/component/helper';
3
3
  import { uniqueId } from '@ember/helper';
4
4
  import { computePosition, flip } from '@floating-ui/dom';
5
5
  import { modifier } from 'ember-modifier';
6
- import { g, i } from 'decorator-transforms/runtime';
6
+ import { g, i } from 'decorator-transforms/runtime-esm';
7
7
 
8
8
  class State {
9
9
  static {
@@ -25,8 +25,8 @@ const popover = helper((_, {
25
25
  closed
26
26
  }) => {
27
27
  const state = new State();
28
- let triggerElement = undefined;
29
- let targetElement = undefined;
28
+ let triggerElement;
29
+ let targetElement;
30
30
  return {
31
31
  trigger: modifier(element => {
32
32
  element.setAttribute('popovertarget', state.id);
@@ -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 = undefined;\n let targetElement: HTMLElement | undefined = 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 // @ts-expect-error c'mon typescript\n element.addEventListener('toggle', toggleHandler);\n\n return () => {\n // @ts-expect-error c'mon typescript\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","undefined","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\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 // @ts-expect-error c'mon typescript\n element.addEventListener('toggle', toggleHandler);\n\n return () => {\n // @ts-expect-error c'mon typescript\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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"}
@@ -3,13 +3,15 @@ import { get } from '@ember/object';
3
3
  /* Shamelessly stolen from: https://github.com/DockYard/ember-composable-helpers/blob/master/addon/helpers/pick.js */
4
4
  function pick(path, action) {
5
5
  return function (event) {
6
- let value = get(event, path);
6
+ const value = get(event, path);
7
7
  if (!action) {
8
8
  return value;
9
9
  }
10
10
  action(value);
11
11
  };
12
12
  }
13
+
14
+ // eslint-disable-next-line unicorn/no-array-reduce, @typescript-eslint/prefer-nullish-coalescing
13
15
  const or = (...conditions) => conditions.reduce((a, b) => a || b, false);
14
16
  const and = (a, b) => a && b;
15
17
  const eq = (a, b) => a === b;
@@ -25,4 +27,4 @@ const asBoolean = value => {
25
27
  };
26
28
 
27
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 };
28
- //# sourceMappingURL=helpers-DApiJrHl.js.map
30
+ //# sourceMappingURL=helpers-DS9du02l.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers-DS9du02l.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 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, not, notEq, or, pick };\n"],"names":["pick","path","action","event","value","get","or","conditions","reduce","a","b","and","eq","not","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,QAAQ,GAAIV,KAAc,IAAa;AAC3C,EAAA,OAAOA,KAAK;AACd;AAEA,MAAMW,QAAQ,GAAIX,KAAc,IAAa;AAC3C,EAAA,OAAOA,KAAK;AACd;AAEA,MAAMY,SAAS,GAAIZ,KAAc,IAAc;AAC7C,EAAA,OAAOA,KAAK;AACd;;;;"}
package/dist/index.js CHANGED
@@ -1,24 +1,24 @@
1
1
  export { default as Icon } from './components/icon.js';
2
2
  export { default as Button } from './components/button.js';
3
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';
4
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';
5
9
  export { default as List } from './components/list.js';
6
10
  export { default as NumberInput } from './components/number-input.js';
7
- export { default as RangeInput } from './components/range-input.js';
11
+ export { default as PasswordInput } from './components/password-input.js';
8
12
  export { default as PhoneInput } from './components/phone-input.js';
9
- export { default as TextInput } from './components/text-input.js';
10
- export { default as Select } from './components/select.js';
11
13
  export { default as Radio } from './components/radio.js';
12
- export { default as Checkbox } from './components/checkbox.js';
13
- export { default as CurrencyInput } from './components/currency-input.js';
14
- export { default as EmailInput } from './components/email-input.js';
15
- export { default as PasswordInput } from './components/password-input.js';
16
- export { default as InputBuilder } from './components/input-builder.js';
14
+ export { default as RangeInput } from './components/range-input.js';
15
+ export { default as Select } from './components/select.js';
17
16
  export { default as TextArea } from './components/text-area.js';
17
+ export { default as TextInput } from './components/text-input.js';
18
18
  export { default as Form } from './components/form.js';
19
19
  export { default as AppHeader } from './components/app-header.js';
20
- export { default as Page } from './components/page.js';
21
20
  export { default as Menu } from './components/menu.js';
21
+ export { default as Page } from './components/page.js';
22
22
  export { default as Tabs } from './components/tabs.js';
23
23
  export { default as Box } from './components/box.js';
24
24
  export { default as Card } from './components/card.js';
@@ -0,0 +1,15 @@
1
+ import { tracked } from '@glimmer/tracking';
2
+ import Service from '@ember/service';
3
+ import { g, i } from 'decorator-transforms/runtime-esm';
4
+
5
+ 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);
12
+ }
13
+
14
+ export { HokuleaService as default };
15
+ //# sourceMappingURL=-hokulea.js.map
@@ -0,0 +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;;;;"}
@@ -8,12 +8,8 @@ class IconPageObject extends PageObject {
8
8
  constructor(selector, parent, index) {
9
9
  super(selector ?? IconPageObject.SELECTOR, parent, index);
10
10
  }
11
- get name() {
12
- return this.element?.getAttribute('data-test-icon');
13
- }
14
- get style() {
15
- return this.element?.getAttribute('data-test-icon-style');
16
- }
11
+ $svg = selector('svg');
12
+ // $svg = sel<HTMLElement>('svg');
17
13
  }
18
14
 
19
15
  class IconButtonPageObject extends PageObject {
@@ -256,6 +252,14 @@ class ChoicesPageObject extends PageObject {
256
252
  }
257
253
  }
258
254
 
255
+ class FieldError extends PageObject {
256
+ get type() {
257
+ return this.element?.getAttribute('data-test-error-type');
258
+ }
259
+ get value() {
260
+ return this.element?.getAttribute('data-test-error-value');
261
+ }
262
+ }
259
263
  class FieldPageObject extends PageObject {
260
264
  static SELECTOR = '[data-test-field]';
261
265
  constructor(selector, parent, index) {
@@ -276,14 +280,7 @@ class FieldPageObject extends PageObject {
276
280
  $checkbox = selector(CheckboxPageObject.SELECTOR, CheckboxPageObject);
277
281
  $list = selector(ListPageObject.SELECTOR, ListPageObject);
278
282
  $choices = selector(ChoicesPageObject.SELECTOR, ChoicesPageObject);
279
- $errors = selector('[data-test-error]', class extends PageObject {
280
- get type() {
281
- return this.element?.getAttribute('data-test-error-type');
282
- }
283
- get value() {
284
- return this.element?.getAttribute('data-test-error-value');
285
- }
286
- });
283
+ $errors = selector('[data-test-error]', FieldError);
287
284
  get $control() {
288
285
  if (this.$inputBuilder.element) {
289
286
  return this.$inputBuilder;
@@ -397,6 +394,7 @@ class TabsPageObject extends PageObject {
397
394
  $tabpanel = selector('[role="tabpanel"]');
398
395
  async select(value) {
399
396
  // @ts-expect-error this is internal API
397
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
400
398
  const tab = this.$tab.find(t => t.element[TabValue] === value);
401
399
  if (tab) {
402
400
  await selectTab(tab);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/test-support/page-objects/icon.ts","../../src/test-support/page-objects/icon-button.ts","../../src/test-support/page-objects/menu.ts","../../src/test-support/page-objects/app-header.ts","../../src/test-support/page-objects/button.ts","../../src/test-support/page-objects/choice.ts","../../src/test-support/page-objects/input.ts","../../src/test-support/page-objects/input-builder.ts","../../src/test-support/page-objects/list.ts","../../src/test-support/page-objects/select.ts","../../src/test-support/page-objects/text-area.ts","../../src/test-support/page-objects/-private/choices.ts","../../src/test-support/page-objects/-private/field.ts","../../src/test-support/page-objects/form.ts","../../src/test-support/page-objects/page.ts","../../src/test-support/page-objects/pill-button.ts","../../src/test-support/page-objects/popover.ts","../../src/test-support/page-objects/section.ts","../../src/test-support/page-objects/tabs.ts"],"sourcesContent":["import { PageObject } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class IconPageObject extends PageObject<HTMLSpanElement> {\n static SELECTOR = '[data-test-icon]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? IconPageObject.SELECTOR, parent, index);\n }\n\n get name(): string | null | undefined {\n return this.element?.getAttribute('data-test-icon');\n }\n\n get style(): string | null | undefined {\n return this.element?.getAttribute('data-test-icon-style');\n }\n}\n","import { click } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { IconPageObject } from './icon';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class IconButtonPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-icon-button]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? IconButtonPageObject.SELECTOR, parent, index);\n }\n\n get intent(): string | null | undefined {\n return this.element?.getAttribute('data-intent');\n }\n\n get importance(): string | null | undefined {\n return this.element?.getAttribute('data-importance');\n }\n\n get spacing(): string | null | undefined {\n return this.element?.getAttribute('data-spacing');\n }\n\n async push() {\n if (this.element) {\n await click(this.element);\n }\n }\n\n $icon = sel('[data-test-icon-button=\"icon\"]', IconPageObject);\n}\n","import { globalSelector, PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { Menu, MenuElement, MenuItem, MenuItemElement } from './-menu';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class MenuItemPageObject extends PageObject<MenuItemElement> implements MenuItem {\n static SELECTOR = '[role=\"menuitem\"]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? MenuItemPageObject.SELECTOR, parent, index);\n }\n\n get disabled() {\n return Boolean(this.element?.hasAttribute('aria-disabled'));\n }\n\n get expanded(): boolean {\n return Boolean(this.menu?.element?.matches(':popover-open'));\n }\n\n hasMenu() {\n return this.element?.getAttribute('aria-haspopup') === 'menu';\n }\n\n protected get menuId() {\n return this.element?.getAttribute('popovertarget');\n }\n\n protected get menu(): Menu | undefined {\n return this.menuId\n ? // eslint-disable-next-line @typescript-eslint/no-use-before-define\n globalSelector<MenuElement, Menu>(`#${this.menuId}`, MenuPageObject)\n : undefined;\n }\n\n get $menu() {\n return this.menu;\n }\n}\n\nexport class MenuPageObject extends PageObject<MenuElement> implements Menu {\n static SELECTOR = '[data-test-menu]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? MenuPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLDivElement;\n }\n\n $item = sel<MenuItemElement, MenuItem>(MenuItemPageObject.SELECTOR, MenuItemPageObject);\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { IconButtonPageObject } from './icon-button';\nimport { MenuItemPageObject } from './menu';\n\nimport type { Menu, MenuItem, MenuItemElement } from './-menu';\nimport type { ElementLike } from 'fractal-page-object';\n\nclass AppNavPageObject extends PageObject<HTMLElement> implements Menu<HTMLElement> {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n $item = sel<MenuItemElement, MenuItem>(NavItemPageObject.SELECTOR, NavItemPageObject);\n}\n\nexport class NavItemPageObject extends MenuItemPageObject implements MenuItem {\n static SELECTOR = '[part=\"item\"]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? NavItemPageObject.SELECTOR, parent, index);\n }\n\n hasMenu() {\n return super.hasMenu() || this.element?.tagName.toLowerCase() === 'summary';\n }\n\n isPopupNavItem() {\n return (\n this.element?.tagName.toLowerCase() === 'summary' ||\n this.element?.parentElement?.tagName === 'details'\n );\n }\n\n get expanded() {\n return Boolean(\n this.isPopupNavItem()\n ? (this.element?.parentElement as HTMLElement).matches('[open]')\n : super.expanded\n );\n }\n\n get $menu(): Menu | undefined {\n if (this.isPopupNavItem()) {\n return sel<HTMLElement, Menu>('+ div', AppNavPageObject);\n }\n\n return this.menu;\n }\n}\n\nexport class AppHeaderPageObject extends PageObject<HTMLElement> {\n static SELECTOR = '[data-test-app-header]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? AppHeaderPageObject.SELECTOR, parent, index);\n }\n\n get #prefix() {\n if (this.$menu.element) {\n return '[part=\"menu\"]';\n }\n\n return '';\n }\n\n get $brand() {\n return sel<HTMLDivElement>(`${this.#prefix} [part=\"brand\"]`);\n }\n\n get $nav() {\n return sel(`${this.#prefix} nav`, AppNavPageObject);\n }\n\n get $aux() {\n return sel<HTMLSpanElement>(`${this.#prefix} [part=\"aux\"]`);\n }\n\n $menu = sel(\n '[part=\"menu\"]',\n class extends PageObject<HTMLSpanElement> {\n $toggle = sel('[data-test-toggle]', IconButtonPageObject);\n\n $popover = sel(\n '[popover]',\n class extends PageObject<HTMLElement> {\n get expanded() {\n return Boolean(this.element?.matches(':popover-open'));\n }\n }\n );\n }\n );\n}\n","import { click } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class ButtonPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-button]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ButtonPageObject.SELECTOR, parent, index);\n }\n\n get intent(): string | null | undefined {\n return this.element?.getAttribute('data-intent');\n }\n\n get importance(): string | null | undefined {\n return this.element?.getAttribute('data-importance');\n }\n\n get spacing(): string | null | undefined {\n return this.element?.getAttribute('data-spacing');\n }\n\n $before = sel<HTMLSpanElement>('[data-test-button=\"before\"]');\n $label = sel<HTMLSpanElement>('[data-test-button=\"label\"]');\n $after = sel<HTMLSpanElement>('[data-test-button=\"after\"]');\n\n async push() {\n if (this.element) {\n await click(this.element);\n }\n }\n}\n","import { PageObject } from 'fractal-page-object';\n\nimport type { Input } from './input';\nimport type { ElementLike } from 'fractal-page-object';\n\nclass ChoicePageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-choice]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ChoicePageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLInputElement;\n }\n}\n\nexport const RadioPageObject = ChoicePageObject;\nexport const CheckboxPageObject = ChoicePageObject;\n","import { PageObject } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport interface Input extends PageObject {\n control: HTMLInputElement;\n}\n\nexport class InputPageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-input]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? InputPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLInputElement;\n }\n}\n\nexport class RangeInputPageObject extends InputPageObject {\n get orientation(): string | undefined {\n return this.control.dataset.orientation;\n }\n}\nexport const NumberInputPageObject = InputPageObject;\nexport const TextInputPageObject = InputPageObject;\nexport const PhoneInputPageObject = InputPageObject;\nexport const DateInputPageObject = InputPageObject;\nexport const EmailInputPageObject = InputPageObject;\nexport const PasswordInputPageObject = InputPageObject;\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { InputPageObject } from './input';\n\nimport type { Input } from './input';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class InputBuilderPageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-input-builder]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? InputBuilderPageObject.SELECTOR, parent, index);\n }\n\n $prefix = sel<HTMLSpanElement>('[data-test-input-builder=\"prefix\"]');\n $affix = sel<HTMLSpanElement>('[data-test-input-builder=\"affix\"]');\n $suffix = sel<HTMLSpanElement>('[data-test-input-builder=\"suffix\"]');\n $input = sel(InputPageObject.SELECTOR, InputPageObject);\n\n get control() {\n return this.$input.element as HTMLInputElement;\n }\n}\n\nexport const CurrencyInputPageObject = InputBuilderPageObject;\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { selectListbox } from 'ember-aria-voyager/test-support';\n\nimport type { Target } from '@ember/test-helpers';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class ListPageObject extends PageObject<HTMLDivElement> {\n static SELECTOR = '[data-test-list]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ListPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLDivElement;\n }\n\n $option = sel<HTMLOptionElement>('[role=\"option\"]');\n\n async select(options: string | string[]) {\n await selectListbox(this.element as Target, options);\n }\n}\n","import { select } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { Target } from '@ember/test-helpers';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class SelectPageObject extends PageObject<HTMLSelectElement> {\n static SELECTOR = '[data-test-select]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? SelectPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLSelectElement;\n }\n\n $option = sel<HTMLOptionElement>('option');\n\n async select(options: string | string[], keepPreviouslySelected?: boolean) {\n await select(this.element as Target, options, keepPreviouslySelected);\n }\n}\n","import { PageObject } from 'fractal-page-object';\n\nimport type { Input } from './input';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class TextAreaPageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-textarea]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? TextAreaPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLInputElement;\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nclass OptionPageObject extends PageObject<HTMLDivElement> {\n $label = sel<HTMLLabelElement | HTMLLegendElement>('[data-test-label]');\n $description = sel<HTMLParagraphElement>('[data-test-description]');\n $control = sel<HTMLInputElement>('input');\n}\n\nexport class ChoicesPageObject extends PageObject<HTMLDivElement | HTMLFieldSetElement> {\n static SELECTOR = '[data-test-choices]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ChoicesPageObject.SELECTOR, parent, index);\n }\n\n $options = sel('[data-test-option]', OptionPageObject);\n\n option(value: string) {\n return this.$options.find(\n (option) => option.$control.element?.value === value\n ) as OptionPageObject;\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { CheckboxPageObject } from '../choice';\nimport { InputPageObject } from '../input';\nimport { InputBuilderPageObject } from '../input-builder';\nimport { ListPageObject } from '../list';\nimport { SelectPageObject } from '../select';\nimport { TextAreaPageObject } from '../text-area';\nimport { ChoicesPageObject } from './choices';\n\nimport type { RangeInputPageObject } from '../input';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class FieldPageObject extends PageObject<HTMLDivElement | HTMLFieldSetElement> {\n static SELECTOR = '[data-test-field]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? FieldPageObject.SELECTOR, parent, index);\n }\n\n $label = sel<HTMLLabelElement | HTMLLegendElement>('[data-test-label]');\n $description = sel<HTMLParagraphElement>('[data-test-description]');\n // $control = sel<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>(\n // 'input,select,textarea'\n // );\n\n // controls\n\n private $input = sel(InputPageObject.SELECTOR, InputPageObject);\n private $inputBuilder = sel(InputBuilderPageObject.SELECTOR, InputBuilderPageObject);\n private $select = sel(SelectPageObject.SELECTOR, SelectPageObject);\n private $textArea = sel(TextAreaPageObject.SELECTOR, TextAreaPageObject);\n private $checkbox = sel(CheckboxPageObject.SELECTOR, CheckboxPageObject);\n private $list = sel(ListPageObject.SELECTOR, ListPageObject);\n\n $choices = sel(ChoicesPageObject.SELECTOR, ChoicesPageObject);\n $errors = sel(\n '[data-test-error]',\n class extends PageObject<HTMLDivElement> {\n get type() {\n return this.element?.getAttribute('data-test-error-type');\n }\n\n get value() {\n return this.element?.getAttribute('data-test-error-value');\n }\n }\n );\n\n get $control():\n | InputPageObject\n | RangeInputPageObject\n | InputBuilderPageObject\n | SelectPageObject\n | TextAreaPageObject\n | ListPageObject {\n if (this.$inputBuilder.element) {\n return this.$inputBuilder;\n }\n\n if (this.$checkbox.element) {\n return this.$checkbox;\n }\n\n if (this.$input.element?.type === 'range') {\n return this.$input as RangeInputPageObject;\n }\n\n if (this.$input.element) {\n return this.$input;\n }\n\n if (this.$select.element) {\n return this.$select;\n }\n\n if (this.$textArea.element) {\n return this.$textArea;\n }\n\n if (this.$list.element) {\n return this.$list;\n }\n\n return this.$input; // @TODO bad fallback for now\n }\n\n get name() {\n return this.element?.getAttribute('data-test-field');\n }\n}\n","import { triggerEvent } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { FieldPageObject } from './-private/field';\nimport { ButtonPageObject } from './button';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class FormPageObject extends PageObject<HTMLFormElement> {\n static SELECTOR = '[data-test-form]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? FormPageObject.SELECTOR, parent, index);\n }\n\n $submit = sel('button[type=\"submit\"]', ButtonPageObject);\n $reset = sel('button[type=\"reset\"]', ButtonPageObject);\n\n $fields = sel(FieldPageObject.SELECTOR, FieldPageObject);\n\n field(name: string) {\n return this.$fields.find((field) => field.name === name) as FieldPageObject;\n }\n\n async submit() {\n await triggerEvent(this.element as HTMLFormElement, 'submit');\n }\n\n async reset() {\n await triggerEvent(this.element as HTMLFormElement, 'reset');\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class PagePageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-page]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? PagePageObject.SELECTOR, parent, index);\n }\n\n $header = sel<HTMLElement>('header');\n\n $title = sel<HTMLHeadingElement>('header > h1');\n $description = sel<HTMLParagraphElement>('header > p');\n $nav = sel<HTMLElement>('header > nav');\n\n $content = sel<HTMLElement>('[part=\"content\"]');\n}\n","import { click } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class PillButtonPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-pill-button]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? PillButtonPageObject.SELECTOR, parent, index);\n }\n\n get intent(): string | null | undefined {\n return this.element?.getAttribute('data-intent');\n }\n\n get importance(): string | null | undefined {\n return this.element?.getAttribute('data-importance');\n }\n\n get spacing(): string | null | undefined {\n return this.element?.getAttribute('data-spacing');\n }\n\n $before = sel<HTMLSpanElement>('[data-test-button=\"before\"]');\n $label = sel<HTMLSpanElement>('[data-test-button=\"label\"]');\n $after = sel<HTMLSpanElement>('[data-test-button=\"after\"]');\n\n async push() {\n if (this.element) {\n await click(this.element);\n }\n }\n}\n","import { PageObject } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class PopoverPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-popover]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? PopoverPageObject.SELECTOR, parent, index);\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class SectionPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-section]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? SectionPageObject.SELECTOR, parent, index);\n }\n\n $header = sel('[data-test-section=\"header\"]');\n $title = sel('[data-test-section=\"title\"]');\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { selectTab } from 'ember-aria-voyager/test-support';\n\n// eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error, @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { TabValue } from '../../components/tabs';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class TabsPageObject extends PageObject<HTMLDivElement> {\n static SELECTOR = '[data-test-tabs]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? TabsPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.$tablist.element as HTMLDivElement;\n }\n\n $tablist = sel<HTMLDivElement>('[role=\"tablist\"]');\n $tab = sel<HTMLButtonElement>('[role=\"tab\"]');\n $tabpanel = sel<HTMLElement>('[role=\"tabpanel\"]');\n\n async select(value: unknown) {\n // @ts-expect-error this is internal API\n const tab = this.$tab.find((t) => t.element[TabValue] === value);\n\n if (tab) {\n await selectTab(tab);\n }\n }\n}\n"],"names":["IconPageObject","PageObject","SELECTOR","constructor","selector","parent","index","name","element","getAttribute","style","IconButtonPageObject","intent","importance","spacing","push","click","$icon","sel","MenuItemPageObject","disabled","Boolean","hasAttribute","expanded","menu","matches","hasMenu","menuId","globalSelector","MenuPageObject","undefined","$menu","control","$item","AppNavPageObject","NavItemPageObject","tagName","toLowerCase","isPopupNavItem","parentElement","AppHeaderPageObject","#prefix","$brand","$nav","$aux","$toggle","$popover","ButtonPageObject","$before","$label","$after","ChoicePageObject","RadioPageObject","CheckboxPageObject","InputPageObject","RangeInputPageObject","orientation","dataset","NumberInputPageObject","TextInputPageObject","PhoneInputPageObject","DateInputPageObject","EmailInputPageObject","PasswordInputPageObject","InputBuilderPageObject","$prefix","$affix","$suffix","$input","CurrencyInputPageObject","ListPageObject","$option","select","options","selectListbox","SelectPageObject","keepPreviouslySelected","TextAreaPageObject","OptionPageObject","$description","$control","ChoicesPageObject","$options","option","value","find","FieldPageObject","$inputBuilder","$select","$textArea","$checkbox","$list","$choices","$errors","type","FormPageObject","$submit","$reset","$fields","field","submit","triggerEvent","reset","PagePageObject","$header","$title","$content","PillButtonPageObject","PopoverPageObject","SectionPageObject","TabsPageObject","$tablist","$tab","$tabpanel","tab","t","TabValue","selectTab"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/test-support/page-objects/icon.ts","../../src/test-support/page-objects/icon-button.ts","../../src/test-support/page-objects/menu.ts","../../src/test-support/page-objects/app-header.ts","../../src/test-support/page-objects/button.ts","../../src/test-support/page-objects/choice.ts","../../src/test-support/page-objects/input.ts","../../src/test-support/page-objects/input-builder.ts","../../src/test-support/page-objects/list.ts","../../src/test-support/page-objects/select.ts","../../src/test-support/page-objects/text-area.ts","../../src/test-support/page-objects/-private/choices.ts","../../src/test-support/page-objects/-private/field.ts","../../src/test-support/page-objects/form.ts","../../src/test-support/page-objects/page.ts","../../src/test-support/page-objects/pill-button.ts","../../src/test-support/page-objects/popover.ts","../../src/test-support/page-objects/section.ts","../../src/test-support/page-objects/tabs.ts"],"sourcesContent":["import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class IconPageObject extends PageObject<HTMLSpanElement> {\n static SELECTOR = '[data-test-icon]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? IconPageObject.SELECTOR, parent, index);\n }\n\n $svg = sel<SVGSVGElement>('svg');\n // $svg = sel<HTMLElement>('svg');\n}\n","import { click } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { IconPageObject } from './icon.ts';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class IconButtonPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-icon-button]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? IconButtonPageObject.SELECTOR, parent, index);\n }\n\n get intent(): string | null | undefined {\n return this.element?.getAttribute('data-intent');\n }\n\n get importance(): string | null | undefined {\n return this.element?.getAttribute('data-importance');\n }\n\n get spacing(): string | null | undefined {\n return this.element?.getAttribute('data-spacing');\n }\n\n async push() {\n if (this.element) {\n await click(this.element);\n }\n }\n\n $icon = sel('[data-test-icon-button=\"icon\"]', IconPageObject);\n}\n","import { globalSelector, PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { Menu, MenuElement, MenuItem, MenuItemElement } from './-menu.ts';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class MenuItemPageObject extends PageObject<MenuItemElement> implements MenuItem {\n static SELECTOR = '[role=\"menuitem\"]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? MenuItemPageObject.SELECTOR, parent, index);\n }\n\n get disabled() {\n return Boolean(this.element?.hasAttribute('aria-disabled'));\n }\n\n get expanded(): boolean {\n return Boolean(this.menu?.element?.matches(':popover-open'));\n }\n\n hasMenu() {\n return this.element?.getAttribute('aria-haspopup') === 'menu';\n }\n\n protected get menuId() {\n return this.element?.getAttribute('popovertarget');\n }\n\n protected get menu(): Menu | undefined {\n return this.menuId\n ? // eslint-disable-next-line @typescript-eslint/no-use-before-define\n globalSelector<MenuElement, Menu>(`#${this.menuId}`, MenuPageObject)\n : undefined;\n }\n\n get $menu() {\n return this.menu;\n }\n}\n\nexport class MenuPageObject extends PageObject<MenuElement> implements Menu {\n static SELECTOR = '[data-test-menu]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? MenuPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLDivElement;\n }\n\n $item = sel<MenuItemElement, MenuItem>(MenuItemPageObject.SELECTOR, MenuItemPageObject);\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { IconButtonPageObject } from './icon-button.ts';\nimport { MenuItemPageObject } from './menu.ts';\n\nimport type { Menu, MenuItem, MenuItemElement } from './-menu.ts';\nimport type { ElementLike } from 'fractal-page-object';\n\nclass AppNavPageObject extends PageObject<HTMLElement> implements Menu<HTMLElement> {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n $item = sel<MenuItemElement, MenuItem>(NavItemPageObject.SELECTOR, NavItemPageObject);\n}\n\nexport class NavItemPageObject extends MenuItemPageObject implements MenuItem {\n static SELECTOR = '[part=\"item\"]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? NavItemPageObject.SELECTOR, parent, index);\n }\n\n hasMenu() {\n return super.hasMenu() || this.element?.tagName.toLowerCase() === 'summary';\n }\n\n isPopupNavItem() {\n return (\n this.element?.tagName.toLowerCase() === 'summary' ||\n this.element?.parentElement?.tagName === 'details'\n );\n }\n\n get expanded() {\n return Boolean(\n this.isPopupNavItem()\n ? (this.element?.parentElement as HTMLElement).matches('[open]')\n : super.expanded\n );\n }\n\n get $menu(): Menu | undefined {\n if (this.isPopupNavItem()) {\n return sel<HTMLElement, Menu>('+ div', AppNavPageObject);\n }\n\n return this.menu;\n }\n}\n\nexport class AppHeaderPageObject extends PageObject<HTMLElement> {\n static SELECTOR = '[data-test-app-header]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? AppHeaderPageObject.SELECTOR, parent, index);\n }\n\n get #prefix() {\n if (this.$menu.element) {\n return '[part=\"menu\"]';\n }\n\n return '';\n }\n\n get $brand() {\n return sel<HTMLDivElement>(`${this.#prefix} [part=\"brand\"]`);\n }\n\n get $nav() {\n return sel(`${this.#prefix} nav`, AppNavPageObject);\n }\n\n get $aux() {\n return sel<HTMLSpanElement>(`${this.#prefix} [part=\"aux\"]`);\n }\n\n $menu = sel(\n '[part=\"menu\"]',\n class extends PageObject<HTMLSpanElement> {\n $toggle = sel('[data-test-toggle]', IconButtonPageObject);\n\n $popover = sel(\n '[popover]',\n class extends PageObject<HTMLElement> {\n get expanded() {\n return Boolean(this.element?.matches(':popover-open'));\n }\n }\n );\n }\n );\n}\n","import { click } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class ButtonPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-button]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ButtonPageObject.SELECTOR, parent, index);\n }\n\n get intent(): string | null | undefined {\n return this.element?.getAttribute('data-intent');\n }\n\n get importance(): string | null | undefined {\n return this.element?.getAttribute('data-importance');\n }\n\n get spacing(): string | null | undefined {\n return this.element?.getAttribute('data-spacing');\n }\n\n $before = sel<HTMLSpanElement>('[data-test-button=\"before\"]');\n $label = sel<HTMLSpanElement>('[data-test-button=\"label\"]');\n $after = sel<HTMLSpanElement>('[data-test-button=\"after\"]');\n\n async push() {\n if (this.element) {\n await click(this.element);\n }\n }\n}\n","import { PageObject } from 'fractal-page-object';\n\nimport type { Input } from './input.ts';\nimport type { ElementLike } from 'fractal-page-object';\n\nclass ChoicePageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-choice]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ChoicePageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLInputElement;\n }\n}\n\nexport const RadioPageObject = ChoicePageObject;\nexport const CheckboxPageObject = ChoicePageObject;\n","import { PageObject } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport interface Input extends PageObject {\n control: HTMLInputElement;\n}\n\nexport class InputPageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-input]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? InputPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLInputElement;\n }\n}\n\nexport class RangeInputPageObject extends InputPageObject {\n get orientation(): string | undefined {\n return this.control.dataset.orientation;\n }\n}\nexport const NumberInputPageObject = InputPageObject;\nexport const TextInputPageObject = InputPageObject;\nexport const PhoneInputPageObject = InputPageObject;\nexport const DateInputPageObject = InputPageObject;\nexport const EmailInputPageObject = InputPageObject;\nexport const PasswordInputPageObject = InputPageObject;\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { InputPageObject } from './input.ts';\n\nimport type { Input } from './input.ts';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class InputBuilderPageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-input-builder]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? InputBuilderPageObject.SELECTOR, parent, index);\n }\n\n $prefix = sel<HTMLSpanElement>('[data-test-input-builder=\"prefix\"]');\n $affix = sel<HTMLSpanElement>('[data-test-input-builder=\"affix\"]');\n $suffix = sel<HTMLSpanElement>('[data-test-input-builder=\"suffix\"]');\n $input = sel(InputPageObject.SELECTOR, InputPageObject);\n\n get control() {\n return this.$input.element as HTMLInputElement;\n }\n}\n\nexport const CurrencyInputPageObject = InputBuilderPageObject;\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { selectListbox } from 'ember-aria-voyager/test-support';\n\nimport type { Target } from '@ember/test-helpers';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class ListPageObject extends PageObject<HTMLDivElement> {\n static SELECTOR = '[data-test-list]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ListPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLDivElement;\n }\n\n $option = sel<HTMLOptionElement>('[role=\"option\"]');\n\n async select(options: string | string[]) {\n await selectListbox(this.element as Target, options);\n }\n}\n","import { select } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { Target } from '@ember/test-helpers';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class SelectPageObject extends PageObject<HTMLSelectElement> {\n static SELECTOR = '[data-test-select]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? SelectPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLSelectElement;\n }\n\n $option = sel<HTMLOptionElement>('option');\n\n async select(options: string | string[], keepPreviouslySelected?: boolean) {\n await select(this.element as Target, options, keepPreviouslySelected);\n }\n}\n","import { PageObject } from 'fractal-page-object';\n\nimport type { Input } from './input.ts';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class TextAreaPageObject extends PageObject<HTMLInputElement> implements Input {\n static SELECTOR = '[data-test-textarea]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? TextAreaPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.element as HTMLInputElement;\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class OptionPageObject extends PageObject<HTMLDivElement> {\n $label = sel<HTMLLabelElement | HTMLLegendElement>('[data-test-label]');\n $description = sel<HTMLParagraphElement>('[data-test-description]');\n $control = sel<HTMLInputElement>('input');\n}\n\nexport class ChoicesPageObject extends PageObject<HTMLDivElement | HTMLFieldSetElement> {\n static SELECTOR = '[data-test-choices]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? ChoicesPageObject.SELECTOR, parent, index);\n }\n\n $options = sel('[data-test-option]', OptionPageObject);\n\n option(value: string) {\n return this.$options.find(\n (option) => option.$control.element?.value === value\n ) as OptionPageObject;\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { CheckboxPageObject } from '../choice.ts';\nimport { InputPageObject } from '../input.ts';\nimport { InputBuilderPageObject } from '../input-builder.ts';\nimport { ListPageObject } from '../list.ts';\nimport { SelectPageObject } from '../select.ts';\nimport { TextAreaPageObject } from '../text-area.ts';\nimport { ChoicesPageObject } from './choices.ts';\n\nimport type { RangeInputPageObject } from '../input';\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class FieldError extends PageObject<HTMLDivElement> {\n get type() {\n return this.element?.getAttribute('data-test-error-type');\n }\n\n get value() {\n return this.element?.getAttribute('data-test-error-value');\n }\n}\n\nexport class FieldPageObject extends PageObject<HTMLDivElement | HTMLFieldSetElement> {\n static SELECTOR = '[data-test-field]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? FieldPageObject.SELECTOR, parent, index);\n }\n\n $label = sel<HTMLLabelElement | HTMLLegendElement>('[data-test-label]');\n $description = sel<HTMLParagraphElement>('[data-test-description]');\n // $control = sel<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>(\n // 'input,select,textarea'\n // );\n\n // controls\n\n private $input = sel(InputPageObject.SELECTOR, InputPageObject);\n private $inputBuilder = sel(InputBuilderPageObject.SELECTOR, InputBuilderPageObject);\n private $select = sel(SelectPageObject.SELECTOR, SelectPageObject);\n private $textArea = sel(TextAreaPageObject.SELECTOR, TextAreaPageObject);\n private $checkbox = sel(CheckboxPageObject.SELECTOR, CheckboxPageObject);\n private $list = sel(ListPageObject.SELECTOR, ListPageObject);\n\n $choices = sel(ChoicesPageObject.SELECTOR, ChoicesPageObject);\n $errors = sel('[data-test-error]', FieldError);\n\n get $control():\n | InputPageObject\n | RangeInputPageObject\n | InputBuilderPageObject\n | SelectPageObject\n | TextAreaPageObject\n | ListPageObject {\n if (this.$inputBuilder.element) {\n return this.$inputBuilder;\n }\n\n if (this.$checkbox.element) {\n return this.$checkbox;\n }\n\n if (this.$input.element?.type === 'range') {\n return this.$input as RangeInputPageObject;\n }\n\n if (this.$input.element) {\n return this.$input;\n }\n\n if (this.$select.element) {\n return this.$select;\n }\n\n if (this.$textArea.element) {\n return this.$textArea;\n }\n\n if (this.$list.element) {\n return this.$list;\n }\n\n return this.$input; // @TODO bad fallback for now\n }\n\n get name() {\n return this.element?.getAttribute('data-test-field');\n }\n}\n","import { triggerEvent } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { FieldPageObject } from './-private/field.ts';\nimport { ButtonPageObject } from './button.ts';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport type { OptionPageObject } from './-private/choices.ts';\nexport type { FieldError } from './-private/field.ts';\n\nexport class FormPageObject extends PageObject<HTMLFormElement> {\n static SELECTOR = '[data-test-form]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? FormPageObject.SELECTOR, parent, index);\n }\n\n $submit = sel('button[type=\"submit\"]', ButtonPageObject);\n $reset = sel('button[type=\"reset\"]', ButtonPageObject);\n\n $fields = sel(FieldPageObject.SELECTOR, FieldPageObject);\n\n field(name: string) {\n return this.$fields.find((field) => field.name === name) as FieldPageObject;\n }\n\n async submit() {\n await triggerEvent(this.element as HTMLFormElement, 'submit');\n }\n\n async reset() {\n await triggerEvent(this.element as HTMLFormElement, 'reset');\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class PagePageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-page]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? PagePageObject.SELECTOR, parent, index);\n }\n\n $header = sel<HTMLElement>('header');\n\n $title = sel<HTMLHeadingElement>('header > h1');\n $description = sel<HTMLParagraphElement>('header > p');\n $nav = sel<HTMLElement>('header > nav');\n\n $content = sel<HTMLElement>('[part=\"content\"]');\n}\n","import { click } from '@ember/test-helpers';\n\nimport { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class PillButtonPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-pill-button]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? PillButtonPageObject.SELECTOR, parent, index);\n }\n\n get intent(): string | null | undefined {\n return this.element?.getAttribute('data-intent');\n }\n\n get importance(): string | null | undefined {\n return this.element?.getAttribute('data-importance');\n }\n\n get spacing(): string | null | undefined {\n return this.element?.getAttribute('data-spacing');\n }\n\n $before = sel<HTMLSpanElement>('[data-test-button=\"before\"]');\n $label = sel<HTMLSpanElement>('[data-test-button=\"label\"]');\n $after = sel<HTMLSpanElement>('[data-test-button=\"after\"]');\n\n async push() {\n if (this.element) {\n await click(this.element);\n }\n }\n}\n","import { PageObject } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class PopoverPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-popover]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? PopoverPageObject.SELECTOR, parent, index);\n }\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class SectionPageObject extends PageObject<\n HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement\n> {\n static SELECTOR = '[data-test-section]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? SectionPageObject.SELECTOR, parent, index);\n }\n\n $header = sel('[data-test-section=\"header\"]');\n $title = sel('[data-test-section=\"title\"]');\n}\n","import { PageObject, selector as sel } from 'fractal-page-object';\n\nimport { selectTab } from 'ember-aria-voyager/test-support';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { TabValue } from '../../components/tabs.gts';\n\nimport type { ElementLike } from 'fractal-page-object';\n\nexport class TabsPageObject extends PageObject<HTMLDivElement> {\n static SELECTOR = '[data-test-tabs]';\n\n constructor(selector?: string, parent?: PageObject | ElementLike | null, index?: number | null) {\n super(selector ?? TabsPageObject.SELECTOR, parent, index);\n }\n\n get control() {\n return this.$tablist.element as HTMLDivElement;\n }\n\n $tablist = sel<HTMLDivElement>('[role=\"tablist\"]');\n $tab = sel<HTMLButtonElement>('[role=\"tab\"]');\n $tabpanel = sel<HTMLElement>('[role=\"tabpanel\"]');\n\n async select(value: unknown) {\n // @ts-expect-error this is internal API\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const tab = this.$tab.find((t) => t.element[TabValue] === value);\n\n if (tab) {\n await selectTab(tab);\n }\n }\n}\n"],"names":["IconPageObject","PageObject","SELECTOR","constructor","selector","parent","index","$svg","sel","IconButtonPageObject","intent","element","getAttribute","importance","spacing","push","click","$icon","MenuItemPageObject","disabled","Boolean","hasAttribute","expanded","menu","matches","hasMenu","menuId","globalSelector","MenuPageObject","undefined","$menu","control","$item","AppNavPageObject","NavItemPageObject","tagName","toLowerCase","isPopupNavItem","parentElement","AppHeaderPageObject","#prefix","$brand","$nav","$aux","$toggle","$popover","ButtonPageObject","$before","$label","$after","ChoicePageObject","RadioPageObject","CheckboxPageObject","InputPageObject","RangeInputPageObject","orientation","dataset","NumberInputPageObject","TextInputPageObject","PhoneInputPageObject","DateInputPageObject","EmailInputPageObject","PasswordInputPageObject","InputBuilderPageObject","$prefix","$affix","$suffix","$input","CurrencyInputPageObject","ListPageObject","$option","select","options","selectListbox","SelectPageObject","keepPreviouslySelected","TextAreaPageObject","OptionPageObject","$description","$control","ChoicesPageObject","$options","option","value","find","FieldError","type","FieldPageObject","$inputBuilder","$select","$textArea","$checkbox","$list","$choices","$errors","name","FormPageObject","$submit","$reset","$fields","field","submit","triggerEvent","reset","PagePageObject","$header","$title","$content","PillButtonPageObject","PopoverPageObject","SectionPageObject","TabsPageObject","$tablist","$tab","$tabpanel","tab","t","TabValue","selectTab"],"mappings":"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"}