@hokulea/ember 0.7.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/declarations/-private/stories.d.ts +2 -0
- package/declarations/-private/stories.d.ts.map +1 -1
- package/declarations/components/actions/-button.d.ts.map +1 -0
- package/declarations/components/actions/button.gts.d.ts +25 -0
- package/declarations/components/actions/button.gts.d.ts.map +1 -0
- package/declarations/components/actions/icon-button.gts.d.ts +26 -0
- package/declarations/components/actions/icon-button.gts.d.ts.map +1 -0
- package/declarations/components/app-header.gts.d.ts +1 -48
- package/declarations/components/app-header.gts.d.ts.map +1 -1
- package/declarations/components/box.gts.d.ts +1 -15
- package/declarations/components/box.gts.d.ts.map +1 -1
- package/declarations/components/button.gts.d.ts +1 -25
- package/declarations/components/button.gts.d.ts.map +1 -1
- package/declarations/components/card.gts.d.ts +1 -12
- package/declarations/components/card.gts.d.ts.map +1 -1
- package/declarations/components/checkbox.gts.d.ts +1 -8
- package/declarations/components/checkbox.gts.d.ts.map +1 -1
- package/declarations/components/content/box.gts.d.ts +16 -0
- package/declarations/components/content/box.gts.d.ts.map +1 -0
- package/declarations/components/content/card.gts.d.ts +12 -0
- package/declarations/components/content/card.gts.d.ts.map +1 -0
- package/declarations/components/content/section.gts.d.ts +18 -0
- package/declarations/components/content/section.gts.d.ts.map +1 -0
- package/declarations/components/controls/-input.d.ts.map +1 -0
- package/declarations/components/controls/-menu.d.ts.map +1 -0
- package/declarations/components/controls/checkbox.gts.d.ts +8 -0
- package/declarations/components/controls/checkbox.gts.d.ts.map +1 -0
- package/declarations/components/controls/currency-input.gts.d.ts +8 -0
- package/declarations/components/controls/currency-input.gts.d.ts.map +1 -0
- package/declarations/components/controls/date-input.gts.d.ts +8 -0
- package/declarations/components/controls/date-input.gts.d.ts.map +1 -0
- package/declarations/components/controls/email-input.gts.d.ts +8 -0
- package/declarations/components/controls/email-input.gts.d.ts.map +1 -0
- package/declarations/components/controls/input-builder.gts.d.ts +29 -0
- package/declarations/components/controls/input-builder.gts.d.ts.map +1 -0
- package/declarations/components/controls/list.gts.d.ts +51 -0
- package/declarations/components/controls/list.gts.d.ts.map +1 -0
- package/declarations/components/controls/menu.gts.d.ts +39 -0
- package/declarations/components/controls/menu.gts.d.ts.map +1 -0
- package/declarations/components/controls/number-input.gts.d.ts +8 -0
- package/declarations/components/controls/number-input.gts.d.ts.map +1 -0
- package/declarations/components/controls/password-input.gts.d.ts +8 -0
- package/declarations/components/controls/password-input.gts.d.ts.map +1 -0
- package/declarations/components/controls/phone-input.gts.d.ts +8 -0
- package/declarations/components/controls/phone-input.gts.d.ts.map +1 -0
- package/declarations/components/controls/radio.gts.d.ts +8 -0
- package/declarations/components/controls/radio.gts.d.ts.map +1 -0
- package/declarations/components/controls/range-input.gts.d.ts +13 -0
- package/declarations/components/controls/range-input.gts.d.ts.map +1 -0
- package/declarations/components/controls/select.gts.d.ts +36 -0
- package/declarations/components/controls/select.gts.d.ts.map +1 -0
- package/declarations/components/controls/tabs.gts.d.ts +61 -0
- package/declarations/components/controls/tabs.gts.d.ts.map +1 -0
- package/declarations/components/controls/text-area.gts.d.ts +8 -0
- package/declarations/components/controls/text-area.gts.d.ts.map +1 -0
- package/declarations/components/controls/text-input.gts.d.ts +8 -0
- package/declarations/components/controls/text-input.gts.d.ts.map +1 -0
- package/declarations/components/currency-input.gts.d.ts +1 -8
- package/declarations/components/currency-input.gts.d.ts.map +1 -1
- package/declarations/components/date-input.gts.d.ts +1 -8
- package/declarations/components/date-input.gts.d.ts.map +1 -1
- package/declarations/components/email-input.gts.d.ts +1 -8
- package/declarations/components/email-input.gts.d.ts.map +1 -1
- package/declarations/components/focus-page.gts.d.ts +2 -0
- package/declarations/components/focus-page.gts.d.ts.map +1 -0
- package/declarations/{-private/form/components → components/form}/description.gts.d.ts +1 -2
- package/declarations/components/form/description.gts.d.ts.map +1 -0
- package/declarations/components/form/errors.gts.d.ts +14 -0
- package/declarations/components/form/errors.gts.d.ts.map +1 -0
- package/declarations/components/form/field.gts.d.ts +111 -0
- package/declarations/components/form/field.gts.d.ts.map +1 -0
- package/declarations/components/form/fields/checkbox.gts.d.ts +16 -0
- package/declarations/components/form/fields/checkbox.gts.d.ts.map +1 -0
- package/declarations/components/form/fields/currency.gts.d.ts +16 -0
- package/declarations/components/form/fields/currency.gts.d.ts.map +1 -0
- package/declarations/components/form/fields/date.gts.d.ts +16 -0
- package/declarations/components/form/fields/date.gts.d.ts.map +1 -0
- package/declarations/components/form/fields/email.gts.d.ts +16 -0
- package/declarations/components/form/fields/email.gts.d.ts.map +1 -0
- package/declarations/components/form/fields/list.gts.d.ts +28 -0
- package/declarations/components/form/fields/list.gts.d.ts.map +1 -0
- package/declarations/components/form/fields/multiple-choice.gts.d.ts +60 -0
- package/declarations/components/form/fields/multiple-choice.gts.d.ts.map +1 -0
- package/declarations/components/form/fields/number.gts.d.ts +16 -0
- package/declarations/components/form/fields/number.gts.d.ts.map +1 -0
- package/declarations/components/form/fields/password.gts.d.ts +18 -0
- package/declarations/components/form/fields/password.gts.d.ts.map +1 -0
- package/declarations/components/form/fields/phone.gts.d.ts +18 -0
- package/declarations/components/form/fields/phone.gts.d.ts.map +1 -0
- package/declarations/components/form/fields/range.gts.d.ts +16 -0
- package/declarations/components/form/fields/range.gts.d.ts.map +1 -0
- package/declarations/components/form/fields/select.gts.d.ts +17 -0
- package/declarations/components/form/fields/select.gts.d.ts.map +1 -0
- package/declarations/components/form/fields/singular-choice.gts.d.ts +56 -0
- package/declarations/components/form/fields/singular-choice.gts.d.ts.map +1 -0
- package/declarations/{-private/form/components → components/form}/fields/stories-utils.d.ts +2 -2
- package/declarations/components/form/fields/stories-utils.d.ts.map +1 -0
- package/declarations/components/form/fields/text-area.gts.d.ts +16 -0
- package/declarations/components/form/fields/text-area.gts.d.ts.map +1 -0
- package/declarations/components/form/fields/text.gts.d.ts +18 -0
- package/declarations/components/form/fields/text.gts.d.ts.map +1 -0
- package/declarations/components/form/form.gts.d.ts +210 -0
- package/declarations/components/form/form.gts.d.ts.map +1 -0
- package/declarations/components/form/index.d.ts +4 -0
- package/declarations/components/form/index.d.ts.map +1 -0
- package/declarations/{-private/form/components → components/form}/label.gts.d.ts +1 -2
- package/declarations/components/form/label.gts.d.ts.map +1 -0
- package/declarations/components/form/manage-validation.d.ts +18 -0
- package/declarations/components/form/manage-validation.d.ts.map +1 -0
- package/declarations/{-private/form/components → components/form}/reset.gts.d.ts +1 -2
- package/declarations/components/form/reset.gts.d.ts.map +1 -0
- package/declarations/components/form/rules.gts.d.ts +36 -0
- package/declarations/components/form/rules.gts.d.ts.map +1 -0
- package/declarations/{-private/form/components → components/form}/submit.gts.d.ts +1 -2
- package/declarations/components/form/submit.gts.d.ts.map +1 -0
- package/declarations/components/form.gts.d.ts +1 -318
- package/declarations/components/form.gts.d.ts.map +1 -1
- package/declarations/components/graphics/icon.gts.d.ts +13 -0
- package/declarations/components/graphics/icon.gts.d.ts.map +1 -0
- package/declarations/components/icon-button.gts.d.ts +1 -25
- package/declarations/components/icon-button.gts.d.ts.map +1 -1
- package/declarations/components/icon.gts.d.ts +1 -13
- package/declarations/components/icon.gts.d.ts.map +1 -1
- package/declarations/components/input-builder.gts.d.ts +1 -28
- package/declarations/components/input-builder.gts.d.ts.map +1 -1
- package/declarations/components/layouts/focus-page.gts.d.ts +24 -0
- package/declarations/components/layouts/focus-page.gts.d.ts.map +1 -0
- package/declarations/components/layouts/page.gts.d.ts +24 -0
- package/declarations/components/layouts/page.gts.d.ts.map +1 -0
- package/declarations/components/layouts/pages.d.ts +15 -0
- package/declarations/components/layouts/pages.d.ts.map +1 -0
- package/declarations/components/layouts/sectioned-page.gts.d.ts +26 -0
- package/declarations/components/layouts/sectioned-page.gts.d.ts.map +1 -0
- package/declarations/components/list.gts.d.ts +1 -50
- package/declarations/components/list.gts.d.ts.map +1 -1
- package/declarations/components/menu.gts.d.ts +1 -38
- package/declarations/components/menu.gts.d.ts.map +1 -1
- package/declarations/components/navigation/app-header.gts.d.ts +55 -0
- package/declarations/components/navigation/app-header.gts.d.ts.map +1 -0
- package/declarations/components/navigation/nav-link.gts.d.ts +10 -0
- package/declarations/components/navigation/nav-link.gts.d.ts.map +1 -0
- package/declarations/components/navigation/navigation-list.gts.d.ts +19 -0
- package/declarations/components/navigation/navigation-list.gts.d.ts.map +1 -0
- package/declarations/components/navigation-list.gts.d.ts +2 -0
- package/declarations/components/navigation-list.gts.d.ts.map +1 -0
- package/declarations/components/number-input.gts.d.ts +1 -8
- package/declarations/components/number-input.gts.d.ts.map +1 -1
- package/declarations/components/page.gts.d.ts +1 -35
- package/declarations/components/page.gts.d.ts.map +1 -1
- package/declarations/components/password-input.gts.d.ts +1 -8
- package/declarations/components/password-input.gts.d.ts.map +1 -1
- package/declarations/components/phone-input.gts.d.ts +1 -8
- package/declarations/components/phone-input.gts.d.ts.map +1 -1
- package/declarations/components/popover.gts.d.ts +1 -9
- package/declarations/components/popover.gts.d.ts.map +1 -1
- package/declarations/components/radio.gts.d.ts +1 -8
- package/declarations/components/radio.gts.d.ts.map +1 -1
- package/declarations/components/range-input.gts.d.ts +1 -13
- package/declarations/components/range-input.gts.d.ts.map +1 -1
- package/declarations/components/section.gts.d.ts +1 -18
- package/declarations/components/section.gts.d.ts.map +1 -1
- package/declarations/components/sectioned-page.gts.d.ts +2 -0
- package/declarations/components/sectioned-page.gts.d.ts.map +1 -0
- package/declarations/components/select.gts.d.ts +1 -35
- package/declarations/components/select.gts.d.ts.map +1 -1
- package/declarations/components/tabs.gts.d.ts +1 -60
- package/declarations/components/tabs.gts.d.ts.map +1 -1
- package/declarations/components/text-area.gts.d.ts +1 -8
- package/declarations/components/text-area.gts.d.ts.map +1 -1
- package/declarations/components/text-input.gts.d.ts +1 -8
- package/declarations/components/text-input.gts.d.ts.map +1 -1
- package/declarations/components/windows/popover.gts.d.ts +9 -0
- package/declarations/components/windows/popover.gts.d.ts.map +1 -0
- package/declarations/helpers/popover.d.ts +1 -1
- package/declarations/helpers/popover.d.ts.map +1 -1
- package/declarations/index.d.ts +31 -29
- package/declarations/index.d.ts.map +1 -1
- package/declarations/registry.d.ts +2 -0
- package/declarations/registry.d.ts.map +1 -0
- package/declarations/services/-hokulea.d.ts.map +1 -1
- package/declarations/template-registry.d.ts +41 -35
- package/declarations/template-registry.d.ts.map +1 -1
- package/declarations/test-support/index.d.ts +2 -1
- package/declarations/test-support/index.d.ts.map +1 -1
- package/declarations/test-support/page-objects/-navigation.d.ts +9 -0
- package/declarations/test-support/page-objects/-navigation.d.ts.map +1 -0
- package/declarations/test-support/page-objects/-private/field.d.ts +4 -0
- package/declarations/test-support/page-objects/-private/field.d.ts.map +1 -1
- package/declarations/test-support/page-objects/app-header.d.ts +1 -1
- package/declarations/test-support/page-objects/app-header.d.ts.map +1 -1
- package/declarations/test-support/page-objects/navigation-list.d.ts +10 -0
- package/declarations/test-support/page-objects/navigation-list.d.ts.map +1 -0
- package/declarations/test-support/page-objects/page.d.ts +3 -1
- package/declarations/test-support/page-objects/page.d.ts.map +1 -1
- package/declarations/test-support/page-objects/tabs.d.ts.map +1 -1
- package/dist/-button-KUaJCQaB.js.map +1 -1
- package/dist/-input-DGR-n9U_.js.map +1 -1
- package/dist/_app_/components/focus-page.js +1 -0
- package/dist/_app_/components/navigation-list.js +1 -0
- package/dist/_app_/components/sectioned-page.js +1 -0
- package/dist/app-header-B6Q7pbiY.js +122 -0
- package/dist/app-header-B6Q7pbiY.js.map +1 -0
- package/dist/box-DU6m9gDw.js +20 -0
- package/dist/box-DU6m9gDw.js.map +1 -0
- package/dist/button-XdQyGTGA.js +24 -0
- package/dist/button-XdQyGTGA.js.map +1 -0
- package/dist/card-Bdv-UvKX.js +16 -0
- package/dist/card-Bdv-UvKX.js.map +1 -0
- package/dist/checkbox-D4vALmT2.js +18 -0
- package/dist/checkbox-D4vALmT2.js.map +1 -0
- package/dist/components/app-header.js +1 -131
- package/dist/components/app-header.js.map +1 -1
- package/dist/components/box.js +1 -19
- package/dist/components/box.js.map +1 -1
- package/dist/components/button.js +1 -23
- package/dist/components/button.js.map +1 -1
- package/dist/components/card.js +1 -15
- package/dist/components/card.js.map +1 -1
- package/dist/components/checkbox.js +1 -17
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/currency-input.js +1 -21
- package/dist/components/currency-input.js.map +1 -1
- package/dist/components/date-input.js +1 -17
- package/dist/components/date-input.js.map +1 -1
- package/dist/components/email-input.js +1 -17
- package/dist/components/email-input.js.map +1 -1
- package/dist/components/focus-page.js +2 -0
- package/dist/components/focus-page.js.map +1 -0
- package/dist/components/form.js +1 -835
- package/dist/components/form.js.map +1 -1
- package/dist/components/icon-button.js +1 -36
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/icon.js +1 -15
- package/dist/components/icon.js.map +1 -1
- package/dist/components/input-builder.js +1 -19
- package/dist/components/input-builder.js.map +1 -1
- package/dist/components/list.js +1 -65
- package/dist/components/list.js.map +1 -1
- package/dist/components/menu.js +1 -115
- package/dist/components/menu.js.map +1 -1
- package/dist/components/navigation-list.js +2 -0
- package/dist/components/navigation-list.js.map +1 -0
- package/dist/components/number-input.js +1 -19
- package/dist/components/number-input.js.map +1 -1
- package/dist/components/page.js +1 -62
- package/dist/components/page.js.map +1 -1
- package/dist/components/password-input.js +1 -17
- package/dist/components/password-input.js.map +1 -1
- package/dist/components/phone-input.js +1 -17
- package/dist/components/phone-input.js.map +1 -1
- package/dist/components/popover.js +1 -13
- package/dist/components/popover.js.map +1 -1
- package/dist/components/radio.js +1 -17
- package/dist/components/radio.js.map +1 -1
- package/dist/components/range-input.js +1 -36
- package/dist/components/range-input.js.map +1 -1
- package/dist/components/section.js +1 -24
- package/dist/components/section.js.map +1 -1
- package/dist/components/sectioned-page.js +2 -0
- package/dist/components/sectioned-page.js.map +1 -0
- package/dist/components/select.js +1 -38
- package/dist/components/select.js.map +1 -1
- package/dist/components/tabs.js +1 -110
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/text-area.js +1 -17
- package/dist/components/text-area.js.map +1 -1
- package/dist/components/text-input.js +1 -17
- package/dist/components/text-input.js.map +1 -1
- package/dist/currency-input-8ef0Igfb.js +22 -0
- package/dist/currency-input-8ef0Igfb.js.map +1 -0
- package/dist/date-input-BayaBuSb.js +18 -0
- package/dist/date-input-BayaBuSb.js.map +1 -0
- package/dist/email-input-j-Z0KO4A.js +18 -0
- package/dist/email-input-j-Z0KO4A.js.map +1 -0
- package/dist/focus-page-B9myJVvL.js +23 -0
- package/dist/focus-page-B9myJVvL.js.map +1 -0
- package/dist/form-DWyQ6QHX.js +518 -0
- package/dist/form-DWyQ6QHX.js.map +1 -0
- package/dist/helpers/popover.js +1 -1
- package/dist/helpers/popover.js.map +1 -1
- package/dist/icon-bLZqjTMP.js +16 -0
- package/dist/icon-bLZqjTMP.js.map +1 -0
- package/dist/icon-button-7K-W_8jc.js +37 -0
- package/dist/icon-button-7K-W_8jc.js.map +1 -0
- package/dist/index.js +30 -27
- package/dist/index.js.map +1 -1
- package/dist/input-builder-DmcQbywA.js +20 -0
- package/dist/input-builder-DmcQbywA.js.map +1 -0
- package/dist/list-CsLvih6-.js +66 -0
- package/dist/list-CsLvih6-.js.map +1 -0
- package/dist/menu-CZKNGJ91.js +116 -0
- package/dist/menu-CZKNGJ91.js.map +1 -0
- package/dist/nav-link-CGVtuqwC.js +30 -0
- package/dist/nav-link-CGVtuqwC.js.map +1 -0
- package/dist/navigation-list-Cxs6uZdM.js +22 -0
- package/dist/navigation-list-Cxs6uZdM.js.map +1 -0
- package/dist/number-input-B84zcPlM.js +20 -0
- package/dist/number-input-B84zcPlM.js.map +1 -0
- package/dist/page-BcSgHxr7.js +23 -0
- package/dist/page-BcSgHxr7.js.map +1 -0
- package/dist/pages-DgHJEvSy.js +31 -0
- package/dist/pages-DgHJEvSy.js.map +1 -0
- package/dist/password-input-BMp5uscw.js +18 -0
- package/dist/password-input-BMp5uscw.js.map +1 -0
- package/dist/phone-input-DeaTM5yP.js +18 -0
- package/dist/phone-input-DeaTM5yP.js.map +1 -0
- package/dist/popover-B6j413u9.js +14 -0
- package/dist/popover-B6j413u9.js.map +1 -0
- package/dist/radio-CGBLrzK4.js +18 -0
- package/dist/radio-CGBLrzK4.js.map +1 -0
- package/dist/range-input-BiAPgpW8.js +37 -0
- package/dist/range-input-BiAPgpW8.js.map +1 -0
- package/dist/registry.js +14 -0
- package/dist/registry.js.map +1 -0
- package/dist/section-BAdmc3Yn.js +25 -0
- package/dist/section-BAdmc3Yn.js.map +1 -0
- package/dist/sectioned-page-fB9mV5WD.js +25 -0
- package/dist/sectioned-page-fB9mV5WD.js.map +1 -0
- package/dist/select-DxyaUFuy.js +39 -0
- package/dist/select-DxyaUFuy.js.map +1 -0
- package/dist/services/-hokulea.js +1 -8
- package/dist/services/-hokulea.js.map +1 -1
- package/dist/tabs-a9GhNQv9.js +111 -0
- package/dist/tabs-a9GhNQv9.js.map +1 -0
- package/dist/test-support/index.js +29 -4
- package/dist/test-support/index.js.map +1 -1
- package/dist/text-area-55_E1zv8.js +18 -0
- package/dist/text-area-55_E1zv8.js.map +1 -0
- package/dist/text-input-CK-yGbI5.js +18 -0
- package/dist/text-input-CK-yGbI5.js.map +1 -0
- package/package.json +38 -32
- package/declarations/-private/form/components/description.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/errors.gts.d.ts +0 -15
- package/declarations/-private/form/components/errors.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/field.gts.d.ts +0 -147
- package/declarations/-private/form/components/field.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/checkbox.gts.d.ts +0 -15
- package/declarations/-private/form/components/fields/checkbox.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/currency.gts.d.ts +0 -15
- package/declarations/-private/form/components/fields/currency.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/date.gts.d.ts +0 -15
- package/declarations/-private/form/components/fields/date.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/email.gts.d.ts +0 -15
- package/declarations/-private/form/components/fields/email.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/list.gts.d.ts +0 -27
- package/declarations/-private/form/components/fields/list.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/multiple-choice.gts.d.ts +0 -58
- package/declarations/-private/form/components/fields/multiple-choice.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/number.gts.d.ts +0 -15
- package/declarations/-private/form/components/fields/number.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/password.gts.d.ts +0 -15
- package/declarations/-private/form/components/fields/password.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/phone.gts.d.ts +0 -15
- package/declarations/-private/form/components/fields/phone.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/range.gts.d.ts +0 -15
- package/declarations/-private/form/components/fields/range.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/select.gts.d.ts +0 -16
- package/declarations/-private/form/components/fields/select.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/singular-choice.gts.d.ts +0 -56
- package/declarations/-private/form/components/fields/singular-choice.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/stories-utils.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/text-area.gts.d.ts +0 -15
- package/declarations/-private/form/components/fields/text-area.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/fields/text.gts.d.ts +0 -15
- package/declarations/-private/form/components/fields/text.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/label.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/reset.gts.d.ts.map +0 -1
- package/declarations/-private/form/components/submit.gts.d.ts.map +0 -1
- package/declarations/-private/form/index.d.ts +0 -49
- package/declarations/-private/form/index.d.ts.map +0 -1
- package/declarations/-private/form/modifiers/capture-events.d.ts +0 -21
- package/declarations/-private/form/modifiers/capture-events.d.ts.map +0 -1
- package/declarations/-private/form/modifiers/manage-validation.d.ts +0 -24
- package/declarations/-private/form/modifiers/manage-validation.d.ts.map +0 -1
- package/declarations/components/-button.d.ts.map +0 -1
- package/declarations/components/-input.d.ts.map +0 -1
- package/declarations/components/-menu.d.ts.map +0 -1
- package/declarations/components/-stories.d.ts +0 -3
- package/declarations/components/-stories.d.ts.map +0 -1
- /package/declarations/components/{-button.d.ts → actions/-button.d.ts} +0 -0
- /package/declarations/components/{-input.d.ts → controls/-input.d.ts} +0 -0
- /package/declarations/components/{-menu.d.ts → controls/-menu.d.ts} +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { on } from '@ember/modifier';
|
|
2
|
+
import { CommandElement } from 'ember-command';
|
|
3
|
+
import { link, Link } from 'ember-link';
|
|
4
|
+
import { I as Icon } from './icon-bLZqjTMP.js';
|
|
5
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
6
|
+
import { setComponentTemplate } from '@ember/component';
|
|
7
|
+
import templateOnly from '@ember/component/template-only';
|
|
8
|
+
|
|
9
|
+
const isActive = commandable => {
|
|
10
|
+
return commandable instanceof Link && commandable.isActive;
|
|
11
|
+
};
|
|
12
|
+
const MaybeIcon = setComponentTemplate(precompileTemplate("\n {{#if @icon}}\n <Icon @icon={{@icon}} part=\"icon\" />\n {{/if}}\n", {
|
|
13
|
+
strictMode: true,
|
|
14
|
+
scope: () => ({
|
|
15
|
+
Icon
|
|
16
|
+
})
|
|
17
|
+
}), templateOnly());
|
|
18
|
+
const NavLink = setComponentTemplate(precompileTemplate("\n {{#if @href}}\n {{#let (link @href) as |l|}}\n <a href={{l.url}} {{on \"click\" l.open}} part=\"item\" aria-current=\"{{if (isActive l) \"page\"}}\">\n <MaybeIcon @icon={{@icon}} />\n <span>{{yield}}</span>\n </a>\n {{/let}}\n {{else if @push}}\n <CommandElement @command={{@push}} aria-current=\"{{if (isActive @push) \"page\"}}\" part=\"item\">\n <MaybeIcon @icon={{@icon}} />\n <span>{{yield}}</span>\n </CommandElement>\n {{else}}\n <span part=\"item\">\n <MaybeIcon @icon={{@icon}} />\n {{yield}}\n </span>\n {{/if}}\n", {
|
|
19
|
+
strictMode: true,
|
|
20
|
+
scope: () => ({
|
|
21
|
+
link,
|
|
22
|
+
isActive,
|
|
23
|
+
on,
|
|
24
|
+
MaybeIcon,
|
|
25
|
+
CommandElement
|
|
26
|
+
})
|
|
27
|
+
}), templateOnly());
|
|
28
|
+
|
|
29
|
+
export { NavLink as N };
|
|
30
|
+
//# sourceMappingURL=nav-link-CGVtuqwC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nav-link-CGVtuqwC.js","sources":["../src/components/navigation/nav-link.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport { CommandElement } from 'ember-command';\nimport { Link, link } from 'ember-link';\n\nimport { Icon } from '../graphics/icon.gts';\n\nimport type { MenuItemArgs, MenuItemBlocks } from '../controls/-menu';\nimport type { TOC } from '@ember/component/template-only';\nimport type { CommandAction } from 'ember-command';\n\nconst isActive = (commandable: CommandAction) => {\n return commandable instanceof Link && commandable.isActive;\n};\n\nconst MaybeIcon: TOC<{ Args: { icon?: string } }> = <template>\n {{#if @icon}}\n <Icon @icon={{@icon}} part=\"icon\" />\n {{/if}}\n</template>;\n\nexport const NavLink: TOC<{\n Args: MenuItemArgs & {\n href?: string;\n icon?: string;\n };\n Blocks: MenuItemBlocks;\n}> = <template>\n {{#if @href}}\n {{#let (link @href) as |l|}}\n <a href={{l.url}} {{on \"click\" l.open}} part=\"item\" aria-current=\"{{if (isActive l) 'page'}}\">\n <MaybeIcon @icon={{@icon}} />\n <span>{{yield}}</span>\n </a>\n {{/let}}\n {{else if @push}}\n <CommandElement @command={{@push}} aria-current=\"{{if (isActive @push) 'page'}}\" part=\"item\">\n <MaybeIcon @icon={{@icon}} />\n <span>{{yield}}</span>\n </CommandElement>\n {{else}}\n <span part=\"item\">\n <MaybeIcon @icon={{@icon}} />\n {{yield}}\n </span>\n {{/if}}\n</template>;\n"],"names":["isActive","commandable","Link","MaybeIcon","setComponentTemplate","precompileTemplate","strictMode","scope","Icon","templateOnly","NavLink","link","on","CommandElement"],"mappings":";;;;;;;;AAWA,MAAMA,QAAA,GAAYC,WAAa,IAAA;AAC7B,EAAA,OAAOA,WAAA,YAAuBC,IAAA,IAAQD,WAAA,CAAYD,QAAQ;AAC5D,CAAA;AAEA,MAAMG,SAA8C,GAAAC,oBAAA,CAAAC,kBAAA,CAAA,4EAAA,EAIpD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA;MAEGC,OAMR,GAAAN,oBAAA,CAAAC,kBAAA,CAAA,klBAAA,EAmBL;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAI,IAAA;IAAAX,QAAA;IAAAY,EAAA;IAAAT,SAAA;AAAAU,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAJ,YAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { hash } from '@ember/helper';
|
|
2
|
+
import styles from '@hokulea/core/navigation.module.css';
|
|
3
|
+
import { N as NavLink } from './nav-link-CGVtuqwC.js';
|
|
4
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
5
|
+
import { setComponentTemplate } from '@ember/component';
|
|
6
|
+
import templateOnly from '@ember/component/template-only';
|
|
7
|
+
|
|
8
|
+
const Title = setComponentTemplate(precompileTemplate("\n <span part=\"title\">{{yield}}</span>\n", {
|
|
9
|
+
strictMode: true
|
|
10
|
+
}), templateOnly());
|
|
11
|
+
const NavigationList = setComponentTemplate(precompileTemplate("\n <nav class={{styles.navigationList}} data-test-navigation-list ...attributes>\n {{yield (hash Item=NavLink Title=Title)}}\n </nav>\n", {
|
|
12
|
+
strictMode: true,
|
|
13
|
+
scope: () => ({
|
|
14
|
+
styles,
|
|
15
|
+
hash,
|
|
16
|
+
NavLink,
|
|
17
|
+
Title
|
|
18
|
+
})
|
|
19
|
+
}), templateOnly());
|
|
20
|
+
|
|
21
|
+
export { NavigationList as N };
|
|
22
|
+
//# sourceMappingURL=navigation-list-Cxs6uZdM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-list-Cxs6uZdM.js","sources":["../src/components/navigation/navigation-list.gts"],"sourcesContent":["import { hash } from '@ember/helper';\n\nimport styles from '@hokulea/core/navigation.module.css';\n\nimport { NavLink } from './nav-link.gts';\n\nimport type { TOC } from '@ember/component/template-only';\n\nconst Title: TOC<{ Blocks: { default: [] } }> = <template>\n <span part=\"title\">{{yield}}</span>\n</template>;\n\nexport interface NavigationListSignature {\n Element: HTMLElement;\n Blocks: {\n default?: [{ Item: typeof NavLink; Title: typeof Title }];\n };\n}\n\nexport const NavigationList: TOC<NavigationListSignature> = <template>\n <nav class={{styles.navigationList}} data-test-navigation-list ...attributes>\n {{yield (hash Item=NavLink Title=Title)}}\n </nav>\n</template>;\n"],"names":["Title","setComponentTemplate","precompileTemplate","strictMode","templateOnly","NavigationList","scope","styles","hash","NavLink"],"mappings":";;;;;;;AAQA,MAAMA,KAA0C,GAAAC,oBAAA,CAAAC,kBAAA,CAAA,6CAAA,EAEhD;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA;MASGC,cAAoB,GAAAJ,oBAAA,CAA2BC,kBAAA,CAAA,8IAAA,EAI5D;EAAAC,UAAA,EAAA,IAAA;AAAAG,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,IAAA;IAAAC,OAAA;AAAAT,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAI,YAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { on } from '@ember/modifier';
|
|
2
|
+
import styles from '@hokulea/core/controls.module.css';
|
|
3
|
+
import { p as pick } from './helpers-DS9du02l.js';
|
|
4
|
+
import { p as pickAsNumber } from './-input-DGR-n9U_.js';
|
|
5
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
6
|
+
import { setComponentTemplate } from '@ember/component';
|
|
7
|
+
import templateOnly from '@ember/component/template-only';
|
|
8
|
+
|
|
9
|
+
const NumberInput = setComponentTemplate(precompileTemplate("\n <input class={{styles.input}} type=\"number\" value={{@value}} disabled={{@disabled}} data-test-input {{on \"input\" (pick \"target.value\" (pickAsNumber @update)) capture=true}} ...attributes />\n", {
|
|
10
|
+
strictMode: true,
|
|
11
|
+
scope: () => ({
|
|
12
|
+
styles,
|
|
13
|
+
on,
|
|
14
|
+
pick,
|
|
15
|
+
pickAsNumber
|
|
16
|
+
})
|
|
17
|
+
}), templateOnly());
|
|
18
|
+
|
|
19
|
+
export { NumberInput as N };
|
|
20
|
+
//# sourceMappingURL=number-input-B84zcPlM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-input-B84zcPlM.js","sources":["../src/components/controls/number-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { pick } from '../../-private/helpers.ts';\nimport { pickAsNumber } from './-input.ts';\n\nimport type { InputArgs } from './-input.ts';\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface NumberInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<number>;\n}\n\nexport const NumberInput: TOC<NumberInputSignature> = <template>\n <input\n class={{styles.input}}\n type=\"number\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n {{on \"input\" (pick \"target.value\" (pickAsNumber @update)) capture=true}}\n ...attributes\n />\n</template>;\n"],"names":["NumberInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","pickAsNumber","templateOnly"],"mappings":";;;;;;;;MAeaA,WAAiB,GAAAC,oBAAA,CAAwBC,kBAAA,CAAA,2MAAA,EAUtD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;IAAAC,IAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { element } from 'ember-element-helper';
|
|
2
|
+
import styles from '@hokulea/core/layouts.module.css';
|
|
3
|
+
import typo from '@hokulea/core/typography.module.css';
|
|
4
|
+
import { o as or } from './helpers-DS9du02l.js';
|
|
5
|
+
import { P as PageDestructor, a as PageElement } from './pages-DgHJEvSy.js';
|
|
6
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
7
|
+
import { setComponentTemplate } from '@ember/component';
|
|
8
|
+
import templateOnly from '@ember/component/template-only';
|
|
9
|
+
|
|
10
|
+
const Page = setComponentTemplate(precompileTemplate("\n {{#let (if @element @element (element (pageElement))) as |Element|}}\n <Element class={{styles.page}} {{pageDestructor}} ...attributes data-test-page>\n {{#if (or @title @description (has-block \"title\") (has-block \"description\") (has-block \"nav\"))}}\n <header class={{styles.pageContent}}>\n <h1 class={{typo.display}}>\n {{#if (has-block \"title\")}}\n {{yield to=\"title\"}}\n {{else if @title}}\n {{@title}}\n {{/if}}\n </h1>\n\n {{#if (or (has-block \"description\") @description)}}\n <p>\n {{#if (has-block \"description\")}}\n {{yield to=\"description\"}}\n {{else if @description}}\n {{@description}}\n {{/if}}\n </p>\n {{/if}}\n </header>\n {{/if}}\n\n <div class=\"{{styles.pageContent}} {{styles.flow}}\" part=\"content\">\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else if (has-block)}}\n {{yield}}\n {{/if}}\n </div>\n </Element>\n {{/let}}\n", {
|
|
11
|
+
strictMode: true,
|
|
12
|
+
scope: () => ({
|
|
13
|
+
element,
|
|
14
|
+
pageElement: PageElement,
|
|
15
|
+
styles,
|
|
16
|
+
pageDestructor: PageDestructor,
|
|
17
|
+
or,
|
|
18
|
+
typo
|
|
19
|
+
})
|
|
20
|
+
}), templateOnly());
|
|
21
|
+
|
|
22
|
+
export { Page as P };
|
|
23
|
+
//# sourceMappingURL=page-BcSgHxr7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-BcSgHxr7.js","sources":["../src/components/layouts/page.gts"],"sourcesContent":["import { element } from 'ember-element-helper';\n\n// eslint-disable-next-line import-x/no-duplicates\nimport styles from '@hokulea/core/layouts.module.css';\n// eslint-disable-next-line import-x/no-duplicates\nimport typo from '@hokulea/core/typography.module.css';\n\nimport { or } from '../../-private/helpers.ts';\nimport { pageDestructor, pageElement } from './pages.ts';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { ComponentLike } from '@glint/template';\n\ninterface PageSignature {\n Element: HTMLElement;\n Args: {\n title?: string;\n description?: string;\n element?: ComponentLike<{ Element: HTMLElement; Blocks: { default: [] } }>;\n };\n Blocks: {\n title?: [];\n description?: [];\n content?: [];\n default?: [];\n };\n}\n\nexport const Page: TOC<PageSignature> = <template>\n {{#let (if @element @element (element (pageElement))) as |Element|}}\n <Element class={{styles.page}} {{pageDestructor}} ...attributes data-test-page>\n {{#if\n (or @title @description (has-block \"title\") (has-block \"description\") (has-block \"nav\"))\n }}\n <header class={{styles.pageContent}}>\n <h1 class={{typo.display}}>\n {{#if (has-block \"title\")}}\n {{yield to=\"title\"}}\n {{else if @title}}\n {{@title}}\n {{/if}}\n </h1>\n\n {{#if (or (has-block \"description\") @description)}}\n <p>\n {{#if (has-block \"description\")}}\n {{yield to=\"description\"}}\n {{else if @description}}\n {{@description}}\n {{/if}}\n </p>\n {{/if}}\n </header>\n {{/if}}\n\n <div class=\"{{styles.pageContent}} {{styles.flow}}\" part=\"content\">\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else if (has-block)}}\n {{yield}}\n {{/if}}\n </div>\n </Element>\n {{/let}}\n</template>;\n"],"names":["Page","setComponentTemplate","precompileTemplate","strictMode","scope","element","pageElement","styles","pageDestructor","or","typo","templateOnly"],"mappings":";;;;;;;;;MA4BaA,IAAU,GAAAC,oBAAA,CAAiBC,kBAAA,CAAA,koCAAA,EAoCxC;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,OAAA;iBAAAC,WAAA;IAAAC,MAAA;oBAAAC,cAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import Helper from '@ember/component/helper';
|
|
2
|
+
import { registerDestructor } from '@ember/destroyable';
|
|
3
|
+
import { service } from '@ember/service';
|
|
4
|
+
import Modifier from 'ember-modifier';
|
|
5
|
+
import { g, i } from 'decorator-transforms/runtime-esm';
|
|
6
|
+
|
|
7
|
+
class PageElement extends Helper {
|
|
8
|
+
static {
|
|
9
|
+
g(this.prototype, "hokulea", [service('-hokulea')]);
|
|
10
|
+
}
|
|
11
|
+
#hokulea = (i(this, "hokulea"), void 0);
|
|
12
|
+
compute() {
|
|
13
|
+
const element = this.hokulea.pageLevel === 0 ? 'main' : 'section';
|
|
14
|
+
this.hokulea.pageLevel++;
|
|
15
|
+
return element;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
class PageDestructor extends Modifier {
|
|
19
|
+
static {
|
|
20
|
+
g(this.prototype, "hokulea", [service('-hokulea')]);
|
|
21
|
+
}
|
|
22
|
+
#hokulea = (i(this, "hokulea"), void 0);
|
|
23
|
+
modify() {
|
|
24
|
+
registerDestructor(this, () => {
|
|
25
|
+
this.hokulea.pageLevel--;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { PageDestructor as P, PageElement as a };
|
|
31
|
+
//# sourceMappingURL=pages-DgHJEvSy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages-DgHJEvSy.js","sources":["../src/components/layouts/pages.ts"],"sourcesContent":["import Helper from '@ember/component/helper';\nimport { registerDestructor } from '@ember/destroyable';\nimport { service } from '@ember/service';\n\nimport Modifier from 'ember-modifier';\n\nimport type HokuleaService from '../../services/-hokulea';\n\nclass PageElement extends Helper<{ Return: 'main' | 'section' }> {\n @service('-hokulea') declare hokulea: HokuleaService;\n\n compute(): 'main' | 'section' {\n const element = this.hokulea.pageLevel === 0 ? 'main' : 'section';\n\n this.hokulea.pageLevel++;\n\n return element;\n }\n}\n\nclass PageDestructor extends Modifier {\n @service('-hokulea') declare hokulea: HokuleaService;\n\n modify(): void {\n registerDestructor(this, () => {\n this.hokulea.pageLevel--;\n });\n }\n}\n\nexport { PageDestructor as pageDestructor, PageElement as pageElement };\n"],"names":["PageElement","Helper","g","prototype","service","i","void 0","compute","element","hokulea","pageLevel","PageDestructor","Modifier","modify","registerDestructor"],"mappings":";;;;;;AAQA,MAAMA,WAAW,SAASC,MAAM,CAAiC;AAAA,EAAA;AAAAC,IAAAA,CAAA,MAAAC,SAAA,EAAA,SAAA,EAAA,CAC9DC,OAAO,CAAC,UAAU,CAAC,CAAA,CAAA;AAAA;AAAA,EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAAC,MAAA;AAEpBC,EAAAA,OAAOA,GAAuB;AAC5B,IAAA,MAAMC,OAAO,GAAG,IAAI,CAACC,OAAO,CAACC,SAAS,KAAK,CAAC,GAAG,MAAM,GAAG,SAAS;AAEjE,IAAA,IAAI,CAACD,OAAO,CAACC,SAAS,EAAE;AAExB,IAAA,OAAOF,OAAO;AAChB,EAAA;AACF;AAEA,MAAMG,cAAc,SAASC,QAAQ,CAAC;AAAA,EAAA;AAAAV,IAAAA,CAAA,MAAAC,SAAA,EAAA,SAAA,EAAA,CACnCC,OAAO,CAAC,UAAU,CAAC,CAAA,CAAA;AAAA;AAAA,EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAAC,MAAA;AAEpBO,EAAAA,MAAMA,GAAS;IACbC,kBAAkB,CAAC,IAAI,EAAE,MAAM;AAC7B,MAAA,IAAI,CAACL,OAAO,CAACC,SAAS,EAAE;AAC1B,IAAA,CAAC,CAAC;AACJ,EAAA;AACF;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { on } from '@ember/modifier';
|
|
2
|
+
import styles from '@hokulea/core/controls.module.css';
|
|
3
|
+
import { p as pick } from './helpers-DS9du02l.js';
|
|
4
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
5
|
+
import { setComponentTemplate } from '@ember/component';
|
|
6
|
+
import templateOnly from '@ember/component/template-only';
|
|
7
|
+
|
|
8
|
+
const PasswordInput = setComponentTemplate(precompileTemplate("\n <input class={{styles.input}} type=\"password\" value={{@value}} disabled={{@disabled}} data-test-input {{on \"input\" (pick \"target.value\" @update) capture=true}} ...attributes />\n", {
|
|
9
|
+
strictMode: true,
|
|
10
|
+
scope: () => ({
|
|
11
|
+
styles,
|
|
12
|
+
on,
|
|
13
|
+
pick
|
|
14
|
+
})
|
|
15
|
+
}), templateOnly());
|
|
16
|
+
|
|
17
|
+
export { PasswordInput as P };
|
|
18
|
+
//# sourceMappingURL=password-input-BMp5uscw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"password-input-BMp5uscw.js","sources":["../src/components/controls/password-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { pick } from '../../-private/helpers.ts';\n\nimport type { InputArgs } from './-input.ts';\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface PasswordInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\n\nexport const PasswordInput: TOC<PasswordInputSignature> = <template>\n <input\n class={{styles.input}}\n type=\"password\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n {{on \"input\" (pick \"target.value\" @update) capture=true}}\n ...attributes\n />\n</template>;\n"],"names":["PasswordInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;MAcaA,aAAmB,GAAAC,oBAAA,CAA0BC,kBAAA,CAAA,8LAAA,EAU1D;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { on } from '@ember/modifier';
|
|
2
|
+
import styles from '@hokulea/core/controls.module.css';
|
|
3
|
+
import { p as pick } from './helpers-DS9du02l.js';
|
|
4
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
5
|
+
import { setComponentTemplate } from '@ember/component';
|
|
6
|
+
import templateOnly from '@ember/component/template-only';
|
|
7
|
+
|
|
8
|
+
const PhoneInput = setComponentTemplate(precompileTemplate("\n <input class={{styles.input}} type=\"tel\" value={{@value}} disabled={{@disabled}} data-test-input {{on \"input\" (pick \"target.value\" @update) capture=true}} ...attributes />\n", {
|
|
9
|
+
strictMode: true,
|
|
10
|
+
scope: () => ({
|
|
11
|
+
styles,
|
|
12
|
+
on,
|
|
13
|
+
pick
|
|
14
|
+
})
|
|
15
|
+
}), templateOnly());
|
|
16
|
+
|
|
17
|
+
export { PhoneInput as P };
|
|
18
|
+
//# sourceMappingURL=phone-input-DeaTM5yP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phone-input-DeaTM5yP.js","sources":["../src/components/controls/phone-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { pick } from '../../-private/helpers.ts';\n\nimport type { InputArgs } from './-input.ts';\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface PhoneInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<string>;\n}\n\nexport const PhoneInput: TOC<PhoneInputSignature> = <template>\n <input\n class={{styles.input}}\n type=\"tel\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n {{on \"input\" (pick \"target.value\" @update) capture=true}}\n ...attributes\n />\n</template>;\n"],"names":["PhoneInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;MAcaA,UAAgB,GAAAC,oBAAA,CAAuBC,kBAAA,CAAA,yLAAA,EAUpD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import styles from '@hokulea/core/windows.module.css';
|
|
2
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
3
|
+
import { setComponentTemplate } from '@ember/component';
|
|
4
|
+
import templateOnly from '@ember/component/template-only';
|
|
5
|
+
|
|
6
|
+
const Popover = setComponentTemplate(precompileTemplate("\n <div class={{styles.popover}} data-test-popover ...attributes>\n {{yield}}\n </div>\n", {
|
|
7
|
+
strictMode: true,
|
|
8
|
+
scope: () => ({
|
|
9
|
+
styles
|
|
10
|
+
})
|
|
11
|
+
}), templateOnly());
|
|
12
|
+
|
|
13
|
+
export { Popover as P };
|
|
14
|
+
//# sourceMappingURL=popover-B6j413u9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover-B6j413u9.js","sources":["../src/components/windows/popover.gts"],"sourcesContent":["import styles from '@hokulea/core/windows.module.css';\n\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface PopoverSignature {\n Element: HTMLDivElement;\n Blocks: {\n default: [];\n };\n}\n\nexport const Popover: TOC<PopoverSignature> = <template>\n <div class={{styles.popover}} data-test-popover ...attributes>\n {{yield}}\n </div>\n</template>;\n"],"names":["Popover","setComponentTemplate","precompileTemplate","strictMode","scope","styles","templateOnly"],"mappings":";;;;;MAWaA,OAAa,GAAAC,oBAAA,CAAoBC,kBAAA,CAAA,+FAAA,EAI9C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { on } from '@ember/modifier';
|
|
2
|
+
import styles from '@hokulea/core/controls.module.css';
|
|
3
|
+
import { p as pick } from './helpers-DS9du02l.js';
|
|
4
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
5
|
+
import { setComponentTemplate } from '@ember/component';
|
|
6
|
+
import templateOnly from '@ember/component/template-only';
|
|
7
|
+
|
|
8
|
+
const Radio = setComponentTemplate(precompileTemplate("\n <input class={{styles.choice}} type=\"radio\" checked={{@value}} disabled={{@disabled}} data-test-choice {{on \"input\" (pick \"target.checked\" @update) capture=true}} ...attributes />\n", {
|
|
9
|
+
strictMode: true,
|
|
10
|
+
scope: () => ({
|
|
11
|
+
styles,
|
|
12
|
+
on,
|
|
13
|
+
pick
|
|
14
|
+
})
|
|
15
|
+
}), templateOnly());
|
|
16
|
+
|
|
17
|
+
export { Radio as R };
|
|
18
|
+
//# sourceMappingURL=radio-CGBLrzK4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-CGBLrzK4.js","sources":["../src/components/controls/radio.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { pick } from '../../-private/helpers.ts';\n\nimport type { InputArgs } from './-input.ts';\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface RadioSignature {\n Element: HTMLInputElement;\n Args: InputArgs<boolean>;\n}\n\nexport const Radio: TOC<RadioSignature> = <template>\n <input\n class={{styles.choice}}\n type=\"radio\"\n checked={{@value}}\n disabled={{@disabled}}\n data-test-choice\n {{on \"input\" (pick \"target.checked\" @update) capture=true}}\n ...attributes\n />\n</template>;\n"],"names":["Radio","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","templateOnly"],"mappings":";;;;;;;MAcaA,KAAW,GAAAC,oBAAA,CAAkBC,kBAAA,CAAA,iMAAA,EAU1C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { on } from '@ember/modifier';
|
|
2
|
+
import { modifier } from 'ember-modifier';
|
|
3
|
+
import styles from '@hokulea/core/controls.module.css';
|
|
4
|
+
import { p as pick } from './helpers-DS9du02l.js';
|
|
5
|
+
import { p as pickAsNumber } from './-input-DGR-n9U_.js';
|
|
6
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
7
|
+
import { setComponentTemplate } from '@ember/component';
|
|
8
|
+
import templateOnly from '@ember/component/template-only';
|
|
9
|
+
|
|
10
|
+
function applyProgressStyle(range, value) {
|
|
11
|
+
const min = Number.parseFloat(range.min) || 0;
|
|
12
|
+
const max = Number.parseFloat(range.max) || 100;
|
|
13
|
+
const currentVal = value ?? Number.parseFloat(range.value);
|
|
14
|
+
const progress = (currentVal - min) / (max - min) * 100;
|
|
15
|
+
range.style.setProperty('--_hokulea-slider-progress', `${progress}%`);
|
|
16
|
+
}
|
|
17
|
+
const progressStyle = modifier((element, [value]) => {
|
|
18
|
+
applyProgressStyle(element, value);
|
|
19
|
+
const listenForProgressChange = () => {
|
|
20
|
+
applyProgressStyle(element);
|
|
21
|
+
};
|
|
22
|
+
element.addEventListener('input', listenForProgressChange);
|
|
23
|
+
return () => element.removeEventListener('input', listenForProgressChange);
|
|
24
|
+
});
|
|
25
|
+
const RangeInput = setComponentTemplate(precompileTemplate("\n <input class={{styles.range}} type=\"range\" value={{@value}} disabled={{@disabled}} data-test-input data-orientation={{@orientation}} {{on \"input\" (pick \"target.value\" (pickAsNumber @update)) capture=true}} {{progressStyle @value}} ...attributes />\n", {
|
|
26
|
+
strictMode: true,
|
|
27
|
+
scope: () => ({
|
|
28
|
+
styles,
|
|
29
|
+
on,
|
|
30
|
+
pick,
|
|
31
|
+
pickAsNumber,
|
|
32
|
+
progressStyle
|
|
33
|
+
})
|
|
34
|
+
}), templateOnly());
|
|
35
|
+
|
|
36
|
+
export { RangeInput as R };
|
|
37
|
+
//# sourceMappingURL=range-input-BiAPgpW8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range-input-BiAPgpW8.js","sources":["../src/components/controls/range-input.gts"],"sourcesContent":["import { on } from '@ember/modifier';\n\nimport { modifier } from 'ember-modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { pick } from '../../-private/helpers.ts';\nimport { pickAsNumber } from './-input.ts';\n\nimport type { InputArgs } from './-input.ts';\nimport type { TOC } from '@ember/component/template-only';\n\nfunction applyProgressStyle(range: HTMLInputElement, value?: number) {\n const min = Number.parseFloat(range.min) || 0;\n const max = Number.parseFloat(range.max) || 100;\n const currentVal = value ?? Number.parseFloat(range.value);\n const progress = ((currentVal - min) / (max - min)) * 100;\n\n range.style.setProperty('--_hokulea-slider-progress', `${progress}%`);\n}\n\nconst progressStyle = modifier((element: HTMLInputElement, [value]: [number?]) => {\n applyProgressStyle(element, value);\n\n const listenForProgressChange = () => {\n applyProgressStyle(element);\n };\n\n element.addEventListener('input', listenForProgressChange);\n\n return () => element.removeEventListener('input', listenForProgressChange);\n});\n\nexport interface RangeInputSignature {\n Element: HTMLInputElement;\n Args: InputArgs<number> & {\n min?: number;\n max?: number;\n step?: number | 'any';\n orientation?: 'horizontal' | 'vertical';\n };\n}\n\nexport const RangeInput: TOC<RangeInputSignature> = <template>\n <input\n class={{styles.range}}\n type=\"range\"\n value={{@value}}\n disabled={{@disabled}}\n data-test-input\n data-orientation={{@orientation}}\n {{on \"input\" (pick \"target.value\" (pickAsNumber @update)) capture=true}}\n {{progressStyle @value}}\n ...attributes\n />\n</template>;\n"],"names":["applyProgressStyle","range","value","min","Number","parseFloat","max","currentVal","progress","style","setProperty","progressStyle","modifier","element","listenForProgressChange","addEventListener","removeEventListener","RangeInput","setComponentTemplate","precompileTemplate","strictMode","scope","styles","on","pick","pickAsNumber","templateOnly"],"mappings":";;;;;;;;;AAYA,SAASA,kBAAAA,CAAmBC,KAAuB,EAAEC,KAAc,EAAA;EACjE,MAAMC,MAAMC,MAAA,CAAOC,UAAU,CAACJ,KAAA,CAAME,GAAG,CAAA,IAAK,CAAA;EAC5C,MAAMG,MAAMF,MAAA,CAAOC,UAAU,CAACJ,KAAA,CAAMK,GAAG,CAAA,IAAK,GAAA;EAC5C,MAAMC,aAAaL,KAAA,IAASE,MAAA,CAAOC,UAAU,CAACJ,MAAMC,KAAK,CAAA;AACzD,EAAA,MAAMM,QAAA,GAAY,CAACD,UAAA,GAAaJ,GAAG,KAAKG,GAAA,GAAMH,GAAG,CAAC,GAAI,GAAA;EAEtDF,KAAA,CAAMQ,KAAK,CAACC,WAAW,CAAC,8BAA8B,CAAA,EAAGF,QAAA,CAAA,CAAA,CAAW,CAAA;AACtE;AAEA,MAAMG,aAAA,GAAgBC,SAAS,CAACC,SAA2B,CAACX,KAAA,CAAiB,KAAA;AAC3EF,EAAAA,kBAAA,CAAmBa,OAAA,EAASX,KAAA,CAAA;EAE5B,MAAMY,uBAAA,GAA0BA,MAAA;IAC9Bd,kBAAA,CAAmBa,OAAA,CAAA;EACrB,CAAA;AAEAA,EAAAA,OAAA,CAAQE,gBAAgB,CAAC,OAAA,EAASD,uBAAA,CAAA;EAElC,OAAO,MAAMD,OAAA,CAAQG,mBAAmB,CAAC,OAAA,EAASF,uBAAA,CAAA;AACpD,CAAA,CAAA;MAYaG,UAAgB,GAAAC,oBAAA,CAAuBC,kBAAA,CAAA,qQAAA,EAYpD;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,MAAA;IAAAC,EAAA;IAAAC,IAAA;IAAAC,YAAA;AAAAd,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAe,YAAA,EAAA;;;;"}
|
package/dist/registry.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { LinkManagerService } from 'ember-link';
|
|
2
|
+
import PortalService from 'ember-stargate/services/-portal';
|
|
3
|
+
import { buildRegistry } from 'ember-strict-application-resolver/build-registry';
|
|
4
|
+
import HokuleaService from './services/-hokulea.js';
|
|
5
|
+
|
|
6
|
+
const hokuleaRegistry = buildRegistry({
|
|
7
|
+
'./services/-hokulea': HokuleaService,
|
|
8
|
+
// external addons
|
|
9
|
+
'./services/link-manager': LinkManagerService,
|
|
10
|
+
'./services/-portal': PortalService
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
export { hokuleaRegistry };
|
|
14
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sources":["../src/registry.ts"],"sourcesContent":["import { LinkManagerService } from 'ember-link';\nimport PortalService from 'ember-stargate/services/-portal';\nimport { buildRegistry } from 'ember-strict-application-resolver/build-registry';\n\nimport HokuleaService from './services/-hokulea.ts';\n\nexport const hokuleaRegistry = buildRegistry({\n './services/-hokulea': HokuleaService,\n\n // external addons\n './services/link-manager': LinkManagerService,\n './services/-portal': PortalService\n});\n"],"names":["hokuleaRegistry","buildRegistry","HokuleaService","LinkManagerService","PortalService"],"mappings":";;;;;AAMO,MAAMA,eAAe,GAAGC,aAAa,CAAC;AAC3C,EAAA,qBAAqB,EAAEC,cAAc;AAErC;AACA,EAAA,yBAAyB,EAAEC,kBAAkB;AAC7C,EAAA,oBAAoB,EAAEC;AACxB,CAAC;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { assert } from '@ember/debug';
|
|
2
|
+
import { element } from 'ember-element-helper';
|
|
3
|
+
import styles$1 from '@hokulea/core/content.module.css';
|
|
4
|
+
import styles from '@hokulea/core/layouts.module.css';
|
|
5
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
6
|
+
import { setComponentTemplate } from '@ember/component';
|
|
7
|
+
import templateOnly from '@ember/component/template-only';
|
|
8
|
+
|
|
9
|
+
function elementForLevel(level) {
|
|
10
|
+
const lvl = level ? Number.parseInt(level) : 2;
|
|
11
|
+
assert(`@level for <Section> must be between 1 and 6, received '${lvl}'`, lvl >= 1 && lvl <= 6);
|
|
12
|
+
return `h${lvl}`;
|
|
13
|
+
}
|
|
14
|
+
const Section = setComponentTemplate(precompileTemplate("\n <section class=\"{{styles.section}} {{layouts.flow}}\" data-test-section ...attributes>\n {{#if @title}}\n <header data-test-section=\"header\" part=\"header\">\n {{#if @title}}\n {{#let (element (elementForLevel @level)) as |Headline|}}\n <Headline data-test-section=\"title\" class={{styles.sectionTitle}}>{{@title}}</Headline>\n {{/let}}\n {{/if}}\n </header>\n {{/if}}\n\n {{#if (has-block)}}\n {{yield}}\n {{/if}}\n </section>\n", {
|
|
15
|
+
strictMode: true,
|
|
16
|
+
scope: () => ({
|
|
17
|
+
styles: styles$1,
|
|
18
|
+
layouts: styles,
|
|
19
|
+
element,
|
|
20
|
+
elementForLevel
|
|
21
|
+
})
|
|
22
|
+
}), templateOnly());
|
|
23
|
+
|
|
24
|
+
export { Section as S };
|
|
25
|
+
//# sourceMappingURL=section-BAdmc3Yn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-BAdmc3Yn.js","sources":["../src/components/content/section.gts"],"sourcesContent":["import { assert } from '@ember/debug';\n\nimport { element } from 'ember-element-helper';\n\n// eslint-disable-next-line import-x/no-duplicates\nimport styles from '@hokulea/core/content.module.css';\n// eslint-disable-next-line import-x/no-duplicates\nimport layouts from '@hokulea/core/layouts.module.css';\n\nimport type { TOC } from '@ember/component/template-only';\n\nexport interface SectionSignature {\n Element: HTMLElement;\n Args: {\n title?: string;\n /**\n * The level of the component, 1-6 as in `<h1>` to `<h6>`\n *\n * @defaultValue 2\n */\n level?: string;\n };\n Blocks: {\n default: [];\n };\n}\n\nfunction elementForLevel(level?: string) {\n const lvl = level ? Number.parseInt(level) : 2;\n\n assert(`@level for <Section> must be between 1 and 6, received '${lvl}'`, lvl >= 1 && lvl <= 6);\n\n return `h${lvl}`;\n}\n\nexport const Section: TOC<SectionSignature> = <template>\n <section class=\"{{styles.section}} {{layouts.flow}}\" data-test-section ...attributes>\n {{#if @title}}\n <header data-test-section=\"header\" part=\"header\">\n {{#if @title}}\n {{#let (element (elementForLevel @level)) as |Headline|}}\n <Headline data-test-section=\"title\" class={{styles.sectionTitle}}>{{@title}}</Headline>\n {{/let}}\n {{/if}}\n </header>\n {{/if}}\n\n {{#if (has-block)}}\n {{yield}}\n {{/if}}\n </section>\n</template>;\n"],"names":["elementForLevel","level","lvl","Number","parseInt","assert","Section","setComponentTemplate","precompileTemplate","strictMode","scope","styles","layouts","element","templateOnly"],"mappings":";;;;;;;;AA2BA,SAASA,eAAAA,CAAgBC,KAAc,EAAA;EACrC,MAAMC,GAAA,GAAMD,KAAA,GAAQE,MAAA,CAAOC,QAAQ,CAACH,KAAA,CAAA,GAAS,CAAA;AAE7CI,EAAAA,MAAA,CAAO,CAAA,wDAAA,EAA2DH,GAAA,CAAA,CAAA,CAAM,EAAEA,GAAA,IAAO,CAAA,IAAKA,GAAA,IAAO,CAAA,CAAA;EAE7F,OAAO,CAAA,CAAA,EAAIA,GAAA,CAAA,CAAK;AAClB;MAEaI,OAAa,GAAAC,oBAAA,CAAoBC,kBAAA,CAAA,8fAAA,EAgB9C;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;YAAAC,QAAA;aAAAC,MAAA;IAAAC,OAAA;AAAAb,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAc,YAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { element } from 'ember-element-helper';
|
|
2
|
+
import styles from '@hokulea/core/layouts.module.css';
|
|
3
|
+
import typo from '@hokulea/core/typography.module.css';
|
|
4
|
+
import { o as or } from './helpers-DS9du02l.js';
|
|
5
|
+
import { N as NavLink } from './nav-link-CGVtuqwC.js';
|
|
6
|
+
import { P as PageDestructor, a as PageElement } from './pages-DgHJEvSy.js';
|
|
7
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
8
|
+
import { setComponentTemplate } from '@ember/component';
|
|
9
|
+
import templateOnly from '@ember/component/template-only';
|
|
10
|
+
|
|
11
|
+
const SectionedPage = setComponentTemplate(precompileTemplate("\n {{#let (if @element @element (element (pageElement))) as |Element|}}\n <Element class={{styles.sectionedPage}} {{pageDestructor}} ...attributes data-test-page>\n {{#if (or @title @description (has-block \"title\") (has-block \"description\") (has-block \"nav\"))}}\n <header class={{styles.pageContent}}>\n <h1 class={{typo.display}}>\n {{#if (has-block \"title\")}}\n {{yield to=\"title\"}}\n {{else if @title}}\n {{@title}}\n {{/if}}\n </h1>\n\n {{#if (or (has-block \"description\") @description)}}\n <p>\n {{#if (has-block \"description\")}}\n {{yield to=\"description\"}}\n {{else if @description}}\n {{@description}}\n {{/if}}\n </p>\n {{/if}}\n\n {{#if (has-block \"nav\")}}\n <nav>\n {{yield NavLink to=\"nav\"}}\n </nav>\n {{/if}}\n </header>\n {{/if}}\n\n <div class=\"{{styles.pageContent}} {{styles.flow}}\" part=\"content\">\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else if (has-block)}}\n {{yield}}\n {{/if}}\n </div>\n </Element>\n {{/let}}\n", {
|
|
12
|
+
strictMode: true,
|
|
13
|
+
scope: () => ({
|
|
14
|
+
element,
|
|
15
|
+
pageElement: PageElement,
|
|
16
|
+
styles,
|
|
17
|
+
pageDestructor: PageDestructor,
|
|
18
|
+
or,
|
|
19
|
+
typo,
|
|
20
|
+
NavLink
|
|
21
|
+
})
|
|
22
|
+
}), templateOnly());
|
|
23
|
+
|
|
24
|
+
export { SectionedPage as S };
|
|
25
|
+
//# sourceMappingURL=sectioned-page-fB9mV5WD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sectioned-page-fB9mV5WD.js","sources":["../src/components/layouts/sectioned-page.gts"],"sourcesContent":["import { element } from 'ember-element-helper';\n\n// eslint-disable-next-line import-x/no-duplicates\nimport styles from '@hokulea/core/layouts.module.css';\n// eslint-disable-next-line import-x/no-duplicates\nimport typo from '@hokulea/core/typography.module.css';\n\nimport { or } from '../../-private/helpers.ts';\nimport { NavLink } from '../navigation/nav-link.gts';\nimport { pageDestructor, pageElement } from './pages.ts';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { ComponentLike } from '@glint/template';\n\ninterface SectionedPageSignature {\n Element: HTMLElement;\n Args: {\n title?: string;\n description?: string;\n element?: ComponentLike<{ Element: HTMLElement; Blocks: { default: [] } }>;\n };\n Blocks: {\n title?: [];\n description?: [];\n nav?: [typeof NavLink];\n content?: [];\n default?: [];\n };\n}\n\nexport const SectionedPage: TOC<SectionedPageSignature> = <template>\n {{#let (if @element @element (element (pageElement))) as |Element|}}\n <Element class={{styles.sectionedPage}} {{pageDestructor}} ...attributes data-test-page>\n {{#if\n (or @title @description (has-block \"title\") (has-block \"description\") (has-block \"nav\"))\n }}\n <header class={{styles.pageContent}}>\n <h1 class={{typo.display}}>\n {{#if (has-block \"title\")}}\n {{yield to=\"title\"}}\n {{else if @title}}\n {{@title}}\n {{/if}}\n </h1>\n\n {{#if (or (has-block \"description\") @description)}}\n <p>\n {{#if (has-block \"description\")}}\n {{yield to=\"description\"}}\n {{else if @description}}\n {{@description}}\n {{/if}}\n </p>\n {{/if}}\n\n {{#if (has-block \"nav\")}}\n <nav>\n {{yield NavLink to=\"nav\"}}\n </nav>\n {{/if}}\n </header>\n {{/if}}\n\n <div class=\"{{styles.pageContent}} {{styles.flow}}\" part=\"content\">\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else if (has-block)}}\n {{yield}}\n {{/if}}\n </div>\n </Element>\n {{/let}}\n</template>;\n"],"names":["SectionedPage","setComponentTemplate","precompileTemplate","strictMode","scope","element","pageElement","styles","pageDestructor","or","typo","NavLink","templateOnly"],"mappings":";;;;;;;;;;MA8BaA,aAAmB,GAAAC,oBAAA,CAA0BC,kBAAA,CAAA,0xCAAA,EA0C1D;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,OAAA;iBAAAC,WAAA;IAAAC,MAAA;oBAAAC,cAAA;IAAAC,EAAA;IAAAC,IAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import { hash } from '@ember/helper';
|
|
3
|
+
import { on } from '@ember/modifier';
|
|
4
|
+
import styles from '@hokulea/core/controls.module.css';
|
|
5
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
6
|
+
import { setComponentTemplate } from '@ember/component';
|
|
7
|
+
import templateOnly from '@ember/component/template-only';
|
|
8
|
+
|
|
9
|
+
const Option = setComponentTemplate(precompileTemplate("\n <option value={{@value}} selected={{@isSelected @value}} ...attributes>\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@value}}\n {{/if}}\n </option>\n", {
|
|
10
|
+
strictMode: true
|
|
11
|
+
}), templateOnly());
|
|
12
|
+
class Select extends Component {
|
|
13
|
+
isSelected = option => {
|
|
14
|
+
if (Array.isArray(this.args.value)) {
|
|
15
|
+
return this.args.value.includes(option);
|
|
16
|
+
}
|
|
17
|
+
return String(option) === String(this.args.value);
|
|
18
|
+
};
|
|
19
|
+
select = event => {
|
|
20
|
+
const select = event.target;
|
|
21
|
+
const selection = Array.of(...select.selectedOptions).map(option => option.value);
|
|
22
|
+
const value = selection.length === 1 ? selection[0] : selection;
|
|
23
|
+
this.args.update?.(value);
|
|
24
|
+
};
|
|
25
|
+
static {
|
|
26
|
+
setComponentTemplate(precompileTemplate("\n <span class={{styles.select}}>\n <select disabled={{@disabled}} data-test-select {{on \"input\" this.select capture=true}} ...attributes>\n {{yield (hash Option=(component Option isSelected=this.isSelected))}}\n </select>\n </span>\n ", {
|
|
27
|
+
strictMode: true,
|
|
28
|
+
scope: () => ({
|
|
29
|
+
styles,
|
|
30
|
+
on,
|
|
31
|
+
hash,
|
|
32
|
+
Option
|
|
33
|
+
})
|
|
34
|
+
}), this);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export { Select as S };
|
|
39
|
+
//# sourceMappingURL=select-DxyaUFuy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-DxyaUFuy.js","sources":["../src/components/controls/select.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport type { TOC } from '@ember/component/template-only';\nimport type { WithBoundArgs } from '@glint/template';\n\nexport type Value = string | number;\n\nexport interface OptionSignature {\n Element: HTMLOptionElement;\n Args: {\n value: Value;\n isSelected: (option: Value) => boolean;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst Option: TOC<OptionSignature> = <template>\n <option value={{@value}} selected={{@isSelected @value}} ...attributes>\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@value}}\n {{/if}}\n </option>\n</template>;\n\nexport interface SelectSignature {\n Element: HTMLSelectElement;\n Args: {\n value?: Value | Value[];\n update?: (value: Value | Value[]) => void;\n disabled?: boolean;\n };\n Blocks: {\n default: [\n {\n Option: WithBoundArgs<typeof Option, 'isSelected'>;\n }\n ];\n };\n}\n\nexport class Select extends Component<SelectSignature> {\n isSelected = (option: Value) => {\n if (Array.isArray(this.args.value)) {\n return this.args.value.includes(option);\n }\n\n return String(option) === String(this.args.value);\n };\n\n select = (event: Event) => {\n const select = event.target as HTMLSelectElement;\n const selection = Array.of(...select.selectedOptions).map((option) => option.value);\n const value = selection.length === 1 ? (selection[0] as Value) : (selection as Value[]);\n\n this.args.update?.(value);\n };\n\n <template>\n <span class={{styles.select}}>\n <select\n disabled={{@disabled}}\n data-test-select\n {{on \"input\" this.select capture=true}}\n ...attributes\n >\n {{yield (hash Option=(component Option isSelected=this.isSelected))}}\n </select>\n </span>\n </template>\n}\n"],"names":["Option","setComponentTemplate","precompileTemplate","strictMode","templateOnly","Select","Component","isSelected","option","Array","isArray","args","value","includes","String","select","event","target","selection","of","selectedOptions","map","length","update","scope","styles","on","hash"],"mappings":";;;;;;;;AAsBA,MAAMA,MAAY,GAAAC,oBAAA,CAAmBC,kBAAA,CAAA,mLAAA,EAQrC;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA,CAAA;AAkBH,MAAMC,eAAeC,SAAA,CAAU;EACpCC,UAAA,GAAcC,MAAQ,IAAA;IACpB,IAAIC,KAAA,CAAMC,OAAO,CAAC,IAAI,CAACC,IAAI,CAACC,KAAK,CAAA,EAAG;MAClC,OAAO,IAAI,CAACD,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACL,MAAA,CAAA;AAClC,IAAA;AAEA,IAAA,OAAOM,OAAON,MAAA,CAAA,KAAYM,MAAA,CAAO,IAAI,CAACH,IAAI,CAACC,KAAK,CAAA;EAClD,CAAA;EAEAG,MAAA,GAAUC,KAAO,IAAA;AACf,IAAA,MAAMD,MAAA,GAASC,KAAA,CAAMC,MAAU;AAC/B,IAAA,MAAMC,SAAA,GAAYT,KAAA,CAAMU,EAAE,CAAA,GAAIJ,MAAA,CAAOK,eAAe,CAAA,CAAEC,GAAG,CAAEb,MAAA,IAAWA,MAAA,CAAOI,KAAK,CAAA;AAClF,IAAA,MAAMA,KAAA,GAAQM,SAAA,CAAUI,MAAM,KAAK,IAAKJ,SAAS,CAAC,CAAA,CAAE,GAAcA,SAAoB;AAEtF,IAAA,IAAI,CAACP,IAAI,CAACY,MAAM,GAAGX,KAAA,CAAA;EACrB,CAAA;AAEA,EAAA;IAAAX,oBAAA,CAAAC,kBAAA,CAAA,uQAAA,EAWA;MAAAC,UAAA,EAAA,IAAA;AAAAqB,MAAAA,KAAA,EAAAA,OAAA;QAAAC,MAAA;QAAAC,EAAA;QAAAC,IAAA;AAAA3B,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
import { tracked } from '@glimmer/tracking';
|
|
2
1
|
import Service from '@ember/service';
|
|
3
|
-
import { g, i } from 'decorator-transforms/runtime-esm';
|
|
4
2
|
|
|
5
3
|
class HokuleaService extends Service {
|
|
6
|
-
|
|
7
|
-
g(this.prototype, "pageLevel", [tracked], function () {
|
|
8
|
-
return 0;
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
#pageLevel = (i(this, "pageLevel"), void 0);
|
|
4
|
+
pageLevel = 0;
|
|
12
5
|
}
|
|
13
6
|
|
|
14
7
|
export { HokuleaService as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"-hokulea.js","sources":["../../src/services/-hokulea.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"-hokulea.js","sources":["../../src/services/-hokulea.ts"],"sourcesContent":["import Service from '@ember/service';\n\nexport default class HokuleaService extends Service {\n pageLevel = 0;\n}\n"],"names":["HokuleaService","Service","pageLevel"],"mappings":";;AAEe,MAAMA,cAAc,SAASC,OAAO,CAAC;AAClDC,EAAAA,SAAS,GAAG,CAAC;AACf;;;;"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import { cached, tracked } from '@glimmer/tracking';
|
|
3
|
+
import { registerDestructor } from '@ember/destroyable';
|
|
4
|
+
import { hash, uniqueId } from '@ember/helper';
|
|
5
|
+
import { guidFor } from '@ember/object/internals';
|
|
6
|
+
import { next } from '@ember/runloop';
|
|
7
|
+
import { ariaTablist } from 'ember-aria-voyager';
|
|
8
|
+
import { modifier } from 'ember-modifier';
|
|
9
|
+
import Portal from 'ember-stargate/components/portal';
|
|
10
|
+
import PortalTarget from 'ember-stargate/components/portal-target';
|
|
11
|
+
import { TrackedArray } from 'tracked-built-ins';
|
|
12
|
+
import styles from '@hokulea/core/controls.module.css';
|
|
13
|
+
import { n as not, e as eq } from './helpers-DS9du02l.js';
|
|
14
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
15
|
+
import { setComponentTemplate } from '@ember/component';
|
|
16
|
+
import { n, g, i } from 'decorator-transforms/runtime-esm';
|
|
17
|
+
|
|
18
|
+
const TabValue = Symbol('TabValue');
|
|
19
|
+
const attachValue = modifier((element, [value]) => {
|
|
20
|
+
if (value) {
|
|
21
|
+
// @ts-expect-error this is internal API
|
|
22
|
+
element[TabValue] = value;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
class Tab extends Component {
|
|
26
|
+
constructor(owner, args) {
|
|
27
|
+
super(owner, args);
|
|
28
|
+
args.register(this);
|
|
29
|
+
registerDestructor(this, () => {
|
|
30
|
+
args.unregister(this);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
get id() {
|
|
34
|
+
return this.args.value ?? this.args.label ?? guidFor(this);
|
|
35
|
+
}
|
|
36
|
+
static {
|
|
37
|
+
n(this.prototype, "id", [cached]);
|
|
38
|
+
}
|
|
39
|
+
static {
|
|
40
|
+
setComponentTemplate(precompileTemplate("\n {{#let (uniqueId) (hash active=(eq this.id @activeItem) selected=(eq this.id @selection)) as |id state|}}\n <Portal @target={{@tablist}}>\n {{!-- template-lint-disable require-context-role --}}\n <button type=\"button\" role=\"tab\" aria-controls={{id}} aria-selected={{if state.selected \"true\"}} id=\"{{id}}-label\" {{attachValue @value}}>\n <span>\n {{#if (has-block \"label\")}}\n {{yield state to=\"label\"}}\n {{else}}\n {{@label}}\n {{/if}}\n </span>\n </button>\n </Portal>\n\n <section id={{id}} role=\"tabpanel\" aria-labelledby=\"{{id}}-label\" local-class=\"content\" hidden={{not state.selected}}>\n {{#if (has-block \"content\")}}\n {{yield state to=\"content\"}}\n {{else}}\n {{yield state}}\n {{/if}}\n </section>\n {{/let}}\n ", {
|
|
41
|
+
strictMode: true,
|
|
42
|
+
scope: () => ({
|
|
43
|
+
uniqueId,
|
|
44
|
+
hash,
|
|
45
|
+
eq,
|
|
46
|
+
Portal,
|
|
47
|
+
attachValue,
|
|
48
|
+
not
|
|
49
|
+
})
|
|
50
|
+
}), this);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
class Tabs extends Component {
|
|
54
|
+
static {
|
|
55
|
+
g(this.prototype, "tabs", [tracked], function () {
|
|
56
|
+
return new TrackedArray();
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
#tabs = (i(this, "tabs"), void 0);
|
|
60
|
+
static {
|
|
61
|
+
g(this.prototype, "internalSelection", [tracked]);
|
|
62
|
+
}
|
|
63
|
+
#internalSelection = (i(this, "internalSelection"), void 0);
|
|
64
|
+
static {
|
|
65
|
+
g(this.prototype, "activeItem", [tracked]);
|
|
66
|
+
}
|
|
67
|
+
#activeItem = (i(this, "activeItem"), void 0);
|
|
68
|
+
get items() {
|
|
69
|
+
return this.tabs.map(t => t.id);
|
|
70
|
+
}
|
|
71
|
+
get selection() {
|
|
72
|
+
return this.args.selection ?? this.internalSelection?.id;
|
|
73
|
+
}
|
|
74
|
+
register = tab => {
|
|
75
|
+
// eslint-disable-next-line ember/no-runloop
|
|
76
|
+
next(() => {
|
|
77
|
+
this.tabs.push(tab);
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
unregister = tab => {
|
|
81
|
+
// eslint-disable-next-line ember/no-runloop
|
|
82
|
+
next(() => {
|
|
83
|
+
this.tabs.splice(this.tabs.indexOf(tab), 1);
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
select = id => {
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
88
|
+
const tab = this.tabs.find(t => t.id === id);
|
|
89
|
+
this.internalSelection = tab;
|
|
90
|
+
this.args.update?.(tab.args.value ?? tab.args.label ?? undefined);
|
|
91
|
+
};
|
|
92
|
+
activateItem = id => {
|
|
93
|
+
this.activeItem = id;
|
|
94
|
+
};
|
|
95
|
+
static {
|
|
96
|
+
setComponentTemplate(precompileTemplate("\n <div class={{styles.tabs}} data-test-tabs>\n {{#let (uniqueId) as |tablistId|}}\n <PortalTarget @name={{tablistId}} @multiple={{true}} role=\"tablist\" {{ariaTablist items=this.items select=this.select selection=this.selection activateItem=this.activateItem disabled=@disabled behavior=@behavior orientation=@orientation}} />\n\n {{yield (hash Tab=(component Tab register=this.register unregister=this.unregister tablist=tablistId selection=this.selection activeItem=this.activeItem))}}\n {{/let}}\n </div>\n ", {
|
|
97
|
+
strictMode: true,
|
|
98
|
+
scope: () => ({
|
|
99
|
+
styles,
|
|
100
|
+
uniqueId,
|
|
101
|
+
PortalTarget,
|
|
102
|
+
ariaTablist,
|
|
103
|
+
hash,
|
|
104
|
+
Tab
|
|
105
|
+
})
|
|
106
|
+
}), this);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export { Tabs as T, TabValue as a };
|
|
111
|
+
//# sourceMappingURL=tabs-a9GhNQv9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs-a9GhNQv9.js","sources":["../src/components/controls/tabs.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { registerDestructor } from '@ember/destroyable';\nimport { hash, uniqueId } from '@ember/helper';\nimport { guidFor } from '@ember/object/internals';\nimport { next } from '@ember/runloop';\n\nimport { ariaTablist, type Orientation, type TablistBehavior } from 'ember-aria-voyager';\nimport { modifier } from 'ember-modifier';\nimport Portal from 'ember-stargate/components/portal';\nimport PortalTarget from 'ember-stargate/components/portal-target';\nimport { TrackedArray } from 'tracked-built-ins';\n\nimport styles from '@hokulea/core/controls.module.css';\n\nimport { eq, not } from '../../-private/helpers.ts';\n\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\n\nexport const TabValue = Symbol('TabValue');\n\nconst attachValue = modifier((element, [value]) => {\n if (value) {\n // @ts-expect-error this is internal API\n element[TabValue] = value;\n }\n});\n\ninterface State {\n active: boolean;\n selected: boolean;\n}\n\ntype Item = string & {};\n\ntype TabSignature = {\n Element: HTMLDivElement;\n Args: {\n tablist: string;\n register: (tab: Tab) => void;\n unregister: (tab: Tab) => void;\n label?: string;\n value?: unknown;\n selection?: unknown;\n activeItem?: Item;\n };\n Blocks: {\n default?: [State];\n label?: [State];\n content?: [State];\n };\n};\n\nclass Tab extends Component<TabSignature> {\n constructor(owner: Owner, args: TabSignature['Args']) {\n super(owner, args);\n\n args.register(this);\n\n registerDestructor(this, () => {\n args.unregister(this);\n });\n }\n\n @cached\n get id() {\n return this.args.value ?? this.args.label ?? guidFor(this);\n }\n\n <template>\n {{#let\n (uniqueId) (hash active=(eq this.id @activeItem) selected=(eq this.id @selection))\n as |id state|\n }}\n <Portal @target={{@tablist}}>\n {{! template-lint-disable require-context-role }}\n <button\n type=\"button\"\n role=\"tab\"\n aria-controls={{id}}\n aria-selected={{if state.selected \"true\"}}\n id=\"{{id}}-label\"\n {{attachValue @value}}\n >\n <span>\n {{#if (has-block \"label\")}}\n {{yield state to=\"label\"}}\n {{else}}\n {{@label}}\n {{/if}}\n </span>\n </button>\n </Portal>\n\n <section\n id={{id}}\n role=\"tabpanel\"\n aria-labelledby=\"{{id}}-label\"\n local-class=\"content\"\n hidden={{not state.selected}}\n >\n {{#if (has-block \"content\")}}\n {{yield state to=\"content\"}}\n {{else}}\n {{yield state}}\n {{/if}}\n </section>\n {{/let}}\n </template>\n}\n\ninterface TabsSignature {\n Element: HTMLDivElement;\n Args: {\n disabled?: boolean;\n selection?: unknown;\n update?: (value: unknown) => void;\n behavior?: TablistBehavior;\n orientation?: Orientation;\n };\n Blocks: {\n default: [\n {\n Tab: WithBoundArgs<\n typeof Tab,\n 'selection' | 'activeItem' | 'tablist' | 'register' | 'unregister'\n >;\n }\n ];\n };\n}\n\nexport class Tabs extends Component<TabsSignature> {\n @tracked tabs: Tab[] = new TrackedArray();\n @tracked internalSelection?: Tab;\n @tracked activeItem?: Item;\n\n get items() {\n return this.tabs.map((t) => t.id);\n }\n\n get selection() {\n return this.args.selection ?? this.internalSelection?.id;\n }\n\n register = (tab: Tab) => {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n this.tabs.push(tab);\n });\n };\n\n unregister = (tab: Tab) => {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n this.tabs.splice(this.tabs.indexOf(tab), 1);\n });\n };\n\n select = (id: Item) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const tab = this.tabs.find((t) => t.id === id)!;\n\n this.internalSelection = tab;\n this.args.update?.(tab.args.value ?? tab.args.label ?? undefined);\n };\n\n activateItem = (id: Item) => {\n this.activeItem = id;\n };\n\n <template>\n <div class={{styles.tabs}} data-test-tabs>\n {{#let (uniqueId) as |tablistId|}}\n <PortalTarget\n @name={{tablistId}}\n @multiple={{true}}\n role=\"tablist\"\n {{ariaTablist\n items=this.items\n select=this.select\n selection=this.selection\n activateItem=this.activateItem\n disabled=@disabled\n behavior=@behavior\n orientation=@orientation\n }}\n />\n\n {{yield\n (hash\n Tab=(component\n Tab\n register=this.register\n unregister=this.unregister\n tablist=tablistId\n selection=this.selection\n activeItem=this.activeItem\n )\n )\n }}\n {{/let}}\n </div>\n </template>\n}\n"],"names":["TabValue","Symbol","attachValue","modifier","element","value","Tab","Component","constructor","owner","args","register","registerDestructor","unregister","id","label","guidFor","n","prototype","cached","setComponentTemplate","precompileTemplate","strictMode","scope","uniqueId","hash","eq","Portal","not","Tabs","g","tracked","TrackedArray","i","void 0","items","tabs","map","t","selection","internalSelection","tab","next","push","splice","indexOf","select","find","update","undefined","activateItem","activeItem","styles","PortalTarget","ariaTablist"],"mappings":";;;;;;;;;;;;;;;;;MAoBaA,QAAA,GAAWC,MAAA,CAAO,UAAA;AAE/B,MAAMC,WAAA,GAAcC,QAAA,CAAS,CAACC,OAAA,EAAS,CAACC,KAAA,CAAM,KAAA;AAC5C,EAAA,IAAIA,KAAA,EAAO;AACT;AACAD,IAAAA,OAAO,CAACJ,SAAS,GAAGK,KAAA;AACtB,EAAA;AACF,CAAA,CAAA;AA2BA,MAAMC,YAAYC,SAAA,CAAU;AAC1BC,EAAAA,WAAAA,CAAYC,KAAY,EAAEC,IAA0B,EAAE;AACpD,IAAA,KAAK,CAACD,KAAA,EAAOC,IAAA,CAAA;AAEbA,IAAAA,IAAA,CAAKC,QAAQ,CAAC,IAAI,CAAA;IAElBC,kBAAA,CAAmB,IAAI,EAAE,MAAA;AACvBF,MAAAA,IAAA,CAAKG,UAAU,CAAC,IAAI,CAAA;AACtB,IAAA,CAAA,CAAA;AACF,EAAA;EAEA,IACIC,EAAAA,GAAK;AACP,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACL,KAAK,IAAI,IAAI,CAACK,IAAI,CAACK,KAAK,IAAIC,QAAQ,IAAI,CAAA;AAC3D,EAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,IAAA,EAAA,CAHCC,MAAA,CAAA,CAAA;AAAA;AAKD,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,i5BAAA,EAuCA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,QAAA;QAAAC,IAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAzB,WAAA;AAAA0B,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;AAuBO,MAAMC,aAAatB,SAAA,CAAU;AAAA,EAAA;IAAAuB,CAAA,CAAA,IAAA,CAAAZ,SAAA,EAAA,MAAA,EAAA,CACjCa,OAAA,CAAA,EAAA,YAAA;MAAA,OAAsB,IAAIC,YAAA,EAAA;AAAA,IAAA,CAAA,CAAA;AAAA;AAAA,EAAA,KAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAZ,SAAA,EAAA,mBAAA,EAAA,CAC1Ba,OAAA,CAAA,CAAA;AAAA;AAAA,EAAA,kBAAA,IAAAE,CAAA,CAAA,IAAA,EAAA,mBAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAZ,SAAA,EAAA,YAAA,EAAA,CACAa,OAAA,CAAA,CAAA;AAAA;AAAA,EAAA,WAAA,IAAAE,CAAA,CAAA,IAAA,EAAA,YAAA,CAAA,EAAAC,MAAA;EAED,IAAIC,KAAAA,GAAQ;IACV,OAAO,IAAI,CAACC,IAAI,CAACC,GAAG,CAAEC,CAAA,IAAMA,CAAA,CAAExB,EAAE,CAAA;AAClC,EAAA;EAEA,IAAIyB,SAAAA,GAAY;IACd,OAAO,IAAI,CAAC7B,IAAI,CAAC6B,SAAS,IAAI,IAAI,CAACC,iBAAiB,EAAE1B,EAAA;AACxD,EAAA;EAEAH,QAAA,GAAY8B,GAAK,IAAA;AACf;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACN,IAAI,CAACO,IAAI,CAACF,GAAA,CAAA;AACjB,IAAA,CAAA,CAAA;EACF,CAAA;EAEA5B,UAAA,GAAc4B,GAAK,IAAA;AACjB;AACAC,IAAAA,IAAA,CAAK,MAAA;AACH,MAAA,IAAI,CAACN,IAAI,CAACQ,MAAM,CAAC,IAAI,CAACR,IAAI,CAACS,OAAO,CAACJ,GAAA,CAAA,EAAM,CAAA,CAAA;AAC3C,IAAA,CAAA,CAAA;EACF,CAAA;EAEAK,MAAA,GAAUhC,EAAI,IAAA;AACZ;AACA,IAAA,MAAM2B,GAAA,GAAM,IAAI,CAACL,IAAI,CAACW,IAAI,CAAET,CAAA,IAAMA,CAAA,CAAExB,EAAE,KAAKA,EAAA,CAAA;IAE3C,IAAI,CAAC0B,iBAAiB,GAAGC,GAAA;AACzB,IAAA,IAAI,CAAC/B,IAAI,CAACsC,MAAM,GAAGP,GAAA,CAAI/B,IAAI,CAACL,KAAK,IAAIoC,GAAA,CAAI/B,IAAI,CAACK,KAAK,IAAIkC,SAAA,CAAA;EACzD,CAAA;EAEAC,YAAA,GAAgBpC,EAAI,IAAA;IAClB,IAAI,CAACqC,UAAU,GAAGrC,EAAA;EACpB,CAAA;AAEA,EAAA;IAAAM,oBAAA,CAAAC,kBAAA,CAAA,iiBAAA,EAgCA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAA6B,MAAA;QAAA5B,QAAA;QAAA6B,YAAA;QAAAC,WAAA;QAAA7B,IAAA;AAAAnB,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|