@diwacopilot/components 1.1.1 → 1.2.1
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/dist/cjs/{checkbox-mark-06d56fe2.js → checkbox-mark-CtRWZxo8.js} +0 -2
- package/dist/cjs/diwa-accordion.cjs.entry.js +2 -6
- package/dist/cjs/diwa-badge.cjs.entry.js +47 -9
- package/dist/cjs/diwa-button-pure.cjs.entry.js +3 -7
- package/dist/cjs/diwa-button.cjs.entry.js +3 -7
- package/dist/cjs/diwa-checkbox.cjs.entry.js +7 -9
- package/dist/cjs/diwa-components.cjs.js +7 -10
- package/dist/cjs/diwa-divider.cjs.entry.js +2 -6
- package/dist/cjs/diwa-flyout.cjs.entry.js +6 -8
- package/dist/cjs/diwa-heading.cjs.entry.js +2 -6
- package/dist/cjs/diwa-icon.cjs.entry.js +554 -558
- package/dist/cjs/diwa-inline-notification.cjs.entry.js +2 -6
- package/dist/cjs/diwa-input-date.cjs.entry.js +4 -8
- package/dist/cjs/diwa-input-email.cjs.entry.js +4 -8
- package/dist/cjs/diwa-input-month.cjs.entry.js +4 -8
- package/dist/cjs/diwa-input-number.cjs.entry.js +4 -8
- package/dist/cjs/diwa-input-password.cjs.entry.js +4 -8
- package/dist/cjs/diwa-input-search.cjs.entry.js +4 -8
- package/dist/cjs/diwa-input-tel.cjs.entry.js +4 -8
- package/dist/cjs/diwa-input-text.cjs.entry.js +4 -8
- package/dist/cjs/diwa-input-time.cjs.entry.js +4 -8
- package/dist/cjs/diwa-input-url.cjs.entry.js +4 -8
- package/dist/cjs/diwa-input-week.cjs.entry.js +4 -8
- package/dist/cjs/diwa-input.cjs.entry.js +3 -7
- package/dist/cjs/diwa-link-pure.cjs.entry.js +3 -7
- package/dist/cjs/diwa-link.cjs.entry.js +3 -7
- package/dist/cjs/diwa-modal.cjs.entry.js +6 -8
- package/dist/cjs/diwa-multi-select-option.cjs.entry.js +13 -11
- package/dist/cjs/diwa-multi-select.cjs.entry.js +16 -12
- package/dist/cjs/diwa-pagination.cjs.entry.js +3 -7
- package/dist/cjs/diwa-pin-code.cjs.entry.js +4 -8
- package/dist/cjs/diwa-popover.cjs.entry.js +3 -7
- package/dist/cjs/diwa-radio-group-item.cjs.entry.js +6 -8
- package/dist/cjs/diwa-radio-group.cjs.entry.js +2 -6
- package/dist/cjs/diwa-scroller.cjs.entry.js +3 -7
- package/dist/cjs/diwa-segmented-control-item.cjs.entry.js +3 -7
- package/dist/cjs/diwa-segmented-control.cjs.entry.js +2 -6
- package/dist/cjs/diwa-select-option.cjs.entry.js +3 -7
- package/dist/cjs/diwa-select.cjs.entry.js +15 -11
- package/dist/cjs/diwa-spinner.cjs.entry.js +4 -8
- package/dist/cjs/diwa-stepper-horizontal-item.cjs.entry.js +2 -6
- package/dist/cjs/diwa-stepper-horizontal.cjs.entry.js +5 -7
- package/dist/cjs/diwa-switch.cjs.entry.js +3 -7
- package/dist/cjs/diwa-table-body.cjs.entry.js +2 -6
- package/dist/cjs/diwa-table-cell.cjs.entry.js +2 -6
- package/dist/cjs/diwa-table-head-cell.cjs.entry.js +5 -9
- package/dist/cjs/diwa-table-head.cjs.entry.js +2 -6
- package/dist/cjs/diwa-table-row.cjs.entry.js +2 -6
- package/dist/cjs/diwa-table.cjs.entry.js +2 -6
- package/dist/cjs/diwa-tabs-bar.cjs.entry.js +6 -8
- package/dist/cjs/diwa-tabs-item.cjs.entry.js +2 -6
- package/dist/cjs/diwa-tabs.cjs.entry.js +6 -8
- package/dist/cjs/diwa-tag-dismissible.cjs.entry.js +3 -7
- package/dist/cjs/diwa-tag.cjs.entry.js +2 -6
- package/dist/cjs/diwa-text-list-item.cjs.entry.js +2 -6
- package/dist/cjs/diwa-text-list.cjs.entry.js +2 -6
- package/dist/cjs/diwa-text.cjs.entry.js +2 -6
- package/dist/cjs/diwa-textarea.cjs.entry.js +3 -7
- package/dist/cjs/diwa-toast-item.cjs.entry.js +3 -7
- package/dist/cjs/diwa-toast.cjs.entry.js +2 -6
- package/dist/cjs/index-Bq2UsXlc.js +1633 -0
- package/dist/cjs/index.cjs.js +0 -2
- package/dist/cjs/{input-styles-bac68ebc.js → input-styles-6kXkwbQg.js} +1 -3
- package/dist/cjs/{loader-circle-938f782b.js → loader-circle-ffvGKJXL.js} +0 -2
- package/dist/cjs/loader.cjs.js +3 -8
- package/dist/cjs/{styles-6342300d.js → styles-5PsdHYbv.js} +0 -2
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/diwa-accordion/diwa-accordion-styles.js +0 -1
- package/dist/collection/components/diwa-accordion/diwa-accordion.js +9 -8
- package/dist/collection/components/diwa-accordion/types.js +0 -1
- package/dist/collection/components/diwa-badge/diwa-badge-styles.js +39 -3
- package/dist/collection/components/diwa-badge/diwa-badge.js +43 -13
- package/dist/collection/components/diwa-badge/types.js +0 -1
- package/dist/collection/components/diwa-button/diwa-button-styles.js +0 -1
- package/dist/collection/components/diwa-button/diwa-button-utils.js +0 -1
- package/dist/collection/components/diwa-button/diwa-button.js +27 -24
- package/dist/collection/components/diwa-button/types.js +0 -1
- package/dist/collection/components/diwa-button-pure/diwa-button-pure-styles.js +0 -1
- package/dist/collection/components/diwa-button-pure/diwa-button-pure-utils.js +0 -1
- package/dist/collection/components/diwa-button-pure/diwa-button-pure.js +30 -27
- package/dist/collection/components/diwa-button-pure/types.js +0 -1
- package/dist/collection/components/diwa-checkbox/diwa-checkbox-styles.js +0 -1
- package/dist/collection/components/diwa-checkbox/diwa-checkbox.js +17 -16
- package/dist/collection/components/diwa-checkbox/types.js +0 -1
- package/dist/collection/components/diwa-divider/diwa-divider-styles.js +0 -1
- package/dist/collection/components/diwa-divider/diwa-divider.js +7 -6
- package/dist/collection/components/diwa-divider/types.js +0 -1
- package/dist/collection/components/diwa-flyout/diwa-flyout-styles.js +0 -1
- package/dist/collection/components/diwa-flyout/diwa-flyout.js +12 -10
- package/dist/collection/components/diwa-flyout/types.js +0 -1
- package/dist/collection/components/diwa-heading/diwa-heading-styles.js +0 -1
- package/dist/collection/components/diwa-heading/diwa-heading-utils.js +0 -1
- package/dist/collection/components/diwa-heading/diwa-heading.js +21 -16
- package/dist/collection/components/diwa-heading/types.js +0 -1
- package/dist/collection/components/diwa-icon/diwa-icon-styles.js +0 -1
- package/dist/collection/components/diwa-icon/diwa-icon.js +9 -9
- package/dist/collection/components/diwa-icon/types.js +0 -1
- package/dist/collection/components/diwa-inline-notification/diwa-inline-notification-styles.js +0 -1
- package/dist/collection/components/diwa-inline-notification/diwa-inline-notification.js +13 -12
- package/dist/collection/components/diwa-inline-notification/types.js +0 -1
- package/dist/collection/components/diwa-input/diwa-input-styles.js +0 -1
- package/dist/collection/components/diwa-input/diwa-input.js +26 -24
- package/dist/collection/components/diwa-input/input-styles.js +0 -1
- package/dist/collection/components/diwa-input/types.js +0 -1
- package/dist/collection/components/diwa-input-date/diwa-input-date-styles.js +0 -1
- package/dist/collection/components/diwa-input-date/diwa-input-date.js +24 -23
- package/dist/collection/components/diwa-input-email/diwa-input-email-styles.js +0 -1
- package/dist/collection/components/diwa-input-email/diwa-input-email.js +20 -19
- package/dist/collection/components/diwa-input-month/diwa-input-month-styles.js +0 -1
- package/dist/collection/components/diwa-input-month/diwa-input-month.js +24 -23
- package/dist/collection/components/diwa-input-number/diwa-input-number-styles.js +0 -1
- package/dist/collection/components/diwa-input-number/diwa-input-number.js +26 -25
- package/dist/collection/components/diwa-input-password/diwa-input-password-styles.js +0 -1
- package/dist/collection/components/diwa-input-password/diwa-input-password.js +21 -20
- package/dist/collection/components/diwa-input-search/diwa-input-search-styles.js +0 -1
- package/dist/collection/components/diwa-input-search/diwa-input-search.js +21 -20
- package/dist/collection/components/diwa-input-tel/diwa-input-tel-styles.js +0 -1
- package/dist/collection/components/diwa-input-tel/diwa-input-tel.js +20 -19
- package/dist/collection/components/diwa-input-text/diwa-input-text-styles.js +0 -1
- package/dist/collection/components/diwa-input-text/diwa-input-text.js +26 -25
- package/dist/collection/components/diwa-input-time/diwa-input-time-styles.js +0 -1
- package/dist/collection/components/diwa-input-time/diwa-input-time.js +26 -25
- package/dist/collection/components/diwa-input-url/diwa-input-url-styles.js +0 -1
- package/dist/collection/components/diwa-input-url/diwa-input-url.js +20 -19
- package/dist/collection/components/diwa-input-week/diwa-input-week-styles.js +0 -1
- package/dist/collection/components/diwa-input-week/diwa-input-week.js +24 -23
- package/dist/collection/components/diwa-link/diwa-link-styles.js +0 -1
- package/dist/collection/components/diwa-link/diwa-link.js +22 -20
- package/dist/collection/components/diwa-link/types.js +0 -1
- package/dist/collection/components/diwa-link-pure/diwa-link-pure-styles.js +0 -1
- package/dist/collection/components/diwa-link-pure/diwa-link-pure.js +26 -23
- package/dist/collection/components/diwa-link-pure/types.js +0 -1
- package/dist/collection/components/diwa-modal/diwa-modal-styles.js +0 -1
- package/dist/collection/components/diwa-modal/diwa-modal-utils.js +0 -1
- package/dist/collection/components/diwa-modal/diwa-modal.js +12 -11
- package/dist/collection/components/diwa-modal/types.js +0 -1
- package/dist/collection/components/diwa-multi-select/diwa-multi-select-styles.js +0 -1
- package/dist/collection/components/diwa-multi-select/diwa-multi-select.js +26 -22
- package/dist/collection/components/diwa-multi-select/types.js +0 -1
- package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option-styles.js +0 -1
- package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option.js +10 -10
- package/dist/collection/components/diwa-multi-select-option/types.js +0 -1
- package/dist/collection/components/diwa-pagination/diwa-pagination-styles.js +0 -1
- package/dist/collection/components/diwa-pagination/diwa-pagination-utils.js +0 -1
- package/dist/collection/components/diwa-pagination/diwa-pagination.js +13 -11
- package/dist/collection/components/diwa-pagination/types.js +0 -1
- package/dist/collection/components/diwa-pin-code/diwa-pin-code-styles.js +0 -1
- package/dist/collection/components/diwa-pin-code/diwa-pin-code.js +22 -19
- package/dist/collection/components/diwa-pin-code/types.js +0 -1
- package/dist/collection/components/diwa-popover/diwa-popover-styles.js +0 -1
- package/dist/collection/components/diwa-popover/diwa-popover.js +9 -8
- package/dist/collection/components/diwa-popover/types.js +0 -1
- package/dist/collection/components/diwa-radio-group/diwa-radio-group-styles.js +0 -1
- package/dist/collection/components/diwa-radio-group/diwa-radio-group.js +21 -18
- package/dist/collection/components/diwa-radio-group/types.js +0 -1
- package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item-styles.js +0 -1
- package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item.js +9 -9
- package/dist/collection/components/diwa-scroller/diwa-scroller-styles.js +0 -1
- package/dist/collection/components/diwa-scroller/diwa-scroller.js +8 -7
- package/dist/collection/components/diwa-scroller/types.js +0 -1
- package/dist/collection/components/diwa-segmented-control/diwa-segmented-control-styles.js +0 -1
- package/dist/collection/components/diwa-segmented-control/diwa-segmented-control.js +9 -8
- package/dist/collection/components/diwa-segmented-control/types.js +0 -1
- package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item-styles.js +0 -1
- package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item.js +8 -8
- package/dist/collection/components/diwa-select/diwa-select-styles.js +0 -1
- package/dist/collection/components/diwa-select/diwa-select.js +27 -23
- package/dist/collection/components/diwa-select/types.js +0 -1
- package/dist/collection/components/diwa-select-option/diwa-select-option-styles.js +0 -1
- package/dist/collection/components/diwa-select-option/diwa-select-option.js +10 -10
- package/dist/collection/components/diwa-select-option/types.js +0 -1
- package/dist/collection/components/diwa-spinner/diwa-spinner-styles.js +0 -1
- package/dist/collection/components/diwa-spinner/diwa-spinner.js +8 -7
- package/dist/collection/components/diwa-spinner/types.js +0 -1
- package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal-styles.js +0 -1
- package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal.js +7 -6
- package/dist/collection/components/diwa-stepper-horizontal/types.js +0 -1
- package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item-styles.js +0 -1
- package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item.js +11 -10
- package/dist/collection/components/diwa-stepper-horizontal-item/types.js +0 -1
- package/dist/collection/components/diwa-switch/diwa-switch-styles.js +0 -1
- package/dist/collection/components/diwa-switch/diwa-switch.js +13 -11
- package/dist/collection/components/diwa-switch/types.js +0 -1
- package/dist/collection/components/diwa-table/diwa-table-styles.js +0 -1
- package/dist/collection/components/diwa-table/diwa-table.js +11 -10
- package/dist/collection/components/diwa-table-body/diwa-table-body-styles.js +0 -1
- package/dist/collection/components/diwa-table-body/diwa-table-body.js +4 -4
- package/dist/collection/components/diwa-table-cell/diwa-table-cell-styles.js +0 -1
- package/dist/collection/components/diwa-table-cell/diwa-table-cell.js +5 -5
- package/dist/collection/components/diwa-table-head/diwa-table-head-styles.js +0 -1
- package/dist/collection/components/diwa-table-head/diwa-table-head.js +4 -4
- package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell-styles.js +0 -1
- package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell.js +11 -10
- package/dist/collection/components/diwa-table-head-cell/types.js +0 -1
- package/dist/collection/components/diwa-table-row/diwa-table-row-styles.js +0 -1
- package/dist/collection/components/diwa-table-row/diwa-table-row.js +4 -4
- package/dist/collection/components/diwa-tabs/diwa-tabs-styles.js +0 -1
- package/dist/collection/components/diwa-tabs/diwa-tabs.js +7 -6
- package/dist/collection/components/diwa-tabs/types.js +0 -1
- package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar-styles.js +0 -1
- package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar.js +7 -6
- package/dist/collection/components/diwa-tabs-bar/types.js +0 -1
- package/dist/collection/components/diwa-tabs-item/diwa-tabs-item-styles.js +0 -1
- package/dist/collection/components/diwa-tabs-item/diwa-tabs-item.js +6 -6
- package/dist/collection/components/diwa-tag/diwa-tag-styles.js +0 -1
- package/dist/collection/components/diwa-tag/diwa-tag.js +10 -9
- package/dist/collection/components/diwa-tag/types.js +0 -1
- package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible-styles.js +0 -1
- package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible.js +9 -8
- package/dist/collection/components/diwa-tag-dismissible/types.js +0 -1
- package/dist/collection/components/diwa-text/diwa-text-styles.js +0 -1
- package/dist/collection/components/diwa-text/diwa-text.js +20 -15
- package/dist/collection/components/diwa-text/types.js +0 -1
- package/dist/collection/components/diwa-text-list/diwa-text-list-styles.js +0 -1
- package/dist/collection/components/diwa-text-list/diwa-text-list.js +7 -6
- package/dist/collection/components/diwa-text-list/types.js +0 -1
- package/dist/collection/components/diwa-text-list-item/diwa-text-list-item-styles.js +0 -1
- package/dist/collection/components/diwa-text-list-item/diwa-text-list-item.js +4 -4
- package/dist/collection/components/diwa-textarea/diwa-textarea-styles.js +0 -1
- package/dist/collection/components/diwa-textarea/diwa-textarea.js +26 -24
- package/dist/collection/components/diwa-textarea/types.js +0 -1
- package/dist/collection/components/diwa-toast/diwa-toast-manager.js +0 -1
- package/dist/collection/components/diwa-toast/diwa-toast-styles.js +0 -1
- package/dist/collection/components/diwa-toast/diwa-toast.js +6 -5
- package/dist/collection/components/diwa-toast/types.js +0 -1
- package/dist/collection/components/diwa-toast-item/diwa-toast-item-styles.js +0 -1
- package/dist/collection/components/diwa-toast-item/diwa-toast-item.js +8 -7
- package/dist/collection/components/diwa-toast-item/types.js +0 -1
- package/dist/collection/styles/index.js +0 -1
- package/dist/collection/utils/checkbox-mark.js +0 -1
- package/dist/collection/utils/styles.js +0 -1
- package/dist/diwa-components/diwa-components.esm.js +1 -2
- package/dist/diwa-components/index.esm.js +0 -2
- package/dist/diwa-components/p-0464bec9.entry.js +1 -0
- package/dist/diwa-components/p-0b64284f.entry.js +1 -0
- package/dist/diwa-components/p-1444a9ab.entry.js +1 -0
- package/dist/diwa-components/p-1477c011.entry.js +1 -0
- package/dist/diwa-components/p-1fd1e80f.entry.js +1 -0
- package/dist/diwa-components/p-2c91a89f.entry.js +1 -0
- package/dist/diwa-components/p-2df54c74.entry.js +1 -0
- package/dist/diwa-components/p-31a1a9d0.entry.js +1 -0
- package/dist/diwa-components/p-32f6f60f.entry.js +1 -0
- package/dist/diwa-components/p-3470cacf.entry.js +1 -0
- package/dist/diwa-components/p-3646d89c.entry.js +1 -0
- package/dist/diwa-components/p-381a9636.entry.js +1 -0
- package/dist/diwa-components/p-42c2e78f.entry.js +1 -0
- package/dist/diwa-components/p-441b5572.entry.js +20 -0
- package/dist/diwa-components/p-4eb10d53.entry.js +1 -0
- package/dist/diwa-components/p-56065aae.entry.js +1 -0
- package/dist/diwa-components/p-5ac35f24.entry.js +1 -0
- package/dist/diwa-components/p-5f3eb06c.entry.js +1 -0
- package/dist/diwa-components/p-5f6acee8.entry.js +1 -0
- package/dist/diwa-components/p-60b7d800.entry.js +1 -0
- package/dist/diwa-components/p-62ceff1c.entry.js +1 -0
- package/dist/diwa-components/p-64eba4ff.entry.js +1 -0
- package/dist/diwa-components/p-666a454d.entry.js +1 -0
- package/dist/diwa-components/p-66e52853.entry.js +1 -0
- package/dist/diwa-components/p-6854dbc2.entry.js +1 -0
- package/dist/diwa-components/p-705e3591.entry.js +1 -0
- package/dist/diwa-components/p-751c1cec.entry.js +1 -0
- package/dist/diwa-components/p-75fc7b78.entry.js +1 -0
- package/dist/diwa-components/p-7685a36c.entry.js +1 -0
- package/dist/diwa-components/p-79285ede.entry.js +1 -0
- package/dist/diwa-components/p-7f8b0415.entry.js +1 -0
- package/dist/diwa-components/p-8382b5c1.entry.js +1 -0
- package/dist/diwa-components/p-83f30c46.entry.js +1 -0
- package/dist/diwa-components/p-8935224c.entry.js +1 -0
- package/dist/diwa-components/p-8dc451e9.entry.js +1 -0
- package/dist/diwa-components/{p-87932af2.entry.js → p-90908708.entry.js} +1 -2
- package/dist/diwa-components/p-93c272e7.entry.js +1 -0
- package/dist/diwa-components/p-BwlWwC6a.js +1 -0
- package/dist/diwa-components/p-Bxp9mYAq.js +1 -0
- package/dist/{esm/loader-circle-300f00a4.js → diwa-components/p-C2RYv3Oc.js} +1 -6
- package/dist/diwa-components/p-C8h0Vfqp.js +1 -0
- package/dist/diwa-components/p-aca3021c.entry.js +1 -0
- package/dist/diwa-components/p-af3c7852.entry.js +1 -0
- package/dist/diwa-components/p-af5ea6ca.entry.js +1 -0
- package/dist/diwa-components/p-b6ac25e9.entry.js +1 -0
- package/dist/diwa-components/p-b703e5ba.entry.js +1 -0
- package/dist/diwa-components/p-b731e0ff.entry.js +1 -0
- package/dist/diwa-components/p-b8033105.entry.js +1 -0
- package/dist/diwa-components/p-b9405336.entry.js +1 -0
- package/dist/diwa-components/p-beddaf7c.entry.js +1 -0
- package/dist/diwa-components/p-c3f84fe0.entry.js +1 -0
- package/dist/diwa-components/p-c976a4f6.entry.js +1 -0
- package/dist/diwa-components/p-cf210625.entry.js +1 -0
- package/dist/diwa-components/p-d2bbb7e5.entry.js +1 -0
- package/dist/diwa-components/p-d5854ff6.entry.js +1 -0
- package/dist/diwa-components/p-da77bfd3.entry.js +1 -0
- package/dist/diwa-components/p-e4899408.entry.js +1 -0
- package/dist/diwa-components/p-e9087552.entry.js +1 -0
- package/dist/diwa-components/p-eecd810e.entry.js +1 -0
- package/dist/diwa-components/p-f1f5912b.entry.js +1 -0
- package/dist/diwa-components/p-f3d75c79.entry.js +1 -0
- package/dist/diwa-components/p-faa007fa.entry.js +1 -0
- package/dist/diwa-components/p-rIMpxxZG.js +2 -0
- package/{dist-custom-elements/p-332838f8.js → dist/esm/checkbox-mark-Bxp9mYAq.js} +0 -2
- package/dist/esm/diwa-accordion.entry.js +2 -4
- package/dist/esm/diwa-badge.entry.js +47 -7
- package/dist/esm/diwa-button-pure.entry.js +3 -5
- package/dist/esm/diwa-button.entry.js +3 -5
- package/dist/esm/diwa-checkbox.entry.js +7 -7
- package/dist/esm/diwa-components.js +5 -7
- package/dist/esm/diwa-divider.entry.js +2 -4
- package/dist/esm/diwa-flyout.entry.js +6 -6
- package/dist/esm/diwa-heading.entry.js +2 -4
- package/dist/esm/diwa-icon.entry.js +554 -556
- package/dist/esm/diwa-inline-notification.entry.js +2 -4
- package/dist/esm/diwa-input-date.entry.js +4 -6
- package/dist/esm/diwa-input-email.entry.js +4 -6
- package/dist/esm/diwa-input-month.entry.js +4 -6
- package/dist/esm/diwa-input-number.entry.js +4 -6
- package/dist/esm/diwa-input-password.entry.js +4 -6
- package/dist/esm/diwa-input-search.entry.js +4 -6
- package/dist/esm/diwa-input-tel.entry.js +4 -6
- package/dist/esm/diwa-input-text.entry.js +4 -6
- package/dist/esm/diwa-input-time.entry.js +4 -6
- package/dist/esm/diwa-input-url.entry.js +4 -6
- package/dist/esm/diwa-input-week.entry.js +4 -6
- package/dist/esm/diwa-input.entry.js +3 -5
- package/dist/esm/diwa-link-pure.entry.js +3 -5
- package/dist/esm/diwa-link.entry.js +3 -5
- package/dist/esm/diwa-modal.entry.js +6 -6
- package/dist/esm/diwa-multi-select-option.entry.js +13 -9
- package/dist/esm/diwa-multi-select.entry.js +16 -10
- package/dist/esm/diwa-pagination.entry.js +3 -5
- package/dist/esm/diwa-pin-code.entry.js +4 -6
- package/dist/esm/diwa-popover.entry.js +3 -5
- package/dist/esm/diwa-radio-group-item.entry.js +6 -6
- package/dist/esm/diwa-radio-group.entry.js +2 -4
- package/dist/esm/diwa-scroller.entry.js +3 -5
- package/dist/esm/diwa-segmented-control-item.entry.js +3 -5
- package/dist/esm/diwa-segmented-control.entry.js +2 -4
- package/dist/esm/diwa-select-option.entry.js +3 -5
- package/dist/esm/diwa-select.entry.js +15 -9
- package/dist/esm/diwa-spinner.entry.js +4 -6
- package/dist/esm/diwa-stepper-horizontal-item.entry.js +2 -4
- package/dist/esm/diwa-stepper-horizontal.entry.js +5 -5
- package/dist/esm/diwa-switch.entry.js +3 -5
- package/dist/esm/diwa-table-body.entry.js +2 -4
- package/dist/esm/diwa-table-cell.entry.js +2 -4
- package/dist/esm/diwa-table-head-cell.entry.js +5 -7
- package/dist/esm/diwa-table-head.entry.js +2 -4
- package/dist/esm/diwa-table-row.entry.js +2 -4
- package/dist/esm/diwa-table.entry.js +2 -4
- package/dist/esm/diwa-tabs-bar.entry.js +6 -6
- package/dist/esm/diwa-tabs-item.entry.js +2 -4
- package/dist/esm/diwa-tabs.entry.js +6 -6
- package/dist/esm/diwa-tag-dismissible.entry.js +3 -5
- package/dist/esm/diwa-tag.entry.js +2 -4
- package/dist/esm/diwa-text-list-item.entry.js +2 -4
- package/dist/esm/diwa-text-list.entry.js +2 -4
- package/dist/esm/diwa-text.entry.js +2 -4
- package/dist/esm/diwa-textarea.entry.js +3 -5
- package/dist/esm/diwa-toast-item.entry.js +3 -5
- package/dist/esm/diwa-toast.entry.js +2 -4
- package/dist/esm/index-rIMpxxZG.js +1622 -0
- package/dist/esm/index.js +0 -2
- package/{dist-custom-elements/p-35c7c864.js → dist/esm/input-styles-C-F9Vg7B.js} +1 -3
- package/{dist-custom-elements/p-ac8e14be.js → dist/esm/loader-circle-C2RYv3Oc.js} +0 -2
- package/dist/esm/loader.js +3 -6
- package/{dist-custom-elements/p-70bbb21a.js → dist/esm/styles-C8h0Vfqp.js} +1 -3
- package/dist/types/components/diwa-badge/diwa-badge.d.ts +11 -3
- package/dist/types/components.d.ts +2123 -128
- package/dist/types/stencil-public-runtime.d.ts +192 -12
- package/dist-custom-elements/diwa-accordion.js +1 -244
- package/dist-custom-elements/diwa-badge.js +1 -123
- package/dist-custom-elements/diwa-button-pure.js +1 -8
- package/dist-custom-elements/diwa-button.js +1 -455
- package/dist-custom-elements/diwa-checkbox.js +1 -315
- package/dist-custom-elements/diwa-divider.js +1 -85
- package/dist-custom-elements/diwa-flyout.js +1 -238
- package/dist-custom-elements/diwa-heading.js +1 -149
- package/dist-custom-elements/diwa-icon.js +1 -8
- package/dist-custom-elements/diwa-inline-notification.js +1 -214
- package/dist-custom-elements/diwa-input-date.js +1 -91
- package/dist-custom-elements/diwa-input-email.js +1 -89
- package/dist-custom-elements/diwa-input-month.js +1 -91
- package/dist-custom-elements/diwa-input-number.js +1 -92
- package/dist-custom-elements/diwa-input-password.js +1 -105
- package/dist-custom-elements/diwa-input-search.js +1 -104
- package/dist-custom-elements/diwa-input-tel.js +1 -89
- package/dist-custom-elements/diwa-input-text.js +1 -94
- package/dist-custom-elements/diwa-input-time.js +1 -92
- package/dist-custom-elements/diwa-input-url.js +1 -89
- package/dist-custom-elements/diwa-input-week.js +1 -91
- package/dist-custom-elements/diwa-input.js +1 -268
- package/dist-custom-elements/diwa-link-pure.js +1 -217
- package/dist-custom-elements/diwa-link.js +1 -258
- package/dist-custom-elements/diwa-modal.js +1 -431
- package/dist-custom-elements/diwa-multi-select-option.js +1 -199
- package/dist-custom-elements/diwa-multi-select.js +1 -683
- package/dist-custom-elements/diwa-pagination.js +1 -329
- package/dist-custom-elements/diwa-pin-code.js +1 -220
- package/dist-custom-elements/diwa-popover.js +1 -122
- package/dist-custom-elements/diwa-radio-group-item.js +1 -160
- package/dist-custom-elements/diwa-radio-group.js +1 -178
- package/dist-custom-elements/diwa-scroller.js +1 -185
- package/dist-custom-elements/diwa-segmented-control-item.js +1 -98
- package/dist-custom-elements/diwa-segmented-control.js +1 -88
- package/dist-custom-elements/diwa-select-option.js +1 -185
- package/dist-custom-elements/diwa-select.js +1 -614
- package/dist-custom-elements/diwa-spinner.js +1 -8
- package/dist-custom-elements/diwa-stepper-horizontal-item.js +1 -140
- package/dist-custom-elements/diwa-stepper-horizontal.js +1 -98
- package/dist-custom-elements/diwa-switch.js +1 -162
- package/dist-custom-elements/diwa-table-body.js +1 -44
- package/dist-custom-elements/diwa-table-cell.js +1 -54
- package/dist-custom-elements/diwa-table-head-cell.js +1 -131
- package/dist-custom-elements/diwa-table-head.js +1 -53
- package/dist-custom-elements/diwa-table-row.js +1 -48
- package/dist-custom-elements/diwa-table.js +1 -135
- package/dist-custom-elements/diwa-tabs-bar.js +1 -251
- package/dist-custom-elements/diwa-tabs-item.js +1 -56
- package/dist-custom-elements/diwa-tabs.js +1 -137
- package/dist-custom-elements/diwa-tag-dismissible.js +1 -132
- package/dist-custom-elements/diwa-tag.js +1 -118
- package/dist-custom-elements/diwa-text-list-item.js +1 -51
- package/dist-custom-elements/diwa-text-list.js +1 -67
- package/dist-custom-elements/diwa-text.js +1 -110
- package/dist-custom-elements/diwa-textarea.js +1 -191
- package/dist-custom-elements/diwa-toast-item.js +1 -8
- package/dist-custom-elements/diwa-toast.js +1 -191
- package/dist-custom-elements/index.js +1 -3
- package/dist-custom-elements/p--KdL_8_k.js +1 -0
- package/dist-custom-elements/p-BwlWwC6a.js +1 -0
- package/dist-custom-elements/p-Bxp9mYAq.js +1 -0
- package/{dist/diwa-components/p-ac8e14be.js → dist-custom-elements/p-C2RYv3Oc.js} +1 -2
- package/dist-custom-elements/p-C3hNpgqg.js +1 -0
- package/dist-custom-elements/p-C8h0Vfqp.js +1 -0
- package/dist-custom-elements/p-DOo0FY37.js +20 -0
- package/dist-custom-elements/p-DzqnTNg7.js +1 -0
- package/package.json +3 -3
- package/dist/cjs/app-globals-3a1e7e63.js +0 -7
- package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
- package/dist/cjs/checkbox-mark-06d56fe2.js.map +0 -1
- package/dist/cjs/diwa-accordion.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-badge.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-button-pure.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-button.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-components.cjs.js.map +0 -1
- package/dist/cjs/diwa-divider.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-flyout.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-heading.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-icon.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-inline-notification.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-input-date.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-input-email.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-input-month.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-input-number.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-input-password.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-input-search.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-input-tel.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-input-text.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-input-time.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-input-url.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-input-week.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-input.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-link-pure.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-link.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-multi-select-option.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-multi-select.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-pagination.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-pin-code.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-popover.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-radio-group-item.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-radio-group.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-scroller.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-segmented-control-item.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-segmented-control.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-select-option.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-select.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-spinner.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-stepper-horizontal-item.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-stepper-horizontal.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-switch.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-table-body.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-table-cell.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-table-head-cell.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-table-head.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-table-row.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-table.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-tabs-bar.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-tabs-item.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-tabs.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-tag-dismissible.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-tag.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-text-list-item.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-text-list.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-text.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-textarea.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-toast-item.cjs.entry.js.map +0 -1
- package/dist/cjs/diwa-toast.cjs.entry.js.map +0 -1
- package/dist/cjs/index-d665fd57.js +0 -1409
- package/dist/cjs/index-d665fd57.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/input-styles-bac68ebc.js.map +0 -1
- package/dist/cjs/loader-circle-938f782b.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/styles-6342300d.js.map +0 -1
- package/dist/collection/components/diwa-accordion/diwa-accordion-styles.js.map +0 -1
- package/dist/collection/components/diwa-accordion/diwa-accordion.js.map +0 -1
- package/dist/collection/components/diwa-accordion/types.js.map +0 -1
- package/dist/collection/components/diwa-badge/diwa-badge-styles.js.map +0 -1
- package/dist/collection/components/diwa-badge/diwa-badge.js.map +0 -1
- package/dist/collection/components/diwa-badge/types.js.map +0 -1
- package/dist/collection/components/diwa-button/diwa-button-styles.js.map +0 -1
- package/dist/collection/components/diwa-button/diwa-button-utils.js.map +0 -1
- package/dist/collection/components/diwa-button/diwa-button.js.map +0 -1
- package/dist/collection/components/diwa-button/types.js.map +0 -1
- package/dist/collection/components/diwa-button-pure/diwa-button-pure-styles.js.map +0 -1
- package/dist/collection/components/diwa-button-pure/diwa-button-pure-utils.js.map +0 -1
- package/dist/collection/components/diwa-button-pure/diwa-button-pure.js.map +0 -1
- package/dist/collection/components/diwa-button-pure/types.js.map +0 -1
- package/dist/collection/components/diwa-checkbox/diwa-checkbox-styles.js.map +0 -1
- package/dist/collection/components/diwa-checkbox/diwa-checkbox.js.map +0 -1
- package/dist/collection/components/diwa-checkbox/types.js.map +0 -1
- package/dist/collection/components/diwa-divider/diwa-divider-styles.js.map +0 -1
- package/dist/collection/components/diwa-divider/diwa-divider.js.map +0 -1
- package/dist/collection/components/diwa-divider/types.js.map +0 -1
- package/dist/collection/components/diwa-flyout/diwa-flyout-styles.js.map +0 -1
- package/dist/collection/components/diwa-flyout/diwa-flyout.js.map +0 -1
- package/dist/collection/components/diwa-flyout/types.js.map +0 -1
- package/dist/collection/components/diwa-heading/diwa-heading-styles.js.map +0 -1
- package/dist/collection/components/diwa-heading/diwa-heading-utils.js.map +0 -1
- package/dist/collection/components/diwa-heading/diwa-heading.js.map +0 -1
- package/dist/collection/components/diwa-heading/types.js.map +0 -1
- package/dist/collection/components/diwa-icon/diwa-icon-styles.js.map +0 -1
- package/dist/collection/components/diwa-icon/diwa-icon.js.map +0 -1
- package/dist/collection/components/diwa-icon/types.js.map +0 -1
- package/dist/collection/components/diwa-inline-notification/diwa-inline-notification-styles.js.map +0 -1
- package/dist/collection/components/diwa-inline-notification/diwa-inline-notification.js.map +0 -1
- package/dist/collection/components/diwa-inline-notification/types.js.map +0 -1
- package/dist/collection/components/diwa-input/diwa-input-styles.js.map +0 -1
- package/dist/collection/components/diwa-input/diwa-input.js.map +0 -1
- package/dist/collection/components/diwa-input/input-styles.js.map +0 -1
- package/dist/collection/components/diwa-input/types.js.map +0 -1
- package/dist/collection/components/diwa-input-date/diwa-input-date-styles.js.map +0 -1
- package/dist/collection/components/diwa-input-date/diwa-input-date.js.map +0 -1
- package/dist/collection/components/diwa-input-email/diwa-input-email-styles.js.map +0 -1
- package/dist/collection/components/diwa-input-email/diwa-input-email.js.map +0 -1
- package/dist/collection/components/diwa-input-month/diwa-input-month-styles.js.map +0 -1
- package/dist/collection/components/diwa-input-month/diwa-input-month.js.map +0 -1
- package/dist/collection/components/diwa-input-number/diwa-input-number-styles.js.map +0 -1
- package/dist/collection/components/diwa-input-number/diwa-input-number.js.map +0 -1
- package/dist/collection/components/diwa-input-password/diwa-input-password-styles.js.map +0 -1
- package/dist/collection/components/diwa-input-password/diwa-input-password.js.map +0 -1
- package/dist/collection/components/diwa-input-search/diwa-input-search-styles.js.map +0 -1
- package/dist/collection/components/diwa-input-search/diwa-input-search.js.map +0 -1
- package/dist/collection/components/diwa-input-tel/diwa-input-tel-styles.js.map +0 -1
- package/dist/collection/components/diwa-input-tel/diwa-input-tel.js.map +0 -1
- package/dist/collection/components/diwa-input-text/diwa-input-text-styles.js.map +0 -1
- package/dist/collection/components/diwa-input-text/diwa-input-text.js.map +0 -1
- package/dist/collection/components/diwa-input-time/diwa-input-time-styles.js.map +0 -1
- package/dist/collection/components/diwa-input-time/diwa-input-time.js.map +0 -1
- package/dist/collection/components/diwa-input-url/diwa-input-url-styles.js.map +0 -1
- package/dist/collection/components/diwa-input-url/diwa-input-url.js.map +0 -1
- package/dist/collection/components/diwa-input-week/diwa-input-week-styles.js.map +0 -1
- package/dist/collection/components/diwa-input-week/diwa-input-week.js.map +0 -1
- package/dist/collection/components/diwa-link/diwa-link-styles.js.map +0 -1
- package/dist/collection/components/diwa-link/diwa-link.js.map +0 -1
- package/dist/collection/components/diwa-link/types.js.map +0 -1
- package/dist/collection/components/diwa-link-pure/diwa-link-pure-styles.js.map +0 -1
- package/dist/collection/components/diwa-link-pure/diwa-link-pure.js.map +0 -1
- package/dist/collection/components/diwa-link-pure/types.js.map +0 -1
- package/dist/collection/components/diwa-modal/diwa-modal-styles.js.map +0 -1
- package/dist/collection/components/diwa-modal/diwa-modal-utils.js.map +0 -1
- package/dist/collection/components/diwa-modal/diwa-modal.js.map +0 -1
- package/dist/collection/components/diwa-modal/types.js.map +0 -1
- package/dist/collection/components/diwa-multi-select/diwa-multi-select-styles.js.map +0 -1
- package/dist/collection/components/diwa-multi-select/diwa-multi-select.js.map +0 -1
- package/dist/collection/components/diwa-multi-select/types.js.map +0 -1
- package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option-styles.js.map +0 -1
- package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option.js.map +0 -1
- package/dist/collection/components/diwa-multi-select-option/types.js.map +0 -1
- package/dist/collection/components/diwa-pagination/diwa-pagination-styles.js.map +0 -1
- package/dist/collection/components/diwa-pagination/diwa-pagination-utils.js.map +0 -1
- package/dist/collection/components/diwa-pagination/diwa-pagination.js.map +0 -1
- package/dist/collection/components/diwa-pagination/types.js.map +0 -1
- package/dist/collection/components/diwa-pin-code/diwa-pin-code-styles.js.map +0 -1
- package/dist/collection/components/diwa-pin-code/diwa-pin-code.js.map +0 -1
- package/dist/collection/components/diwa-pin-code/types.js.map +0 -1
- package/dist/collection/components/diwa-popover/diwa-popover-styles.js.map +0 -1
- package/dist/collection/components/diwa-popover/diwa-popover.js.map +0 -1
- package/dist/collection/components/diwa-popover/types.js.map +0 -1
- package/dist/collection/components/diwa-radio-group/diwa-radio-group-styles.js.map +0 -1
- package/dist/collection/components/diwa-radio-group/diwa-radio-group.js.map +0 -1
- package/dist/collection/components/diwa-radio-group/types.js.map +0 -1
- package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item-styles.js.map +0 -1
- package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item.js.map +0 -1
- package/dist/collection/components/diwa-radio-group-item/types.js.map +0 -1
- package/dist/collection/components/diwa-scroller/diwa-scroller-styles.js.map +0 -1
- package/dist/collection/components/diwa-scroller/diwa-scroller.js.map +0 -1
- package/dist/collection/components/diwa-scroller/types.js.map +0 -1
- package/dist/collection/components/diwa-segmented-control/diwa-segmented-control-styles.js.map +0 -1
- package/dist/collection/components/diwa-segmented-control/diwa-segmented-control.js.map +0 -1
- package/dist/collection/components/diwa-segmented-control/types.js.map +0 -1
- package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item-styles.js.map +0 -1
- package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item.js.map +0 -1
- package/dist/collection/components/diwa-segmented-control-item/types.js.map +0 -1
- package/dist/collection/components/diwa-select/diwa-select-styles.js.map +0 -1
- package/dist/collection/components/diwa-select/diwa-select.js.map +0 -1
- package/dist/collection/components/diwa-select/types.js.map +0 -1
- package/dist/collection/components/diwa-select-option/diwa-select-option-styles.js.map +0 -1
- package/dist/collection/components/diwa-select-option/diwa-select-option.js.map +0 -1
- package/dist/collection/components/diwa-select-option/types.js.map +0 -1
- package/dist/collection/components/diwa-spinner/diwa-spinner-styles.js.map +0 -1
- package/dist/collection/components/diwa-spinner/diwa-spinner.js.map +0 -1
- package/dist/collection/components/diwa-spinner/types.js.map +0 -1
- package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal-styles.js.map +0 -1
- package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal.js.map +0 -1
- package/dist/collection/components/diwa-stepper-horizontal/types.js.map +0 -1
- package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item-styles.js.map +0 -1
- package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item.js.map +0 -1
- package/dist/collection/components/diwa-stepper-horizontal-item/types.js.map +0 -1
- package/dist/collection/components/diwa-switch/diwa-switch-styles.js.map +0 -1
- package/dist/collection/components/diwa-switch/diwa-switch.js.map +0 -1
- package/dist/collection/components/diwa-switch/types.js.map +0 -1
- package/dist/collection/components/diwa-table/diwa-table-styles.js.map +0 -1
- package/dist/collection/components/diwa-table/diwa-table.js.map +0 -1
- package/dist/collection/components/diwa-table-body/diwa-table-body-styles.js.map +0 -1
- package/dist/collection/components/diwa-table-body/diwa-table-body.js.map +0 -1
- package/dist/collection/components/diwa-table-cell/diwa-table-cell-styles.js.map +0 -1
- package/dist/collection/components/diwa-table-cell/diwa-table-cell.js.map +0 -1
- package/dist/collection/components/diwa-table-head/diwa-table-head-styles.js.map +0 -1
- package/dist/collection/components/diwa-table-head/diwa-table-head.js.map +0 -1
- package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell-styles.js.map +0 -1
- package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell.js.map +0 -1
- package/dist/collection/components/diwa-table-head-cell/types.js.map +0 -1
- package/dist/collection/components/diwa-table-row/diwa-table-row-styles.js.map +0 -1
- package/dist/collection/components/diwa-table-row/diwa-table-row.js.map +0 -1
- package/dist/collection/components/diwa-tabs/diwa-tabs-styles.js.map +0 -1
- package/dist/collection/components/diwa-tabs/diwa-tabs.js.map +0 -1
- package/dist/collection/components/diwa-tabs/types.js.map +0 -1
- package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar-styles.js.map +0 -1
- package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar.js.map +0 -1
- package/dist/collection/components/diwa-tabs-bar/types.js.map +0 -1
- package/dist/collection/components/diwa-tabs-item/diwa-tabs-item-styles.js.map +0 -1
- package/dist/collection/components/diwa-tabs-item/diwa-tabs-item.js.map +0 -1
- package/dist/collection/components/diwa-tabs-item/types.js.map +0 -1
- package/dist/collection/components/diwa-tag/diwa-tag-styles.js.map +0 -1
- package/dist/collection/components/diwa-tag/diwa-tag.js.map +0 -1
- package/dist/collection/components/diwa-tag/types.js.map +0 -1
- package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible-styles.js.map +0 -1
- package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible.js.map +0 -1
- package/dist/collection/components/diwa-tag-dismissible/types.js.map +0 -1
- package/dist/collection/components/diwa-text/diwa-text-styles.js.map +0 -1
- package/dist/collection/components/diwa-text/diwa-text.js.map +0 -1
- package/dist/collection/components/diwa-text/types.js.map +0 -1
- package/dist/collection/components/diwa-text-list/diwa-text-list-styles.js.map +0 -1
- package/dist/collection/components/diwa-text-list/diwa-text-list.js.map +0 -1
- package/dist/collection/components/diwa-text-list/types.js.map +0 -1
- package/dist/collection/components/diwa-text-list-item/diwa-text-list-item-styles.js.map +0 -1
- package/dist/collection/components/diwa-text-list-item/diwa-text-list-item.js.map +0 -1
- package/dist/collection/components/diwa-text-list-item/types.js.map +0 -1
- package/dist/collection/components/diwa-textarea/diwa-textarea-styles.js.map +0 -1
- package/dist/collection/components/diwa-textarea/diwa-textarea.js.map +0 -1
- package/dist/collection/components/diwa-textarea/types.js.map +0 -1
- package/dist/collection/components/diwa-toast/diwa-toast-manager.js.map +0 -1
- package/dist/collection/components/diwa-toast/diwa-toast-styles.js.map +0 -1
- package/dist/collection/components/diwa-toast/diwa-toast.js.map +0 -1
- package/dist/collection/components/diwa-toast/types.js.map +0 -1
- package/dist/collection/components/diwa-toast-item/diwa-toast-item-styles.js.map +0 -1
- package/dist/collection/components/diwa-toast-item/diwa-toast-item.js.map +0 -1
- package/dist/collection/components/diwa-toast-item/types.js.map +0 -1
- package/dist/collection/styles/index.js.map +0 -1
- package/dist/collection/utils/checkbox-mark.js.map +0 -1
- package/dist/collection/utils/styles.js.map +0 -1
- package/dist/diwa-components/diwa-components.esm.js.map +0 -1
- package/dist/diwa-components/index.esm.js.map +0 -1
- package/dist/diwa-components/p-084204ab.entry.js +0 -2
- package/dist/diwa-components/p-084204ab.entry.js.map +0 -1
- package/dist/diwa-components/p-09f2e643.entry.js +0 -2
- package/dist/diwa-components/p-09f2e643.entry.js.map +0 -1
- package/dist/diwa-components/p-117dc41d.entry.js +0 -2
- package/dist/diwa-components/p-117dc41d.entry.js.map +0 -1
- package/dist/diwa-components/p-1250d0c7.entry.js +0 -2
- package/dist/diwa-components/p-1250d0c7.entry.js.map +0 -1
- package/dist/diwa-components/p-13e71247.entry.js +0 -2
- package/dist/diwa-components/p-13e71247.entry.js.map +0 -1
- package/dist/diwa-components/p-1830772d.entry.js +0 -2
- package/dist/diwa-components/p-1830772d.entry.js.map +0 -1
- package/dist/diwa-components/p-1d708e1e.entry.js +0 -2
- package/dist/diwa-components/p-1d708e1e.entry.js.map +0 -1
- package/dist/diwa-components/p-230692aa.entry.js +0 -2
- package/dist/diwa-components/p-230692aa.entry.js.map +0 -1
- package/dist/diwa-components/p-238da82a.entry.js +0 -2
- package/dist/diwa-components/p-238da82a.entry.js.map +0 -1
- package/dist/diwa-components/p-29419c9a.entry.js +0 -2
- package/dist/diwa-components/p-29419c9a.entry.js.map +0 -1
- package/dist/diwa-components/p-3269a4b7.entry.js +0 -10220
- package/dist/diwa-components/p-3269a4b7.entry.js.map +0 -1
- package/dist/diwa-components/p-332838f8.js +0 -2
- package/dist/diwa-components/p-332838f8.js.map +0 -1
- package/dist/diwa-components/p-35b69160.entry.js +0 -2
- package/dist/diwa-components/p-35b69160.entry.js.map +0 -1
- package/dist/diwa-components/p-35c7c864.js +0 -2
- package/dist/diwa-components/p-35c7c864.js.map +0 -1
- package/dist/diwa-components/p-3660b09a.entry.js +0 -2
- package/dist/diwa-components/p-3660b09a.entry.js.map +0 -1
- package/dist/diwa-components/p-36b004e9.entry.js +0 -2
- package/dist/diwa-components/p-36b004e9.entry.js.map +0 -1
- package/dist/diwa-components/p-37e1bea3.entry.js +0 -2
- package/dist/diwa-components/p-37e1bea3.entry.js.map +0 -1
- package/dist/diwa-components/p-3b38fa01.entry.js +0 -2
- package/dist/diwa-components/p-3b38fa01.entry.js.map +0 -1
- package/dist/diwa-components/p-3fb5cc30.entry.js +0 -2
- package/dist/diwa-components/p-3fb5cc30.entry.js.map +0 -1
- package/dist/diwa-components/p-429c596d.entry.js +0 -2
- package/dist/diwa-components/p-429c596d.entry.js.map +0 -1
- package/dist/diwa-components/p-50866c5a.entry.js +0 -2
- package/dist/diwa-components/p-50866c5a.entry.js.map +0 -1
- package/dist/diwa-components/p-5a597e27.entry.js +0 -2
- package/dist/diwa-components/p-5a597e27.entry.js.map +0 -1
- package/dist/diwa-components/p-5f9139bc.entry.js +0 -2
- package/dist/diwa-components/p-5f9139bc.entry.js.map +0 -1
- package/dist/diwa-components/p-66c15f66.entry.js +0 -2
- package/dist/diwa-components/p-66c15f66.entry.js.map +0 -1
- package/dist/diwa-components/p-66c53adc.entry.js +0 -2
- package/dist/diwa-components/p-66c53adc.entry.js.map +0 -1
- package/dist/diwa-components/p-70bbb21a.js +0 -2
- package/dist/diwa-components/p-70bbb21a.js.map +0 -1
- package/dist/diwa-components/p-71c45961.entry.js +0 -2
- package/dist/diwa-components/p-71c45961.entry.js.map +0 -1
- package/dist/diwa-components/p-78b16866.entry.js +0 -2
- package/dist/diwa-components/p-78b16866.entry.js.map +0 -1
- package/dist/diwa-components/p-7a99a2aa.entry.js +0 -2
- package/dist/diwa-components/p-7a99a2aa.entry.js.map +0 -1
- package/dist/diwa-components/p-7dc7291f.entry.js +0 -2
- package/dist/diwa-components/p-7dc7291f.entry.js.map +0 -1
- package/dist/diwa-components/p-8369c48e.entry.js +0 -2
- package/dist/diwa-components/p-8369c48e.entry.js.map +0 -1
- package/dist/diwa-components/p-8506ea0c.entry.js +0 -2
- package/dist/diwa-components/p-8506ea0c.entry.js.map +0 -1
- package/dist/diwa-components/p-863c88a4.entry.js +0 -2
- package/dist/diwa-components/p-863c88a4.entry.js.map +0 -1
- package/dist/diwa-components/p-87932af2.entry.js.map +0 -1
- package/dist/diwa-components/p-8afa6931.entry.js +0 -2
- package/dist/diwa-components/p-8afa6931.entry.js.map +0 -1
- package/dist/diwa-components/p-926e283b.entry.js +0 -2
- package/dist/diwa-components/p-926e283b.entry.js.map +0 -1
- package/dist/diwa-components/p-952af214.entry.js +0 -2
- package/dist/diwa-components/p-952af214.entry.js.map +0 -1
- package/dist/diwa-components/p-95b0fdea.entry.js +0 -2
- package/dist/diwa-components/p-95b0fdea.entry.js.map +0 -1
- package/dist/diwa-components/p-9910d570.entry.js +0 -2
- package/dist/diwa-components/p-9910d570.entry.js.map +0 -1
- package/dist/diwa-components/p-998dd88e.entry.js +0 -2
- package/dist/diwa-components/p-998dd88e.entry.js.map +0 -1
- package/dist/diwa-components/p-9ade0403.entry.js +0 -2
- package/dist/diwa-components/p-9ade0403.entry.js.map +0 -1
- package/dist/diwa-components/p-9c89e586.entry.js +0 -2
- package/dist/diwa-components/p-9c89e586.entry.js.map +0 -1
- package/dist/diwa-components/p-9eef4779.entry.js +0 -2
- package/dist/diwa-components/p-9eef4779.entry.js.map +0 -1
- package/dist/diwa-components/p-ac8e14be.js.map +0 -1
- package/dist/diwa-components/p-b072ff72.entry.js +0 -2
- package/dist/diwa-components/p-b072ff72.entry.js.map +0 -1
- package/dist/diwa-components/p-bbede25d.entry.js +0 -2
- package/dist/diwa-components/p-bbede25d.entry.js.map +0 -1
- package/dist/diwa-components/p-bd501daa.entry.js +0 -2
- package/dist/diwa-components/p-bd501daa.entry.js.map +0 -1
- package/dist/diwa-components/p-c6ca8d8b.entry.js +0 -2
- package/dist/diwa-components/p-c6ca8d8b.entry.js.map +0 -1
- package/dist/diwa-components/p-c78591ce.entry.js +0 -2
- package/dist/diwa-components/p-c78591ce.entry.js.map +0 -1
- package/dist/diwa-components/p-cc0e1662.entry.js +0 -2
- package/dist/diwa-components/p-cc0e1662.entry.js.map +0 -1
- package/dist/diwa-components/p-d25377eb.entry.js +0 -2
- package/dist/diwa-components/p-d25377eb.entry.js.map +0 -1
- package/dist/diwa-components/p-d917625e.entry.js +0 -2
- package/dist/diwa-components/p-d917625e.entry.js.map +0 -1
- package/dist/diwa-components/p-db70e030.entry.js +0 -2
- package/dist/diwa-components/p-db70e030.entry.js.map +0 -1
- package/dist/diwa-components/p-def36bc4.entry.js +0 -2
- package/dist/diwa-components/p-def36bc4.entry.js.map +0 -1
- package/dist/diwa-components/p-e1255160.js +0 -2
- package/dist/diwa-components/p-e1255160.js.map +0 -1
- package/dist/diwa-components/p-e137afc9.entry.js +0 -2
- package/dist/diwa-components/p-e137afc9.entry.js.map +0 -1
- package/dist/diwa-components/p-e1935375.entry.js +0 -2
- package/dist/diwa-components/p-e1935375.entry.js.map +0 -1
- package/dist/diwa-components/p-e19ad9fa.entry.js +0 -2
- package/dist/diwa-components/p-e19ad9fa.entry.js.map +0 -1
- package/dist/diwa-components/p-e602c199.entry.js +0 -2
- package/dist/diwa-components/p-e602c199.entry.js.map +0 -1
- package/dist/diwa-components/p-e9673253.entry.js +0 -2
- package/dist/diwa-components/p-e9673253.entry.js.map +0 -1
- package/dist/diwa-components/p-ed4017f0.js +0 -3
- package/dist/diwa-components/p-ed4017f0.js.map +0 -1
- package/dist/diwa-components/p-f44d4091.entry.js +0 -2
- package/dist/diwa-components/p-f44d4091.entry.js.map +0 -1
- package/dist/diwa-components/p-f60f1d81.entry.js +0 -2
- package/dist/diwa-components/p-f60f1d81.entry.js.map +0 -1
- package/dist/diwa-components/p-fae653f7.entry.js +0 -2
- package/dist/diwa-components/p-fae653f7.entry.js.map +0 -1
- package/dist/esm/app-globals-0f993ce5.js +0 -5
- package/dist/esm/app-globals-0f993ce5.js.map +0 -1
- package/dist/esm/checkbox-mark-37be8b2e.js +0 -26
- package/dist/esm/checkbox-mark-37be8b2e.js.map +0 -1
- package/dist/esm/diwa-accordion.entry.js.map +0 -1
- package/dist/esm/diwa-badge.entry.js.map +0 -1
- package/dist/esm/diwa-button-pure.entry.js.map +0 -1
- package/dist/esm/diwa-button.entry.js.map +0 -1
- package/dist/esm/diwa-checkbox.entry.js.map +0 -1
- package/dist/esm/diwa-components.js.map +0 -1
- package/dist/esm/diwa-divider.entry.js.map +0 -1
- package/dist/esm/diwa-flyout.entry.js.map +0 -1
- package/dist/esm/diwa-heading.entry.js.map +0 -1
- package/dist/esm/diwa-icon.entry.js.map +0 -1
- package/dist/esm/diwa-inline-notification.entry.js.map +0 -1
- package/dist/esm/diwa-input-date.entry.js.map +0 -1
- package/dist/esm/diwa-input-email.entry.js.map +0 -1
- package/dist/esm/diwa-input-month.entry.js.map +0 -1
- package/dist/esm/diwa-input-number.entry.js.map +0 -1
- package/dist/esm/diwa-input-password.entry.js.map +0 -1
- package/dist/esm/diwa-input-search.entry.js.map +0 -1
- package/dist/esm/diwa-input-tel.entry.js.map +0 -1
- package/dist/esm/diwa-input-text.entry.js.map +0 -1
- package/dist/esm/diwa-input-time.entry.js.map +0 -1
- package/dist/esm/diwa-input-url.entry.js.map +0 -1
- package/dist/esm/diwa-input-week.entry.js.map +0 -1
- package/dist/esm/diwa-input.entry.js.map +0 -1
- package/dist/esm/diwa-link-pure.entry.js.map +0 -1
- package/dist/esm/diwa-link.entry.js.map +0 -1
- package/dist/esm/diwa-modal.entry.js.map +0 -1
- package/dist/esm/diwa-multi-select-option.entry.js.map +0 -1
- package/dist/esm/diwa-multi-select.entry.js.map +0 -1
- package/dist/esm/diwa-pagination.entry.js.map +0 -1
- package/dist/esm/diwa-pin-code.entry.js.map +0 -1
- package/dist/esm/diwa-popover.entry.js.map +0 -1
- package/dist/esm/diwa-radio-group-item.entry.js.map +0 -1
- package/dist/esm/diwa-radio-group.entry.js.map +0 -1
- package/dist/esm/diwa-scroller.entry.js.map +0 -1
- package/dist/esm/diwa-segmented-control-item.entry.js.map +0 -1
- package/dist/esm/diwa-segmented-control.entry.js.map +0 -1
- package/dist/esm/diwa-select-option.entry.js.map +0 -1
- package/dist/esm/diwa-select.entry.js.map +0 -1
- package/dist/esm/diwa-spinner.entry.js.map +0 -1
- package/dist/esm/diwa-stepper-horizontal-item.entry.js.map +0 -1
- package/dist/esm/diwa-stepper-horizontal.entry.js.map +0 -1
- package/dist/esm/diwa-switch.entry.js.map +0 -1
- package/dist/esm/diwa-table-body.entry.js.map +0 -1
- package/dist/esm/diwa-table-cell.entry.js.map +0 -1
- package/dist/esm/diwa-table-head-cell.entry.js.map +0 -1
- package/dist/esm/diwa-table-head.entry.js.map +0 -1
- package/dist/esm/diwa-table-row.entry.js.map +0 -1
- package/dist/esm/diwa-table.entry.js.map +0 -1
- package/dist/esm/diwa-tabs-bar.entry.js.map +0 -1
- package/dist/esm/diwa-tabs-item.entry.js.map +0 -1
- package/dist/esm/diwa-tabs.entry.js.map +0 -1
- package/dist/esm/diwa-tag-dismissible.entry.js.map +0 -1
- package/dist/esm/diwa-tag.entry.js.map +0 -1
- package/dist/esm/diwa-text-list-item.entry.js.map +0 -1
- package/dist/esm/diwa-text-list.entry.js.map +0 -1
- package/dist/esm/diwa-text.entry.js.map +0 -1
- package/dist/esm/diwa-textarea.entry.js.map +0 -1
- package/dist/esm/diwa-toast-item.entry.js.map +0 -1
- package/dist/esm/diwa-toast.entry.js.map +0 -1
- package/dist/esm/index-3fa02c74.js +0 -1379
- package/dist/esm/index-3fa02c74.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/input-styles-c4f4fa96.js +0 -222
- package/dist/esm/input-styles-c4f4fa96.js.map +0 -1
- package/dist/esm/loader-circle-300f00a4.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/styles-e5a47a2d.js +0 -73
- package/dist/esm/styles-e5a47a2d.js.map +0 -1
- package/dist-custom-elements/diwa-accordion.js.map +0 -1
- package/dist-custom-elements/diwa-badge.js.map +0 -1
- package/dist-custom-elements/diwa-button-pure.js.map +0 -1
- package/dist-custom-elements/diwa-button.js.map +0 -1
- package/dist-custom-elements/diwa-checkbox.js.map +0 -1
- package/dist-custom-elements/diwa-divider.js.map +0 -1
- package/dist-custom-elements/diwa-flyout.js.map +0 -1
- package/dist-custom-elements/diwa-heading.js.map +0 -1
- package/dist-custom-elements/diwa-icon.js.map +0 -1
- package/dist-custom-elements/diwa-inline-notification.js.map +0 -1
- package/dist-custom-elements/diwa-input-date.js.map +0 -1
- package/dist-custom-elements/diwa-input-email.js.map +0 -1
- package/dist-custom-elements/diwa-input-month.js.map +0 -1
- package/dist-custom-elements/diwa-input-number.js.map +0 -1
- package/dist-custom-elements/diwa-input-password.js.map +0 -1
- package/dist-custom-elements/diwa-input-search.js.map +0 -1
- package/dist-custom-elements/diwa-input-tel.js.map +0 -1
- package/dist-custom-elements/diwa-input-text.js.map +0 -1
- package/dist-custom-elements/diwa-input-time.js.map +0 -1
- package/dist-custom-elements/diwa-input-url.js.map +0 -1
- package/dist-custom-elements/diwa-input-week.js.map +0 -1
- package/dist-custom-elements/diwa-input.js.map +0 -1
- package/dist-custom-elements/diwa-link-pure.js.map +0 -1
- package/dist-custom-elements/diwa-link.js.map +0 -1
- package/dist-custom-elements/diwa-modal.js.map +0 -1
- package/dist-custom-elements/diwa-multi-select-option.js.map +0 -1
- package/dist-custom-elements/diwa-multi-select.js.map +0 -1
- package/dist-custom-elements/diwa-pagination.js.map +0 -1
- package/dist-custom-elements/diwa-pin-code.js.map +0 -1
- package/dist-custom-elements/diwa-popover.js.map +0 -1
- package/dist-custom-elements/diwa-radio-group-item.js.map +0 -1
- package/dist-custom-elements/diwa-radio-group.js.map +0 -1
- package/dist-custom-elements/diwa-scroller.js.map +0 -1
- package/dist-custom-elements/diwa-segmented-control-item.js.map +0 -1
- package/dist-custom-elements/diwa-segmented-control.js.map +0 -1
- package/dist-custom-elements/diwa-select-option.js.map +0 -1
- package/dist-custom-elements/diwa-select.js.map +0 -1
- package/dist-custom-elements/diwa-spinner.js.map +0 -1
- package/dist-custom-elements/diwa-stepper-horizontal-item.js.map +0 -1
- package/dist-custom-elements/diwa-stepper-horizontal.js.map +0 -1
- package/dist-custom-elements/diwa-switch.js.map +0 -1
- package/dist-custom-elements/diwa-table-body.js.map +0 -1
- package/dist-custom-elements/diwa-table-cell.js.map +0 -1
- package/dist-custom-elements/diwa-table-head-cell.js.map +0 -1
- package/dist-custom-elements/diwa-table-head.js.map +0 -1
- package/dist-custom-elements/diwa-table-row.js.map +0 -1
- package/dist-custom-elements/diwa-table.js.map +0 -1
- package/dist-custom-elements/diwa-tabs-bar.js.map +0 -1
- package/dist-custom-elements/diwa-tabs-item.js.map +0 -1
- package/dist-custom-elements/diwa-tabs.js.map +0 -1
- package/dist-custom-elements/diwa-tag-dismissible.js.map +0 -1
- package/dist-custom-elements/diwa-tag.js.map +0 -1
- package/dist-custom-elements/diwa-text-list-item.js.map +0 -1
- package/dist-custom-elements/diwa-text-list.js.map +0 -1
- package/dist-custom-elements/diwa-text.js.map +0 -1
- package/dist-custom-elements/diwa-textarea.js.map +0 -1
- package/dist-custom-elements/diwa-toast-item.js.map +0 -1
- package/dist-custom-elements/diwa-toast.js.map +0 -1
- package/dist-custom-elements/index.js.map +0 -1
- package/dist-custom-elements/p-105f3f97.js +0 -321
- package/dist-custom-elements/p-105f3f97.js.map +0 -1
- package/dist-custom-elements/p-332838f8.js.map +0 -1
- package/dist-custom-elements/p-35c7c864.js.map +0 -1
- package/dist-custom-elements/p-5eacc7d0.js +0 -1187
- package/dist-custom-elements/p-5eacc7d0.js.map +0 -1
- package/dist-custom-elements/p-70bbb21a.js.map +0 -1
- package/dist-custom-elements/p-7c951f7f.js +0 -141
- package/dist-custom-elements/p-7c951f7f.js.map +0 -1
- package/dist-custom-elements/p-8972ae69.js +0 -29213
- package/dist-custom-elements/p-8972ae69.js.map +0 -1
- package/dist-custom-elements/p-ac8e14be.js.map +0 -1
- package/dist-custom-elements/p-b7255dc4.js +0 -117
- package/dist-custom-elements/p-b7255dc4.js.map +0 -1
- package/loader/package.json +0 -11
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["VARIANT_BG","neutral","primary","info","success","warning","error","VARIANT_COLOR","VARIANT_BORDER","getComponentCss","variant","compact","bg","color","border","paddingY","paddingX","paddingXRight","fontSize","getFocusStyle","getReducedMotionStyle","DiwaTagDismissible","constructor","hostRef","this","label","theme","handleDismiss","dismiss","emit","render","h","Host","key","innerHTML","class","type","onClick","xmlns","width","height","viewBox","fill","stroke","x1","y1","x2","y2"],"sources":["src/components/diwa-tag-dismissible/diwa-tag-dismissible-styles.ts","src/components/diwa-tag-dismissible/diwa-tag-dismissible.tsx"],"sourcesContent":["import type { TagVariant } from '../diwa-tag/types';\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nconst VARIANT_BG: Record<TagVariant, string> = {\r\n neutral: 'var(--diwa-bg-surface)',\r\n primary: 'var(--diwa-accent-bg)',\r\n info: 'var(--diwa-notification-info-soft)',\r\n success: 'var(--diwa-notification-success-soft)',\r\n warning: 'var(--diwa-notification-warning-soft)',\r\n error: 'var(--diwa-notification-error-soft)',\r\n};\r\nconst VARIANT_COLOR: Record<TagVariant, string> = {\r\n neutral: 'var(--diwa-text-primary)',\r\n primary: 'var(--diwa-accent)',\r\n info: 'var(--diwa-notification-info)',\r\n success: 'var(--diwa-notification-success)',\r\n warning: 'var(--diwa-notification-warning)',\r\n error: 'var(--diwa-notification-error)',\r\n};\r\nconst VARIANT_BORDER: Record<TagVariant, string> = {\r\n neutral: 'var(--diwa-border)',\r\n primary: 'var(--diwa-accent)',\r\n info: 'var(--diwa-color-info-300)',\r\n success: 'transparent',\r\n warning: 'transparent',\r\n error: 'transparent',\r\n};\r\n\r\nexport const getComponentCss = (variant: TagVariant, compact: boolean): string => {\r\n const bg = VARIANT_BG[variant];\r\n const color = VARIANT_COLOR[variant];\r\n const border = VARIANT_BORDER[variant];\r\n const paddingY = compact ? '1px' : '2px';\r\n const paddingX = compact ? '6px' : '10px';\r\n const paddingXRight = compact ? '4px' : '6px';\r\n const fontSize = compact ? 'var(--diwa-font-size-sm)' : 'var(--diwa-font-size-md)';\r\n\r\n return `\r\n :host {\r\n display: inline-flex;\r\n }\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n .tag {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--diwa-space-1);\r\n padding: ${paddingY} ${paddingXRight} ${paddingY} ${paddingX};\r\n font-family: var(--diwa-font-family-base);\r\n font-size: ${fontSize};\r\n font-weight: var(--diwa-font-weight-medium);\r\n line-height: 1;\r\n color: ${color};\r\n background: ${bg};\r\n border: var(--diwa-border-width-thin) solid ${border};\r\n border-radius: var(--diwa-radius-sm);\r\n white-space: nowrap;\r\n user-select: none;\r\n }\r\n .dismiss {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 12px;\r\n height: 12px;\r\n padding: 0;\r\n background: none;\r\n border: none;\r\n border-radius: var(--diwa-radius-xs);\r\n color: inherit;\r\n cursor: pointer;\r\n flex-shrink: 0;\r\n opacity: var(--diwa-opacity-muted);\r\n transition: opacity var(--diwa-transition-base);\r\n }\r\n .dismiss:hover {\r\n opacity: 1;\r\n }\r\n ${getFocusStyle('.dismiss')}\r\n\r\n ${getReducedMotionStyle('.dismiss')}\r\n `;\r\n};\r\n","import { Component, Event, type EventEmitter, Host, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport type { TagVariant } from './types';\r\nimport { getComponentCss } from './diwa-tag-dismissible-styles';\r\n\r\n/**\r\n * @slot default — Tag label content.\r\n */\r\n@Component({\r\n tag: 'diwa-tag-dismissible',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaTagDismissible {\r\n /** Visual style variant. */\r\n @Prop({ reflect: true }) variant: TagVariant = 'neutral';\r\n\r\n /** Renders a compact (smaller) version of the tag. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /** Accessible label for the dismiss button. */\r\n @Prop() label?: string = 'Remove';\r\n\r\n /** Adapts the color when used on a light or dark background. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Emitted when the dismiss button is clicked. */\r\n @Event({ bubbles: false, composed: false }) dismiss!: EventEmitter<void>;\r\n\r\n private handleDismiss = (): void => {\r\n this.dismiss.emit();\r\n };\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.variant, this.compact)} />\r\n <span class=\"tag\">\r\n <slot />\r\n <button\r\n class=\"dismiss\"\r\n type=\"button\"\r\n aria-label={this.label}\r\n onClick={this.handleDismiss}\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width={12}\r\n height={12}\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n aria-hidden=\"true\"\r\n >\r\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\r\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\r\n </svg>\r\n </button>\r\n </span>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"oGAGA,MAAMA,EAAyC,CAC7CC,QAAS,yBACTC,QAAS,wBACTC,KAAS,qCACTC,QAAS,wCACTC,QAAS,wCACTC,MAAS,uCAEX,MAAMC,EAA4C,CAChDN,QAAS,2BACTC,QAAS,qBACTC,KAAS,gCACTC,QAAS,mCACTC,QAAS,mCACTC,MAAS,kCAEX,MAAME,EAA6C,CACjDP,QAAS,qBACTC,QAAS,qBACTC,KAAS,6BACTC,QAAS,cACTC,QAAS,cACTC,MAAS,eAGJ,MAAMG,EAAkB,CAACC,EAAqBC,KACnD,MAAMC,EAAKZ,EAAWU,GACtB,MAAMG,EAAQN,EAAcG,GAC5B,MAAMI,EAASN,EAAeE,GAC9B,MAAMK,EAAWJ,EAAU,MAAQ,MACnC,MAAMK,EAAWL,EAAU,MAAQ,OACnC,MAAMM,EAAgBN,EAAU,MAAQ,MACxC,MAAMO,EAAWP,EAAU,2BAA6B,2BAExD,MAAO,+NAWQI,KAAYE,KAAiBF,KAAYC,0EAEvCE,+FAGJL,yBACKD,yDACgCE,qlBAwB9CK,EAAc,sBAEdC,EAAsB,iBACzB,E,MCtEUC,EAAkB,MAJ/B,WAAAC,CAAAC,G,2CAM2BC,KAAAd,QAAsB,UAGtBc,KAAAb,QAAmB,MAGpCa,KAAAC,MAAiB,SAGAD,KAAAE,MAAe,OAKhCF,KAAAG,cAAgB,KACtBH,KAAKI,QAAQC,MAAM,C,CAGrB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAaT,KAAKE,OACrBK,EAAA,SAAAE,IAAA,2CAAOC,UAAWzB,EAAgBe,KAAKd,QAASc,KAAKb,WACrDoB,EAAA,QAAAE,IAAA,2CAAME,MAAM,OACVJ,EAAA,QAAAE,IAAA,6CACAF,EAAA,UAAAE,IAAA,2CACEE,MAAM,UACNC,KAAK,SAAQ,aACDZ,KAAKC,MACjBY,QAASb,KAAKG,eAEdI,EAAA,OAAAE,IAAA,2CACEK,MAAM,6BACNC,MAAO,GACPC,OAAQ,GACRC,QAAQ,YACRC,KAAK,OACLC,OAAO,eAAc,eACR,IAAG,iBACD,QAAO,kBACN,QAAO,cACX,QAEZZ,EAAA,QAAAE,IAAA,2CAAMW,GAAG,KAAKC,GAAG,IAAIC,GAAG,IAAIC,GAAG,OAC/BhB,EAAA,QAAAE,IAAA,2CAAMW,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAAKC,GAAG,U","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as s,h as t,H as i,g as a}from"./p-ed4017f0.js";import{g as h}from"./p-35c7c864.js";import"./p-70bbb21a.js";const d=class{constructor(t){e(this,t);this.change=s(this,"change",7);this.input=s(this,"input",7);this.blur=s(this,"blur",3);this.focus=s(this,"focus",3);this._hasStart=false;this._hasEnd=false;this.label="";this.description="";this.message="";this.state="none";this.name="";this.value="";this.placeholder="";this.disabled=false;this.required=false;this.readonly=false;this.hideLabel=false;this.compact=false;this.theme="dark";this.handleInput=e=>{this.value=e.target.value;this.input.emit(this.value)};this.handleChange=e=>{this.value=e.target.value;this.change.emit(this.value)};this.handleBlur=e=>{this.blur.emit(e)};this.handleFocus=e=>{this.focus.emit(e)}}connectedCallback(){this._hasStart=!!this.el.querySelector('[slot="start"]');this._hasEnd=!!this.el.querySelector('[slot="end"]')}render(){const e="input";const s="desc";const a="msg";return t(i,{key:"b2b46730c743177645fba01d209b807337aa44da","data-theme":this.theme},t("style",{key:"ba93a71b89e6284a979ffa0f8c8bf97a53a12eed",innerHTML:h(this.state,this.disabled,this.readonly,this.compact,this._hasStart,this._hasEnd,false)}),t("div",{key:"dfd9ea2e0931ce4d89c8a15915f501430b85e837",class:"root"},!this.hideLabel&&this.label&&t("div",{key:"d1442b29f767ba9fe71977ce5edef0c85641eae7",class:"label-row"},t("label",{key:"1f0e38ee7288c6d1837910b11af3e557c6a3e3f2",class:"label",htmlFor:e},this.label,this.required&&t("span",{key:"f721cee9f8e1171c3338272790ac8cfbe94364c2",class:"required","aria-hidden":"true"}," *")),t("slot",{key:"67a98734e74d51e433ecf3374d25002c955d6629",name:"label-after"})),t("div",{key:"32cfe64e5bc6d6d060c6a0d55b8d6ca7ef8caa3a",class:"input-wrapper"},this._hasStart&&t("div",{key:"e18eae70cadb3d2bc35e93a7ce7842b5991d6e93",class:"slot-start"},t("slot",{key:"2f5a16999f94972ff9472de051daff573f30546c",name:"start"})),t("input",{key:"bb1cca62713143aed9b2c1731f504bc3e54c4181",id:e,class:"input",type:"time",name:this.name||undefined,value:this.value,disabled:this.disabled,required:this.required,readOnly:this.readonly,min:this.min,max:this.max,step:this.step!==undefined?String(this.step):undefined,autocomplete:this.autoComplete,"aria-label":this.hideLabel&&this.label?this.label:undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-required":this.required?"true":undefined,"aria-describedby":this.message?a:this.description?s:undefined,onInput:this.handleInput,onChange:this.handleChange,onBlur:this.handleBlur,onFocus:this.handleFocus}),this._hasEnd&&t("div",{key:"df22eed453924a4ac0f29a51689bed61fd042271",class:"slot-end"},t("slot",{key:"194ebc94e02ecf0e27c6b93b4c48682dabcb53f5",name:"end"}))),!this.message&&this.description&&t("p",{key:"b354c5de48cfdc832271016be6a7ea6d24d87f04",id:s,class:"description"},this.description),this.message&&t("p",{key:"5e8fe659abcefe3d8e6ffec0805ce3e4cbeb1c9c",id:a,class:"message"},this.message)))}static get delegatesFocus(){return true}get el(){return a(this)}};export{d as diwa_input_time};
|
|
2
|
-
//# sourceMappingURL=p-7dc7291f.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DiwaInputTime","constructor","hostRef","this","_hasStart","_hasEnd","label","description","message","state","name","value","placeholder","disabled","required","readonly","hideLabel","compact","theme","handleInput","e","target","input","emit","handleChange","change","handleBlur","blur","handleFocus","focus","connectedCallback","el","querySelector","render","inputId","descId","msgId","h","Host","key","innerHTML","getComponentCss","class","htmlFor","id","type","undefined","readOnly","min","max","step","String","autocomplete","autoComplete","onInput","onChange","onBlur","onFocus"],"sources":["src/components/diwa-input-time/diwa-input-time.tsx"],"sourcesContent":["import { Component, Element, Event, EventEmitter, Host, Prop, State, h } from '@stencil/core';\r\nimport type { InputFieldState } from '../diwa-input/types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-input-time-styles';\r\n\r\n@Component({\r\n tag: 'diwa-input-time',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaInputTime {\r\n @Element() el!: HTMLElement;\r\n @State() private _hasStart = false;\r\n @State() private _hasEnd = false;\r\n\r\n @Prop() label: string = '';\r\n @Prop() description: string = '';\r\n @Prop() message: string = '';\r\n @Prop() state: InputFieldState = 'none';\r\n @Prop() name: string = '';\r\n @Prop({ mutable: true, reflect: false }) value: string = '';\r\n @Prop() placeholder: string = '';\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n @Prop({ reflect: true }) required: boolean = false;\r\n @Prop({ reflect: true }) readonly: boolean = false;\r\n @Prop() hideLabel: boolean = false;\r\n @Prop() compact: boolean = false;\r\n @Prop() autoComplete?: string;\r\n @Prop() theme: Theme = 'dark';\r\n\r\n /** Minimum time in HH:MM format. */\r\n @Prop() min?: string;\r\n /** Maximum time in HH:MM format. */\r\n @Prop() max?: string;\r\n /** Step in seconds. */\r\n @Prop() step?: number;\r\n\r\n @Event({ bubbles: true }) change!: EventEmitter<string>;\r\n @Event({ bubbles: true }) input!: EventEmitter<string>;\r\n @Event({ bubbles: false }) blur!: EventEmitter<FocusEvent>;\r\n @Event({ bubbles: false }) focus!: EventEmitter<FocusEvent>;\r\n\r\n connectedCallback(): void {\r\n this._hasStart = !!this.el.querySelector('[slot=\"start\"]');\r\n this._hasEnd = !!this.el.querySelector('[slot=\"end\"]');\r\n }\r\n\r\n private handleInput = (e: Event): void => {\r\n this.value = (e.target as HTMLInputElement).value;\r\n this.input.emit(this.value);\r\n };\r\n\r\n private handleChange = (e: Event): void => {\r\n this.value = (e.target as HTMLInputElement).value;\r\n this.change.emit(this.value);\r\n };\r\n\r\n private handleBlur = (e: FocusEvent): void => { this.blur.emit(e); };\r\n private handleFocus = (e: FocusEvent): void => { this.focus.emit(e); };\r\n\r\n render() {\r\n const inputId = 'input';\r\n const descId = 'desc';\r\n const msgId = 'msg';\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.state, this.disabled, this.readonly, this.compact, this._hasStart, this._hasEnd, false)} />\r\n <div class=\"root\">\r\n {!this.hideLabel && this.label && (\r\n <div class=\"label-row\">\r\n <label class=\"label\" htmlFor={inputId}>\r\n {this.label}\r\n {this.required && <span class=\"required\" aria-hidden=\"true\"> *</span>}\r\n </label>\r\n <slot name=\"label-after\" />\r\n </div>\r\n )}\r\n <div class=\"input-wrapper\">\r\n {this._hasStart && <div class=\"slot-start\"><slot name=\"start\" /></div>}\r\n <input\r\n id={inputId}\r\n class=\"input\"\r\n type=\"time\"\r\n name={this.name || undefined}\r\n value={this.value}\r\n disabled={this.disabled}\r\n required={this.required}\r\n readOnly={this.readonly}\r\n min={this.min}\r\n max={this.max}\r\n step={this.step !== undefined ? String(this.step) : undefined}\r\n autocomplete={this.autoComplete}\r\n aria-label={this.hideLabel && this.label ? this.label : undefined}\r\n aria-invalid={this.state === 'error' ? 'true' : undefined}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-describedby={this.message ? msgId : this.description ? descId : undefined}\r\n onInput={this.handleInput}\r\n onChange={this.handleChange}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n />\r\n {this._hasEnd && <div class=\"slot-end\"><slot name=\"end\" /></div>}\r\n </div>\r\n {!this.message && this.description && (\r\n <p id={descId} class=\"description\">{this.description}</p>\r\n )}\r\n {this.message && (\r\n <p id={msgId} class=\"message\">{this.message}</p>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,c as e,h as a,H as i}from"./p-ed4017f0.js";import{a as r}from"./p-70bbb21a.js";const t=()=>`\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── Label ──────────────────────────────────────────────────────────── */\n\n .label {\n display: block;\n margin-bottom: var(--diwa-space-2);\n font-size: var(--diwa-font-size-md);\n font-weight: var(--diwa-font-weight-medium);\n color: var(--diwa-text-secondary);\n line-height: var(--diwa-line-height-normal);\n }\n\n .required {\n color: var(--diwa-danger-text);\n }\n\n /* ── Wrapper ────────────────────────────────────────────────────────── */\n\n .wrapper {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--diwa-space-2);\n min-height: var(--diwa-input-height, var(--diwa-touch-target-min-size, 44px));\n padding: 0 var(--diwa-input-padding-x, 12px);\n background-color: var(--diwa-input-bg, var(--diwa-bg-input));\n border: var(--diwa-border-width-base) solid var(--diwa-input-border, var(--diwa-border-light));\n border-radius: var(--diwa-input-radius, var(--diwa-radius-md));\n box-sizing: border-box;\n transition: var(--diwa-transition-colors), box-shadow var(--diwa-transition-fast);\n }\n\n /* ── Focus ring ─────────────────────────────────────────────────────── */\n\n /* Focus — border and ring become visible on keyboard navigation */\n :host(:focus-within) .wrapper,\n .wrapper:focus-within {\n border-color: var(--diwa-input-border-focus, var(--diwa-border-focus));\n box-shadow: 0 0 0 var(--diwa-focus-ring-width) var(--diwa-border-focus);\n }\n\n /* ── Native input ───────────────────────────────────────────────────── */\n\n .input {\n flex: 1;\n min-width: 0;\n appearance: none;\n -webkit-appearance: none;\n background: transparent;\n border: none;\n outline: none;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n width: 100%;\n font-family: inherit;\n font-size: var(--diwa-input-font-size, var(--diwa-font-size-base));\n color: var(--diwa-input-color, var(--diwa-text-primary));\n line-height: var(--diwa-line-height-normal);\n }\n\n .input::placeholder {\n color: var(--diwa-input-placeholder-color, var(--diwa-text-muted));\n }\n\n .input[type="number"]::-webkit-inner-spin-button,\n .input[type="number"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n .input[type="search"]::-webkit-search-cancel-button {\n -webkit-appearance: none;\n }\n\n /* ── Prefix / Suffix slots ──────────────────────────────────────────── */\n\n .prefix,\n .suffix {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n color: var(--diwa-text-tertiary);\n }\n\n /* ── State: disabled ────────────────────────────────────────────────── */\n\n :host([disabled]) .wrapper {\n opacity: var(--diwa-opacity-disabled);\n cursor: not-allowed;\n pointer-events: none;\n }\n\n :host([disabled]) .label {\n color: var(--diwa-text-disabled);\n }\n\n /* ── State: readonly ────────────────────────────────────────────────── */\n\n :host([readonly]) .wrapper {\n background-color: var(--diwa-bg-secondary);\n cursor: default;\n }\n\n /* ── State: error ───────────────────────────────────────────────────── */\n\n :host([state="error"]) .wrapper {\n border-color: var(--diwa-input-border-error, var(--diwa-danger));\n }\n\n :host([state="error"]:focus-within) .wrapper {\n border-color: var(--diwa-input-border-error, var(--diwa-danger));\n }\n\n /* ── State: success ─────────────────────────────────────────────────── */\n\n :host([state="success"]) .wrapper {\n border-color: var(--diwa-input-border-success, var(--diwa-success));\n }\n\n :host([state="success"]:focus-within) .wrapper {\n border-color: var(--diwa-input-border-success, var(--diwa-success));\n }\n\n /* ── Hint ───────────────────────────────────────────────────────────── */\n\n .hint {\n display: block;\n margin-top: var(--diwa-space-2);\n font-size: var(--diwa-font-size-md);\n color: var(--diwa-text-tertiary);\n line-height: var(--diwa-line-height-normal);\n }\n\n :host([state="error"]) .hint {\n color: var(--diwa-danger-text);\n }\n\n :host([state="success"]) .hint {\n color: var(--diwa-success-text);\n }\n\n ${r(".wrapper")}\n`;let s=0;const d=class{constructor(a){n(this,a);this.diwaInput=e(this,"diwaInput",7);this.diwaChange=e(this,"diwaChange",7);this.diwaFocus=e(this,"diwaFocus",7);this.diwaBlur=e(this,"diwaBlur",7);this.type="text";this.value="";this.required=false;this.disabled=false;this.readonly=false;this.state="default";this.theme="dark";this.internalId=`diwa-input-${++s}`;this.handleInput=n=>{const e=n.target;this.value=e.value;this.diwaInput.emit(this.value)};this.handleChange=n=>{const e=n.target;this.value=e.value;this.diwaChange.emit(this.value)};this.handleFocus=n=>{this.diwaFocus.emit(n)};this.handleBlur=n=>{this.diwaBlur.emit(n)}}get resolvedId(){var n;return(n=this.inputId)!==null&&n!==void 0?n:this.internalId}get hintId(){return`${this.resolvedId}-hint`}render(){const{resolvedId:n,hintId:e}=this;const r=!!this.hint;return a(i,{key:"2f5e9982ad07294f702ebf0bea111b70d89595f5","data-theme":this.theme},a("style",{key:"a5ff0895928b24e7704f88b4d4601b071ce13c22",innerHTML:t()}),this.label&&a("label",{key:"11dfacae24599abc35a73ebc763fca8f95db78d2",class:"label",part:"label",htmlFor:n},this.label,this.required&&a("span",{key:"ec6b9d71eefce529cfb04aef396a730758f6f79d",class:"required","aria-hidden":"true"}," ","*")),a("div",{key:"9abda93e51de4c01be826f147ea094e8d418d6ab",class:"wrapper",part:"wrapper"},a("span",{key:"619b7e65a10c04043ae68abdfa0d0321b3681585",class:"prefix",part:"prefix"},a("slot",{key:"e61f1fbf6f7d6a06961100dfd867e4456bc1eb6e",name:"prefix"})),a("input",{key:"42ab4539c89bee785df13cb9bff484003c7299b0",id:n,part:"input",class:"input",type:this.type,name:this.name,value:this.value,placeholder:this.placeholder,disabled:this.disabled,readOnly:this.readonly,required:this.required,autocomplete:this.autocomplete,"aria-required":this.required?"true":undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-describedby":r?e:undefined,onInput:this.handleInput,onChange:this.handleChange,onFocus:this.handleFocus,onBlur:this.handleBlur}),a("span",{key:"270db977c40f074cf99378dcb27e9959470a7f2d",class:"suffix",part:"suffix"},a("slot",{key:"36dbff474dafd6b3b46303d7745f754a5d413433",name:"suffix"}))),r&&a("span",{key:"bff0ddc5cf92a6d9ec9ddc64b5138ebd2cfe7632",id:e,class:"hint",part:"hint","aria-live":this.state==="error"?"polite":undefined},this.hint))}static get delegatesFocus(){return true}};export{d as diwa_input};
|
|
2
|
-
//# sourceMappingURL=p-8369c48e.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","getReducedMotionStyle","inputIdCounter","DiwaInput","constructor","hostRef","this","type","value","required","disabled","readonly","state","theme","internalId","handleInput","e","target","diwaInput","emit","handleChange","diwaChange","handleFocus","diwaFocus","handleBlur","diwaBlur","resolvedId","_a","inputId","hintId","render","hasHint","hint","h","Host","key","innerHTML","label","class","part","htmlFor","name","id","placeholder","readOnly","autocomplete","undefined","onInput","onChange","onFocus","onBlur"],"sources":["src/components/diwa-input/diwa-input-styles.ts","src/components/diwa-input/diwa-input.tsx"],"sourcesContent":["/**\r\n * diwa-input — Shadow DOM CSS-in-JS styles\r\n *\r\n * NOTE: This is the styles module for the legacy diwa-input component.\r\n * The newer diwa-input-text (and other input variants) use input-styles.ts.\r\n */\r\nimport { getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Label ──────────────────────────────────────────────────────────── */\r\n\r\n .label {\r\n display: block;\r\n margin-bottom: var(--diwa-space-2);\r\n font-size: var(--diwa-font-size-md);\r\n font-weight: var(--diwa-font-weight-medium);\r\n color: var(--diwa-text-secondary);\r\n line-height: var(--diwa-line-height-normal);\r\n }\r\n\r\n .required {\r\n color: var(--diwa-danger-text);\r\n }\r\n\r\n /* ── Wrapper ────────────────────────────────────────────────────────── */\r\n\r\n .wrapper {\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n gap: var(--diwa-space-2);\r\n min-height: var(--diwa-input-height, var(--diwa-touch-target-min-size, 44px));\n padding: 0 var(--diwa-input-padding-x, 12px);\r\n background-color: var(--diwa-input-bg, var(--diwa-bg-input));\r\n border: var(--diwa-border-width-base) solid var(--diwa-input-border, var(--diwa-border-light));\r\n border-radius: var(--diwa-input-radius, var(--diwa-radius-md));\r\n box-sizing: border-box;\r\n transition: var(--diwa-transition-colors), box-shadow var(--diwa-transition-fast);\r\n }\r\n\r\n /* ── Focus ring ─────────────────────────────────────────────────────── */\r\n\r\n /* Focus — border and ring become visible on keyboard navigation */\n :host(:focus-within) .wrapper,\n .wrapper:focus-within {\n border-color: var(--diwa-input-border-focus, var(--diwa-border-focus));\n box-shadow: 0 0 0 var(--diwa-focus-ring-width) var(--diwa-border-focus);\n }\n\r\n /* ── Native input ───────────────────────────────────────────────────── */\r\n\r\n .input {\r\n flex: 1;\r\n min-width: 0;\r\n appearance: none;\r\n -webkit-appearance: none;\r\n background: transparent;\r\n border: none;\r\n outline: none;\r\n padding: 0;\r\n margin: 0;\r\n box-sizing: border-box;\r\n width: 100%;\r\n font-family: inherit;\r\n font-size: var(--diwa-input-font-size, var(--diwa-font-size-base));\r\n color: var(--diwa-input-color, var(--diwa-text-primary));\r\n line-height: var(--diwa-line-height-normal);\r\n }\r\n\r\n .input::placeholder {\r\n color: var(--diwa-input-placeholder-color, var(--diwa-text-muted));\r\n }\r\n\r\n .input[type=\"number\"]::-webkit-inner-spin-button,\r\n .input[type=\"number\"]::-webkit-outer-spin-button {\r\n -webkit-appearance: none;\r\n margin: 0;\r\n }\r\n\r\n .input[type=\"search\"]::-webkit-search-cancel-button {\r\n -webkit-appearance: none;\r\n }\r\n\r\n /* ── Prefix / Suffix slots ──────────────────────────────────────────── */\r\n\r\n .prefix,\r\n .suffix {\r\n display: inline-flex;\r\n align-items: center;\r\n flex-shrink: 0;\r\n color: var(--diwa-text-tertiary);\r\n }\r\n\r\n /* ── State: disabled ────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) .wrapper {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n\r\n :host([disabled]) .label {\r\n color: var(--diwa-text-disabled);\r\n }\r\n\r\n /* ── State: readonly ────────────────────────────────────────────────── */\r\n\r\n :host([readonly]) .wrapper {\r\n background-color: var(--diwa-bg-secondary);\r\n cursor: default;\r\n }\r\n\r\n /* ── State: error ───────────────────────────────────────────────────── */\r\n\r\n :host([state=\"error\"]) .wrapper {\r\n border-color: var(--diwa-input-border-error, var(--diwa-danger));\r\n }\r\n\r\n :host([state=\"error\"]:focus-within) .wrapper {\r\n border-color: var(--diwa-input-border-error, var(--diwa-danger));\r\n }\r\n\r\n /* ── State: success ─────────────────────────────────────────────────── */\r\n\r\n :host([state=\"success\"]) .wrapper {\r\n border-color: var(--diwa-input-border-success, var(--diwa-success));\r\n }\r\n\r\n :host([state=\"success\"]:focus-within) .wrapper {\r\n border-color: var(--diwa-input-border-success, var(--diwa-success));\r\n }\r\n\r\n /* ── Hint ───────────────────────────────────────────────────────────── */\r\n\r\n .hint {\r\n display: block;\r\n margin-top: var(--diwa-space-2);\r\n font-size: var(--diwa-font-size-md);\r\n color: var(--diwa-text-tertiary);\r\n line-height: var(--diwa-line-height-normal);\r\n }\r\n\r\n :host([state=\"error\"]) .hint {\r\n color: var(--diwa-danger-text);\r\n }\r\n\r\n :host([state=\"success\"]) .hint {\r\n color: var(--diwa-success-text);\r\n }\r\n\r\n ${getReducedMotionStyle('.wrapper')}\r\n`;\r\n","import { Component, Event, EventEmitter, Host, Prop, h } from \"@stencil/core\";\r\nimport type { InputState, InputType } from \"./types\";\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-input-styles';\r\n\r\n/** Module-level counter — guarantees unique IDs across all DiwaInput instances. */\r\nlet inputIdCounter = 0;\r\n\r\n/**\r\n * @component diwa-input\r\n *\r\n * A fully encapsulated, accessible text input primitive.\r\n * Supports all common text-based HTML input types and validation states.\r\n *\r\n * Design token override API (set on :root or any ancestor):\r\n * --diwa-input-height Height of the input\r\n * --diwa-input-padding-x Horizontal padding\r\n * --diwa-input-radius Border radius\r\n * --diwa-input-border Default border colour\r\n * --diwa-input-bg Background colour\r\n * --diwa-input-color Text colour\r\n * --diwa-input-placeholder-color Placeholder text colour\r\n * --diwa-input-font-size Font size\r\n * --diwa-input-border-focus Border colour when focused\r\n * --diwa-input-border-error Border colour in error state\r\n * --diwa-input-border-success Border colour in success state\r\n *\r\n * Usage:\r\n * <diwa-input label=\"Email\" type=\"email\" placeholder=\"you@example.com\"></diwa-input>\r\n * <diwa-input label=\"Password\" type=\"password\" required></diwa-input>\r\n * <diwa-input label=\"Search\" type=\"search\" state=\"error\" hint=\"No results found.\"></diwa-input>\r\n *\r\n * @slot prefix — Icon or content placed before the input (e.g., a search icon)\r\n * @slot suffix — Icon or content placed after the input (e.g., a clear button)\r\n */\r\n@Component({\r\n tag: \"diwa-input\",\r\n /**\r\n * delegatesFocus: true ensures that when host-app code focuses the\r\n * <diwa-input> custom element directly (e.g., via .focus()), focus\r\n * is forwarded to the inner <input> element inside the Shadow DOM.\r\n */\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaInput {\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Native input type. Controls keyboard, validation, and autocomplete behaviour. */\r\n @Prop() type: InputType = \"text\";\r\n\r\n /** Visible label text. Linked to the inner <input> via htmlFor/id. */\r\n @Prop() label?: string;\r\n\r\n /** Placeholder text shown when the field is empty. */\r\n @Prop() placeholder?: string;\r\n\r\n /** Controlled value. Use with onDiwaChange for controlled form patterns. */\r\n @Prop({ mutable: true, reflect: false }) value: string = \"\";\r\n\r\n /** Marks the field as required. Sets aria-required on the inner input. */\r\n @Prop() required: boolean = false;\r\n\r\n /** Disables the input. Blocks pointer and keyboard interaction. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /** Makes the input read-only. Content is selectable but not editable. */\r\n @Prop({ reflect: true }) readonly: boolean = false;\r\n\r\n /**\r\n * Validation state. Controls border colour and the hint text colour.\r\n * Pair with the `hint` prop to surface error or success messages.\r\n */\r\n @Prop({ reflect: true }) state: InputState = \"default\";\r\n\r\n /**\r\n * Helper / hint text rendered below the input.\r\n * In the error state this text should describe the validation failure.\r\n * Associated via aria-describedby for screen reader announcement.\r\n */\r\n @Prop() hint?: string;\r\n\r\n /**\r\n * HTML autocomplete attribute passthrough.\r\n * Allows browsers to offer autocomplete suggestions.\r\n */\r\n @Prop() autocomplete?: string;\r\n\r\n /**\r\n * HTML name attribute — used to identify the field in form data.\r\n */\r\n @Prop() name?: string;\r\n\r\n /**\r\n * HTML id forwarded to the inner input.\r\n * When omitted the component generates a unique id for label association.\r\n */\r\n @Prop() inputId?: string;\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Emitted on every keystroke (mirrors native `input` event).\r\n * Payload is the current string value.\r\n */\r\n @Event() diwaInput!: EventEmitter<string>;\r\n\r\n /**\r\n * Emitted when the input loses focus (mirrors native `change` event).\r\n * Payload is the committed string value.\r\n */\r\n @Event() diwaChange!: EventEmitter<string>;\r\n\r\n /**\r\n * Emitted when the input receives focus.\r\n */\r\n @Event() diwaFocus!: EventEmitter<FocusEvent>;\r\n\r\n /**\r\n * Emitted when the input loses focus.\r\n */\r\n @Event() diwaBlur!: EventEmitter<FocusEvent>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private state / helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private internalId: string = `diwa-input-${++inputIdCounter}`;\r\n\r\n private get resolvedId(): string {\r\n return this.inputId ?? this.internalId;\r\n }\r\n\r\n private get hintId(): string {\r\n return `${this.resolvedId}-hint`;\r\n }\r\n\r\n private handleInput = (e: Event): void => {\r\n const target = e.target as HTMLInputElement;\r\n this.value = target.value;\r\n this.diwaInput.emit(this.value);\r\n };\r\n\r\n private handleChange = (e: Event): void => {\r\n const target = e.target as HTMLInputElement;\r\n this.value = target.value;\r\n this.diwaChange.emit(this.value);\r\n };\r\n\r\n private handleFocus = (e: FocusEvent): void => {\r\n this.diwaFocus.emit(e);\r\n };\r\n\r\n private handleBlur = (e: FocusEvent): void => {\r\n this.diwaBlur.emit(e);\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const { resolvedId, hintId } = this;\r\n const hasHint = !!this.hint;\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n {/* Label — rendered only when the `label` prop is provided */}\r\n {this.label && (\r\n <label class=\"label\" part=\"label\" htmlFor={resolvedId}>\r\n {this.label}\r\n {this.required && (\r\n <span class=\"required\" aria-hidden=\"true\">\r\n {\" \"}\r\n *\r\n </span>\r\n )}\r\n </label>\r\n )}\r\n\r\n {/* Input wrapper — positions prefix/suffix slots alongside the input */}\r\n <div class=\"wrapper\" part=\"wrapper\">\r\n {/* Prefix slot — e.g., search icon. Empty slots render invisibly. */}\r\n <span class=\"prefix\" part=\"prefix\">\r\n <slot name=\"prefix\" />\r\n </span>\r\n\r\n <input\r\n id={resolvedId}\r\n part=\"input\"\r\n class=\"input\"\r\n type={this.type}\r\n name={this.name}\r\n value={this.value}\r\n placeholder={this.placeholder}\r\n disabled={this.disabled}\r\n readOnly={this.readonly}\r\n required={this.required}\r\n autocomplete={this.autocomplete}\r\n aria-required={this.required ? \"true\" : undefined}\r\n aria-invalid={this.state === \"error\" ? \"true\" : undefined}\r\n aria-describedby={hasHint ? hintId : undefined}\r\n onInput={this.handleInput}\r\n onChange={this.handleChange}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n />\r\n\r\n {/* Suffix slot — e.g., clear / visibility toggle. Empty slots render invisibly. */}\r\n <span class=\"suffix\" part=\"suffix\">\r\n <slot name=\"suffix\" />\r\n </span>\r\n </div>\r\n\r\n {/* Hint / error text */}\r\n {hasHint && (\r\n <span\r\n id={hintId}\r\n class=\"hint\"\r\n part=\"hint\"\r\n aria-live={this.state === \"error\" ? \"polite\" : undefined}\r\n >\r\n {this.hint}\r\n </span>\r\n )}\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"6FAQO,MAAMA,EAAkB,IAAc,uwIAwJzCC,EAAsB,gBC1J1B,IAAIC,EAAiB,E,MAsCRC,EAAS,MATtB,WAAAC,CAAAC,G,8JAeUC,KAAAC,KAAkB,OASeD,KAAAE,MAAgB,GAGjDF,KAAAG,SAAoB,MAGHH,KAAAI,SAAoB,MAGpBJ,KAAAK,SAAoB,MAMpBL,KAAAM,MAAoB,UA2BpBN,KAAAO,MAAe,OAgChCP,KAAAQ,WAAqB,gBAAgBZ,IAUrCI,KAAAS,YAAeC,IACrB,MAAMC,EAASD,EAAEC,OACjBX,KAAKE,MAAQS,EAAOT,MACpBF,KAAKY,UAAUC,KAAKb,KAAKE,MAAM,EAGzBF,KAAAc,aAAgBJ,IACtB,MAAMC,EAASD,EAAEC,OACjBX,KAAKE,MAAQS,EAAOT,MACpBF,KAAKe,WAAWF,KAAKb,KAAKE,MAAM,EAG1BF,KAAAgB,YAAeN,IACrBV,KAAKiB,UAAUJ,KAAKH,EAAE,EAGhBV,KAAAkB,WAAcR,IACpBV,KAAKmB,SAASN,KAAKH,EAAE,C,CAzBvB,cAAYU,G,MACV,OAAOC,EAAArB,KAAKsB,WAAO,MAAAD,SAAA,EAAAA,EAAIrB,KAAKQ,U,CAG9B,UAAYe,GACV,MAAO,GAAGvB,KAAKoB,iB,CA2BjB,MAAAI,GACE,MAAMJ,WAAEA,EAAUG,OAAEA,GAAWvB,KAC/B,MAAMyB,IAAYzB,KAAK0B,KAEvB,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAa7B,KAAKO,OACrBoB,EAAA,SAAAE,IAAA,2CAAOC,UAAWpC,MAEjBM,KAAK+B,OACJJ,EAAA,SAAAE,IAAA,2CAAOG,MAAM,QAAQC,KAAK,QAAQC,QAASd,GACxCpB,KAAK+B,MACL/B,KAAKG,UACJwB,EAAA,QAAAE,IAAA,2CAAMG,MAAM,WAAU,cAAa,QAChC,IAAG,MAQZL,EAAA,OAAAE,IAAA,2CAAKG,MAAM,UAAUC,KAAK,WAExBN,EAAA,QAAAE,IAAA,2CAAMG,MAAM,SAASC,KAAK,UACxBN,EAAA,QAAAE,IAAA,2CAAMM,KAAK,YAGbR,EAAA,SAAAE,IAAA,2CACEO,GAAIhB,EACJa,KAAK,QACLD,MAAM,QACN/B,KAAMD,KAAKC,KACXkC,KAAMnC,KAAKmC,KACXjC,MAAOF,KAAKE,MACZmC,YAAarC,KAAKqC,YAClBjC,SAAUJ,KAAKI,SACfkC,SAAUtC,KAAKK,SACfF,SAAUH,KAAKG,SACfoC,aAAcvC,KAAKuC,aAAY,gBAChBvC,KAAKG,SAAW,OAASqC,UAAS,eACnCxC,KAAKM,QAAU,QAAU,OAASkC,UAAS,mBACvCf,EAAUF,EAASiB,UACrCC,QAASzC,KAAKS,YACdiC,SAAU1C,KAAKc,aACf6B,QAAS3C,KAAKgB,YACd4B,OAAQ5C,KAAKkB,aAIfS,EAAA,QAAAE,IAAA,2CAAMG,MAAM,SAASC,KAAK,UACxBN,EAAA,QAAAE,IAAA,2CAAMM,KAAK,aAKdV,GACCE,EAAA,QAAAE,IAAA,2CACEO,GAAIb,EACJS,MAAM,OACNC,KAAK,OAAM,YACAjC,KAAKM,QAAU,QAAU,SAAWkC,WAE9CxC,KAAK0B,M","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,c as t,h as e,H as i,g as a}from"./p-ed4017f0.js";import{g as d}from"./p-35c7c864.js";import"./p-70bbb21a.js";const h=class{constructor(e){s(this,e);this.change=t(this,"change",7);this.input=t(this,"input",7);this.blur=t(this,"blur",3);this.focus=t(this,"focus",3);this._hasStart=false;this._hasEnd=false;this.label="";this.description="";this.message="";this.state="none";this.name="";this.value="";this.placeholder="";this.disabled=false;this.required=false;this.readonly=false;this.hideLabel=false;this.compact=false;this.theme="dark";this.handleInput=s=>{this.value=s.target.value;this.input.emit(this.value)};this.handleChange=s=>{this.value=s.target.value;this.change.emit(this.value)};this.handleBlur=s=>{this.blur.emit(s)};this.handleFocus=s=>{this.focus.emit(s)}}connectedCallback(){this._hasStart=!!this.el.querySelector('[slot="start"]');this._hasEnd=!!this.el.querySelector('[slot="end"]')}render(){const s="input";const t="desc";const a="msg";return e(i,{key:"26d545b79408534571bc132cff4b12c909ebbffb","data-theme":this.theme},e("style",{key:"ad5d90132a33837d497b4a60bba14e513b8f630d",innerHTML:d(this.state,this.disabled,this.readonly,this.compact,this._hasStart,this._hasEnd,false)}),e("div",{key:"8f510db7d2ac3aa0f43af87b7babd69687b5e46a",class:"root"},!this.hideLabel&&this.label&&e("div",{key:"f65dbd4df192a273f0ab32b010bca5d6529cc64c",class:"label-row"},e("label",{key:"0bdf4d2c7ac59dcaf7f6b66869e8047d7cab8744",class:"label",htmlFor:s},this.label,this.required&&e("span",{key:"9f3c5b3b19d6509ba29f220a956520f784620989",class:"required","aria-hidden":"true"}," *")),e("slot",{key:"968456bb71ba9ac89803e23a51bff5105bb5cad1",name:"label-after"})),e("div",{key:"eb1d4b8956a3afde698d17db95e0966f0261b765",class:"input-wrapper"},this._hasStart&&e("div",{key:"e6c3117431675a497807bf917a3d769e829d4c7b",class:"slot-start"},e("slot",{key:"d1a0719fe085425dfaf7f4f1a26dd851f134e122",name:"start"})),e("input",{key:"8885efc0af2811ae2708a1a5e8f434bb73b97475",id:s,class:"input",type:"tel",name:this.name||undefined,value:this.value,placeholder:this.placeholder||undefined,disabled:this.disabled,required:this.required,readOnly:this.readonly,autocomplete:this.autoComplete,"aria-label":this.hideLabel&&this.label?this.label:undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-required":this.required?"true":undefined,"aria-describedby":this.message?a:this.description?t:undefined,onInput:this.handleInput,onChange:this.handleChange,onBlur:this.handleBlur,onFocus:this.handleFocus}),this._hasEnd&&e("div",{key:"a06f2530ac6d1bac2e8898d722098ac42e59c0d8",class:"slot-end"},e("slot",{key:"df77a3f05ca4226f55c0314f245b7bd970f13439",name:"end"}))),!this.message&&this.description&&e("p",{key:"48d9f35dd7016c0f724c25b7be1af70179f195f2",id:t,class:"description"},this.description),this.message&&e("p",{key:"4669c5c314f673d4059ab3e2b3445d7cd6f4ed0e",id:a,class:"message"},this.message)))}static get delegatesFocus(){return true}get el(){return a(this)}};export{h as diwa_input_tel};
|
|
2
|
-
//# sourceMappingURL=p-8506ea0c.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DiwaInputTel","constructor","hostRef","this","_hasStart","_hasEnd","label","description","message","state","name","value","placeholder","disabled","required","readonly","hideLabel","compact","theme","handleInput","e","target","input","emit","handleChange","change","handleBlur","blur","handleFocus","focus","connectedCallback","el","querySelector","render","inputId","descId","msgId","h","Host","key","innerHTML","getComponentCss","class","htmlFor","id","type","undefined","readOnly","autocomplete","autoComplete","onInput","onChange","onBlur","onFocus"],"sources":["src/components/diwa-input-tel/diwa-input-tel.tsx"],"sourcesContent":["import { Component, Element, Event, EventEmitter, Host, Prop, State, h } from '@stencil/core';\r\nimport type { InputFieldState } from '../diwa-input/types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-input-tel-styles';\r\n\r\n@Component({\r\n tag: 'diwa-input-tel',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaInputTel {\r\n @Element() el!: HTMLElement;\r\n @State() private _hasStart = false;\r\n @State() private _hasEnd = false;\r\n\r\n @Prop() label: string = '';\r\n @Prop() description: string = '';\r\n @Prop() message: string = '';\r\n @Prop() state: InputFieldState = 'none';\r\n @Prop() name: string = '';\r\n @Prop({ mutable: true, reflect: false }) value: string = '';\r\n @Prop() placeholder: string = '';\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n @Prop({ reflect: true }) required: boolean = false;\r\n @Prop({ reflect: true }) readonly: boolean = false;\r\n @Prop() hideLabel: boolean = false;\r\n @Prop() compact: boolean = false;\r\n @Prop() autoComplete?: string;\r\n @Prop() theme: Theme = 'dark';\r\n\r\n @Event({ bubbles: true }) change!: EventEmitter<string>;\r\n @Event({ bubbles: true }) input!: EventEmitter<string>;\r\n @Event({ bubbles: false }) blur!: EventEmitter<FocusEvent>;\r\n @Event({ bubbles: false }) focus!: EventEmitter<FocusEvent>;\r\n\r\n connectedCallback(): void {\r\n this._hasStart = !!this.el.querySelector('[slot=\"start\"]');\r\n this._hasEnd = !!this.el.querySelector('[slot=\"end\"]');\r\n }\r\n\r\n private handleInput = (e: Event): void => {\r\n this.value = (e.target as HTMLInputElement).value;\r\n this.input.emit(this.value);\r\n };\r\n\r\n private handleChange = (e: Event): void => {\r\n this.value = (e.target as HTMLInputElement).value;\r\n this.change.emit(this.value);\r\n };\r\n\r\n private handleBlur = (e: FocusEvent): void => { this.blur.emit(e); };\r\n private handleFocus = (e: FocusEvent): void => { this.focus.emit(e); };\r\n\r\n render() {\r\n const inputId = 'input';\r\n const descId = 'desc';\r\n const msgId = 'msg';\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.state, this.disabled, this.readonly, this.compact, this._hasStart, this._hasEnd, false)} />\r\n <div class=\"root\">\r\n {!this.hideLabel && this.label && (\r\n <div class=\"label-row\">\r\n <label class=\"label\" htmlFor={inputId}>\r\n {this.label}\r\n {this.required && <span class=\"required\" aria-hidden=\"true\"> *</span>}\r\n </label>\r\n <slot name=\"label-after\" />\r\n </div>\r\n )}\r\n <div class=\"input-wrapper\">\r\n {this._hasStart && <div class=\"slot-start\"><slot name=\"start\" /></div>}\r\n <input\r\n id={inputId}\r\n class=\"input\"\r\n type=\"tel\"\r\n name={this.name || undefined}\r\n value={this.value}\r\n placeholder={this.placeholder || undefined}\r\n disabled={this.disabled}\r\n required={this.required}\r\n readOnly={this.readonly}\r\n autocomplete={this.autoComplete}\r\n aria-label={this.hideLabel && this.label ? this.label : undefined}\r\n aria-invalid={this.state === 'error' ? 'true' : undefined}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-describedby={this.message ? msgId : this.description ? descId : undefined}\r\n onInput={this.handleInput}\r\n onChange={this.handleChange}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n />\r\n {this._hasEnd && <div class=\"slot-end\"><slot name=\"end\" /></div>}\r\n </div>\r\n {!this.message && this.description && (\r\n <p id={descId} class=\"description\">{this.description}</p>\r\n )}\r\n {this.message && (\r\n <p id={msgId} class=\"message\">{this.message}</p>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,c as i,h as e,H as r}from"./p-ed4017f0.js";import{b as t,g as o,a}from"./p-70bbb21a.js";const s=n=>{const i=n==="success"?"var(--diwa-notification-success)":n==="error"?"var(--diwa-notification-error)":n==="warning"?"var(--diwa-notification-warning)":n==="info"?"var(--diwa-notification-info)":"var(--diwa-text-secondary)";const e=n==="success"?"var(--diwa-notification-success-soft)":n==="error"?"var(--diwa-notification-error-soft)":n==="warning"?"var(--diwa-notification-warning-soft)":n==="info"?"var(--diwa-notification-info-soft)":"var(--diwa-bg-elevated)";return`\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n pointer-events: all;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .toast {\n display: flex;\n align-items: center;\n gap: var(--diwa-space-3);\n min-width: var(--diwa-toast-min-width);\n max-width: var(--diwa-toast-max-width);\n padding: var(--diwa-space-4);\n border-radius: var(--diwa-radius-md);\n background: ${e};\n border: var(--diwa-border-width-thin) solid ${i};\n box-shadow: var(--diwa-shadow-md);\n animation: slideIn var(--diwa-motion-duration-short) var(--diwa-motion-easing-out);\n }\n\n @keyframes slideIn {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n .icon {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n color: ${i};\n }\n\n .text {\n flex: 1;\n font-size: var(--diwa-font-size-sm);\n color: var(--diwa-text-primary);\n line-height: 1.5;\n }\n\n .close {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--diwa-touch-target-min-size, 44px);\n height: var(--diwa-touch-target-min-size, 44px);\n border: none;\n background: transparent;\n color: var(--diwa-text-secondary);\n cursor: pointer;\n border-radius: var(--diwa-radius-sm);\n padding: 0;\n transition: color var(--diwa-transition-base);\n }\n\n ${t(".close","color: var(--diwa-text-primary);")}\n\n ${o(".close")}\n\n ${a(".toast",".close")}\n `};const c={neutral:`<svg viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><circle cx="8" cy="8" r="6.5"/><line x1="8" y1="5" x2="8" y2="8.5"/><circle cx="8" cy="11" r="0.75" fill="currentColor" stroke="none"/></svg>`,info:`<svg viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><circle cx="8" cy="8" r="6.5"/><line x1="8" y1="5" x2="8" y2="8.5"/><circle cx="8" cy="11" r="0.75" fill="currentColor" stroke="none"/></svg>`,success:`<svg viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="8" r="6.5"/><polyline points="5,8 7,10 11,6"/></svg>`,warning:`<svg viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><path d="M8 2.5L14 13H2L8 2.5Z"/><line x1="8" y1="6.5" x2="8" y2="9.5"/><circle cx="8" cy="11.5" r="0.75" fill="currentColor" stroke="none"/></svg>`,error:`<svg viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><circle cx="8" cy="8" r="6.5"/><line x1="5.5" y1="5.5" x2="10.5" y2="10.5"/><line x1="10.5" y1="5.5" x2="5.5" y2="10.5"/></svg>`};const d=`<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"/><line x1="12" y1="4" x2="4" y2="12"/></svg>`;const l=class{constructor(e){n(this,e);this.dismiss=i(this,"dismiss",1);this.theme="dark";this.text="";this.state="neutral";this.handleClose=()=>{this.dismiss.emit()}}render(){return e(r,{key:"333dc3ff2ce58d508fb129b7d415c431ca1c7090","data-theme":this.theme},e("style",{key:"33587d5ee1d57a09e175b3c6563fe04d57986ec2",innerHTML:s(this.state)}),e("div",{key:"f613e6c5351afcf85eeee2423b9c67fb4691e543",class:"toast"},e("span",{key:"6f2c5d046eef9c9c37ddb74e711e91a196fd89b6",class:"icon","aria-hidden":"true",innerHTML:c[this.state]}),e("span",{key:"ed412934617f70359b612d6e220410be69f47575",class:"text"},this.text),e("button",{key:"a71b252002e9573792860b6b068ccbd71dfa210e",type:"button",class:"close","aria-label":"Dismiss notification",onClick:this.handleClose,innerHTML:d})))}static get delegatesFocus(){return true}};export{l as diwa_toast_item};
|
|
2
|
-
//# sourceMappingURL=p-863c88a4.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","state","stateColor","stateBg","getHoverCapableStyle","getFocusStyle","getReducedMotionStyle","STATE_ICONS","neutral","info","success","warning","error","CLOSE_ICON","DiwaToastItem","constructor","hostRef","this","theme","text","handleClose","dismiss","emit","render","h","Host","key","innerHTML","class","type","onClick"],"sources":["src/components/diwa-toast-item/diwa-toast-item-styles.ts","src/components/diwa-toast-item/diwa-toast-item.tsx"],"sourcesContent":["import type { ToastState } from './types';\r\nimport { getFocusStyle, getHoverCapableStyle, getReducedMotionStyle } from '../../utils/styles';\n\r\nexport const getComponentCss = (state: ToastState): string => {\r\n const stateColor =\r\n state === 'success'\r\n ? 'var(--diwa-notification-success)'\r\n : state === 'error'\r\n ? 'var(--diwa-notification-error)'\r\n : state === 'warning'\r\n ? 'var(--diwa-notification-warning)'\r\n : state === 'info'\r\n ? 'var(--diwa-notification-info)'\r\n : 'var(--diwa-text-secondary)';\r\n\r\n const stateBg =\r\n state === 'success'\r\n ? 'var(--diwa-notification-success-soft)'\r\n : state === 'error'\r\n ? 'var(--diwa-notification-error-soft)'\r\n : state === 'warning'\r\n ? 'var(--diwa-notification-warning-soft)'\r\n : state === 'info'\r\n ? 'var(--diwa-notification-info-soft)'\r\n : 'var(--diwa-bg-elevated)';\r\n\r\n return `\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n pointer-events: all;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .toast {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--diwa-space-3);\r\n min-width: var(--diwa-toast-min-width);\r\n max-width: var(--diwa-toast-max-width);\r\n padding: var(--diwa-space-4);\r\n border-radius: var(--diwa-radius-md);\r\n background: ${stateBg};\r\n border: var(--diwa-border-width-thin) solid ${stateColor};\r\n box-shadow: var(--diwa-shadow-md);\r\n animation: slideIn var(--diwa-motion-duration-short) var(--diwa-motion-easing-out);\r\n }\r\n\r\n @keyframes slideIn {\r\n from { opacity: 0; transform: translateY(8px); }\r\n to { opacity: 1; transform: translateY(0); }\r\n }\r\n\r\n .icon {\r\n flex-shrink: 0;\r\n display: flex;\r\n align-items: center;\r\n color: ${stateColor};\r\n }\r\n\r\n .text {\r\n flex: 1;\r\n font-size: var(--diwa-font-size-sm);\r\n color: var(--diwa-text-primary);\r\n line-height: 1.5;\r\n }\r\n\r\n .close {\n flex-shrink: 0;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--diwa-touch-target-min-size, 44px);\n height: var(--diwa-touch-target-min-size, 44px);\n border: none;\r\n background: transparent;\r\n color: var(--diwa-text-secondary);\r\n cursor: pointer;\r\n border-radius: var(--diwa-radius-sm);\r\n padding: 0;\r\n transition: color var(--diwa-transition-base);\n }\n\n ${getHoverCapableStyle('.close', 'color: var(--diwa-text-primary);')}\n\r\n ${getFocusStyle('.close')}\r\n\r\n ${getReducedMotionStyle('.toast', '.close')}\n `;\n};\n","import { Component, Event, type EventEmitter, Host, Prop, h } from '@stencil/core';\r\nimport type { ToastState } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-toast-item-styles';\r\n\r\nconst STATE_ICONS: Record<ToastState, string> = {\r\n neutral: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><circle cx=\"8\" cy=\"8\" r=\"6.5\"/><line x1=\"8\" y1=\"5\" x2=\"8\" y2=\"8.5\"/><circle cx=\"8\" cy=\"11\" r=\"0.75\" fill=\"currentColor\" stroke=\"none\"/></svg>`,\r\n info: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><circle cx=\"8\" cy=\"8\" r=\"6.5\"/><line x1=\"8\" y1=\"5\" x2=\"8\" y2=\"8.5\"/><circle cx=\"8\" cy=\"11\" r=\"0.75\" fill=\"currentColor\" stroke=\"none\"/></svg>`,\r\n success: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"8\" cy=\"8\" r=\"6.5\"/><polyline points=\"5,8 7,10 11,6\"/></svg>`,\r\n warning: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><path d=\"M8 2.5L14 13H2L8 2.5Z\"/><line x1=\"8\" y1=\"6.5\" x2=\"8\" y2=\"9.5\"/><circle cx=\"8\" cy=\"11.5\" r=\"0.75\" fill=\"currentColor\" stroke=\"none\"/></svg>`,\r\n error: `<svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><circle cx=\"8\" cy=\"8\" r=\"6.5\"/><line x1=\"5.5\" y1=\"5.5\" x2=\"10.5\" y2=\"10.5\"/><line x1=\"10.5\" y1=\"5.5\" x2=\"5.5\" y2=\"10.5\"/></svg>`,\r\n};\r\n\r\nconst CLOSE_ICON = `<svg viewBox=\"0 0 16 16\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>`;\r\n\r\n/**\r\n * @component diwa-toast-item\r\n *\r\n * Renders a single toast notification. Managed by `diwa-toast` — do not\r\n * use this component directly; use `diwa-toast.addMessage()` instead.\r\n */\r\n@Component({\r\n tag: 'diwa-toast-item',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaToastItem {\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Message text to display. */\r\n @Prop() text: string = '';\r\n\r\n /** Visual state affecting icon and colour. */\r\n @Prop({ reflect: true }) state: ToastState = 'neutral';\r\n\r\n /**\r\n * Emitted when the user dismisses the toast or the auto-dismiss timer fires.\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n dismiss!: EventEmitter<void>;\r\n\r\n private handleClose = () => {\r\n this.dismiss.emit();\r\n };\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.state)} />\r\n <div class=\"toast\">\r\n <span class=\"icon\" aria-hidden=\"true\" innerHTML={STATE_ICONS[this.state]} />\r\n <span class=\"text\">{this.text}</span>\r\n <button\r\n type=\"button\"\r\n class=\"close\"\r\n aria-label=\"Dismiss notification\"\r\n onClick={this.handleClose}\r\n innerHTML={CLOSE_ICON}\r\n />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"sGAGO,MAAMA,EAAmBC,IAC9B,MAAMC,EACJD,IAAU,UACN,mCACAA,IAAU,QACR,iCACAA,IAAU,UACR,mCACAA,IAAU,OACR,gCACA,6BAEZ,MAAME,EACJF,IAAU,UACN,wCACAA,IAAU,QACR,sCACAA,IAAU,UACR,wCACAA,IAAU,OACR,qCACA,0BAEZ,MAAO,ubAmBSE,uDACgCD,iXAcrCA,qlBA0BTE,EAAqB,SAAU,4CAE/BC,EAAc,kBAEdC,EAAsB,SAAU,eACjC,ECtFH,MAAMC,EAA0C,CAC9CC,QAAS,4QACTC,KAAM,4QACNC,QAAS,8NACTC,QAAS,kRACTC,MAAO,+PAGT,MAAMC,EAAa,+M,MAYNC,EAAa,MAJ1B,WAAAC,CAAAC,G,2CAM2BC,KAAAC,MAAe,OAGhCD,KAAAE,KAAe,GAGEF,KAAAhB,MAAoB,UAQrCgB,KAAAG,YAAc,KACpBH,KAAKI,QAAQC,MAAM,C,CAGrB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAaT,KAAKC,OACrBM,EAAA,SAAAE,IAAA,2CAAOC,UAAW3B,EAAgBiB,KAAKhB,SACvCuB,EAAA,OAAAE,IAAA,2CAAKE,MAAM,SACTJ,EAAA,QAAAE,IAAA,2CAAME,MAAM,OAAM,cAAa,OAAOD,UAAWpB,EAAYU,KAAKhB,SAClEuB,EAAA,QAAAE,IAAA,2CAAME,MAAM,QAAQX,KAAKE,MACzBK,EAAA,UAAAE,IAAA,2CACEG,KAAK,SACLD,MAAM,QAAO,aACF,uBACXE,QAASb,KAAKG,YACdO,UAAWd,K","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","compact","boxSize","getFocusStyle","getCheckboxBoxCss","checkmarkSvg","getReducedMotionStyle","DiwaMultiSelectOption","constructor","hostRef","this","disabled","selected","highlighted","theme","handleClick","diwaMultiSelectOptionUpdate","emit","value","handleKeyDown","e","key","preventDefault","handlePropChange","setFocus","_a","optionEl","focus","render","h","Host","innerHTML","class","role","undefined","tabIndex","onClick","onKeyDown","ref","el","part"],"sources":["src/components/diwa-multi-select-option/diwa-multi-select-option-styles.ts","src/components/diwa-multi-select-option/diwa-multi-select-option.tsx"],"sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\nimport { checkmarkSvg, getCheckboxBoxCss } from '../../utils/checkbox-mark';\r\n\r\nexport const getComponentCss = (compact: boolean): string => {\r\n const boxSize = compact ? '14px' : '20px';\r\n\r\n return `\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Option row ─────────────────────────────────────────────────────── */\r\n\r\n .option {\n display: flex;\r\n align-items: center;\r\n gap: var(--diwa-space-3);\r\n padding: var(--diwa-space-2) var(--diwa-space-3);\r\n min-height: ${compact ? 'var(--diwa-touch-target-min-size-compact, 32px)' : 'var(--diwa-select-option-min-height, var(--diwa-touch-target-min-size, 44px))'};\n box-sizing: border-box;\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-font-smoothing: antialiased;\r\n color: var(--diwa-text-primary);\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-normal);\r\n line-height: 1.4;\r\n border-radius: var(--diwa-radius-sm);\r\n transition: background-color var(--diwa-transition-fast);\r\n }\r\n\r\n /* ── Focus ring ─────────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('.option')}\r\n\r\n /* ── Checkbox mark ──────────────────────────────────────────────────── */\r\n\r\n .checkbox {\r\n flex-shrink: 0;\r\n width: ${boxSize};\r\n height: ${boxSize};\r\n ${getCheckboxBoxCss()}\r\n }\r\n\r\n /* ── Selected state ─────────────────────────────────────────────────── */\r\n\r\n :host([selected]) .checkbox {\r\n background-color: var(--diwa-accent);\r\n border-color: var(--diwa-accent);\r\n background-image: ${checkmarkSvg};\r\n }\r\n\r\n @media (hover: hover) and (pointer: fine) {\n :host([selected]) .option:hover .checkbox {\n background-color: var(--diwa-accent-hover);\n border-color: var(--diwa-accent-hover);\n }\n }\n\r\n /* ── Highlighted (keyboard / hover) ─────────────────────────────────── */\r\n\r\n :host([highlighted]) .option {\n background-color: var(--diwa-bg-hover);\n }\n\n @media (hover: hover) and (pointer: fine) {\n .option:hover {\n background-color: var(--diwa-bg-hover);\n }\n }\n\r\n /* ── Label text ─────────────────────────────────────────────────────── */\r\n\r\n .label {\r\n flex: 1;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n\r\n /* ── Disabled ───────────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) {\r\n pointer-events: none;\r\n }\r\n\r\n :host([disabled]) .option {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.option', '.checkbox')}\r\n`;\r\n};\r\n","import { Component, Element, Event, type EventEmitter, Host, Method, Prop, Watch, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-multi-select-option-styles';\r\n\r\n/**\r\n * @component diwa-multi-select-option\r\n *\r\n * Individual option element for use inside <diwa-multi-select>.\r\n * Renders a row with a CSS checkbox and label text.\r\n *\r\n * Not intended for standalone use — must be slotted into <diwa-multi-select>.\r\n *\r\n * @slot default — Option label text (plain text or inline phrasing content)\r\n */\r\n@Component({\r\n tag: 'diwa-multi-select-option',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaMultiSelectOption {\r\n @Element() host!: HTMLDiwaMultiSelectOptionElement;\r\n\r\n /** The value submitted/emitted when this option is selected. */\r\n @Prop({ reflect: true }) value!: string;\r\n\r\n /** Disables the option — it cannot be selected. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /**\r\n * Whether the option is currently selected.\r\n * Maintained by the parent <diwa-multi-select>; consumers can also\r\n * pre-select options by setting this attribute.\r\n */\r\n @Prop({ mutable: true, reflect: true }) selected: boolean = false;\r\n\r\n /**\r\n * Whether the option is currently keyboard-highlighted.\r\n * Set exclusively by the parent component.\r\n */\r\n @Prop({ mutable: true, reflect: true }) highlighted: boolean = false;\r\n\r\n /**\r\n * Compact variant — reduces the option row height and checkbox size.\r\n * Inherited from the parent diwa-multi-select.\r\n */\r\n @Prop({ mutable: true, reflect: true }) compact: boolean = false;\r\n\r\n /** Theme — inherited from the parent diwa-multi-select. */\r\n @Prop({ mutable: true }) theme: Theme = 'dark';\r\n\r\n /**\r\n * Emitted when the user clicks or presses Enter on the option.\r\n * Bubbles and crosses Shadow DOM so the parent can catch it via @Listen.\r\n */\r\n @Event({ bubbles: true, composed: true })\r\n diwaMultiSelectOptionUpdate!: EventEmitter<{ value: string; selected: boolean }>;\r\n\r\n @Watch('selected')\r\n @Watch('highlighted')\r\n @Watch('disabled')\r\n handlePropChange(): void {\r\n // Re-injecting CSS on state change keeps styles in sync without a full re-render.\r\n // The watch covers selected/highlighted/disabled prop changes.\r\n }\r\n\r\n /** Focuses the inner option element. */\r\n @Method()\r\n async setFocus(): Promise<void> {\r\n this.optionEl?.focus();\r\n }\r\n\r\n private optionEl?: HTMLDivElement;\r\n\r\n private handleClick = (): void => {\r\n if (this.disabled) return;\r\n this.diwaMultiSelectOptionUpdate.emit({ value: this.value, selected: !this.selected });\r\n };\r\n\r\n private handleKeyDown = (e: KeyboardEvent): void => {\r\n if (this.disabled) return;\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n this.diwaMultiSelectOptionUpdate.emit({ value: this.value, selected: !this.selected });\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.compact)} />\r\n <div\r\n class=\"option\"\r\n role=\"option\"\r\n aria-selected={this.selected ? 'true' : 'false'}\r\n aria-disabled={this.disabled ? 'true' : undefined}\r\n tabIndex={this.disabled ? -1 : 0}\r\n onClick={this.handleClick}\r\n onKeyDown={this.handleKeyDown}\r\n ref={(el) => (this.optionEl = el as HTMLDivElement)}\r\n part=\"option\"\r\n >\r\n <span class=\"checkbox\" aria-hidden=\"true\" part=\"checkbox\" />\r\n <span class=\"label\" part=\"label\">\r\n <slot />\r\n </span>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"sJAGO,MAAMA,EAAmBC,IAC9B,MAAMC,EAAUD,EAAU,OAAS,OAEnC,MAAO,keAoBSA,EAAU,kDAAoD,yiBAe5EE,EAAc,iJAMLD,mBACCA,WACRE,yOAQkBC,miCA6CpBC,EAAsB,UAAW,gBACpC,E,MCrFYC,EAAqB,MAJlC,WAAAC,CAAAC,G,mFAW2BC,KAAAC,SAAoB,MAOLD,KAAAE,SAAoB,MAMpBF,KAAAG,YAAuB,MAMvBH,KAAAT,QAAmB,MAGlCS,KAAAI,MAAe,OAyBhCJ,KAAAK,YAAc,KACpB,GAAIL,KAAKC,SAAU,OACnBD,KAAKM,4BAA4BC,KAAK,CAAEC,MAAOR,KAAKQ,MAAON,UAAWF,KAAKE,UAAW,EAGhFF,KAAAS,cAAiBC,IACvB,GAAIV,KAAKC,SAAU,OACnB,GAAIS,EAAEC,MAAQ,SAAWD,EAAEC,MAAQ,IAAK,CACtCD,EAAEE,iBACFZ,KAAKM,4BAA4BC,KAAK,CAAEC,MAAOR,KAAKQ,MAAON,UAAWF,KAAKE,U,GAtB/E,gBAAAW,G,CAOA,cAAMC,G,OACJC,EAAAf,KAAKgB,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,O,CAkBjB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAT,IAAA,wDAAaX,KAAKI,OACrBe,EAAA,SAAAR,IAAA,2CAAOU,UAAW/B,EAAgBU,KAAKT,WACvC4B,EAAA,OAAAR,IAAA,2CACEW,MAAM,SACNC,KAAK,SAAQ,gBACEvB,KAAKE,SAAW,OAAS,QAAO,gBAChCF,KAAKC,SAAW,OAASuB,UACxCC,SAAUzB,KAAKC,UAAY,EAAI,EAC/ByB,QAAS1B,KAAKK,YACdsB,UAAW3B,KAAKS,cAChBmB,IAAMC,GAAQ7B,KAAKgB,SAAWa,EAC9BC,KAAK,UAELX,EAAA,QAAAR,IAAA,2CAAMW,MAAM,WAAU,cAAa,OAAOQ,KAAK,aAC/CX,EAAA,QAAAR,IAAA,2CAAMW,MAAM,QAAQQ,KAAK,SACvBX,EAAA,QAAAR,IAAA,+C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,c as e,h as a,H as i,g as t}from"./p-ed4017f0.js";import{g as o,a as r}from"./p-70bbb21a.js";const s=()=>`\n\n /* ── Host ──────────────────────────────────────────────────────────── */\n\n :host {\n display: block;\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-border);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── Heading wrapper (h2…h6) ─────────────────────────────────────── */\n\n .heading {\n margin: 0;\n padding: 0;\n font-size: inherit;\n font-weight: inherit;\n }\n\n /* ── Toggle button ───────────────────────────────────────────────── */\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--diwa-space-9);\n width: 100%;\n background: transparent;\n border: none;\n padding: var(--diwa-space-4) var(--diwa-space-2);\n margin: 0;\n cursor: pointer;\n font-family: inherit;\n font-size: var(--diwa-font-size-lg, 16px);\n font-weight: var(--diwa-font-weight-semibold);\n line-height: 1.3;\n color: var(--diwa-text-primary);\n text-align: start;\n -webkit-appearance: none;\n appearance: none;\n -webkit-font-smoothing: antialiased;\n outline: none;\n border-radius: var(--diwa-radius-sm);\n }\n\n :host([compact]) .header {\n padding: var(--diwa-space-0-5) var(--diwa-space-1);\n font-size: var(--diwa-font-size-base);\n font-weight: var(--diwa-font-weight-medium);\n }\n\n /* ── Focus ring ─────────────────────────────────────────────────── */\n\n ${o(".header")}\n\n /* ── Hover / active ─────────────────────────────────────────────── */\n\n .header:hover {\n background-color: var(--diwa-bg-hover);\n }\n\n .header:active {\n background-color: var(--diwa-bg-active);\n }\n\n /* Heading text sits above ::before */\n .heading-text {\n position: relative;\n flex: 1;\n min-width: 0;\n }\n\n /* ── Chevron container ──────────────────────────────────────────── */\n\n /* Wrap the icon so we can apply the rotation transform to a real DOM\n element rather than to the shadow host of diwa-icon itself. */\n .chevron-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n position: relative;\n transition: transform var(--diwa-transition-slow, 0.25s ease);\n }\n\n :host([open]) .chevron-container {\n transform: rotate(180deg);\n }\n\n /* ── Collapsible panel ──────────────────────────────────────────── */\n\n /* grid trick: 0fr collapses the row to zero height without display:none,\n so CSS transitions can animate smoothly between 0fr and 1fr. */\n .collapsible {\n display: grid;\n grid-template-rows: 0fr;\n visibility: hidden;\n transition:\n grid-template-rows var(--diwa-transition-slow, 0.25s ease),\n visibility 0s linear var(--diwa-transition-slow, 0.25s);\n }\n\n :host([open]) .collapsible {\n grid-template-rows: 1fr;\n visibility: inherit;\n transition:\n grid-template-rows var(--diwa-transition-slow, 0.25s ease),\n visibility 0s;\n }\n\n /* Inner must have overflow: hidden and min-height: 0 for the grid trick.\n Negative margin/padding ensures focus rings from slotted content are\n fully visible (matching PDS accordion inner div treatment). */\n .inner {\n overflow: hidden;\n min-height: 0;\n padding: var(--diwa-space-1);\n margin: calc(-1 * var(--diwa-space-1));\n }\n\n /* Switch to overflow: visible when panel is open so slotted content\n like dropdowns and select menus are not clipped. Use an animation\n to keep overflow hidden for the duration of the closing transition. */\n :host([open]) .inner {\n overflow: visible;\n }\n\n .content {\n padding-bottom: var(--diwa-space-9);\n padding-inline: var(--diwa-space-2);\n }\n\n :host([compact]) .content {\n padding-bottom: var(--diwa-space-5);\n padding-inline: var(--diwa-space-1);\n }\n\n /* ── Reduced motion ─────────────────────────────────────────────── */\n\n ${r(".chevron-container",".collapsible",".inner")}\n`;let d=0;const c=class{constructor(a){n(this,a);this.update=e(this,"update",1);this.uid=`diwa-accordion-${++d}`;this.theme="dark";this.heading="";this.headingTag="h2";this.open=false;this.compact=false;this.handleToggle=()=>{this.update.emit({open:!this.open})}}get buttonId(){return`${this.uid}-btn`}get panelId(){return`${this.uid}-panel`}render(){const n=this.headingTag;const e=this.compact?16:20;return a(i,{key:"d0e5725cdcbc18b1140ad2c20a0656959f67602c","data-theme":this.theme},a("style",{key:"cf359da775a262093aa7ea4579c36898fc569584",innerHTML:s()}),a(n,{key:"7f9c400334f128d0adc07bed26231eb544c88199",class:"heading"},a("button",{key:"0d3e2f484bd7492a1d675631b77231097a1509ef",class:"header",id:this.buttonId,"aria-expanded":String(this.open),"aria-controls":this.panelId,onClick:this.handleToggle},a("span",{key:"9a55d56f77c938f232b4ce6a22783fb757cc02e0",class:"heading-text"},this.heading),a("span",{key:"69aa73b20f083383e9f62578f702af727730a25f",class:"chevron-container"},a("diwa-icon",{key:"b156ff3b3225baf2392df24c669e30329dd19820",name:"chevron-down",size:e})))),a("div",{key:"2d6bf29a7209e1e7f89eb0d5f6cebb38007d4937",id:this.panelId,class:"collapsible",role:"region","aria-labelledby":this.buttonId},a("div",{key:"63984cab316da69de9be6f59c6e2b1483313b99e",class:"inner"},a("div",{key:"27b4225e6edd6a7fce9caa00d97c850d946349b9",class:"content"},a("slot",{key:"79cf969a2fac8d3904e024465b53a59c0e658835"})))))}static get delegatesFocus(){return true}get host(){return t(this)}};export{c as diwa_accordion};
|
|
2
|
-
//# sourceMappingURL=p-8afa6931.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","getFocusStyle","getReducedMotionStyle","accordionCount","DiwaAccordion","constructor","hostRef","this","uid","theme","heading","headingTag","open","compact","handleToggle","update","emit","buttonId","panelId","render","HeadingTag","iconSize","h","Host","key","innerHTML","class","id","String","onClick","name","size","role"],"sources":["src/components/diwa-accordion/diwa-accordion-styles.ts","src/components/diwa-accordion/diwa-accordion.tsx"],"sourcesContent":["/**\r\n * diwa-accordion-styles.ts\r\n * =========================\r\n * CSS-in-JS styles for <diwa-accordion>.\r\n *\r\n * Animation technique: CSS `grid-template-rows: 0fr ↔ 1fr` — smoothly\r\n * collapses/expands the content without requiring fixed heights.\r\n *\r\n * The inner wrapper uses `visibility: hidden` when closed so keyboard focus\r\n * cannot reach interactive content inside a collapsed panel.\r\n */\r\n\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Heading wrapper (h2…h6) ─────────────────────────────────────── */\r\n\r\n .heading {\r\n margin: 0;\r\n padding: 0;\r\n font-size: inherit;\r\n font-weight: inherit;\r\n }\r\n\r\n /* ── Toggle button ───────────────────────────────────────────────── */\r\n\r\n .header {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n gap: var(--diwa-space-9);\r\n width: 100%;\r\n background: transparent;\r\n border: none;\r\n padding: var(--diwa-space-4) var(--diwa-space-2);\r\n margin: 0;\r\n cursor: pointer;\r\n font-family: inherit;\r\n font-size: var(--diwa-font-size-lg, 16px);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n line-height: 1.3;\r\n color: var(--diwa-text-primary);\r\n text-align: start;\r\n -webkit-appearance: none;\r\n appearance: none;\r\n -webkit-font-smoothing: antialiased;\r\n outline: none;\r\n border-radius: var(--diwa-radius-sm);\r\n }\r\n\r\n :host([compact]) .header {\r\n padding: var(--diwa-space-0-5) var(--diwa-space-1);\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-medium);\r\n }\r\n\r\n /* ── Focus ring ─────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('.header')}\r\n\r\n /* ── Hover / active ─────────────────────────────────────────────── */\r\n\r\n .header:hover {\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n .header:active {\r\n background-color: var(--diwa-bg-active);\r\n }\r\n\r\n /* Heading text sits above ::before */\r\n .heading-text {\r\n position: relative;\r\n flex: 1;\r\n min-width: 0;\r\n }\r\n\r\n /* ── Chevron container ──────────────────────────────────────────── */\r\n\r\n /* Wrap the icon so we can apply the rotation transform to a real DOM\r\n element rather than to the shadow host of diwa-icon itself. */\r\n .chevron-container {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-shrink: 0;\r\n position: relative;\r\n transition: transform var(--diwa-transition-slow, 0.25s ease);\r\n }\r\n\r\n :host([open]) .chevron-container {\r\n transform: rotate(180deg);\r\n }\r\n\r\n /* ── Collapsible panel ──────────────────────────────────────────── */\r\n\r\n /* grid trick: 0fr collapses the row to zero height without display:none,\r\n so CSS transitions can animate smoothly between 0fr and 1fr. */\r\n .collapsible {\r\n display: grid;\r\n grid-template-rows: 0fr;\r\n visibility: hidden;\r\n transition:\r\n grid-template-rows var(--diwa-transition-slow, 0.25s ease),\r\n visibility 0s linear var(--diwa-transition-slow, 0.25s);\r\n }\r\n\r\n :host([open]) .collapsible {\r\n grid-template-rows: 1fr;\r\n visibility: inherit;\r\n transition:\r\n grid-template-rows var(--diwa-transition-slow, 0.25s ease),\r\n visibility 0s;\r\n }\r\n\r\n /* Inner must have overflow: hidden and min-height: 0 for the grid trick.\r\n Negative margin/padding ensures focus rings from slotted content are\r\n fully visible (matching PDS accordion inner div treatment). */\r\n .inner {\r\n overflow: hidden;\r\n min-height: 0;\r\n padding: var(--diwa-space-1);\r\n margin: calc(-1 * var(--diwa-space-1));\r\n }\r\n\r\n /* Switch to overflow: visible when panel is open so slotted content\r\n like dropdowns and select menus are not clipped. Use an animation\r\n to keep overflow hidden for the duration of the closing transition. */\r\n :host([open]) .inner {\r\n overflow: visible;\r\n }\r\n\r\n .content {\r\n padding-bottom: var(--diwa-space-9);\r\n padding-inline: var(--diwa-space-2);\r\n }\r\n\r\n :host([compact]) .content {\r\n padding-bottom: var(--diwa-space-5);\r\n padding-inline: var(--diwa-space-1);\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.chevron-container', '.collapsible', '.inner')}\r\n`;\r\n","import { Component, Element, Event, type EventEmitter, Host, Prop, h } from '@stencil/core';\r\nimport type { AccordionHeadingTag } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-accordion-styles';\r\n\r\n/** Monotonically increasing counter to guarantee unique IDs per instance. */\r\nlet accordionCount = 0;\r\n\r\n/**\r\n * @component diwa-accordion\r\n *\r\n * A controlled, animated accordion panel. The consumer is responsible\r\n * for toggling the `open` prop in response to the `update` event —\r\n * the same controlled pattern used throughout PDS.\r\n *\r\n * Accessibility:\r\n * - Heading tag wraps the toggle button (ARIA Authoring Practices §3.1)\r\n * - Button has `aria-expanded` and `aria-controls` pointing to the panel\r\n * - Panel has `role=\"region\"` and `aria-labelledby` the button id\r\n * - `visibility: hidden` when closed keeps interactive slot content\r\n * out of the keyboard tab order\r\n *\r\n * Usage:\r\n * <diwa-accordion heading=\"What is this?\" open={false} onUpdate={e => open = e.detail.open}>\r\n * Content here.\r\n * </diwa-accordion>\r\n *\r\n * @slot default — Collapsible content rendered inside the panel.\r\n */\r\n@Component({\r\n tag: 'diwa-accordion',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaAccordion {\r\n @Element() host!: HTMLDiwaAccordionElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Instance identity\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private readonly uid = `diwa-accordion-${++accordionCount}`;\r\n private get buttonId() { return `${this.uid}-btn`; }\r\n private get panelId() { return `${this.uid}-panel`; }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Per-component theme override (`light` / `dark`). */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Visible heading text rendered inside the toggle button. */\r\n @Prop() heading: string = '';\r\n\r\n /** Semantic heading level for the toggle button wrapper. */\r\n @Prop() headingTag: AccordionHeadingTag = 'h2';\r\n\r\n /**\r\n * Whether the accordion panel is currently open.\r\n *\r\n * This is a **controlled** prop: the component always reflects\r\n * its `open` state outward via the `update` event, but never\r\n * mutates the prop internally. The consumer must update it.\r\n */\r\n @Prop({ reflect: true }) open: boolean = false;\r\n\r\n /** Reduces padding and font size for denser UI contexts. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Emitted when the user clicks the header toggle button.\r\n *\r\n * `event.detail.open` is the **requested** next state.\r\n * The consumer must set the `open` prop accordingly:\r\n *\r\n * ```html\r\n * <diwa-accordion onUpdate={e => this.open = e.detail.open} />\r\n * ```\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<{ open: boolean }>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private handleToggle = (): void => {\r\n this.update.emit({ open: !this.open });\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const HeadingTag = this.headingTag as keyof HTMLElementTagNameMap;\r\n const iconSize = this.compact ? 16 : 20;\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n\r\n <HeadingTag class=\"heading\">\r\n <button\r\n class=\"header\"\r\n id={this.buttonId}\r\n aria-expanded={String(this.open)}\r\n aria-controls={this.panelId}\r\n onClick={this.handleToggle}\r\n >\r\n <span class=\"heading-text\">{this.heading}</span>\r\n <span class=\"chevron-container\">\r\n <diwa-icon name=\"chevron-down\" size={iconSize} />\r\n </span>\r\n </button>\r\n </HeadingTag>\r\n\r\n <div\r\n id={this.panelId}\r\n class=\"collapsible\"\r\n role=\"region\"\r\n aria-labelledby={this.buttonId}\r\n >\r\n <div class=\"inner\">\r\n <div class=\"content\">\r\n <slot />\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"2GAcO,MAAMA,EAAkB,IAAc,w7CAyDzCC,EAAc,q8EAsFdC,EAAsB,qBAAsB,eAAgB,cCvJhE,IAAIC,EAAiB,E,MA2BRC,EAAa,MAJ1B,WAAAC,CAAAC,G,yCAWmBC,KAAAC,IAAM,oBAAoBL,IASlBI,KAAAE,MAAe,OAGhCF,KAAAG,QAAkB,GAGlBH,KAAAI,WAAkC,KASjBJ,KAAAK,KAAgB,MAGhBL,KAAAM,QAAmB,MAuBpCN,KAAAO,aAAe,KACrBP,KAAKQ,OAAOC,KAAK,CAAEJ,MAAOL,KAAKK,MAAO,C,CAlDxC,YAAYK,GAAa,MAAO,GAAGV,KAAKC,SAAU,CAClD,WAAYU,GAAa,MAAO,GAAGX,KAAKC,WAAY,CAwDpD,MAAAW,GACE,MAAMC,EAAab,KAAKI,WACxB,MAAMU,EAAWd,KAAKM,QAAU,GAAK,GAErC,OACES,EAACC,EAAI,CAAAC,IAAA,wDAAajB,KAAKE,OACrBa,EAAA,SAAAE,IAAA,2CAAOC,UAAWzB,MAElBsB,EAACF,EAAU,CAAAI,IAAA,2CAACE,MAAM,WAChBJ,EAAA,UAAAE,IAAA,2CACEE,MAAM,SACNC,GAAIpB,KAAKU,SAAQ,gBACFW,OAAOrB,KAAKK,MAAK,gBACjBL,KAAKW,QACpBW,QAAStB,KAAKO,cAEdQ,EAAA,QAAAE,IAAA,2CAAME,MAAM,gBAAgBnB,KAAKG,SACjCY,EAAA,QAAAE,IAAA,2CAAME,MAAM,qBACVJ,EAAA,aAAAE,IAAA,2CAAWM,KAAK,eAAeC,KAAMV,OAK3CC,EAAA,OAAAE,IAAA,2CACEG,GAAIpB,KAAKW,QACTQ,MAAM,cACNM,KAAK,SAAQ,kBACIzB,KAAKU,UAEtBK,EAAA,OAAAE,IAAA,2CAAKE,MAAM,SACTJ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,WACTJ,EAAA,QAAAE,IAAA,gD","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,c as t,h as e,H as i,g as a}from"./p-ed4017f0.js";import{g as s,a as r}from"./p-70bbb21a.js";const o=()=>`\n\n /* ── Host ─────────────────────────────────────────────────────────── */\n\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── Nav wrapper ──────────────────────────────────────────────────── */\n\n .nav {\n display: flex;\n justify-content: center;\n user-select: none;\n }\n\n /* ── Item list ────────────────────────────────────────────────────── */\n\n .list {\n display: flex;\n align-items: center;\n gap: var(--diwa-space-1);\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n /* Extra breathing room between prev/next and the page number group */\n .list > li:first-child {\n margin-inline-end: var(--diwa-space-2);\n }\n\n .list > li:last-child {\n margin-inline-start: var(--diwa-space-2);\n }\n\n /* ── Shared button base ───────────────────────────────────────────── */\n\n .btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--diwa-pagination-item-size);\n height: var(--diwa-pagination-item-size);\n box-sizing: border-box;\n padding: 0;\n border: var(--diwa-border-width-medium) solid transparent;\n border-radius: var(--diwa-radius-md);\n background: transparent;\n color: var(--diwa-text-primary);\n font-size: var(--diwa-font-size-sm);\n font-family: inherit;\n font-weight: var(--diwa-font-weight-normal);\n line-height: 1;\n cursor: pointer;\n transition: background-color var(--diwa-transition-fast),\n border-color var(--diwa-transition-fast);\n }\n\n /* ── Hover ────────────────────────────────────────────────────────── */\n\n .btn:hover:not(:disabled):not([aria-current]) {\n background: var(--diwa-bg-hover);\n }\n\n /* ── Active page ──────────────────────────────────────────────────── */\n\n /* Diwa brand treatment: bottom accent line instead of PDS border box */\n .btn[aria-current="page"] {\n border-bottom-color: var(--diwa-accent);\n cursor: default;\n }\n\n /* ── Disabled (prev/next at boundaries) ──────────────────────────── */\n\n .btn:disabled {\n opacity: 0.38;\n cursor: not-allowed;\n pointer-events: none;\n }\n\n /* ── Ellipsis ─────────────────────────────────────────────────────── */\n\n .ellipsis {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--diwa-pagination-item-size);\n height: var(--diwa-pagination-item-size);\n color: var(--diwa-text-secondary);\n font-size: var(--diwa-font-size-sm);\n cursor: default;\n user-select: none;\n }\n\n /* ── Focus ring ───────────────────────────────────────────────────── */\n\n ${s(".btn")}\n\n /* ── Reduced motion ───────────────────────────────────────────────── */\n\n ${r(".btn")}\n`;var c;(function(n){n[n["PAGE"]=0]="PAGE";n[n["ELLIPSIS"]=1]="ELLIPSIS";n[n["PREVIOUS"]=2]="PREVIOUS";n[n["NEXT"]=3]="NEXT"})(c||(c={}));const l={type:c.ELLIPSIS,isActive:false};const d=n=>{const{activePage:t}=n;return{type:c.PREVIOUS,value:Math.max(1,t-1),isActive:t>1}};const u=n=>{const{activePage:t,pageTotal:e}=n;return{type:c.NEXT,value:Math.min(e,t+1),isActive:t<e}};const h=({activePage:n})=>t=>({type:c.PAGE,value:t,isActive:t===n,isBeforeCurrent:t===n-1,isBeforeBeforeCurrent:t===n-2,isAfterCurrent:t===n+1,isAfterAfterCurrent:t===n+2});const p=(n,t)=>Array.from(new Array(t-n+1),((t,e)=>e+n));const g=n=>{const{pageTotal:t,activePage:e,showLastPage:i}=n;const a=1;const s=1;const r=1;const o=[d(n)];const c=h(n);if(1+2*r+2*s>=t){const n=p(1,t).map(c);o.push(...n)}else{o.push(c(1));const n=Math.min(Math.max(e-a,2+r),t-r-2-(i?1:0));const s=n+2;const d=p(n,s).map(c);const u=n-1;const h=u===2;const g=h?c(u):l;o.push(g);o.push(...d);const v=s+1;const b=v===t-(i?1:0);const f=b?c(v):l;o.push(f);if(i){o.push(c(t))}}o.push(u(n));return o};const v=(n,t)=>n<1?1:n>t?t:n;const b=(n,t)=>{if(t<1)return 1;const e=n<1?1:n;return Math.ceil(e/t)};const f=class{constructor(e){n(this,e);this.update=t(this,"update",1);this.theme="dark";this.totalItemsCount=1;this.itemsPerPage=1;this.activePage=1;this.showLastPage=true;this.intl={root:"Pagination",prev:"Previous page",next:"Next page",page:"Page"}}handleClick(n){if(n!==this.activePage){this.update.emit({page:n,previousPage:this.activePage});this.activePage=n}}render(){var n,t,a,s,r;const l=b(this.totalItemsCount,this.itemsPerPage);const d=v(this.activePage,l);const u=g({activePage:d,pageTotal:l,showLastPage:this.showLastPage});const h=(n=this.intl)!==null&&n!==void 0?n:{};const p=(t=h.root)!==null&&t!==void 0?t:"Pagination";const f=(a=h.prev)!==null&&a!==void 0?a:"Previous page";const w=(s=h.next)!==null&&s!==void 0?s:"Next page";const y=(r=h.page)!==null&&r!==void 0?r:"Page";return e(i,{key:"4fa5cadb5296b7e23cc779e5ec159244fcde6c4a","data-theme":this.theme},e("style",{key:"64ecd996a2a54cad3762f31430dfc1c8ef6a8b8f",innerHTML:o()}),e("nav",{key:"a8ff37dbf716a7c270e5493539418da43ae94b5f","aria-label":p,class:"nav"},e("ul",{key:"3a980124988ec73d6a4c0becbe76351b66522544",class:"list"},u.map(((n,t)=>{const{type:i,isActive:a,value:s}=n;if(i===c.PREVIOUS){return e("li",{key:"prev"},e("button",{class:"btn",disabled:!a,"aria-label":f,onClick:()=>a&&this.handleClick(s)},e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},e("polyline",{points:"15 18 9 12 15 6"}))))}if(i===c.NEXT){return e("li",{key:"next"},e("button",{class:"btn",disabled:!a,"aria-label":w,onClick:()=>a&&this.handleClick(s)},e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},e("polyline",{points:"9 18 15 12 9 6"}))))}if(i===c.ELLIPSIS){return e("li",{key:`ellipsis-${t}`},e("span",{class:"ellipsis","aria-hidden":"true"},"…"))}return e("li",{key:s},e("button",{class:"btn","aria-label":`${y} ${s}`,"aria-current":a?"page":undefined,onClick:()=>this.handleClick(s)},s))})))))}static get delegatesFocus(){return true}get host(){return a(this)}};export{f as diwa_pagination};
|
|
2
|
-
//# sourceMappingURL=p-926e283b.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","getFocusStyle","getReducedMotionStyle","ItemType","ellipsisItem","type","ELLIPSIS","isActive","createPreviousPageLink","options","activePage","PREVIOUS","value","Math","max","createNextPageLink","pageTotal","NEXT","min","createPageFunctionFactory","pageNumber","PAGE","isBeforeCurrent","isBeforeBeforeCurrent","isAfterCurrent","isAfterAfterCurrent","createRange","start","end","Array","from","_","i","createPaginationItems","showLastPage","pageRange","boundaryPagesRange","ellipsisSize","paginationItems","createPage","allPages","map","push","middlePagesStart","middlePagesEnd","middlePages","firstEllipsisPageNumber","showPageInsteadOfFirstEllipsis","firstEllipsisOrPage","lastEllipsisPageNumber","showPageInsteadOfLastEllipsis","lastEllipsisOrPage","getCurrentActivePage","totalPages","getTotalPages","totalItemsCount","itemsPerPage","total","ceil","DiwaPagination","constructor","hostRef","this","theme","intl","root","prev","next","page","handleClick","update","emit","previousPage","render","currentPage","items","_a","rootLabel","_b","prevLabel","_c","nextLabel","_d","pageLabel","_e","h","Host","key","innerHTML","class","item","index","disabled","onClick","width","height","viewBox","fill","stroke","points","undefined"],"sources":["src/components/diwa-pagination/diwa-pagination-styles.ts","src/components/diwa-pagination/diwa-pagination-utils.ts","src/components/diwa-pagination/diwa-pagination.tsx"],"sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n\r\n /* ── Host ─────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Nav wrapper ──────────────────────────────────────────────────── */\r\n\r\n .nav {\r\n display: flex;\r\n justify-content: center;\r\n user-select: none;\r\n }\r\n\r\n /* ── Item list ────────────────────────────────────────────────────── */\r\n\r\n .list {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--diwa-space-1);\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n /* Extra breathing room between prev/next and the page number group */\r\n .list > li:first-child {\r\n margin-inline-end: var(--diwa-space-2);\r\n }\r\n\r\n .list > li:last-child {\r\n margin-inline-start: var(--diwa-space-2);\r\n }\r\n\r\n /* ── Shared button base ───────────────────────────────────────────── */\r\n\r\n .btn {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--diwa-pagination-item-size);\r\n height: var(--diwa-pagination-item-size);\r\n box-sizing: border-box;\r\n padding: 0;\r\n border: var(--diwa-border-width-medium) solid transparent;\r\n border-radius: var(--diwa-radius-md);\r\n background: transparent;\r\n color: var(--diwa-text-primary);\r\n font-size: var(--diwa-font-size-sm);\r\n font-family: inherit;\r\n font-weight: var(--diwa-font-weight-normal);\r\n line-height: 1;\r\n cursor: pointer;\r\n transition: background-color var(--diwa-transition-fast),\r\n border-color var(--diwa-transition-fast);\r\n }\r\n\r\n /* ── Hover ────────────────────────────────────────────────────────── */\r\n\r\n .btn:hover:not(:disabled):not([aria-current]) {\r\n background: var(--diwa-bg-hover);\r\n }\r\n\r\n /* ── Active page ──────────────────────────────────────────────────── */\r\n\r\n /* Diwa brand treatment: bottom accent line instead of PDS border box */\r\n .btn[aria-current=\"page\"] {\r\n border-bottom-color: var(--diwa-accent);\r\n cursor: default;\r\n }\r\n\r\n /* ── Disabled (prev/next at boundaries) ──────────────────────────── */\r\n\r\n .btn:disabled {\r\n opacity: 0.38;\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── Ellipsis ─────────────────────────────────────────────────────── */\r\n\r\n .ellipsis {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--diwa-pagination-item-size);\r\n height: var(--diwa-pagination-item-size);\r\n color: var(--diwa-text-secondary);\r\n font-size: var(--diwa-font-size-sm);\r\n cursor: default;\r\n user-select: none;\r\n }\r\n\r\n /* ── Focus ring ───────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('.btn')}\r\n\r\n /* ── Reduced motion ───────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.btn')}\r\n`;\r\n","/**\r\n * Universal pagination model generation algorithm.\r\n *\r\n * Ported from an upstream pagination algorithm:\n * packages/components/src/components/pagination/pagination-utils.ts\r\n * (which was itself adapted from ultimate-pagination)\r\n *\r\n * Kept: ItemType, PaginationItem, PaginationOptions, createRange,\r\n * createPaginationItems, getTotalPages, getCurrentActivePage.\r\n * Dropped: deprecated allyLabel* types, maxNumberOfPageLinks.\r\n */\r\n\r\nexport type PaginationOptions = {\r\n activePage: number;\r\n pageTotal: number;\r\n showLastPage: boolean;\r\n};\r\n\r\nexport type PaginationItem = {\r\n /** Page number — relevant for clickable PAGE items; undefined for ELLIPSIS. */\r\n value?: number;\r\n /** True for the active page, and true for prev/next when they are actionable. */\r\n isActive: boolean;\r\n /** Positional flags used for responsive class names (future use). */\r\n isBeforeCurrent?: boolean;\r\n isBeforeBeforeCurrent?: boolean;\r\n isAfterCurrent?: boolean;\r\n isAfterAfterCurrent?: boolean;\r\n type: ItemType;\r\n};\r\n\r\nexport enum ItemType {\r\n PAGE = 0,\r\n ELLIPSIS = 1,\r\n PREVIOUS = 2,\r\n NEXT = 3,\r\n}\r\n\r\n// ── Internal helpers ────────────────────────────────────────────────────────\r\n\r\nconst ellipsisItem: PaginationItem = {\r\n type: ItemType.ELLIPSIS,\r\n isActive: false,\r\n};\r\n\r\nconst createPreviousPageLink = (options: PaginationOptions): PaginationItem => {\r\n const { activePage } = options;\r\n return {\r\n type: ItemType.PREVIOUS,\r\n value: Math.max(1, activePage - 1),\r\n isActive: activePage > 1,\r\n };\r\n};\r\n\r\nconst createNextPageLink = (options: PaginationOptions): PaginationItem => {\r\n const { activePage, pageTotal } = options;\r\n return {\r\n type: ItemType.NEXT,\r\n value: Math.min(pageTotal, activePage + 1),\r\n isActive: activePage < pageTotal,\r\n };\r\n};\r\n\r\nconst createPageFunctionFactory = ({\r\n activePage,\r\n}: PaginationOptions): ((pageNumber: number) => PaginationItem) => {\r\n return (pageNumber): PaginationItem => ({\r\n type: ItemType.PAGE,\r\n value: pageNumber,\r\n isActive: pageNumber === activePage,\r\n isBeforeCurrent: pageNumber === activePage - 1,\r\n isBeforeBeforeCurrent: pageNumber === activePage - 2,\r\n isAfterCurrent: pageNumber === activePage + 1,\r\n isAfterAfterCurrent: pageNumber === activePage + 2,\r\n });\r\n};\r\n\r\n// ── Public API ──────────────────────────────────────────────────────────────\r\n\r\nexport const createRange = (start: number, end: number): number[] =>\r\n Array.from(new Array(end - start + 1), (_, i) => i + start);\r\n\r\n/**\r\n * Builds the ordered list of pagination items (PREVIOUS, PAGE, ELLIPSIS, NEXT)\r\n * for the given options. The caller is responsible for clamping `activePage`\r\n * before passing it in — use `getCurrentActivePage()`.\r\n */\r\nexport const createPaginationItems = (options: PaginationOptions): PaginationItem[] => {\r\n const { pageTotal, activePage, showLastPage } = options;\r\n\r\n const pageRange = 1;\r\n const boundaryPagesRange = 1;\r\n const ellipsisSize = 1;\r\n const paginationItems: PaginationItem[] = [createPreviousPageLink(options)];\r\n const createPage = createPageFunctionFactory(options);\r\n\r\n // All pages fit without ellipsis\r\n if (1 + 2 * ellipsisSize + 2 * boundaryPagesRange >= pageTotal) {\r\n const allPages = createRange(1, pageTotal).map(createPage);\r\n paginationItems.push(...allPages);\r\n } else {\r\n // First page\r\n paginationItems.push(createPage(1));\r\n\r\n // Middle group\r\n const middlePagesStart = Math.min(\r\n Math.max(activePage - pageRange, 2 + ellipsisSize),\r\n pageTotal - ellipsisSize - 2 - (showLastPage ? 1 : 0),\r\n );\r\n const middlePagesEnd = middlePagesStart + 2;\r\n const middlePages = createRange(middlePagesStart, middlePagesEnd).map(createPage);\r\n\r\n // Ellipsis / page before middle group\r\n const firstEllipsisPageNumber = middlePagesStart - 1;\r\n const showPageInsteadOfFirstEllipsis = firstEllipsisPageNumber === 2;\r\n const firstEllipsisOrPage = showPageInsteadOfFirstEllipsis\r\n ? createPage(firstEllipsisPageNumber)\r\n : ellipsisItem;\r\n\r\n paginationItems.push(firstEllipsisOrPage);\r\n\r\n paginationItems.push(...middlePages);\r\n\r\n // Ellipsis / page after middle group\r\n const lastEllipsisPageNumber = middlePagesEnd + 1;\r\n const showPageInsteadOfLastEllipsis =\r\n lastEllipsisPageNumber === pageTotal - (showLastPage ? 1 : 0);\r\n const lastEllipsisOrPage = showPageInsteadOfLastEllipsis\r\n ? createPage(lastEllipsisPageNumber)\r\n : ellipsisItem;\r\n paginationItems.push(lastEllipsisOrPage);\r\n\r\n if (showLastPage) {\r\n paginationItems.push(createPage(pageTotal));\r\n }\r\n }\r\n\r\n paginationItems.push(createNextPageLink(options));\r\n return paginationItems;\r\n};\r\n\r\n/** Clamps activePage to a valid range [1, totalPages]. */\r\nexport const getCurrentActivePage = (activePage: number, totalPages: number): number => {\r\n return activePage < 1 ? 1 : activePage > totalPages ? totalPages : activePage;\r\n};\r\n\r\n/** Derives total page count, guarding against zero/negative inputs. */\r\nexport const getTotalPages = (totalItemsCount: number, itemsPerPage: number): number => {\r\n if (itemsPerPage < 1) return 1;\r\n const total = totalItemsCount < 1 ? 1 : totalItemsCount;\r\n return Math.ceil(total / itemsPerPage);\r\n};\r\n","import { Component, Element, Event, type EventEmitter, Host, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport type { PaginationIntl, PaginationUpdateEventDetail } from './types';\r\nimport { getComponentCss } from './diwa-pagination-styles';\r\nimport {\r\n createPaginationItems,\r\n getCurrentActivePage,\r\n getTotalPages,\r\n ItemType,\r\n} from './diwa-pagination-utils';\r\n\r\n/**\r\n * @component diwa-pagination\r\n *\r\n * Splits a large data set across numbered pages with previous and next navigation.\r\n * Renders up to 7 page items (prev + pages/ellipsis + next) matching Diwa's\n * pagination visual and API contract.\n *\r\n * The active page is indicated with a bottom accent line (`--diwa-accent`) rather\r\n * than a border box, keeping Diwa's minimal aesthetic.\r\n *\r\n * Semi-controlled: `activePage` is mutable — it updates internally on click AND\r\n * emits an `update` event so the consumer can sync external state.\r\n *\r\n * Usage:\r\n * <diwa-pagination total-items-count=\"500\" items-per-page=\"25\" active-page=\"1\"\r\n * onupdate={e => setPage(e.detail.page)} />\r\n *\r\n * Source lineage:\n * components/src/components/pagination/pagination.tsx\n */\r\n@Component({\r\n tag: 'diwa-pagination',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaPagination {\r\n @Element() host!: HTMLDiwaPaginationElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Per-component theme override (`light` / `dark`). */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Total number of items in the data set. */\r\n @Prop() totalItemsCount: number = 1;\r\n\r\n /** Number of items shown per page. */\r\n @Prop() itemsPerPage: number = 1;\r\n\r\n /**\r\n * Index of the currently active page (1-based).\r\n * Semi-controlled: mutates internally on click and emits `update`.\r\n */\r\n @Prop({ mutable: true }) activePage: number = 1;\r\n\r\n /** Show a direct link to the last page (in addition to the prev/next buttons). */\r\n @Prop() showLastPage: boolean = true;\r\n\r\n /**\r\n * Override the default aria-label wording for prev/next/page buttons and the nav element.\r\n * Useful for localisation.\r\n * Default: `{ root: 'Pagination', prev: 'Previous page', next: 'Next page', page: 'Page' }`\r\n */\r\n @Prop() intl: PaginationIntl = {\r\n root: 'Pagination',\r\n prev: 'Previous page',\r\n next: 'Next page',\r\n page: 'Page',\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Emitted when the user navigates to a different page.\r\n *\r\n * React consumers: use the lowercase `onupdate` prop:\r\n * ```jsx\r\n * <diwa-pagination onupdate={e => setPage(e.detail.page)} />\r\n * ```\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<PaginationUpdateEventDetail>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private handleClick(page: number): void {\r\n if (page !== this.activePage) {\r\n this.update.emit({ page, previousPage: this.activePage });\r\n this.activePage = page;\r\n }\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const pageTotal = getTotalPages(this.totalItemsCount, this.itemsPerPage);\r\n const currentPage = getCurrentActivePage(this.activePage, pageTotal);\r\n const items = createPaginationItems({\r\n activePage: currentPage,\r\n pageTotal,\r\n showLastPage: this.showLastPage,\r\n });\r\n\r\n const intl = this.intl ?? {};\r\n const rootLabel = intl.root ?? 'Pagination';\r\n const prevLabel = intl.prev ?? 'Previous page';\r\n const nextLabel = intl.next ?? 'Next page';\r\n const pageLabel = intl.page ?? 'Page';\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <nav aria-label={rootLabel} class=\"nav\">\r\n <ul class=\"list\">\r\n {items.map((item, index) => {\r\n const { type, isActive, value } = item;\r\n\r\n if (type === ItemType.PREVIOUS) {\r\n return (\r\n <li key=\"prev\">\r\n <button\r\n class=\"btn\"\r\n disabled={!isActive}\r\n aria-label={prevLabel}\r\n onClick={() => isActive && this.handleClick(value!)}\r\n >\r\n {/* Lucide ChevronLeft 16×16 */}\r\n <svg\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n aria-hidden=\"true\"\r\n >\r\n <polyline points=\"15 18 9 12 15 6\" />\r\n </svg>\r\n </button>\r\n </li>\r\n );\r\n }\r\n\r\n if (type === ItemType.NEXT) {\r\n return (\r\n <li key=\"next\">\r\n <button\r\n class=\"btn\"\r\n disabled={!isActive}\r\n aria-label={nextLabel}\r\n onClick={() => isActive && this.handleClick(value!)}\r\n >\r\n {/* Lucide ChevronRight 16×16 */}\r\n <svg\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n aria-hidden=\"true\"\r\n >\r\n <polyline points=\"9 18 15 12 9 6\" />\r\n </svg>\r\n </button>\r\n </li>\r\n );\r\n }\r\n\r\n if (type === ItemType.ELLIPSIS) {\r\n return (\r\n <li key={`ellipsis-${index}`}>\r\n <span class=\"ellipsis\" aria-hidden=\"true\">\r\n …\r\n </span>\r\n </li>\r\n );\r\n }\r\n\r\n // ItemType.PAGE\r\n return (\r\n <li key={value}>\r\n <button\r\n class=\"btn\"\r\n aria-label={`${pageLabel} ${value}`}\r\n aria-current={isActive ? 'page' : undefined}\r\n onClick={() => this.handleClick(value!)}\r\n >\r\n {value}\r\n </button>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as s,H as i,g as e}from"./p-ed4017f0.js";const n=()=>`\n :host {\n position: fixed;\n bottom: var(--diwa-space-6);\n right: var(--diwa-space-6);\n z-index: var(--diwa-z-toast);\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: var(--diwa-space-3);\n pointer-events: none;\n font-family: var(--diwa-font-family-base);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n ::slotted(*) {\n pointer-events: all;\n }\n\n @media (max-width: 480px) {\n :host {\n left: var(--diwa-space-3);\n right: var(--diwa-space-3);\n bottom: var(--diwa-space-3);\n align-items: stretch;\n }\n }\n`;const a=6e3;const l=200;class o{constructor(){this.queue=[];this.current=null;this.toastEl=null;this.refreshFn=null;this.timeout=null;this.nextId=0}register(t,s){if(this.toastEl){console.error("[diwa-toast] Only one <diwa-toast> may exist per page. Multiple instances detected.");return}this.toastEl=t;this.refreshFn=s}unregister(){this.clearTimeout();this.queue=[];this.current=null;this.toastEl=null;this.refreshFn=null}addMessage(t){var s;if(!this.toastEl){console.warn("[diwa-toast] addMessage() called but no <diwa-toast> element is mounted in the page.");return}if(!((s=t.text)===null||s===void 0?void 0:s.trim())){console.warn("[diwa-toast] addMessage() called with empty text.");return}const i=Object.assign(Object.assign({state:"neutral"},t),{id:this.nextId++});if(this.current===null){this.show(i)}else{this.queue.push(i)}}dismiss(){var t;this.clearTimeout();this.current=null;(t=this.refreshFn)===null||t===void 0?void 0:t.call(this,null);setTimeout((()=>{const t=this.queue.shift();if(t){this.show(t)}}),l)}getCurrent(){return this.current}show(t){var s;this.current=t;(s=this.refreshFn)===null||s===void 0?void 0:s.call(this,t);this.scheduleTimeout(t)}scheduleTimeout(t){var s;const i=(s=t.duration)!==null&&s!==void 0?s:a;if(i>0){this.timeout=setTimeout((()=>this.dismiss()),i)}}clearTimeout(){if(this.timeout!==null){clearTimeout(this.timeout);this.timeout=null}}}const h=new o;const d=class{constructor(s){t(this,s);this.theme="dark";this.currentMsg=null}connectedCallback(){h.register(this.host,(t=>{this.currentMsg=t}))}disconnectedCallback(){h.unregister()}async addMessage(t){h.addMessage(t)}render(){var t;return s(i,{key:"b670220ae7a15fd466b439895fd36bb5e3107f38",role:"status","aria-live":"polite","aria-atomic":"false","data-theme":this.theme},s("style",{key:"621b6332123edfc2078ba87d184036746176aa93",innerHTML:n()}),this.currentMsg&&s("diwa-toast-item",{key:this.currentMsg.id,text:this.currentMsg.text,state:(t=this.currentMsg.state)!==null&&t!==void 0?t:"neutral",theme:this.theme,onDismiss:()=>h.dismiss()}))}get host(){return e(this)}};export{d as diwa_toast};
|
|
2
|
-
//# sourceMappingURL=p-952af214.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","DEFAULT_TIMEOUT","DISMISS_DELAY","ToastManagerClass","constructor","this","queue","current","toastEl","refreshFn","timeout","nextId","register","host","console","error","unregister","clearTimeout","addMessage","message","warn","_a","text","trim","entry","Object","assign","state","id","show","push","dismiss","call","setTimeout","next","shift","getCurrent","scheduleTimeout","duration","toastManager","DiwaToast","hostRef","theme","currentMsg","connectedCallback","msg","disconnectedCallback","render","h","Host","key","role","innerHTML","onDismiss"],"sources":["src/components/diwa-toast/diwa-toast-styles.ts","src/components/diwa-toast/diwa-toast-manager.ts","src/components/diwa-toast/diwa-toast.tsx"],"sourcesContent":["export const getComponentCss = (): string => `\r\n :host {\n position: fixed;\n bottom: var(--diwa-space-6);\n right: var(--diwa-space-6);\n z-index: var(--diwa-z-toast);\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: var(--diwa-space-3);\n pointer-events: none;\r\n font-family: var(--diwa-font-family-base);\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n ::slotted(*) {\n pointer-events: all;\n }\n\n @media (max-width: 480px) {\n :host {\n left: var(--diwa-space-3);\n right: var(--diwa-space-3);\n bottom: var(--diwa-space-3);\n align-items: stretch;\n }\n }\n`;\n","import type { ToastMessage } from './types';\r\n\r\nconst DEFAULT_TIMEOUT = 6000;\r\n/** Duration to wait after dismiss before showing the next queued message (matches slideIn animation). */\r\nconst DISMISS_DELAY = 200;\r\n\r\nexport type ToastEntry = ToastMessage & { id: number };\r\ntype RefreshFn = (entry: ToastEntry | null) => void;\r\n\r\n/**\r\n * ToastManagerClass — singleton service that owns the toast queue.\r\n *\r\n * Only one `<diwa-toast>` element may be registered at a time.\r\n * The component registers a `refreshFn` callback on `connectedCallback`\r\n * and unregisters on `disconnectedCallback`.\r\n *\r\n * Consumers call `element.addMessage()` (which delegates here) OR import\r\n * `toastManager` directly and call `toastManager.addMessage()`.\r\n */\r\nexport class ToastManagerClass {\r\n private queue: ToastEntry[] = [];\r\n private current: ToastEntry | null = null;\r\n private toastEl: HTMLElement | null = null;\r\n private refreshFn: RefreshFn | null = null;\r\n private timeout: ReturnType<typeof setTimeout> | null = null;\r\n private nextId = 0;\r\n\r\n // ── Registration ──────────────────────────────────────────────────────────\r\n\r\n register(host: HTMLElement, refreshFn: RefreshFn): void {\r\n if (this.toastEl) {\r\n console.error('[diwa-toast] Only one <diwa-toast> may exist per page. Multiple instances detected.');\r\n return;\r\n }\r\n this.toastEl = host;\r\n this.refreshFn = refreshFn;\r\n }\r\n\r\n unregister(): void {\r\n this.clearTimeout();\r\n this.queue = [];\r\n this.current = null;\r\n this.toastEl = null;\r\n this.refreshFn = null;\r\n }\r\n\r\n // ── Public API ────────────────────────────────────────────────────────────\r\n\r\n addMessage(message: ToastMessage): void {\r\n if (!this.toastEl) {\r\n console.warn('[diwa-toast] addMessage() called but no <diwa-toast> element is mounted in the page.');\r\n return;\r\n }\r\n if (!message.text?.trim()) {\r\n console.warn('[diwa-toast] addMessage() called with empty text.');\r\n return;\r\n }\r\n\r\n const entry: ToastEntry = {\r\n state: 'neutral',\r\n ...message,\r\n id: this.nextId++,\r\n };\r\n\r\n if (this.current === null) {\r\n this.show(entry);\r\n } else {\r\n this.queue.push(entry);\r\n }\r\n }\r\n\r\n dismiss(): void {\r\n this.clearTimeout();\r\n this.current = null;\r\n this.refreshFn?.(null);\r\n\r\n // Wait for the dismiss animation, then show next queued item\r\n setTimeout(() => {\r\n const next = this.queue.shift();\r\n if (next) {\r\n this.show(next);\r\n }\r\n }, DISMISS_DELAY);\r\n }\r\n\r\n getCurrent(): ToastEntry | null {\r\n return this.current;\r\n }\r\n\r\n // ── Private helpers ───────────────────────────────────────────────────────\r\n\r\n private show(entry: ToastEntry): void {\r\n this.current = entry;\r\n this.refreshFn?.(entry);\r\n this.scheduleTimeout(entry);\r\n }\r\n\r\n private scheduleTimeout(entry: ToastEntry): void {\r\n const duration = entry.duration ?? DEFAULT_TIMEOUT;\r\n if (duration > 0) {\r\n this.timeout = setTimeout(() => this.dismiss(), duration);\r\n }\r\n }\r\n\r\n private clearTimeout(): void {\r\n if (this.timeout !== null) {\r\n clearTimeout(this.timeout);\r\n this.timeout = null;\r\n }\r\n }\r\n}\r\n\r\nexport const toastManager = new ToastManagerClass();\r\n","import { Component, Element, Host, Method, Prop, State, h } from '@stencil/core';\r\nimport type { ToastMessage } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-toast-styles';\r\nimport { toastManager } from './diwa-toast-manager';\r\nimport type { ToastEntry } from './diwa-toast-manager';\r\n\r\n/**\r\n * @component diwa-toast\r\n *\r\n * Singleton container that queues and displays toast notifications one at a\r\n * time. Call `addMessage()` to enqueue a toast — only one toast is visible at\r\n * a given moment; additional messages are shown in FIFO order as each one is\r\n * dismissed or times out.\r\n *\r\n * Only one `<diwa-toast>` element should exist per page.\r\n *\r\n * Usage:\r\n * const toast = document.querySelector('diwa-toast');\r\n * toast.addMessage({ text: 'Saved!', state: 'success' });\r\n */\r\n@Component({\r\n tag: 'diwa-toast',\r\n shadow: true,\r\n})\r\nexport class DiwaToast {\r\n @Element() host!: HTMLDiwaToastElement;\r\n\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n @State() private currentMsg: ToastEntry | null = null;\r\n\r\n connectedCallback(): void {\r\n toastManager.register(this.host, (msg) => {\r\n this.currentMsg = msg;\r\n });\r\n }\r\n\r\n disconnectedCallback(): void {\r\n toastManager.unregister();\r\n }\r\n\r\n /**\r\n * Enqueues a toast message. If no toast is currently visible it is shown\r\n * immediately; otherwise it is placed in the FIFO queue and shown after all\r\n * preceding messages have been dismissed.\r\n */\r\n @Method()\r\n async addMessage(message: ToastMessage): Promise<void> {\r\n toastManager.addMessage(message);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host role=\"status\" aria-live=\"polite\" aria-atomic=\"false\" data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n {this.currentMsg && (\r\n <diwa-toast-item\r\n key={this.currentMsg.id}\r\n text={this.currentMsg.text}\r\n state={this.currentMsg.state ?? 'neutral'}\r\n theme={this.theme}\r\n onDismiss={() => toastManager.dismiss()}\r\n />\r\n )}\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"yDAAO,MAAMA,EAAkB,IAAc,2mBCE7C,MAAMC,EAAkB,IAExB,MAAMC,EAAgB,I,MAeTC,EAAb,WAAAC,GACUC,KAAAC,MAAsB,GACtBD,KAAAE,QAA6B,KAC7BF,KAAAG,QAA8B,KAC9BH,KAAAI,UAA8B,KAC9BJ,KAAAK,QAAgD,KAChDL,KAAAM,OAAS,C,CAIjB,QAAAC,CAASC,EAAmBJ,GAC1B,GAAIJ,KAAKG,QAAS,CAChBM,QAAQC,MAAM,uFACd,M,CAEFV,KAAKG,QAAUK,EACfR,KAAKI,UAAYA,C,CAGnB,UAAAO,GACEX,KAAKY,eACLZ,KAAKC,MAAQ,GACbD,KAAKE,QAAU,KACfF,KAAKG,QAAU,KACfH,KAAKI,UAAY,I,CAKnB,UAAAS,CAAWC,G,MACT,IAAKd,KAAKG,QAAS,CACjBM,QAAQM,KAAK,wFACb,M,CAEF,MAAKC,EAAAF,EAAQG,QAAI,MAAAD,SAAA,SAAAA,EAAEE,QAAQ,CACzBT,QAAQM,KAAK,qDACb,M,CAGF,MAAMI,EAAKC,OAAAC,OAAAD,OAAAC,OAAA,CACTC,MAAO,WACJR,GAAO,CACVS,GAAIvB,KAAKM,WAGX,GAAIN,KAAKE,UAAY,KAAM,CACzBF,KAAKwB,KAAKL,E,KACL,CACLnB,KAAKC,MAAMwB,KAAKN,E,EAIpB,OAAAO,G,MACE1B,KAAKY,eACLZ,KAAKE,QAAU,MACfc,EAAAhB,KAAKI,aAAS,MAAAY,SAAA,SAAAA,EAAAW,KAAA3B,KAAG,MAGjB4B,YAAW,KACT,MAAMC,EAAO7B,KAAKC,MAAM6B,QACxB,GAAID,EAAM,CACR7B,KAAKwB,KAAKK,E,IAEXhC,E,CAGL,UAAAkC,GACE,OAAO/B,KAAKE,O,CAKN,IAAAsB,CAAKL,G,MACXnB,KAAKE,QAAUiB,GACfH,EAAAhB,KAAKI,aAAS,MAAAY,SAAA,SAAAA,EAAAW,KAAA3B,KAAGmB,GACjBnB,KAAKgC,gBAAgBb,E,CAGf,eAAAa,CAAgBb,G,MACtB,MAAMc,GAAWjB,EAAAG,EAAMc,YAAQ,MAAAjB,SAAA,EAAAA,EAAIpB,EACnC,GAAIqC,EAAW,EAAG,CAChBjC,KAAKK,QAAUuB,YAAW,IAAM5B,KAAK0B,WAAWO,E,EAI5C,YAAArB,GACN,GAAIZ,KAAKK,UAAY,KAAM,CACzBO,aAAaZ,KAAKK,SAClBL,KAAKK,QAAU,I,GAKd,MAAM6B,EAAe,IAAIpC,E,MCvFnBqC,EAAS,MAJtB,WAAApC,CAAAqC,G,UAO2BpC,KAAAqC,MAAe,OAEvBrC,KAAAsC,WAAgC,I,CAEjD,iBAAAC,GACEL,EAAa3B,SAASP,KAAKQ,MAAOgC,IAChCxC,KAAKsC,WAAaE,CAAG,G,CAIzB,oBAAAC,GACEP,EAAavB,Y,CASf,gBAAME,CAAWC,GACfoB,EAAarB,WAAWC,E,CAG1B,MAAA4B,G,MACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,SAAQ,YAAW,SAAQ,cAAa,QAAO,aAAa9C,KAAKqC,OAC1EM,EAAA,SAAAE,IAAA,2CAAOE,UAAWpD,MACjBK,KAAKsC,YACJK,EAAA,mBACEE,IAAK7C,KAAKsC,WAAWf,GACrBN,KAAMjB,KAAKsC,WAAWrB,KACtBK,OAAON,EAAAhB,KAAKsC,WAAWhB,SAAK,MAAAN,SAAA,EAAAA,EAAI,UAChCqB,MAAOrC,KAAKqC,MACZW,UAAW,IAAMd,EAAaR,Y","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,h as a,H as e,g as r}from"./p-ed4017f0.js";import{g as t,a as i}from"./p-70bbb21a.js";const o=()=>`\n /* ── Host ──────────────────────────────────────────────────────────── */\n\n :host {\n display: inline-flex;\n position: relative;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── Inner element (the real <a> or <span> in Shadow DOM) ───────────── */\n\n .inner {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--diwa-space-2);\n\n height: var(--diwa-button-height, 40px);\n padding: 0 var(--diwa-button-padding-x, 16px);\n box-sizing: border-box;\n width: 100%;\n\n border-radius: var(--diwa-button-radius, var(--diwa-radius-md));\n border: var(--diwa-border-width-thin) solid transparent;\n font-size: var(--diwa-font-size-base);\n font-weight: var(--diwa-button-font-weight, var(--diwa-font-weight-medium));\n font-family: inherit;\n line-height: 1;\n white-space: nowrap;\n text-decoration: none;\n\n cursor: pointer;\n user-select: none;\n -webkit-font-smoothing: antialiased;\n position: relative;\n\n transition: var(--diwa-transition-colors), box-shadow var(--diwa-transition-fast);\n\n appearance: none;\n -webkit-appearance: none;\n }\n\n /* ── Focus ring ─────────────────────────────────────────────────────── */\n\n ${t(".inner")}\n\n /* ── Variant: primary ───────────────────────────────────────────────── */\n\n :host([variant="primary"]) .inner {\n background-color: var(--diwa-button-bg, var(--diwa-accent));\n color: var(--diwa-button-color, var(--diwa-text-inverse));\n border-color: transparent;\n }\n\n :host([variant="primary"]) .inner:hover {\n background-color: var(--diwa-button-bg-hover, var(--diwa-accent-hover));\n }\n\n :host([variant="primary"]) .inner:active {\n background-color: var(--diwa-accent-active);\n transform: translateY(1px);\n }\n\n /* ── Variant: secondary ─────────────────────────────────────────────── */\n\n :host([variant="secondary"]) .inner {\n background-color: transparent;\n color: var(--diwa-accent);\n border-color: var(--diwa-accent);\n }\n\n :host([variant="secondary"]) .inner:hover {\n background-color: var(--diwa-accent-bg);\n border-color: var(--diwa-accent-hover);\n }\n\n :host([variant="secondary"]) .inner:active {\n background-color: var(--diwa-accent-muted);\n transform: translateY(1px);\n }\n\n /* ── Variant: ghost ─────────────────────────────────────────────────── */\n\n :host([variant="ghost"]) .inner {\n background-color: transparent;\n color: var(--diwa-text-secondary);\n border-color: transparent;\n }\n\n :host([variant="ghost"]) .inner:hover {\n background-color: var(--diwa-bg-hover);\n color: var(--diwa-text-primary);\n }\n\n :host([variant="ghost"]) .inner:active {\n background-color: var(--diwa-bg-active);\n transform: translateY(1px);\n }\n\n /* ── Variant: danger ────────────────────────────────────────────────── */\n\n :host([variant="danger"]) .inner {\n background-color: var(--diwa-danger);\n color: var(--diwa-text-inverse);\n border-color: transparent;\n }\n\n :host([variant="danger"]) .inner:hover {\n background-color: var(--diwa-danger-hover);\n }\n\n :host([variant="danger"]) .inner:active {\n background-color: var(--diwa-danger-active);\n transform: translateY(1px);\n }\n\n /* ── Compact ────────────────────────────────────────────────────────── */\n\n :host([compact]) .inner {\n height: var(--diwa-button-height-sm, 32px);\n padding: 0 var(--diwa-button-padding-x-sm, 10px);\n font-size: var(--diwa-font-size-md);\n }\n\n /* ── State: disabled ────────────────────────────────────────────────── */\n\n :host([disabled]) .inner {\n opacity: var(--diwa-opacity-disabled);\n cursor: not-allowed;\n pointer-events: none;\n }\n\n /* ── Icon wrapper ───────────────────────────────────────────────────── */\n\n .icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n line-height: 0;\n }\n\n /* ── Label: visually hidden (sr-only / icon-only mode) ──────────────── */\n\n .label--hidden {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n\n /* ── Icon-only mode ─────────────────────────────────────────────────── */\n\n :host([hide-label]) .inner {\n width: var(--diwa-button-height, 40px);\n padding: 0;\n }\n\n :host([hide-label][compact]) .inner {\n width: var(--diwa-button-height-sm, 32px);\n }\n\n /* ── Span (no href) — not interactive ───────────────────────────────── */\n\n span.inner {\n cursor: default;\n pointer-events: none;\n }\n\n /* ── Reduced motion ─────────────────────────────────────────────────── */\n\n ${i(".inner",".label",".icon")}\n`;const d=class{constructor(a){n(this,a);this.theme="dark";this.variant="primary";this.target="_self";this.icon="none";this.hideLabel=false;this.compact=false;this.disabled=false}render(){var n;const r=!!this.href;const t=r?"a":"span";const i=this.icon!=="none";const d=this.compact?16:20;const s=r?Object.assign(Object.assign({href:this.href,target:this.target,download:this.download,rel:(n=this.rel)!==null&&n!==void 0?n:this.target==="_blank"?"noopener noreferrer":undefined},this.label?{"aria-label":this.label}:{}),this.disabled?{"aria-disabled":"true",tabIndex:-1}:{}):{};return a(e,{key:"9cf2fd4d0d5ce43e75c3a222131b34d9c478e421","data-theme":this.theme},a("style",{key:"a0063d4bf08a30a185c7bf27a2f5a5cf9ce26a44",innerHTML:o()}),a(t,Object.assign({key:"ff842bd79914c7b175a197e9c502aba455de6c91",class:"inner"},s,{part:"base"}),i&&a("span",{key:"71e88edb6edd441d0ee452deba9644312186c990",class:"icon","aria-hidden":"true"},a("diwa-icon",{key:"87cdae9c8fd9bff6331325a9d88e8c86041ca5f2",name:this.icon,size:d})),a("span",{key:"dbfe2d4cdf1c060be2012bf37671286de3527017",class:`label${this.hideLabel?" label--hidden":""}`,part:"label"},a("slot",{key:"c5ccd67b6b2978ac0d6be79bd951b3030a44a787"}))))}static get delegatesFocus(){return true}get host(){return r(this)}};export{d as diwa_link};
|
|
2
|
-
//# sourceMappingURL=p-95b0fdea.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","getFocusStyle","getReducedMotionStyle","DiwaLink","constructor","hostRef","this","theme","variant","target","icon","hideLabel","compact","disabled","render","isAnchor","href","Tag","hasIcon","iconSize","anchorProps","download","rel","_a","undefined","label","tabIndex","h","Host","key","innerHTML","Object","assign","class","part","name","size"],"sources":["src/components/diwa-link/diwa-link-styles.ts","src/components/diwa-link/diwa-link.tsx"],"sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\n\nexport const getComponentCss = (): string => `\n /* ── Host ──────────────────────────────────────────────────────────── */\n\n :host {\n display: inline-flex;\n position: relative;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── Inner element (the real <a> or <span> in Shadow DOM) ───────────── */\n\n .inner {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--diwa-space-2);\n\n height: var(--diwa-button-height, 40px);\n padding: 0 var(--diwa-button-padding-x, 16px);\n box-sizing: border-box;\n width: 100%;\n\n border-radius: var(--diwa-button-radius, var(--diwa-radius-md));\n border: var(--diwa-border-width-thin) solid transparent;\n font-size: var(--diwa-font-size-base);\n font-weight: var(--diwa-button-font-weight, var(--diwa-font-weight-medium));\n font-family: inherit;\n line-height: 1;\n white-space: nowrap;\n text-decoration: none;\n\n cursor: pointer;\n user-select: none;\n -webkit-font-smoothing: antialiased;\n position: relative;\n\n transition: var(--diwa-transition-colors), box-shadow var(--diwa-transition-fast);\n\n appearance: none;\n -webkit-appearance: none;\n }\n\n /* ── Focus ring ─────────────────────────────────────────────────────── */\n\n ${getFocusStyle('.inner')}\n\n /* ── Variant: primary ───────────────────────────────────────────────── */\n\n :host([variant=\"primary\"]) .inner {\n background-color: var(--diwa-button-bg, var(--diwa-accent));\n color: var(--diwa-button-color, var(--diwa-text-inverse));\n border-color: transparent;\n }\n\n :host([variant=\"primary\"]) .inner:hover {\n background-color: var(--diwa-button-bg-hover, var(--diwa-accent-hover));\n }\n\n :host([variant=\"primary\"]) .inner:active {\n background-color: var(--diwa-accent-active);\n transform: translateY(1px);\n }\n\n /* ── Variant: secondary ─────────────────────────────────────────────── */\n\n :host([variant=\"secondary\"]) .inner {\n background-color: transparent;\n color: var(--diwa-accent);\n border-color: var(--diwa-accent);\n }\n\n :host([variant=\"secondary\"]) .inner:hover {\n background-color: var(--diwa-accent-bg);\n border-color: var(--diwa-accent-hover);\n }\n\n :host([variant=\"secondary\"]) .inner:active {\n background-color: var(--diwa-accent-muted);\n transform: translateY(1px);\n }\n\n /* ── Variant: ghost ─────────────────────────────────────────────────── */\n\n :host([variant=\"ghost\"]) .inner {\n background-color: transparent;\n color: var(--diwa-text-secondary);\n border-color: transparent;\n }\n\n :host([variant=\"ghost\"]) .inner:hover {\n background-color: var(--diwa-bg-hover);\n color: var(--diwa-text-primary);\n }\n\n :host([variant=\"ghost\"]) .inner:active {\n background-color: var(--diwa-bg-active);\n transform: translateY(1px);\n }\n\n /* ── Variant: danger ────────────────────────────────────────────────── */\n\n :host([variant=\"danger\"]) .inner {\n background-color: var(--diwa-danger);\n color: var(--diwa-text-inverse);\n border-color: transparent;\n }\n\n :host([variant=\"danger\"]) .inner:hover {\n background-color: var(--diwa-danger-hover);\n }\n\n :host([variant=\"danger\"]) .inner:active {\n background-color: var(--diwa-danger-active);\n transform: translateY(1px);\n }\n\n /* ── Compact ────────────────────────────────────────────────────────── */\n\n :host([compact]) .inner {\n height: var(--diwa-button-height-sm, 32px);\n padding: 0 var(--diwa-button-padding-x-sm, 10px);\n font-size: var(--diwa-font-size-md);\n }\n\n /* ── State: disabled ────────────────────────────────────────────────── */\n\n :host([disabled]) .inner {\n opacity: var(--diwa-opacity-disabled);\n cursor: not-allowed;\n pointer-events: none;\n }\n\n /* ── Icon wrapper ───────────────────────────────────────────────────── */\n\n .icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n line-height: 0;\n }\n\n /* ── Label: visually hidden (sr-only / icon-only mode) ──────────────── */\n\n .label--hidden {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n\n /* ── Icon-only mode ─────────────────────────────────────────────────── */\n\n :host([hide-label]) .inner {\n width: var(--diwa-button-height, 40px);\n padding: 0;\n }\n\n :host([hide-label][compact]) .inner {\n width: var(--diwa-button-height-sm, 32px);\n }\n\n /* ── Span (no href) — not interactive ───────────────────────────────── */\n\n span.inner {\n cursor: default;\n pointer-events: none;\n }\n\n /* ── Reduced motion ─────────────────────────────────────────────────── */\n\n ${getReducedMotionStyle('.inner', '.label', '.icon')}\n`;\n","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\nimport type { LinkVariant, LinkTarget } from \"./types\";\nimport type { Theme } from \"../../utils/styles\";\nimport { getComponentCss } from \"./diwa-link-styles\";\n\n/**\n * @component diwa-link\n *\n * A fully accessible link primitive. Renders as <a> when href is provided,\n * otherwise as a non-interactive <span>. Mirrors the PDS p-link component.\n *\n * Usage:\n * <diwa-link href=\"/home\">Home</diwa-link>\n * <diwa-link href=\"/docs\" variant=\"secondary\" target=\"_blank\">Docs</diwa-link>\n * <diwa-link href=\"/about\" variant=\"ghost\" icon=\"arrow-right\">About</diwa-link>\n *\n * @slot default — Link label text\n */\n@Component({\n tag: \"diwa-link\",\n shadow: { delegatesFocus: true },\n})\nexport class DiwaLink {\n @Element() host!: HTMLDiwaLinkElement;\n\n /** Per-component theme override. */\n @Prop({ reflect: true }) theme: Theme = \"dark\";\n\n /** Visual style variant. */\n @Prop({ reflect: true }) variant: LinkVariant = \"primary\";\n\n /** The URL the link points to. When set, renders as <a>. */\n @Prop() href?: string;\n\n /** Target attribute — where to open the linked URL. */\n @Prop() target: LinkTarget = \"_self\";\n\n /** Native download attribute for triggering file downloads. */\n @Prop() download?: string;\n\n /** Relationship between the current document and the linked resource. */\n @Prop() rel?: string;\n\n /** Lucide icon name (kebab-case, e.g. \"arrow-right\"), or \"none\" to hide. */\n @Prop() icon: string = \"none\";\n\n /** Hides the label visually (icon-only mode). Keep slot text for screen readers. */\n @Prop({ reflect: true }) hideLabel: boolean = false;\n\n /** Compact (smaller) size variant. */\n @Prop({ reflect: true }) compact: boolean = false;\n\n /** Accessible aria-label override — useful for icon-only links. */\n @Prop() label?: string;\n\n /** Disabled state. Sets aria-disabled and prevents interaction. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n render() {\n const isAnchor = !!this.href;\n const Tag = isAnchor ? (\"a\" as any) : (\"span\" as any);\n const hasIcon = this.icon !== \"none\";\n const iconSize = this.compact ? 16 : 20;\n\n const anchorProps = isAnchor\n ? {\n href: this.href,\n target: this.target,\n download: this.download,\n rel:\n this.rel ??\n (this.target === \"_blank\" ? \"noopener noreferrer\" : undefined),\n ...(this.label ? { \"aria-label\": this.label } : {}),\n ...(this.disabled ? { \"aria-disabled\": \"true\", tabIndex: -1 } : {}),\n }\n : {};\n\n return (\n <Host data-theme={this.theme}>\n <style innerHTML={getComponentCss()} />\n <Tag class=\"inner\" {...anchorProps} part=\"base\">\n {hasIcon && (\n <span class=\"icon\" aria-hidden=\"true\">\n <diwa-icon name={this.icon} size={iconSize} />\n </span>\n )}\n <span\n class={`label${this.hideLabel ? \" label--hidden\" : \"\"}`}\n part=\"label\"\n >\n <slot />\n </span>\n </Tag>\n </Host>\n );\n }\n}"],"mappings":"oGAEO,MAAMA,EAAkB,IAAc,0zCAiDzCC,EAAc,u9GAmIdC,EAAsB,SAAU,SAAU,a,MChKjCC,EAAQ,MAJrB,WAAAC,CAAAC,G,UAQ2BC,KAAAC,MAAe,OAGfD,KAAAE,QAAuB,UAMxCF,KAAAG,OAAqB,QASrBH,KAAAI,KAAe,OAGEJ,KAAAK,UAAqB,MAGrBL,KAAAM,QAAmB,MAMnBN,KAAAO,SAAoB,K,CAE7C,MAAAC,G,MACE,MAAMC,IAAaT,KAAKU,KACxB,MAAMC,EAAMF,EAAY,IAAe,OACvC,MAAMG,EAAUZ,KAAKI,OAAS,OAC9B,MAAMS,EAAWb,KAAKM,QAAU,GAAK,GAErC,MAAMQ,EAAcL,E,6BAEdC,KAAMV,KAAKU,KACXP,OAAQH,KAAKG,OACbY,SAAUf,KAAKe,SACfC,KACEC,EAAAjB,KAAKgB,OAAG,MAAAC,SAAA,EAAAA,EACPjB,KAAKG,SAAW,SAAW,sBAAwBe,WAClDlB,KAAKmB,MAAQ,CAAE,aAAcnB,KAAKmB,OAAU,IAC5CnB,KAAKO,SAAW,CAAE,gBAAiB,OAAQa,UAAW,GAAM,IAElE,GAEJ,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAavB,KAAKC,OACrBoB,EAAA,SAAAE,IAAA,2CAAOC,UAAW9B,MAClB2B,EAACV,EAAGc,OAAAC,OAAA,CAAAH,IAAA,2CAACI,MAAM,SAAYb,EAAW,CAAEc,KAAK,SACtChB,GACCS,EAAA,QAAAE,IAAA,2CAAMI,MAAM,OAAM,cAAa,QAC7BN,EAAA,aAAAE,IAAA,2CAAWM,KAAM7B,KAAKI,KAAM0B,KAAMjB,KAGtCQ,EAAA,QAAAE,IAAA,2CACEI,MAAO,QAAQ3B,KAAKK,UAAY,iBAAmB,KACnDuB,KAAK,SAELP,EAAA,QAAAE,IAAA,+C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as a,h as e,H as n}from"./p-ed4017f0.js";const t=a=>`\n :host {\n display: table-cell;\n margin: 0 !important;\n padding: var(--diwa-table-padding-y, 12px) var(--diwa-table-padding-x, 16px) !important;\n font-size: var(--diwa-font-size-sm);\n color: var(--diwa-text-primary);\n border-right: var(--diwa-table-column-border, none) !important;\n vertical-align: middle;\n line-height: var(--diwa-line-height-normal);\n white-space: ${a?"normal":"nowrap"} !important;\n }\n :host(:last-child) { border-right: none; }\n :host([hidden]) { display: none; }\n`;const r=class{constructor(e){a(this,e);this.theme="dark";this.multiline=false}render(){return e(n,{key:"06e9e7b9644a399b4bf3392cafd2ce1906034c56",role:"cell"},e("style",{key:"2aec2e9dda9ee32ec47628dd7eb7aa9d378e91be",innerHTML:t(this.multiline)}),e("slot",{key:"9391683948fd415551ae1ae08dc53b1801380a69"}))}};export{r as diwa_table_cell};
|
|
2
|
-
//# sourceMappingURL=p-9910d570.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","multiline","DiwaTableCell","constructor","hostRef","this","theme","render","h","Host","key","role","innerHTML"],"sources":["src/components/diwa-table-cell/diwa-table-cell-styles.ts","src/components/diwa-table-cell/diwa-table-cell.tsx"],"sourcesContent":["export const getComponentCss = (multiline: boolean): string => `\n :host {\n display: table-cell;\n margin: 0 !important;\n padding: var(--diwa-table-padding-y, 12px) var(--diwa-table-padding-x, 16px) !important;\n font-size: var(--diwa-font-size-sm);\n color: var(--diwa-text-primary);\n border-right: var(--diwa-table-column-border, none) !important;\n vertical-align: middle;\n line-height: var(--diwa-line-height-normal);\n white-space: ${multiline ? 'normal' : 'nowrap'} !important;\n }\n :host(:last-child) { border-right: none; }\n :host([hidden]) { display: none; }\n`;\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport type { Theme } from '../../utils/styles';\nimport { getComponentCss } from './diwa-table-cell-styles';\n\n/** @component diwa-table-cell — Maps to <td> inside a diwa-table-row. */\n@Component({ tag: 'diwa-table-cell', shadow: true })\nexport class DiwaTableCell {\n @Prop({ reflect: true }) theme: Theme = 'dark';\n @Prop() multiline: boolean = false;\n\n render() {\n return (\n <Host role=\"cell\">\n <style innerHTML={getComponentCss(this.multiline)} />\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"kDAAO,MAAMA,EAAmBC,GAA+B,wZAU5CA,EAAY,SAAW,kH,MCJ7BC,EAAa,MAD1B,WAAAC,CAAAC,G,UAE2BC,KAAAC,MAAe,OAChCD,KAAAJ,UAAqB,K,CAE7B,MAAAM,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,QACTH,EAAA,SAAAE,IAAA,2CAAOE,UAAWZ,EAAgBK,KAAKJ,aACvCO,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as t,h as n,H as s,g as a}from"./p-ed4017f0.js";const i=()=>`\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .stepper {\n display: flex;\n align-items: flex-start;\n overflow-x: auto;\n scrollbar-width: none;\n }\n\n .stepper::-webkit-scrollbar {\n display: none;\n }\n`;const r=class{constructor(n){e(this,n);this.update=t(this,"update",1);this.theme="dark";this.activeStepIndex=0}handleIndexChange(){this.syncItems()}componentDidLoad(){this.syncItems()}componentDidUpdate(){this.syncItems()}getItems(){return Array.from(this.host.querySelectorAll("diwa-stepper-horizontal-item"))}syncItems(){const e=this.getItems();const t=e.length;e.forEach(((e,n)=>{if(n<this.activeStepIndex){e.state="complete"}else if(n===this.activeStepIndex){e.state="current"}else{e.state="incomplete"}e.stepNumber=n+1;e.isLast=n===t-1}))}render(){return n(s,{key:"52f3578b5ad1f46b649ff00de8fd081451c9df70","data-theme":this.theme},n("style",{key:"493175498aa8d24ba2744853e951a26569e3372f",innerHTML:i()}),n("div",{key:"f143d785d7934b688102764de95c4c5a77aa9a87",class:"stepper",role:"list","aria-label":"Progress"},n("slot",{key:"ff914a761531cadf1f56cbdfde003e9a230ed4f7"})))}get host(){return a(this)}static get watchers(){return{activeStepIndex:["handleIndexChange"]}}};export{r as diwa_stepper_horizontal};
|
|
2
|
-
//# sourceMappingURL=p-998dd88e.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","DiwaStepperHorizontal","constructor","hostRef","this","theme","activeStepIndex","handleIndexChange","syncItems","componentDidLoad","componentDidUpdate","getItems","Array","from","host","querySelectorAll","items","total","length","forEach","item","i","state","stepNumber","isLast","render","h","Host","key","innerHTML","class","role"],"sources":["src/components/diwa-stepper-horizontal/diwa-stepper-horizontal-styles.ts","src/components/diwa-stepper-horizontal/diwa-stepper-horizontal.tsx"],"sourcesContent":["export const getComponentCss = (): string => `\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .stepper {\r\n display: flex;\r\n align-items: flex-start;\r\n overflow-x: auto;\r\n scrollbar-width: none;\r\n }\r\n\r\n .stepper::-webkit-scrollbar {\r\n display: none;\r\n }\r\n`;\r\n","import { Component, Element, Event, type EventEmitter, Host, Prop, Watch, h } from '@stencil/core';\r\nimport type { StepperHorizontalUpdateEventDetail } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-stepper-horizontal-styles';\r\n\r\n/**\r\n * @component diwa-stepper-horizontal\r\n *\r\n * Displays a horizontal sequence of steps, indicating progress through a\r\n * multi-step workflow. Accepts `diwa-stepper-horizontal-item` children and\r\n * manages their `state` (complete/current/incomplete) based on `activeStepIndex`.\r\n *\r\n * Usage:\r\n * <diwa-stepper-horizontal active-step-index={1}>\r\n * <diwa-stepper-horizontal-item>Account</diwa-stepper-horizontal-item>\r\n * <diwa-stepper-horizontal-item>Details</diwa-stepper-horizontal-item>\r\n * <diwa-stepper-horizontal-item>Review</diwa-stepper-horizontal-item>\r\n * </diwa-stepper-horizontal>\r\n */\r\n@Component({\r\n tag: 'diwa-stepper-horizontal',\r\n shadow: true,\r\n})\r\nexport class DiwaStepperHorizontal {\r\n @Element() host!: HTMLDiwaStepperHorizontalElement;\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Zero-based index of the current active step. */\r\n @Prop({ mutable: true, attribute: 'active-step-index' })\r\n activeStepIndex: number = 0;\r\n\r\n /**\r\n * Emitted when the active step index changes (e.g. the consumer calls\r\n * next/prev). This component does not auto-advance — use this event\r\n * to update `activeStepIndex` externally.\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<StepperHorizontalUpdateEventDetail>;\r\n\r\n @Watch('activeStepIndex')\r\n handleIndexChange() {\r\n this.syncItems();\r\n }\r\n\r\n componentDidLoad() {\r\n this.syncItems();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.syncItems();\r\n }\r\n\r\n private getItems(): HTMLDiwaStepperHorizontalItemElement[] {\r\n return Array.from(\r\n this.host.querySelectorAll('diwa-stepper-horizontal-item'),\r\n ) as HTMLDiwaStepperHorizontalItemElement[];\r\n }\r\n\r\n private syncItems() {\r\n const items = this.getItems();\r\n const total = items.length;\r\n items.forEach((item, i) => {\r\n if (i < this.activeStepIndex) {\r\n (item as any).state = 'complete';\r\n } else if (i === this.activeStepIndex) {\r\n (item as any).state = 'current';\r\n } else {\r\n (item as any).state = 'incomplete';\r\n }\r\n (item as any).stepNumber = i + 1;\r\n (item as any).isLast = i === total - 1;\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <div class=\"stepper\" role=\"list\" aria-label=\"Progress\">\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"gEAAO,MAAMA,EAAkB,IAAc,gU,MCuBhCC,EAAqB,MAJlC,WAAAC,CAAAC,G,yCAQ2BC,KAAAC,MAAe,OAIxCD,KAAAE,gBAA0B,C,CAW1B,iBAAAC,GACEH,KAAKI,W,CAGP,gBAAAC,GACEL,KAAKI,W,CAGP,kBAAAE,GACEN,KAAKI,W,CAGC,QAAAG,GACN,OAAOC,MAAMC,KACXT,KAAKU,KAAKC,iBAAiB,gC,CAIvB,SAAAP,GACN,MAAMQ,EAAQZ,KAAKO,WACnB,MAAMM,EAAQD,EAAME,OACpBF,EAAMG,SAAQ,CAACC,EAAMC,KACnB,GAAIA,EAAIjB,KAAKE,gBAAiB,CAC3Bc,EAAaE,MAAQ,U,MACjB,GAAID,IAAMjB,KAAKE,gBAAiB,CACpCc,EAAaE,MAAQ,S,KACjB,CACJF,EAAaE,MAAQ,Y,CAEvBF,EAAaG,WAAaF,EAAI,EAC9BD,EAAaI,OAASH,IAAMJ,EAAQ,CAAC,G,CAI1C,MAAAQ,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAaxB,KAAKC,OACrBqB,EAAA,SAAAE,IAAA,2CAAOC,UAAW7B,MAClB0B,EAAA,OAAAE,IAAA,2CAAKE,MAAM,UAAUC,KAAK,OAAM,aAAY,YAC1CL,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,c as e,h as t,H as i,g as a}from"./p-ed4017f0.js";import{g as h}from"./p-35c7c864.js";import"./p-70bbb21a.js";const d=class{constructor(t){s(this,t);this.change=e(this,"change",7);this.input=e(this,"input",7);this.blur=e(this,"blur",3);this.focus=e(this,"focus",3);this._hasStart=false;this._hasEnd=false;this.label="";this.description="";this.message="";this.state="none";this.name="";this.value="";this.placeholder="";this.disabled=false;this.required=false;this.readonly=false;this.hideLabel=false;this.compact=false;this.theme="dark";this.handleInput=s=>{this.value=s.target.value;this.input.emit(this.value)};this.handleChange=s=>{this.value=s.target.value;this.change.emit(this.value)};this.handleBlur=s=>{this.blur.emit(s)};this.handleFocus=s=>{this.focus.emit(s)}}connectedCallback(){this._hasStart=!!this.el.querySelector('[slot="start"]');this._hasEnd=!!this.el.querySelector('[slot="end"]')}render(){const s="input";const e="desc";const a="msg";return t(i,{key:"57db8e249f4257429c5073437fed9af9ce5847da","data-theme":this.theme},t("style",{key:"cc4b8ae0ac2f2422e63c5047177b5ceaa0cbee12",innerHTML:h(this.state,this.disabled,this.readonly,this.compact,this._hasStart,this._hasEnd,false)}),t("div",{key:"5fa3a0b0b0e3e3722e6e6c277a4030f87c860887",class:"root"},!this.hideLabel&&this.label&&t("div",{key:"a9788aef44d038dd81e984d0d2f367b9bc271c4b",class:"label-row"},t("label",{key:"b89f5752b5b5c83bd0c7d3bf50da1153175ed184",class:"label",htmlFor:s},this.label,this.required&&t("span",{key:"0a68539ab69334a622c1e855f5652ffec4586858",class:"required","aria-hidden":"true"}," *")),t("slot",{key:"257b7b9a1a5006aed1fa50361aa377b729d23fb0",name:"label-after"})),t("div",{key:"10f19d4c4aa0d537b78f01e77a85b4012eaaea78",class:"input-wrapper"},this._hasStart&&t("div",{key:"f101b6841ef93c65bd3b75df0961da5a27ee5216",class:"slot-start"},t("slot",{key:"cd026e6eb3aeff153159bf095341d9cdee7496f4",name:"start"})),t("input",{key:"fa6eff05efb74a50e2cfc96680ab2527ec2342c3",id:s,class:"input",type:"text",name:this.name||undefined,value:this.value,placeholder:this.placeholder||undefined,disabled:this.disabled,required:this.required,readOnly:this.readonly,maxLength:this.maxLength,minLength:this.minLength,spellcheck:this.spellCheck,autocomplete:this.autoComplete,"aria-label":this.hideLabel&&this.label?this.label:undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-required":this.required?"true":undefined,"aria-describedby":this.message?a:this.description?e:undefined,onInput:this.handleInput,onChange:this.handleChange,onBlur:this.handleBlur,onFocus:this.handleFocus}),this._hasEnd&&t("div",{key:"dbd131e34115c3c0417f580fb6780c40ed7c8502",class:"slot-end"},t("slot",{key:"d3a97fdf8238adc46748b9ab5b3d17ee3a1c7ff4",name:"end"}))),!this.message&&this.description&&t("p",{key:"2d746575c4b1d84402ac6f68d5ba27769b0fdc3c",id:e,class:"description"},this.description),this.message&&t("p",{key:"0fbfd46577a7dbb26138646e1b9360e396694986",id:a,class:"message"},this.message)))}static get delegatesFocus(){return true}get el(){return a(this)}};export{d as diwa_input_text};
|
|
2
|
-
//# sourceMappingURL=p-9ade0403.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DiwaInputText","constructor","hostRef","this","_hasStart","_hasEnd","label","description","message","state","name","value","placeholder","disabled","required","readonly","hideLabel","compact","theme","handleInput","e","target","input","emit","handleChange","change","handleBlur","blur","handleFocus","focus","connectedCallback","el","querySelector","render","inputId","descId","msgId","h","Host","key","innerHTML","getComponentCss","class","htmlFor","id","type","undefined","readOnly","maxLength","minLength","spellcheck","spellCheck","autocomplete","autoComplete","onInput","onChange","onBlur","onFocus"],"sources":["src/components/diwa-input-text/diwa-input-text.tsx"],"sourcesContent":["import { Component, Element, Event, EventEmitter, Host, Prop, State, h } from '@stencil/core';\r\nimport type { InputFieldState } from '../diwa-input/types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-input-text-styles';\r\n\r\n@Component({\r\n tag: 'diwa-input-text',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaInputText {\r\n @Element() el!: HTMLElement;\r\n @State() private _hasStart = false;\r\n @State() private _hasEnd = false;\r\n\r\n // ── Shared props ───────────────────────────────────────────────────────\r\n\r\n @Prop() label: string = '';\r\n @Prop() description: string = '';\r\n @Prop() message: string = '';\r\n @Prop() state: InputFieldState = 'none';\r\n @Prop() name: string = '';\r\n @Prop({ mutable: true, reflect: false }) value: string = '';\r\n @Prop() placeholder: string = '';\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n @Prop({ reflect: true }) required: boolean = false;\r\n @Prop({ reflect: true }) readonly: boolean = false;\r\n @Prop() hideLabel: boolean = false;\r\n @Prop() compact: boolean = false;\r\n @Prop() autoComplete?: string;\r\n @Prop() theme: Theme = 'dark';\r\n\r\n // ── Text-specific props ─────────────────────────────────────────────────\r\n\r\n @Prop() maxLength?: number;\r\n @Prop() minLength?: number;\r\n @Prop() spellCheck?: boolean;\r\n\r\n // ── Events ─────────────────────────────────────────────────────────────\r\n\r\n @Event({ bubbles: true }) change!: EventEmitter<string>;\r\n @Event({ bubbles: true }) input!: EventEmitter<string>;\r\n @Event({ bubbles: false }) blur!: EventEmitter<FocusEvent>;\r\n @Event({ bubbles: false }) focus!: EventEmitter<FocusEvent>;\r\n\r\n // ── Private ────────────────────────────────────────────────────────────\r\n\r\n connectedCallback(): void {\r\n this._hasStart = !!this.el.querySelector('[slot=\"start\"]');\r\n this._hasEnd = !!this.el.querySelector('[slot=\"end\"]');\r\n }\r\n\r\n private handleInput = (e: Event): void => {\r\n this.value = (e.target as HTMLInputElement).value;\r\n this.input.emit(this.value);\r\n };\r\n\r\n private handleChange = (e: Event): void => {\r\n this.value = (e.target as HTMLInputElement).value;\r\n this.change.emit(this.value);\r\n };\r\n\r\n private handleBlur = (e: FocusEvent): void => { this.blur.emit(e); };\r\n private handleFocus = (e: FocusEvent): void => { this.focus.emit(e); };\r\n\r\n render() {\r\n const inputId = 'input';\r\n const descId = 'desc';\r\n const msgId = 'msg';\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.state, this.disabled, this.readonly, this.compact, this._hasStart, this._hasEnd, false)} />\r\n <div class=\"root\">\r\n {!this.hideLabel && this.label && (\r\n <div class=\"label-row\">\r\n <label class=\"label\" htmlFor={inputId}>\r\n {this.label}\r\n {this.required && <span class=\"required\" aria-hidden=\"true\"> *</span>}\r\n </label>\r\n <slot name=\"label-after\" />\r\n </div>\r\n )}\r\n <div class=\"input-wrapper\">\r\n {this._hasStart && <div class=\"slot-start\"><slot name=\"start\" /></div>}\r\n <input\r\n id={inputId}\r\n class=\"input\"\r\n type=\"text\"\r\n name={this.name || undefined}\r\n value={this.value}\r\n placeholder={this.placeholder || undefined}\r\n disabled={this.disabled}\r\n required={this.required}\r\n readOnly={this.readonly}\r\n maxLength={this.maxLength}\r\n minLength={this.minLength}\r\n spellcheck={this.spellCheck}\r\n autocomplete={this.autoComplete}\r\n aria-label={this.hideLabel && this.label ? this.label : undefined}\r\n aria-invalid={this.state === 'error' ? 'true' : undefined}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-describedby={this.message ? msgId : this.description ? descId : undefined}\r\n onInput={this.handleInput}\r\n onChange={this.handleChange}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n />\r\n {this._hasEnd && <div class=\"slot-end\"><slot name=\"end\" /></div>}\r\n </div>\r\n {!this.message && this.description && (\r\n <p id={descId} class=\"description\">{this.description}</p>\r\n )}\r\n {this.message && (\r\n <p id={msgId} class=\"message\">{this.message}</p>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as n,H as a}from"./p-ed4017f0.js";const i=e=>`\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .list {\n margin: 0;\n padding: 0;\n color: var(--diwa-text-primary);\n font-size: var(--diwa-font-size-base);\n line-height: var(--diwa-line-height-normal);\n ${e==="inline"?"":"padding-inline-start: 1.25em;"}\n ${e==="inline"?"list-style: none; display: flex; flex-wrap: wrap; gap: 0.25em 1em;":""}\n }\n`;const t=class{constructor(n){e(this,n);this.theme="dark";this.type="unordered"}render(){const e=this.type==="ordered"?"ol":"ul";return n(a,{key:"46a42d0fad4e36c43294095336094028eba05e28","data-theme":this.theme},n("style",{key:"fac6f5dfc2f131e718e808465e7bac609cf46665",innerHTML:i(this.type)}),n(e,{key:"40e9fc80b433d58834b3b1465a49c53ed968f171",class:"list"},n("slot",{key:"25af80ba0ae2f8dc8ff98e5fc5321fa271b52ebb"})))}};export{t as diwa_text_list};
|
|
2
|
-
//# sourceMappingURL=p-9c89e586.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","type","DiwaTextList","constructor","hostRef","this","theme","render","Tag","h","Host","key","innerHTML","class"],"sources":["src/components/diwa-text-list/diwa-text-list-styles.ts","src/components/diwa-text-list/diwa-text-list.tsx"],"sourcesContent":["import type { TextListType } from './types';\r\n\r\nexport const getComponentCss = (type: TextListType): string => `\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .list {\r\n margin: 0;\r\n padding: 0;\r\n color: var(--diwa-text-primary);\r\n font-size: var(--diwa-font-size-base);\r\n line-height: var(--diwa-line-height-normal);\r\n ${type === 'inline' ? '' : 'padding-inline-start: 1.25em;'}\r\n ${type === 'inline' ? 'list-style: none; display: flex; flex-wrap: wrap; gap: 0.25em 1em;' : ''}\r\n }\r\n`;\r\n","import { Component, Host, Prop, h } from '@stencil/core';\r\nimport type { TextListType } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-text-list-styles';\r\n\r\n/**\r\n * @component diwa-text-list\r\n *\r\n * A styled list that renders as `<ul>`, `<ol>`, or an inline flex row depending\r\n * on the `type` prop. Accepts `diwa-text-list-item` children in the default slot.\r\n *\r\n * Usage:\r\n * <diwa-text-list>\r\n * <diwa-text-list-item>First item</diwa-text-list-item>\r\n * <diwa-text-list-item>Second item</diwa-text-list-item>\r\n * </diwa-text-list>\r\n *\r\n * @slot default — diwa-text-list-item elements.\r\n */\r\n@Component({\r\n tag: 'diwa-text-list',\r\n shadow: true,\r\n})\r\nexport class DiwaTextList {\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /**\r\n * List style.\r\n * - `unordered` — bullet points (`<ul>`)\r\n * - `ordered` — numbered list (`<ol>`)\r\n * - `inline` — comma/space separated flex row (`<ul>` without markers)\r\n */\r\n @Prop({ reflect: true }) type: TextListType = 'unordered';\r\n\r\n render() {\r\n const Tag = this.type === 'ordered' ? 'ol' : 'ul';\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.type)} />\r\n <Tag class=\"list\">\r\n <slot />\r\n </Tag>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"kDAEO,MAAMA,EAAmBC,GAA+B,gUAgBzDA,IAAS,SAAW,GAAK,wCACzBA,IAAS,SAAW,qEAAuE,Y,MCIpFC,EAAY,MAJzB,WAAAC,CAAAC,G,UAM2BC,KAAAC,MAAe,OAQfD,KAAAJ,KAAqB,W,CAE9C,MAAAM,GACE,MAAMC,EAAMH,KAAKJ,OAAS,UAAY,KAAO,KAE7C,OACEQ,EAACC,EAAI,CAAAC,IAAA,wDAAaN,KAAKC,OACrBG,EAAA,SAAAE,IAAA,2CAAOC,UAAWZ,EAAgBK,KAAKJ,QACvCQ,EAACD,EAAG,CAAAG,IAAA,2CAACE,MAAM,QACTJ,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,h as e,H as t}from"./p-ed4017f0.js";const i=n=>{const e=n==="vertical";return`\n\n /* ── Host ─────────────────────────────────────────────────────────── */\n\n :host {\n display: ${e?"inline-flex":"block"};\n ${e?"align-self: stretch;":"width: 100%;"}\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── Rule ─────────────────────────────────────────────────────────── */\n\n .root {\n display: block;\n margin: 0;\n padding: 0;\n border: none;\n background-color: var(--diwa-border);\n ${e?`width: var(--diwa-border-width-thin);\n height: 100%;\n min-height: 1em;`:`width: 100%;\n height: var(--diwa-border-width-thin);`}\n }\n`};const r=class{constructor(e){n(this,e);this.theme="dark";this.orientation="horizontal"}render(){return e(t,{key:"e143d66dbac5d538a79e9bd2cef6da4292839a4d","data-theme":this.theme},e("style",{key:"00e13388782156d60927e639215b3a361c231541",innerHTML:i(this.orientation)}),e("hr",{key:"5653fa0a68365da009e6e0b2b5a41a2cfb4702f9",class:"root",role:"separator","aria-orientation":this.orientation}))}};export{r as diwa_divider};
|
|
2
|
-
//# sourceMappingURL=p-9eef4779.entry.js.map
|