@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,"file":"types.js","sourceRoot":"","sources":["../../../src/components/diwa-badge/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG","sourcesContent":["/**\r\n * diwa-badge — Public TypeScript interfaces\r\n * ==========================================\r\n * Exported so framework wrapper packages and consumers can share these types.\r\n */\r\n\r\n/** Visual variant of the badge. Maps to semantic colour roles. */\r\nexport type BadgeVariant = \"neutral\" | \"accent\" | \"success\" | \"warning\" | \"danger\";\r\n\r\n/** Size tier. Controls height, padding, and font-size. */\r\nexport type BadgeSize = \"sm\" | \"md\";\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-button-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-button/diwa-button-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAuB,EACvB,KAAiB,EACjB,SAAkB,EAClB,QAAiB,EACT,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuDT,aAAa,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgKvB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;CACxD,CAAC","sourcesContent":["/**\r\n * diwa-button-styles.ts\r\n * ======================\r\n * CSS-in-JS style function for <diwa-button>.\r\n *\r\n * Returns a complete, scoped CSS string injected into the component's Shadow DOM\r\n * via a <style innerHTML={...}> element in render(). This follows the shared\n * Diwa component styling architecture used across web components.\n *\r\n * All colour values use CSS custom properties (--diwa-*) — raw values are never\r\n * hardcoded. This means theming is entirely handled by the token cascade: when the\r\n * host element carries data-theme=\"light\", the [data-theme=\"light\"] overrides\r\n * defined in app.css cascade into the Shadow DOM via custom property inheritance.\r\n *\r\n * The function accepts the full prop surface for future conditional optimisation\r\n * (e.g. generating only variant- or size-specific CSS to reduce payload), but\r\n * currently outputs the complete ruleset regardless of prop values.\r\n */\r\n\r\nimport type { ButtonSize, ButtonVariant } from './types';\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\n/**\r\n * Generates scoped CSS for the <diwa-button> shadow tree.\r\n *\r\n * @param _variant — current ButtonVariant (reserved for conditional CSS)\r\n * @param _size — current ButtonSize (reserved for conditional CSS)\r\n * @param _disabled — disabled state (reserved for conditional CSS)\r\n * @param _loading — loading state (reserved for conditional CSS)\r\n */\r\nexport const getComponentCss = (\r\n _variant: ButtonVariant,\r\n _size: ButtonSize,\r\n _disabled: boolean,\r\n _loading: boolean,\r\n): string => `\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: inline-flex;\r\n position: relative;\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 /* ── Inner element (the real <button> or <a> in Shadow DOM) ─────────── */\r\n\r\n .inner {\r\n /* Layout */\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: var(--diwa-space-2);\r\n\r\n /* Sizing defaults (md) */\r\n height: var(--diwa-button-height, 40px);\r\n padding: 0 var(--diwa-button-padding-x, 16px);\r\n box-sizing: border-box;\r\n width: 100%;\r\n\r\n /* Shape */\r\n border-radius: var(--diwa-button-radius, var(--diwa-radius-md));\r\n border: var(--diwa-border-width-thin) solid transparent;\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-button-font-weight, var(--diwa-font-weight-medium));\r\n font-family: inherit;\r\n line-height: 1;\r\n white-space: nowrap;\r\n text-decoration: none;\r\n\r\n /* Interaction */\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-font-smoothing: antialiased;\r\n position: relative;\r\n\r\n /* Motion */\r\n transition: var(--diwa-transition-colors), box-shadow var(--diwa-transition-fast);\r\n\r\n /* Reset native button styles */\r\n appearance: none;\r\n -webkit-appearance: none;\r\n }\r\n\r\n /* ── Focus ring ─────────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('.inner')}\r\n\r\n /* ── Variant: primary ───────────────────────────────────────────────── */\r\n\r\n :host([variant=\"primary\"]) .inner {\r\n background-color: var(--diwa-button-bg, var(--diwa-accent));\r\n color: var(--diwa-button-color, var(--diwa-text-inverse));\r\n border-color: transparent;\r\n }\r\n\r\n :host([variant=\"primary\"]) .inner:hover:not(:disabled) {\r\n background-color: var(--diwa-button-bg-hover, var(--diwa-accent-hover));\r\n }\r\n\r\n :host([variant=\"primary\"]) .inner:active:not(:disabled) {\r\n background-color: var(--diwa-accent-active);\r\n transform: translateY(1px);\r\n }\r\n\r\n /* ── Variant: secondary ─────────────────────────────────────────────── */\r\n\r\n :host([variant=\"secondary\"]) .inner {\r\n background-color: transparent;\r\n color: var(--diwa-accent);\r\n border-color: var(--diwa-accent);\r\n }\r\n\r\n :host([variant=\"secondary\"]) .inner:hover:not(:disabled) {\r\n background-color: var(--diwa-accent-bg);\r\n border-color: var(--diwa-accent-hover);\r\n }\r\n\r\n :host([variant=\"secondary\"]) .inner:active:not(:disabled) {\r\n background-color: var(--diwa-accent-muted);\r\n transform: translateY(1px);\r\n }\r\n\r\n /* ── Variant: ghost ─────────────────────────────────────────────────── */\r\n\r\n :host([variant=\"ghost\"]) .inner {\r\n background-color: transparent;\r\n color: var(--diwa-text-secondary);\r\n border-color: transparent;\r\n }\r\n\r\n :host([variant=\"ghost\"]) .inner:hover:not(:disabled) {\r\n background-color: var(--diwa-bg-hover);\r\n color: var(--diwa-text-primary);\r\n }\r\n\r\n :host([variant=\"ghost\"]) .inner:active:not(:disabled) {\r\n background-color: var(--diwa-bg-active);\r\n transform: translateY(1px);\r\n }\r\n\r\n /* ── Variant: danger ────────────────────────────────────────────────── */\r\n\r\n :host([variant=\"danger\"]) .inner {\r\n background-color: var(--diwa-danger);\r\n color: var(--diwa-text-inverse);\r\n border-color: transparent;\r\n }\r\n\r\n :host([variant=\"danger\"]) .inner:hover:not(:disabled) {\r\n background-color: var(--diwa-danger-hover);\r\n }\r\n\r\n :host([variant=\"danger\"]) .inner:active:not(:disabled) {\r\n background-color: var(--diwa-danger-active);\r\n transform: translateY(1px);\r\n }\r\n\r\n /* ── Size: sm ───────────────────────────────────────────────────────── */\r\n\r\n :host([size=\"sm\"]) .inner {\r\n height: var(--diwa-button-height-sm, 32px);\r\n padding: 0 var(--diwa-button-padding-x-sm, 10px);\r\n font-size: var(--diwa-font-size-md);\r\n }\r\n\r\n /* ── Size: lg ───────────────────────────────────────────────────────── */\r\n\r\n :host([size=\"lg\"]) .inner {\r\n height: var(--diwa-button-height-lg, 44px);\r\n padding: 0 var(--diwa-space-10);\r\n font-size: var(--diwa-font-size-lg);\r\n }\r\n\r\n /* ── State: disabled ────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) .inner,\r\n .inner:disabled {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── State: loading ─────────────────────────────────────────────────── */\r\n\r\n :host([loading]) .inner {\r\n cursor: wait;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── Spinner ────────────────────────────────────────────────────────── */\r\n\r\n .spinner {\r\n width: var(--diwa-spinner-size-sm);\r\n height: var(--diwa-spinner-size-sm);\r\n flex-shrink: 0;\r\n border: var(--diwa-border-width-base) solid currentColor;\r\n border-top-color: transparent;\r\n border-radius: 50%;\r\n animation: diwa-spin var(--diwa-spinner-duration, 0.7s) linear infinite;\r\n }\r\n\r\n @keyframes diwa-spin {\r\n to { transform: rotate(360deg); }\r\n }\r\n\r\n /* ── Icon slots ─────────────────────────────────────────────────────── */\r\n\r\n .icon-start,\r\n .icon-end {\r\n display: contents;\r\n flex-shrink: 0;\r\n line-height: 0;\r\n }\r\n\r\n /* ── Label: visually hidden (sr-only / icon-only mode) ──────────────── */\r\n\r\n .label--hidden {\r\n border: 0;\r\n clip: rect(0, 0, 0, 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n white-space: nowrap;\r\n width: 1px;\r\n }\r\n\r\n /* ── Icon-only mode ─────────────────────────────────────────────────── */\r\n\r\n :host([hide-label]) .inner {\r\n width: var(--diwa-button-height, 40px);\r\n padding: 0;\r\n }\r\n\r\n :host([hide-label][size=\"sm\"]) .inner {\r\n width: var(--diwa-button-height-sm, 32px);\r\n }\r\n\r\n :host([hide-label][size=\"lg\"]) .inner {\r\n width: var(--diwa-button-height-lg, 44px);\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.inner', '.label', '.spinner')}\r\n`;\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-button-utils.js","sourceRoot":"","sources":["../../../src/components/diwa-button/diwa-button-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAeH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,QAAiB,EACjB,OAAgB,EAChB,KAAyB,EACzB,MAAe,EACO,EAAE;IACxB,MAAM,KAAK,GAAyB,EAAE,CAAC;IAEvC,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED,0EAA0E;IAC1E,IAAI,MAAM,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["/**\r\n * diwa-button-utils.ts\r\n * =====================\r\n * Utility types and helper functions for <diwa-button>.\r\n *\r\n * Mirrors the PDS pattern used in:\r\n * packages/components/src/components/button/button-utils.ts\r\n *\r\n * Separating ARIA logic into a dedicated utility file keeps the main component\r\n * lean and makes the accessibility mapping independently testable.\r\n */\r\n\r\n/**\r\n * ARIA attributes applied to the inner interactive element (<button> or <a>).\r\n * All keys are optional — only set when semantically appropriate.\r\n */\r\nexport interface ButtonAriaAttributes {\r\n /** Accessible text label — overrides slot content for AT. */\r\n 'aria-label'?: string;\r\n /** Signals that the button is performing an async operation. */\r\n 'aria-busy'?: 'true';\r\n /** Used on <a> elements (which have no native disabled attribute). */\r\n 'aria-disabled'?: 'true';\r\n}\r\n\r\n/**\r\n * Assembles ARIA attributes for the inner interactive element.\r\n *\r\n * Decision table:\r\n * - `aria-label` → set when `label` prop is provided (icon-only or supplemental name)\r\n * - `aria-busy` → set when `loading` is true (announces async activity to AT)\r\n * - `aria-disabled` → set when disabled **and** the element is an <a> (links have no\r\n * native disabled — we simulate it with aria + tabIndex=-1)\r\n *\r\n * For native <button>: disabled/loading are expressed via the `disabled` HTML attribute\r\n * (handled in the calling component's render), so `aria-disabled` is not needed there.\r\n *\r\n * @param disabled — whether the button interaction is blocked\r\n * @param loading — whether the button is performing an async operation\r\n * @param label — accessible label string (optional)\r\n * @param isLink — true when the component renders as <a> (href is provided)\r\n */\r\nexport const getButtonAriaAttributes = (\r\n disabled: boolean,\r\n loading: boolean,\r\n label: string | undefined,\r\n isLink: boolean,\r\n): ButtonAriaAttributes => {\r\n const attrs: ButtonAriaAttributes = {};\r\n\r\n if (label) {\r\n attrs['aria-label'] = label;\r\n }\r\n\r\n if (loading) {\r\n attrs['aria-busy'] = 'true';\r\n }\r\n\r\n // <a> elements have no native `disabled` attribute — express it via ARIA.\r\n if (isLink && (disabled || loading)) {\r\n attrs['aria-disabled'] = 'true';\r\n }\r\n\r\n return attrs;\r\n};\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-button.js","sourceRoot":"","sources":["../../../src/components/diwa-button/diwa-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, h } from \"@stencil/core\";\r\nimport type { ButtonSize, ButtonType, ButtonVariant } from \"./types\";\r\nimport type { Theme } from \"../../utils/styles\";\r\nimport { getComponentCss } from \"./diwa-button-styles\";\r\nimport { getButtonAriaAttributes } from \"./diwa-button-utils\";\r\n\r\n/**\r\n * @component diwa-button\r\n *\r\n * A fully encapsulated, accessible button primitive.\r\n * Renders as a native <button> (or <a> when `href` is supplied).\r\n *\r\n * Design token override API (set on :root or any ancestor):\r\n * --diwa-button-bg Background color (primary variant default)\r\n * --diwa-button-bg-hover Hover background\r\n * --diwa-button-color Foreground / text color\r\n * --diwa-button-radius Border radius\r\n * --diwa-button-height Height for md size\r\n * --diwa-button-height-sm Height for sm size\r\n * --diwa-button-height-lg Height for lg size\r\n * --diwa-button-padding-x Horizontal padding for md/lg\r\n * --diwa-button-padding-x-sm Horizontal padding for sm\r\n *\r\n * Usage:\r\n * <diwa-button variant=\"primary\">Get Started</diwa-button>\r\n * <diwa-button variant=\"secondary\" size=\"sm\" disabled>Cancel</diwa-button>\r\n * <diwa-button href=\"/dashboard\" target=\"_blank\">Open Panel</diwa-button>\r\n *\r\n * @slot default — Button label content (text, icons, or mixed)\r\n */\r\n@Component({\r\n tag: \"diwa-button\",\r\n /**\r\n * No styleUrl — styles are injected dynamically via getComponentCss().\r\n * This follows the PDS CSS-in-JS pattern, enabling per-component theming\r\n * and keeping style logic co-located with the component.\r\n *\r\n * shadow.delegatesFocus = true:\r\n * Forwards focus from the host element (<diwa-button>) to the first\r\n * focusable element inside the Shadow DOM (<button> or <a>).\r\n * This ensures keyboard navigation and :focus-visible work correctly\r\n * when host-app code calls .focus() on the custom element.\r\n */\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaButton {\r\n @Element() host!: HTMLDiwaButtonElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props — each @Prop generates a corresponding argType in Storybook\r\n // and an HTML attribute on the custom element.\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Per-component theme override.\r\n *\r\n * Setting this reflects data-theme onto the host element, causing the light/dark\r\n * token overrides in app.css to cascade into the Shadow DOM automatically.\r\n * Mirrors the `theme` prop on every PDS component.\r\n */\r\n @Prop({ reflect: true }) theme: Theme = \"dark\";\r\n\r\n /** Visual style variant. */\r\n @Prop({ reflect: true }) variant: ButtonVariant = \"primary\";\r\n\r\n /** Size tier — controls height and padding. */\r\n @Prop({ reflect: true }) size: ButtonSize = \"md\";\r\n\r\n /**\r\n * Native button type. Only applies when rendered as <button>\r\n * (i.e., no `href` prop is set).\r\n */\r\n @Prop() type: ButtonType = \"button\";\r\n\r\n /**\r\n * Disabled state. Blocks all pointer and keyboard interaction.\r\n * When rendered as <a>, sets aria-disabled instead of disabled\r\n * (the `disabled` attribute is not valid on anchor elements).\r\n */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /**\r\n * Loading state. Shows an inline spinner, disables the button,\r\n * and sets aria-busy=\"true\" to communicate async activity to\r\n * screen readers.\r\n */\r\n @Prop({ reflect: true }) loading: boolean = false;\r\n\r\n /**\r\n * When set, the button renders as an <a> element (link semantics).\r\n * Pair with `target` for external links.\r\n */\r\n @Prop() href?: string;\r\n\r\n /** Link target — only meaningful when `href` is set. */\r\n @Prop() target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\";\r\n\r\n /** Native button name — submitted with form data. */\r\n @Prop() name?: string;\r\n\r\n /** Native button value — submitted with form data. */\r\n @Prop() value?: string;\r\n\r\n /**\r\n * Accessible label. Use when the visible slot content is not\r\n * descriptive enough (e.g., icon-only buttons).\r\n */\r\n @Prop() label?: string;\r\n\r\n /**\r\n * When `true`, the default label slot is visually hidden so the button\r\n * renders as a compact square (icon-only mode). The slot text is kept in\r\n * the DOM for screen-reader accessible-name calculation.\r\n *\r\n * For best accessibility, always pair with the `label` prop **or** ensure\r\n * the default slot contains descriptive text, so the button has a name.\r\n *\r\n * Usage:\r\n * <diwa-button hide-label label=\"Save\">\r\n * <svg slot=\"icon-start\">…</svg>\r\n * </diwa-button>\r\n */\r\n @Prop({ reflect: true }) hideLabel: boolean = false;\r\n\r\n /**\r\n * Lucide icon name in kebab-case (e.g. `\"star\"`, `\"arrow-right\"`), or `'none'`\r\n * to show no icon. When set to any value other than `'none'`, renders a\r\n * `<diwa-icon>` in the leading (icon-start) position.\r\n *\r\n * The `icon-start` slot still works alongside this prop — the prop-rendered\r\n * icon comes first, followed by any slotted content.\r\n */\r\n @Prop() icon: string = 'none';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private get isInteractive(): boolean {\r\n return !this.disabled && !this.loading;\r\n }\r\n\r\n private get iconSize(): number {\r\n return this.size === 'sm' ? 16 : this.size === 'lg' ? 24 : 20;\r\n }\r\n\r\n private handleClick = (e: MouseEvent): void => {\r\n if (!this.isInteractive) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n // When interactive, allow the native click to retarget to the host element.\r\n // Framework wrappers expose it as onClick (React) / @click (Vue) / (click) (Angular).\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n /**\r\n * Render as <a> when href is provided (link semantics).\r\n * Render as <button> for all interactive / form scenarios.\r\n */\r\n const isLink = !!this.href;\r\n const Tag = isLink ? \"a\" : \"button\";\r\n\r\n // Consolidate all ARIA attributes via the utility — mirrors PDS getButtonAriaAttributes()\r\n const ariaAttrs = getButtonAriaAttributes(this.disabled, this.loading, this.label, isLink);\r\n\r\n const commonProps = {\r\n class: \"inner\",\r\n onClick: this.handleClick,\r\n ...ariaAttrs,\r\n };\r\n\r\n const buttonProps = isLink\r\n ? {\r\n href: this.href,\r\n target: this.target,\r\n rel: this.target === \"_blank\" ? \"noopener noreferrer\" : undefined,\r\n // Disabled links have no native mechanism — suppress tab stop too\r\n tabIndex: this.disabled || this.loading ? -1 : undefined,\r\n }\r\n : {\r\n type: this.type,\r\n name: this.name,\r\n value: this.value,\r\n disabled: this.disabled || this.loading,\r\n };\r\n\r\n return (\r\n /**\r\n * <Host> renders the outer custom element tag itself.\r\n *\r\n * data-theme is set from the `theme` prop so that the [data-theme=\"light\"]\r\n * CSS variable overrides in app.css cascade into this Shadow DOM tree via\r\n * custom property inheritance — no colour values are hardcoded here.\r\n *\r\n * Reflecting `variant` and `size` as attributes allows CSS consumers to\r\n * target the host from outside: diwa-button[variant=\"primary\"] { ... }\r\n *\r\n * The part=\"base\" exposes internals for ::part() in host-app stylesheets.\r\n */\r\n <Host\r\n data-theme={this.theme}\r\n role={isLink ? undefined : \"button\"}\r\n aria-disabled={\r\n (this.disabled || this.loading) && isLink ? \"true\" : undefined\r\n }\r\n >\r\n {/* CSS-in-JS styles — injected into Shadow DOM, scoped automatically */}\r\n <style innerHTML={getComponentCss(this.variant, this.size, this.disabled, this.loading)} />\r\n\r\n <Tag\r\n {...commonProps}\r\n {...buttonProps}\r\n part=\"base\" /* ::part(base) hook for consumers */\r\n >\r\n {/* Loading spinner — visually hidden from AT via aria-hidden */}\r\n {this.loading && (\r\n <span class=\"spinner\" aria-hidden=\"true\" part=\"spinner\" />\r\n )}\r\n\r\n {/* Leading icon slot — decorative; aria-hidden keeps AT focused on label */}\r\n <span class=\"icon-start\" part=\"icon-start\" aria-hidden=\"true\">\r\n {this.icon !== 'none' && !this.loading && <diwa-icon name={this.icon} size={this.iconSize} />}\r\n <slot name=\"icon-start\" />\r\n </span>\r\n\r\n {/* Slot — content projection. Text, icons, or mixed content. */}\r\n <span class={`label${this.hideLabel ? \" label--hidden\" : \"\"}`} part=\"label\">\r\n <slot />\r\n </span>\r\n\r\n {/* Trailing icon slot */}\r\n <span class=\"icon-end\" part=\"icon-end\" aria-hidden=\"true\">\r\n <slot name=\"icon-end\" />\r\n </span>\r\n </Tag>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/diwa-button/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG","sourcesContent":["/**\r\n * diwa-button — Public TypeScript interfaces\r\n * ============================================\r\n * Exported so framework wrapper packages and consumers can share these types.\r\n */\r\n\r\n/** Visual variant of the button. Maps to distinct styled roles. */\r\nexport type ButtonVariant = \"primary\" | \"secondary\" | \"ghost\" | \"danger\";\r\n\r\n/** Size tier. Controls height, padding, and font-size. */\r\nexport type ButtonSize = \"sm\" | \"md\" | \"lg\";\r\n\r\n/** Native button type attribute — passthrough to the inner <button>. */\r\nexport type ButtonType = \"button\" | \"submit\" | \"reset\";\r\n\r\n/**\r\n * Per-component theme override.\r\n *\r\n * When set, the component writes `data-theme=\"light|dark\"` onto its host element.\r\n * This causes the [data-theme] CSS variable overrides in app.css to cascade into\r\n * the Shadow DOM via custom property inheritance — no hardcoded colour values needed.\r\n *\r\n * Use this to render a single component in the opposite theme from its surroundings,\r\n * e.g. a light-theme button inside a dark-mode layout.\r\n *\r\n * Mirrors the `theme` prop present on every PDS component.\r\n */\r\nexport type { Theme } from '../../utils/styles';\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-button-pure-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-button-pure/diwa-button-pure-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAqB,EACrB,SAAkB,EAClB,QAAiB,EACjB,UAAmB,EACnB,OAAgB,EAChB,UAAmB,EACnB,WAAiC,EACjC,QAAiB,EACT,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0DT,aAAa,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8FtB,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC;CAC7C,CAAC","sourcesContent":["/**\r\n * diwa-button-pure-styles.ts\r\n * ===========================\r\n * CSS-in-JS styles for <diwa-button-pure>.\r\n *\r\n * A minimal, transparent button: icon + label only, no background or border.\r\n * Mirrors the PDS p-button-pure aesthetic.\r\n *\r\n * Layout rules:\r\n * alignLabel='end' (default) → icon label\r\n * alignLabel='start' → label icon (via flex-direction: row-reverse)\r\n * stretch=true → fills container width, gap between icon and label\r\n */\r\n\r\nimport type { ButtonPureSize, ButtonPureAlignLabel } from './types';\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (\r\n _size: ButtonPureSize,\r\n _disabled: boolean,\r\n _loading: boolean,\r\n _underline: boolean,\r\n _active: boolean,\r\n _hideLabel: boolean,\r\n _alignLabel: ButtonPureAlignLabel,\r\n _stretch: boolean,\r\n): string => `\r\n\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: inline-flex;\r\n position: relative;\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 /* Stretch: fill the parent's inline axis */\r\n :host([stretch]) {\r\n display: flex;\r\n width: 100%;\r\n }\r\n\r\n /* ── Root element (<button> or <a>) ─────────────────────────────────── */\r\n\r\n .root {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--diwa-space-2);\r\n flex-direction: row; /* overridden by alignLabel=start below */\r\n\r\n background: transparent;\r\n border: none;\r\n padding: var(--diwa-space-0-5) var(--diwa-space-1);\r\n margin: 0;\r\n cursor: pointer;\r\n\r\n font-family: inherit;\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-regular);\r\n line-height: 1;\r\n color: var(--diwa-text-primary);\r\n text-decoration: none;\r\n white-space: nowrap;\r\n\r\n -webkit-appearance: none;\r\n appearance: none;\r\n -webkit-font-smoothing: antialiased;\r\n\r\n border-radius: var(--diwa-radius-sm);\r\n }\r\n\r\n /* Stretch: push icon and label to opposite edges */\r\n :host([stretch]) .root {\r\n width: 100%;\r\n justify-content: space-between;\r\n }\r\n\r\n /* ── Focus ring ─────────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('.root')}\r\n\r\n /* ── Size ───────────────────────────────────────────────────────────── */\r\n\r\n :host([size=\"sm\"]) .root {\r\n font-size: var(--diwa-font-size-sm);\r\n }\r\n\r\n :host([size=\"lg\"]) .root {\r\n font-size: var(--diwa-font-size-lg);\r\n }\r\n\r\n /* ── Hover / Active ─────────────────────────────────────────────────── */\r\n\r\n .root:hover:not(:disabled) {\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n /* ── Active state (CSS :active + [active] prop) ─────────────────────── */\r\n\r\n :host([active]) .root,\r\n .root:active:not(:disabled) {\r\n background-color: var(--diwa-bg-active);\r\n }\r\n\r\n /* ── Disabled ───────────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) .root,\r\n .root:disabled {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── Loading ────────────────────────────────────────────────────────── */\r\n\r\n :host([loading]) .root {\r\n cursor: wait;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── alignLabel: start → label on left, icon on right ──────────────── */\r\n\r\n :host([align-label=\"start\"]) .root {\r\n flex-direction: row-reverse;\r\n }\r\n\r\n /* ── Underline label text ───────────────────────────────────────────── */\r\n\r\n :host([underline]) .label {\r\n text-decoration: underline;\r\n }\r\n\r\n /* ── Icon wrapper ───────────────────────────────────────────────────── */\r\n\r\n .icon {\r\n display: contents;\r\n flex-shrink: 0;\r\n line-height: 0;\r\n }\r\n\r\n /* ── Label: visually hidden (sr-only / icon-only mode) ──────────────── */\r\n\r\n .label--hidden {\r\n border: 0;\r\n clip: rect(0, 0, 0, 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n white-space: nowrap;\r\n width: 1px;\r\n }\r\n\r\n /* ── Spinner ────────────────────────────────────────────────────────── */\r\n\r\n .spinner {\r\n /* Size relative to current font-size so it scales with the button size tier */\r\n width: 1em;\r\n height: 1em;\r\n flex-shrink: 0;\r\n border: var(--diwa-border-width-base) solid currentColor;\r\n border-top-color: transparent;\r\n border-radius: 50%;\r\n animation: diwa-bp-spin var(--diwa-spinner-duration, 0.7s) linear infinite;\r\n }\r\n\r\n @keyframes diwa-bp-spin {\r\n to { transform: rotate(360deg); }\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.root', '.spinner')}\r\n`;\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-button-pure-utils.js","sourceRoot":"","sources":["../../../src/components/diwa-button-pure/diwa-button-pure-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,QAAiB,EACjB,OAAgB,EAChB,KAAyB,EACzB,MAAe,EACW,EAAE;IAC5B,MAAM,KAAK,GAA6B,EAAE,CAAC;IAE3C,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["/**\r\n * diwa-button-pure-utils.ts\r\n * ==========================\r\n * ARIA helpers for <diwa-button-pure>.\r\n */\r\n\r\nexport interface ButtonPureAriaAttributes {\r\n 'aria-label'?: string;\r\n 'aria-busy'?: 'true';\r\n 'aria-disabled'?: 'true';\r\n}\r\n\r\nexport const getButtonPureAriaAttributes = (\r\n disabled: boolean,\r\n loading: boolean,\r\n label: string | undefined,\r\n isLink: boolean,\r\n): ButtonPureAriaAttributes => {\r\n const attrs: ButtonPureAriaAttributes = {};\r\n\r\n if (label) {\r\n attrs['aria-label'] = label;\r\n }\r\n\r\n if (loading) {\r\n attrs['aria-busy'] = 'true';\r\n }\r\n\r\n if (isLink && (disabled || loading)) {\r\n attrs['aria-disabled'] = 'true';\r\n }\r\n\r\n return attrs;\r\n};\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-button-pure.js","sourceRoot":"","sources":["../../../src/components/diwa-button-pure/diwa-button-pure.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, h } from \"@stencil/core\";\r\nimport type { ButtonPureSize, ButtonPureAlignLabel, ButtonPureType } from \"./types\";\r\nimport type { Theme } from \"../../utils/styles\";\r\nimport { getComponentCss } from \"./diwa-button-pure-styles\";\r\nimport { getButtonPureAriaAttributes } from \"./diwa-button-pure-utils\";\r\n\r\n/**\r\n * @component diwa-button-pure\r\n *\r\n * A transparent, text+icon action button — no background or border.\r\n * Mirrors the PDS `p-button-pure` component.\r\n *\r\n * Default layout: [icon] [label] (alignLabel=\"end\")\r\n * Reversed layout: [label] [icon] (alignLabel=\"start\")\r\n * Stretched layout: [icon] ····· [label] (stretch + alignLabel=\"end\")\r\n *\r\n * Usage:\r\n * <diwa-button-pure>Read more</diwa-button-pure>\r\n * <diwa-button-pure icon=\"arrow-left\" align-label=\"start\">Back</diwa-button-pure>\r\n * <diwa-button-pure hide-label label=\"Close\" icon=\"x\" />\r\n *\r\n * @slot default — Button label text\r\n */\r\n@Component({\r\n tag: \"diwa-button-pure\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaButtonPure {\r\n @Element() host!: HTMLDiwaButtonPureElement;\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 /** Text size tier. Controls both font-size and icon size. */\r\n @Prop({ reflect: true }) size: ButtonPureSize = \"md\";\r\n\r\n /**\r\n * Lucide icon name in kebab-case (e.g. `\"arrow-right\"`, `\"star\"`), or `\"none\"`\r\n * to render with no icon. Defaults to `\"arrow-right\"` — matching PDS.\r\n */\r\n @Prop() icon: string = \"arrow-right\";\r\n\r\n /** Disabled state. Blocks all pointer and keyboard interaction. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /**\r\n * Loading state. Replaces the icon with a spinner, blocks interaction,\r\n * and announces aria-busy to screen readers.\r\n */\r\n @Prop({ reflect: true }) loading: boolean = false;\r\n\r\n /**\r\n * When `true`, the label slot is visually hidden (icon-only mode).\r\n * Always pair with the `label` prop for screen-reader accessible name.\r\n */\r\n @Prop({ reflect: true }) hideLabel: boolean = false;\r\n\r\n /** Forces the button into its active/pressed visual state. */\r\n @Prop({ reflect: true }) active: boolean = false;\r\n\r\n /** Adds an underline decoration to the label text. */\r\n @Prop({ reflect: true }) underline: boolean = false;\r\n\r\n /**\r\n * Controls which side the label appears on relative to the icon.\r\n * - `\"end\"` (default): [icon] [label]\r\n * - `\"start\"`: [label] [icon]\r\n */\r\n @Prop({ reflect: true }) alignLabel: ButtonPureAlignLabel = \"end\";\r\n\r\n /**\r\n * When `true`, the button stretches to fill its container and the space\r\n * between icon and label expands to fill remaining width.\r\n */\r\n @Prop({ reflect: true }) stretch: boolean = false;\r\n\r\n /** Native button type. Only applies when rendered as `<button>`. */\r\n @Prop() type: ButtonPureType = \"button\";\r\n\r\n /** Native button name — submitted with form data. */\r\n @Prop() name?: string;\r\n\r\n /** Native button value — submitted with form data. */\r\n @Prop() value?: string;\r\n\r\n /**\r\n * When set, renders as an `<a>` element (link semantics).\r\n * Pair with `target` for external links.\r\n */\r\n @Prop() href?: string;\r\n\r\n /** Link target — only meaningful when `href` is set. */\r\n @Prop() target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\";\r\n\r\n /**\r\n * Accessible label for icon-only buttons.\r\n * Required when `hideLabel` is `true`.\r\n */\r\n @Prop() label?: string;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private get isInteractive(): boolean {\r\n return !this.disabled && !this.loading;\r\n }\r\n\r\n /** Icon pixel size scaled to the current size tier. */\r\n private get iconSize(): number {\r\n return this.size === \"sm\" ? 14 : this.size === \"lg\" ? 20 : 16;\r\n }\r\n\r\n private readonly handleClick = (e: MouseEvent): void => {\r\n if (!this.isInteractive) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const isLink = !!this.href;\r\n const Tag = isLink ? \"a\" : \"button\";\r\n\r\n const ariaAttrs = getButtonPureAriaAttributes(\r\n this.disabled,\r\n this.loading,\r\n this.label,\r\n isLink,\r\n );\r\n\r\n const commonProps = {\r\n class: \"root\",\r\n onClick: this.handleClick,\r\n ...ariaAttrs,\r\n };\r\n\r\n const buttonProps = isLink\r\n ? {\r\n href: this.href,\r\n target: this.target,\r\n rel: this.target === \"_blank\" ? \"noopener noreferrer\" : undefined,\r\n tabIndex: this.disabled || this.loading ? -1 : undefined,\r\n }\r\n : {\r\n type: this.type,\r\n name: this.name,\r\n value: this.value,\r\n disabled: this.disabled || this.loading,\r\n };\r\n\r\n const hasIcon = this.icon !== \"none\";\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style\r\n innerHTML={getComponentCss(\r\n this.size,\r\n this.disabled,\r\n this.loading,\r\n this.underline,\r\n this.active,\r\n this.hideLabel,\r\n this.alignLabel,\r\n this.stretch,\r\n )}\r\n />\r\n\r\n <Tag {...commonProps} {...buttonProps} part=\"base\">\r\n {/* Spinner replaces the icon during loading */}\r\n {this.loading ? (\r\n <span class=\"spinner\" aria-hidden=\"true\" part=\"spinner\" />\r\n ) : (\r\n hasIcon && (\r\n <span class=\"icon\" aria-hidden=\"true\">\r\n <diwa-icon name={this.icon} size={this.iconSize} />\r\n </span>\r\n )\r\n )}\r\n\r\n {/* Label — visually hidden when hideLabel=true but kept for AT */}\r\n <span\r\n class={`label${this.hideLabel ? \" label--hidden\" : \"\"}`}\r\n part=\"label\"\r\n >\r\n <slot />\r\n </span>\r\n </Tag>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/diwa-button-pure/types.ts"],"names":[],"mappings":"","sourcesContent":["export type ButtonPureSize = 'sm' | 'md' | 'lg';\r\n\r\n/** Controls which side the label appears on relative to the icon. */\r\nexport type ButtonPureAlignLabel = 'start' | 'end';\r\n\r\nexport type ButtonPureType = 'button' | 'submit' | 'reset';\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-checkbox-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-checkbox/diwa-checkbox-styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE5E,uEAAuE;AACvE,MAAM,gBAAgB,GAAG,gLAAgL,CAAC;AAE1M,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAoB,EACpB,SAAkB,EAClB,OAAgB,EAChB,UAAmB,EACX,EAAE;IACV,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,YAAY,GAChB,KAAK,KAAK,OAAO;QACf,CAAC,CAAC,gCAAgC;QAClC,CAAC,CAAC,KAAK,KAAK,SAAS;YACnB,CAAC,CAAC,kCAAkC;YACpC,CAAC,CAAC,4BAA4B,CAAC;IAErC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAwCI,OAAO;cACN,OAAO;;;;;;;;;;;;;;;;MAgBf,iBAAiB,EAAE;;;;;;;;;IASrB,aAAa,CAAC,wBAAwB,CAAC;;;;;;;;;;;;;;wBAcnB,YAAY;;;;;;;;;;;;;wBAaZ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA0E3B,YAAY;;yBAEA,OAAO;;;;;IAK5B,qBAAqB,CAAC,wBAAwB,CAAC;CAClD,CAAC;AACF,CAAC,CAAC","sourcesContent":["import type { CheckboxState } from './types';\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\nimport { checkmarkSvg, getCheckboxBoxCss } from '../../utils/checkbox-mark';\r\n\r\n/** White horizontal dash for indeterminate state on a 12×12 viewBox */\r\nconst indeterminateSvg = `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='2.5' y='5.25' width='7' height='1.5' rx='0.75' fill='white'/%3E%3C/svg%3E\")`;\r\n\r\nexport const getComponentCss = (\r\n state: CheckboxState,\r\n _disabled: boolean,\r\n compact: boolean,\r\n _hideLabel: boolean,\r\n): string => {\r\n const boxSize = compact ? '14px' : '20px';\r\n const messageColor =\r\n state === 'error'\r\n ? 'var(--diwa-notification-error)'\r\n : state === 'success'\r\n ? 'var(--diwa-notification-success)'\r\n : 'var(--diwa-text-secondary)';\r\n\r\n return `\r\n\r\n /* ── Host ─────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: inline-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 /* ── Root layout ──────────────────────────────────────────────────── */\r\n\r\n .root {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--diwa-space-1);\r\n }\r\n\r\n /* ── Wrapper: checkbox + label side by side ───────────────────────── */\r\n\r\n .wrapper {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--diwa-space-3);\r\n cursor: pointer;\r\n }\r\n\r\n :host([disabled]) .wrapper {\r\n cursor: not-allowed;\r\n }\r\n\r\n /* ── Input container ──────────────────────────────────────────────── */\r\n\r\n .input-container {\r\n position: relative;\r\n flex-shrink: 0;\r\n width: ${boxSize};\r\n height: ${boxSize};\r\n }\r\n\r\n /* ── Native checkbox ──────────────────────────────────────────────── */\r\n\r\n input[type=\"checkbox\"] {\r\n appearance: none;\r\n -webkit-appearance: none;\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n\r\n ${getCheckboxBoxCss()}\r\n }\r\n\r\n input[type=\"checkbox\"]:disabled {\r\n cursor: not-allowed;\r\n }\r\n\r\n /* ── Focus ring ───────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('input[type=\"checkbox\"]')}\r\n\r\n /* ── Hover ────────────────────────────────────────────────────────── */\r\n\r\n input[type=\"checkbox\"]:hover:not(:disabled) {\r\n border-color: var(--diwa-accent);\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n /* ── Checked state ────────────────────────────────────────────────── */\r\n\r\n input[type=\"checkbox\"]:checked {\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 input[type=\"checkbox\"]:checked:hover:not(:disabled) {\r\n background-color: var(--diwa-accent-hover);\r\n border-color: var(--diwa-accent-hover);\r\n }\r\n\r\n /* ── Indeterminate state ──────────────────────────────────────────── */\r\n\r\n input[type=\"checkbox\"]:indeterminate {\r\n background-color: var(--diwa-accent);\r\n border-color: var(--diwa-accent);\r\n background-image: ${indeterminateSvg};\r\n }\r\n\r\n input[type=\"checkbox\"]:indeterminate:hover:not(:disabled) {\r\n background-color: var(--diwa-accent-hover);\r\n border-color: var(--diwa-accent-hover);\r\n }\r\n\r\n /* ── Validation states ────────────────────────────────────────────── */\r\n\r\n :host([state=\"error\"]) input[type=\"checkbox\"]:not(:checked):not(:indeterminate) {\r\n border-color: var(--diwa-notification-error);\r\n }\r\n\r\n :host([state=\"error\"]) input[type=\"checkbox\"]:not(:checked):not(:indeterminate):hover:not(:disabled) {\r\n border-color: var(--diwa-notification-error);\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n :host([state=\"success\"]) input[type=\"checkbox\"]:not(:checked):not(:indeterminate) {\r\n border-color: var(--diwa-notification-success);\r\n }\r\n\r\n :host([state=\"success\"]) input[type=\"checkbox\"]:not(:checked):not(:indeterminate):hover:not(:disabled) {\r\n border-color: var(--diwa-notification-success);\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n /* ── Disabled ─────────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) {\r\n opacity: var(--diwa-opacity-disabled);\r\n pointer-events: none;\r\n }\r\n\r\n /* ── Label ────────────────────────────────────────────────────────── */\r\n\r\n .label {\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-regular);\r\n line-height: 1.5;\r\n color: var(--diwa-text-primary);\r\n cursor: pointer;\r\n }\r\n\r\n :host([disabled]) .label {\r\n cursor: not-allowed;\r\n }\r\n\r\n /* Visually-hidden label (still read by screen readers) */\r\n .label--hidden {\r\n border: 0;\r\n clip: rect(0, 0, 0, 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n white-space: nowrap;\r\n width: 1px;\r\n }\r\n\r\n /* Required asterisk */\r\n .required {\r\n color: var(--diwa-notification-error);\r\n margin-left: var(--diwa-space-0-5);\r\n }\r\n\r\n /* ── Message ──────────────────────────────────────────────────────── */\r\n\r\n .message {\r\n display: block;\r\n font-size: var(--diwa-font-size-sm);\r\n line-height: 1.4;\r\n color: ${messageColor};\r\n /* Indent to align under the label, not the checkbox */\r\n padding-left: calc(${boxSize} + var(--diwa-space-3));\r\n }\r\n\r\n /* ── Reduced motion ───────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('input[type=\"checkbox\"]')}\r\n`;\r\n};\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-checkbox.js","sourceRoot":"","sources":["../../../src/components/diwa-checkbox/diwa-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, type EventEmitter, Host, Prop, Watch, h } from '@stencil/core';\r\nimport type { CheckboxState } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-checkbox-styles';\r\n\r\n/**\r\n * @component diwa-checkbox\r\n *\r\n * A fully accessible checkbox control with label, validation state,\r\n * and indeterminate support. Mirrors the PDS p-checkbox API.\r\n *\r\n * Semi-controlled: the `checked` prop is mutable — the component\r\n * updates it internally AND emits an `update` event. The consumer can\r\n * either listen to `update` to manage state externally, or use it\r\n * standalone without any event wiring.\r\n *\r\n * Accessibility:\r\n * - Native `<input type=\"checkbox\">` inside Shadow DOM with delegatesFocus\r\n * - `aria-checked=\"mixed\"` set automatically when `indeterminate` is true\r\n * - `aria-describedby` wires the message element when state is error/success\r\n * - `role` is implicit from native input — no extra ARIA needed\r\n *\r\n * Usage:\r\n * <diwa-checkbox label=\"Accept terms\" checked={accepted}\r\n * onupdate={e => setAccepted(e.detail.checked)} />\r\n *\r\n * Note (V1): The inner <input name> is inside Shadow DOM and is therefore\r\n * not visible to ancestor <form> elements for native form submission.\r\n * Use ElementInternals (V2) or submit via JavaScript instead.\r\n */\r\n@Component({\r\n tag: 'diwa-checkbox',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaCheckbox {\r\n @Element() host!: HTMLDiwaCheckboxElement;\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 label text rendered next to the checkbox. */\r\n @Prop() label: string = '';\r\n\r\n /** Native name attribute (identifies the field in JS / form data). */\r\n @Prop() name: string = '';\r\n\r\n /** Value submitted/emitted when the checkbox is checked. */\r\n @Prop() value: string = 'on';\r\n\r\n /**\r\n * Whether the checkbox is checked.\r\n *\r\n * Semi-controlled: mutates internally on user interaction and\r\n * also emits an `update` event so the consumer can sync their state.\r\n */\r\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\r\n\r\n /**\r\n * Indeterminate state — renders a dash icon and sets `aria-checked=\"mixed\"`.\r\n * Setting this to `true` takes visual precedence over `checked`.\r\n * The consumer is responsible for clearing it once the user toggles.\r\n */\r\n @Prop({ reflect: true }) indeterminate: boolean = false;\r\n\r\n /** Puts the checkbox in a disabled state. Blocks interaction. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /** Marks the field as required. Shows a visual asterisk in the label. */\r\n @Prop() required: boolean = false;\r\n\r\n /** Validation state: `'none'` (default), `'error'`, or `'success'`. */\r\n @Prop({ reflect: true }) state: CheckboxState = 'none';\r\n\r\n /** Helper / validation message shown below the checkbox. Only shown when state ≠ 'none'. */\r\n @Prop() message: string = '';\r\n\r\n /** Reduces the checkbox size from 20 px to 14 px for denser layouts. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /** Hides the label visually while keeping it accessible to screen readers. */\r\n @Prop({ reflect: true, attribute: 'hide-label' }) hideLabel: boolean = false;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Emitted when the user toggles the checkbox.\r\n * `event.detail.checked` is the new checked state.\r\n *\r\n * React consumers: use the lowercase `onupdate` prop:\r\n * ```jsx\r\n * <diwa-checkbox onupdate={e => setChecked(e.detail.checked)} />\r\n * ```\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<{ checked: boolean; name: string; value: string }>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private state\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private checkboxEl?: HTMLInputElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Watchers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Keep the native input's non-reflected .indeterminate property in sync. */\r\n @Watch('indeterminate')\r\n watchIndeterminate(value: boolean) {\r\n if (this.checkboxEl) {\r\n this.checkboxEl.indeterminate = value;\r\n }\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private handleChange = (e: Event): void => {\r\n const input = e.target as HTMLInputElement;\r\n this.checked = input.checked;\r\n // Clear indeterminate on user interaction (standard browser behaviour)\r\n if (this.indeterminate) {\r\n this.host.removeAttribute('indeterminate');\r\n }\r\n this.update.emit({\r\n checked: this.checked,\r\n name: this.name,\r\n value: this.value,\r\n });\r\n };\r\n\r\n private setCheckboxRef = (el?: HTMLInputElement): void => {\r\n this.checkboxEl = el;\r\n if (el) {\r\n el.indeterminate = this.indeterminate;\r\n }\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const msgId = 'diwa-checkbox-msg';\r\n const hasMessage = !!this.message && this.state !== 'none';\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style\r\n innerHTML={getComponentCss(\r\n this.state,\r\n this.disabled,\r\n this.compact,\r\n this.hideLabel,\r\n )}\r\n />\r\n\r\n <div class=\"root\">\r\n <div class=\"wrapper\">\r\n <div class=\"input-container\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"cb\"\r\n checked={this.checked}\r\n disabled={this.disabled}\r\n required={this.required}\r\n name={this.name}\r\n value={this.value}\r\n aria-checked={this.indeterminate ? 'mixed' : undefined}\r\n aria-describedby={hasMessage ? msgId : undefined}\r\n onChange={this.handleChange}\r\n ref={this.setCheckboxRef}\r\n />\r\n </div>\r\n\r\n {this.label && (\r\n <label\r\n class={`label${this.hideLabel ? ' label--hidden' : ''}`}\r\n htmlFor=\"cb\"\r\n >\r\n {this.label}\r\n {this.required && (\r\n <span class=\"required\" aria-hidden=\"true\">\r\n {' '}*\r\n </span>\r\n )}\r\n </label>\r\n )}\r\n </div>\r\n\r\n {hasMessage && (\r\n <span id={msgId} class=\"message\">\r\n {this.message}\r\n </span>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/diwa-checkbox/types.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\r\n * diwa-checkbox — Public TypeScript types\r\n */\r\n\r\nexport type CheckboxState = 'none' | 'error' | 'success';\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-divider-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-divider/diwa-divider-styles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAA+B,EAAU,EAAE;IACzE,MAAM,UAAU,GAAG,WAAW,KAAK,UAAU,CAAC;IAE9C,OAAO;;;;;eAKM,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO;MAC7C,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,cAAc;;;;;;;;;;;;;;;;MAgBpD,UAAU;QACV,CAAC,CAAC;;qBAEa;QACf,CAAC,CAAC;2CACmC;;CAE1C,CAAC;AACF,CAAC,CAAC","sourcesContent":["import type { DividerOrientation } from './types';\r\n\r\nexport const getComponentCss = (orientation: DividerOrientation): string => {\r\n const isVertical = orientation === 'vertical';\r\n\r\n return `\r\n\r\n /* ── Host ─────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: ${isVertical ? 'inline-flex' : 'block'};\r\n ${isVertical ? 'align-self: stretch;' : 'width: 100%;'}\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Rule ─────────────────────────────────────────────────────────── */\r\n\r\n .root {\r\n display: block;\r\n margin: 0;\r\n padding: 0;\r\n border: none;\r\n background-color: var(--diwa-border);\r\n ${isVertical\r\n ? `width: var(--diwa-border-width-thin);\r\n height: 100%;\r\n min-height: 1em;`\r\n : `width: 100%;\r\n height: var(--diwa-border-width-thin);`}\r\n }\r\n`;\r\n};\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-divider.js","sourceRoot":"","sources":["../../../src/components/diwa-divider/diwa-divider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,MAAM,OAAO,WAAW;IAJxB;QAKE,iEAAiE;QACjE,QAAQ;QACR,iEAAiE;QAEjE,uDAAuD;QAC9B,UAAK,GAAU,MAAM,CAAC;QAE/C;;;;;WAKG;QACsB,gBAAW,GAAuB,YAAY,CAAC;KAkBzE;IAhBC,iEAAiE;IACjE,SAAS;IACT,iEAAiE;IAEjE,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,mEAAa,IAAI,CAAC,KAAK;YAC1B,8DAAO,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,GAAI;YACvD,2DACE,KAAK,EAAC,MAAM,EACZ,IAAI,EAAC,WAAW,sBACE,IAAI,CAAC,WAAW,GAClC,CACG,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, Prop, h } from '@stencil/core';\r\nimport type { DividerOrientation } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-divider-styles';\r\n\r\n/**\r\n * @component diwa-divider\r\n *\r\n * A purely presentational separator line. Renders a native `<hr>` element\r\n * styled via CSS-in-JS. Supports horizontal (default) and vertical orientations.\r\n *\r\n * Accessibility:\r\n * - Renders as `role=\"separator\"` (implicit from `<hr>`)\r\n * - `aria-orientation` is set automatically from the `orientation` prop\r\n * - Non-interactive — no focus, no keyboard handling\r\n *\r\n * Usage:\r\n * <!-- Horizontal (default) -->\r\n * <diwa-divider />\r\n *\r\n * <!-- Vertical — requires a flex or grid parent with a defined height -->\r\n * <div style=\"display:flex; height:40px\">\r\n * <span>Left</span>\r\n * <diwa-divider orientation=\"vertical\" />\r\n * <span>Right</span>\r\n * </div>\r\n */\r\n@Component({\r\n tag: 'diwa-divider',\r\n shadow: true,\r\n})\r\nexport class DiwaDivider {\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 /**\r\n * Orientation of the divider line.\r\n * - `'horizontal'` (default) — a full-width 1 px horizontal rule.\r\n * - `'vertical'` — a 1 px vertical rule that stretches to the parent's height.\r\n * The parent must be a flex or grid container with a defined height.\r\n */\r\n @Prop({ reflect: true }) orientation: DividerOrientation = 'horizontal';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.orientation)} />\r\n <hr\r\n class=\"root\"\r\n role=\"separator\"\r\n aria-orientation={this.orientation}\r\n />\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/diwa-divider/types.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\r\n * diwa-divider — Public TypeScript types\r\n */\r\n\r\nexport type DividerOrientation = 'horizontal' | 'vertical';\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-flyout-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-flyout/diwa-flyout-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAa,EACb,QAAwB,EACxB,QAAwB,EAChB,EAAE,CAAC;;;;;;;;;sBASS,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;kBAC1B,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;uCACN,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sCAAsC;;;;;;;;;;;;MAarF,QAAQ,KAAK,MAAM;IACjB,CAAC,CAAC;;;wDAG8C;IAChD,CAAC,CAAC;wCAEN;eACW,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;;;;;;;;;;;MAWzB,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;;;;;;;aAOxC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;4BACxB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8C5E,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC;CAC/C,CAAC","sourcesContent":["/**\r\n * diwa-flyout-styles.ts\r\n * ======================\r\n * CSS-in-JS styles for <diwa-flyout>.\r\n *\r\n * The flyout is a fixed-position overlay consisting of:\r\n * - A semi-transparent backdrop that covers the viewport.\r\n * - A panel that slides in from the start (left) or end (right) edge.\r\n *\r\n * Both the backdrop and panel animate on open/close. Because all values are\r\n * passed as template literal expressions, the <style> tag is re-emitted on\r\n * every render — which happens whenever `open` or `position` changes.\r\n *\r\n * Visibility technique: `:host` uses `visibility: hidden` with a delayed\r\n * transition when closing so the panel is invisible after the slide-out\r\n * animation completes, while still being `visibility: visible` during the\r\n * opening animation so it animates in correctly.\r\n */\r\n\r\nimport { getReducedMotionStyle } from '../../utils/styles';\r\nimport type { FlyoutBackdrop, FlyoutPosition } from './types';\r\n\r\nexport const getComponentCss = (\r\n open: boolean,\r\n position: FlyoutPosition,\r\n backdrop: FlyoutBackdrop,\r\n): string => `\r\n\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n position: fixed;\r\n inset: 0;\r\n z-index: var(--diwa-z-overlay);\r\n pointer-events: ${open ? 'auto' : 'none'};\r\n visibility: ${open ? 'visible' : 'hidden'};\r\n transition: visibility 0s linear ${open ? '0s' : 'var(--diwa-motion-duration-moderate)'};\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Backdrop ──────────────────────────────────────────────────────── */\r\n\r\n .backdrop {\r\n position: absolute;\r\n inset: 0;\r\n ${\r\n backdrop === 'blur'\r\n ? `\r\n background: var(--diwa-bg-frosted);\r\n backdrop-filter: blur(var(--diwa-blur-lg));\r\n -webkit-backdrop-filter: blur(var(--diwa-blur-lg));`\r\n : `\r\n background: var(--diwa-bg-shading);`\r\n }\r\n opacity: ${open ? '1' : '0'};\r\n transition: opacity var(--diwa-motion-duration-moderate) var(--diwa-motion-easing-out);\r\n cursor: pointer;\r\n }\r\n\r\n /* ── Panel ─────────────────────────────────────────────────────────── */\r\n\r\n .panel {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n ${position === 'start' ? 'left: 0;' : 'right: 0;'}\r\n width: var(--diwa-flyout-width, 480px);\r\n min-width: var(--diwa-flyout-min-width);\r\n max-width: 100vw;\r\n display: flex;\r\n flex-direction: column;\r\n background: var(--diwa-bg-surface);\r\n border-${position === 'start' ? 'right' : 'left'}: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n transform: translateX(${open ? '0' : position === 'start' ? '-100%' : '100%'});\r\n transition: transform var(--diwa-motion-duration-moderate) var(--diwa-motion-easing-base);\r\n overflow: hidden;\r\n outline: none;\r\n }\r\n\r\n /* ── Header ────────────────────────────────────────────────────────── */\r\n\r\n .header {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--diwa-space-3);\r\n padding: var(--diwa-space-5) var(--diwa-space-6);\r\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n }\r\n\r\n .heading-text {\r\n flex: 1;\r\n min-width: 0;\r\n font-family: var(--diwa-font-family-base);\r\n font-size: var(--diwa-font-size-xl);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n color: var(--diwa-text-primary);\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n /* ── Scrollable content ────────────────────────────────────────────── */\r\n\r\n .content {\r\n flex: 1;\r\n overflow-y: auto;\r\n padding: var(--diwa-space-6);\r\n overscroll-behavior: contain;\r\n }\r\n\r\n /* ── Sticky footer ─────────────────────────────────────────────────── */\r\n\r\n .footer {\r\n flex-shrink: 0;\r\n padding: var(--diwa-space-4) var(--diwa-space-6);\r\n border-top: var(--diwa-border-width-thin) solid var(--diwa-border); {\r\n display: none;\r\n }\r\n\r\n ${getReducedMotionStyle('.panel', '.backdrop')}\r\n`;\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-flyout.js","sourceRoot":"","sources":["../../../src/components/diwa-flyout/diwa-flyout.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Component,\r\n Event,\r\n type EventEmitter,\r\n Host,\r\n Listen,\r\n Prop,\r\n Watch,\r\n h,\r\n} from '@stencil/core';\r\nimport type { FlyoutBackdrop, FlyoutPosition } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-flyout-styles';\r\n\r\n/**\r\n * @component diwa-flyout\r\n *\r\n * A full-height overlay panel that slides in from the start or end edge of\r\n * the viewport. Follows the controlled component pattern — the consumer\r\n * manages `open` state in response to the `dismiss` event.\r\n *\r\n * Accessibility:\r\n * - Panel has `role=\"dialog\"` and `aria-modal=\"true\"`\r\n * - Clicking the backdrop, pressing Escape, or clicking the dismiss button\r\n * emits the `dismiss` event; the consumer sets `open={false}`\r\n * - Focus moves to the panel when opened and returns to the trigger element\r\n * when closed\r\n * - Body scroll is locked (`overflow: hidden`) while the flyout is open\r\n *\r\n * V1 limitations:\r\n * - No focus trap: Tab can navigate outside the panel. A full focus trap\r\n * will be added in V2.\r\n *\r\n * Usage:\r\n * <diwa-flyout heading=\"Settings\" open={isOpen} onDismiss={() => setIsOpen(false)}>\r\n * <p>Flyout body content.</p>\r\n * <div slot=\"footer\">\r\n * <diwa-button onClick={() => setIsOpen(false)}>Save</diwa-button>\r\n * </div>\r\n * </diwa-flyout>\r\n *\r\n * @slot default — Scrollable body content of the flyout.\r\n * @slot header — Extra content in the header row, inserted after the heading text.\r\n * @slot footer — Sticky footer content (e.g. action buttons). Auto-hides when empty.\r\n */\r\n@Component({\r\n tag: 'diwa-flyout',\r\n shadow: true,\r\n})\r\nexport class DiwaFlyout {\r\n private panelEl?: HTMLDivElement;\r\n private savedFocusEl: HTMLElement | null = null;\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 /**\r\n * Whether the flyout is currently open.\r\n *\r\n * Controlled prop — the consumer must set this to `false` in response to\r\n * the `dismiss` event (backdrop click, Escape key, or dismiss button).\r\n */\r\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\r\n\r\n /** Which edge of the viewport the panel slides in from (`start` = left, `end` = right). */\r\n @Prop({ reflect: true }) position: FlyoutPosition = 'end';\r\n\r\n /**\r\n * Controls the visual style of the backdrop overlay.\r\n * `blur` — frosted glass (default; use when opened by user interaction).\r\n * `shading` — solid dark scrim (use for system-triggered flyouts).\r\n */\r\n @Prop() backdrop: FlyoutBackdrop = 'blur';\r\n\r\n /** Heading text displayed in the flyout header. */\r\n @Prop() heading: string = '';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Emitted when the user requests the flyout to close (backdrop click,\r\n * Escape key press, or dismiss button click).\r\n *\r\n * The consumer must set `open={false}` in response:\r\n * ```html\r\n * <diwa-flyout onDismiss={() => this.open = false} />\r\n * ```\r\n * Not bubbles, not composed.\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n dismiss!: EventEmitter<void>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Lifecycle\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @Watch('open')\r\n onOpenChange(nextOpen: boolean): void {\r\n if (nextOpen) {\r\n document.body.style.overflow = 'hidden';\r\n this.savedFocusEl = document.activeElement as HTMLElement;\r\n requestAnimationFrame(() => {\r\n this.panelEl?.focus();\r\n });\r\n } else {\r\n document.body.style.overflow = '';\r\n this.savedFocusEl?.focus();\r\n this.savedFocusEl = null;\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n document.body.style.overflow = '';\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Keyboard handling\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Close on Escape key while the flyout is open. */\r\n @Listen('keydown', { target: 'window' })\r\n onKeyDown(e: KeyboardEvent): void {\r\n if (this.open && e.key === 'Escape') {\r\n e.preventDefault();\r\n this.dismiss.emit();\r\n }\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private handleDismiss = (): void => {\r\n this.dismiss.emit();\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style>{getComponentCss(this.open, this.position, this.backdrop)}</style>\r\n\r\n {/* Backdrop — clicking it emits dismiss */}\r\n <div\r\n class=\"backdrop\"\r\n aria-hidden=\"true\"\r\n onClick={this.handleDismiss}\r\n />\r\n\r\n {/* Dialog panel */}\r\n <div\r\n class=\"panel\"\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label={this.heading || 'Flyout'}\r\n tabIndex={-1}\r\n ref={(el) => { this.panelEl = el as HTMLDivElement; }}\r\n >\r\n <div class=\"header\">\r\n <span class=\"heading-text\">{this.heading}</span>\r\n <slot name=\"header\" />\r\n <diwa-button-pure\r\n icon=\"x\"\r\n label=\"Close flyout\"\r\n size=\"sm\"\r\n hideLabel={true}\r\n onClick={this.handleDismiss}\r\n />\r\n </div>\r\n\r\n <div class=\"content\">\r\n <slot />\r\n </div>\r\n\r\n <div class=\"footer\">\r\n <slot name=\"footer\" />\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/diwa-flyout/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG","sourcesContent":["/**\r\n * diwa-flyout — Public TypeScript types\r\n * ======================================\r\n * Exported so framework wrapper packages and consumers can share these types.\r\n */\r\n\r\n/** Which edge of the viewport the panel slides in from. */\r\nexport type FlyoutPosition = 'start' | 'end';\r\n\r\n/**\r\n * Controls the visual style of the backdrop overlay behind the flyout.\r\n *\r\n * `blur` — frosted glass via backdrop-filter (default).\r\n * Use when the flyout is opened by direct user interaction.\r\n *\r\n * `shading` — solid dark scrim via --diwa-bg-shading.\r\n * Use for system-triggered flyouts.\r\n */\r\nexport type FlyoutBackdrop = 'blur' | 'shading';\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-heading-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-heading/diwa-heading-styles.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAgC;IAC7C,SAAS,EAAE,gEAAgE;IAC3E,IAAI,EAAO,gEAAgE;IAC3E,IAAI,EAAO,gEAAgE;IAC3E,IAAI,EAAO,+DAA+D;IAC1E,IAAI,EAAO,+DAA+D;IAC1E,IAAI,EAAO,iEAAiE;IAC5E,IAAI,EAAO,+DAA+D;IAC1E,SAAS,EAAE,wCAAwC;CACpD,CAAC;AAEF,MAAM,cAAc,GAAgC;IAClD,SAAS,EAAE,6CAA6C;IACxD,IAAI,EAAO,6CAA6C;IACxD,IAAI,EAAO,8CAA8C;IACzD,IAAI,EAAO,8CAA8C;IACzD,IAAI,EAAO,uCAAuC;IAClD,IAAI,EAAO,uCAAuC;IAClD,IAAI,EAAO,uCAAuC;IAClD,SAAS,EAAE,6CAA6C;CACzD,CAAC;AAEF,MAAM,WAAW,GAAkC;IACjD,QAAQ,EAAE,kCAAkC;IAC5C,IAAI,EAAM,8BAA8B;CACzC,CAAC;AAEF,MAAM,KAAK,GAAiC;IAC1C,OAAO,EAAI,qDAAqD;IAChE,SAAS,EAAE,uDAAuD;IAClE,OAAO,EAAI,oCAAoC;CAChD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAiB,EACjB,MAAqB,EACrB,KAAmB,EACnB,KAAmB,EACnB,QAAiB,EACT,EAAE,CAAC;;;;;;;;;;;;;;iBAcI,SAAS,CAAC,IAAI,CAAC;mBACb,WAAW,CAAC,MAAM,CAAC;;sBAEhB,cAAc,CAAC,IAAI,CAAC;kBACxB,KAAK;aACV,KAAK,CAAC,KAAK,CAAC;MACnB,QAAQ,CAAC,CAAC,CAAC,iEAAiE,CAAC,CAAC,CAAC,EAAE;;CAEtF,CAAC","sourcesContent":["import type { HeadingAlign, HeadingColor, HeadingSize, HeadingWeight } from './types';\r\n\r\nconst FONT_SIZE: Record<HeadingSize, string> = {\r\n 'display': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-4xl))',\r\n 'h1': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-3xl))',\r\n 'h2': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-2xl))',\r\n 'h3': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-xl))',\r\n 'h4': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-lg))',\r\n 'h5': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-base))',\r\n 'h6': 'var(--diwa-heading-font-size, var(--diwa-font-size-fluid-sm))',\r\n 'inherit': 'var(--diwa-heading-font-size, inherit)',\r\n};\r\n\r\nconst LETTER_SPACING: Record<HeadingSize, string> = {\r\n 'display': 'var(--diwa-heading-letter-spacing, -0.03em)',\r\n 'h1': 'var(--diwa-heading-letter-spacing, -0.03em)',\r\n 'h2': 'var(--diwa-heading-letter-spacing, -0.015em)',\r\n 'h3': 'var(--diwa-heading-letter-spacing, -0.015em)',\r\n 'h4': 'var(--diwa-heading-letter-spacing, 0)',\r\n 'h5': 'var(--diwa-heading-letter-spacing, 0)',\r\n 'h6': 'var(--diwa-heading-letter-spacing, 0)',\r\n 'inherit': 'var(--diwa-heading-letter-spacing, inherit)',\r\n};\r\n\r\nconst FONT_WEIGHT: Record<HeadingWeight, string> = {\r\n semibold: 'var(--diwa-font-weight-semibold)',\r\n bold: 'var(--diwa-font-weight-bold)',\r\n};\r\n\r\nconst COLOR: Record<HeadingColor, string> = {\r\n primary: 'var(--diwa-heading-color, var(--diwa-text-primary))',\r\n secondary: 'var(--diwa-heading-color, var(--diwa-text-secondary))',\r\n inherit: 'var(--diwa-heading-color, inherit)',\r\n};\r\n\r\nexport const getComponentCss = (\r\n size: HeadingSize,\r\n weight: HeadingWeight,\r\n align: HeadingAlign,\r\n color: HeadingColor,\r\n ellipsis: boolean,\r\n): string => `\r\n\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 .heading {\r\n margin: 0;\r\n padding: 0;\r\n font-size: ${FONT_SIZE[size]};\r\n font-weight: ${FONT_WEIGHT[weight]};\r\n line-height: var(--diwa-heading-line-height, var(--diwa-line-height-tight));\r\n letter-spacing: ${LETTER_SPACING[size]};\r\n text-align: ${align};\r\n color: ${COLOR[color]};\r\n ${ellipsis ? 'overflow: hidden; text-overflow: ellipsis; white-space: nowrap;' : ''}\r\n }\r\n`;\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-heading-utils.js","sourceRoot":"","sources":["../../../src/components/diwa-heading/diwa-heading-utils.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,WAAW,GAAoC;IAC1D,OAAO,EAAE,IAAI;IACb,EAAE,EAAO,IAAI;IACb,EAAE,EAAO,IAAI;IACb,EAAE,EAAO,IAAI;IACb,EAAE,EAAO,IAAI;IACb,EAAE,EAAO,IAAI;IACb,EAAE,EAAO,IAAI;IACb,OAAO,EAAE,IAAI;CACd,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAwB,EACxB,IAAiB,EACjB,GAA2B;IAE3B,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;QACzF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IACpB,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC","sourcesContent":["import type { HeadingSize, HeadingTag } from './types';\r\n\r\nconst H_TAGS = new Set(['h1', 'h2', 'h3', 'h4', 'h5', 'h6']);\r\n\r\nexport const SIZE_TO_TAG: Record<HeadingSize, HeadingTag> = {\r\n display: 'h1',\r\n h1: 'h1',\r\n h2: 'h2',\r\n h3: 'h3',\r\n h4: 'h4',\r\n h5: 'h5',\r\n h6: 'h6',\r\n inherit: 'h2',\r\n};\r\n\r\n/**\r\n * Resolves the HTML tag to render:\r\n * 1. If any direct slotted child is an h1–h6 element → return 'div' (avoids invalid nesting).\r\n * 2. If an explicit `tag` prop is provided → use it.\r\n * 3. Otherwise → infer from the `size` prop.\r\n */\r\nexport function getHeadingTag(\r\n host: HTMLElement | null,\r\n size: HeadingSize,\r\n tag: HeadingTag | undefined,\r\n): HeadingTag {\r\n if (host && Array.from(host.children).some((el) => H_TAGS.has(el.tagName.toLowerCase()))) {\r\n return 'div';\r\n }\r\n if (tag) return tag;\r\n return SIZE_TO_TAG[size];\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-heading.js","sourceRoot":"","sources":["../../../src/components/diwa-heading/diwa-heading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;;;;;;;;GAaG;AAKH,MAAM,OAAO,WAAW;IAJxB;QAOE,iEAAiE;QACjE,QAAQ;QACR,iEAAiE;QAEjE,oCAAoC;QACX,UAAK,GAAU,MAAM,CAAC;QAE/C;;;WAGG;QACsB,SAAI,GAAgB,IAAI,CAAC;QAUlD,mBAAmB;QACM,WAAM,GAAkB,MAAM,CAAC;QAExD,6DAA6D;QACpC,UAAK,GAAiB,OAAO,CAAC;QAEvD;;;WAGG;QACsB,UAAK,GAAiB,SAAS,CAAC;QAEzD;;;WAGG;QACsB,aAAQ,GAAY,KAAK,CAAC;KAkBpD;IAhBC,iEAAiE;IACjE,SAAS;IACT,iEAAiE;IAEjE,MAAM;QACJ,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAQ,CAAC,CAAC,yDAAyD;QAE3H,OAAO,CACL,EAAC,IAAI,mEAAa,IAAI,CAAC,KAAK;YAC1B,8DAAO,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAI;YACpG,EAAC,GAAG,qDAAC,KAAK,EAAC,SAAS;gBAClB,8DAAQ,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Host, Prop, h } from '@stencil/core';\r\nimport type { HeadingAlign, HeadingColor, HeadingSize, HeadingTag, HeadingWeight } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-heading-styles';\r\nimport { getHeadingTag } from './diwa-heading-utils';\r\n\r\n/**\r\n * @component diwa-heading\r\n *\r\n * A responsive heading renderer that maps a visual size scale onto the\r\n * correct semantic HTML heading element. Font sizes use fluid type tokens\r\n * that scale between viewport sizes.\r\n *\r\n * Usage:\r\n * <diwa-heading size=\"h1\">Page title</diwa-heading>\r\n * <diwa-heading size=\"display\" color=\"secondary\">Hero headline</diwa-heading>\r\n * <diwa-heading size=\"h3\" tag=\"h2\">Visual h3, semantic h2</diwa-heading>\r\n *\r\n * @slot default — Heading text content. Inline elements are allowed; block elements are not.\r\n */\r\n@Component({\r\n tag: 'diwa-heading',\r\n shadow: true,\r\n})\r\nexport class DiwaHeading {\r\n @Element() private host!: HTMLElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /**\r\n * Visual size and inferred semantic heading level.\r\n * Determines the rendered HTML tag when no explicit `tag` prop is given.\r\n */\r\n @Prop({ reflect: true }) size: HeadingSize = 'h2';\r\n\r\n /**\r\n * Override the rendered HTML tag.\r\n * Use when the visual size must differ from the semantic level —\r\n * e.g. a visually-large `h3` inside a section that already has an `h2`.\r\n * If omitted, the tag is inferred from `size`.\r\n */\r\n @Prop({ reflect: true }) tag?: HeadingTag;\r\n\r\n /** Font weight. */\r\n @Prop({ reflect: true }) weight: HeadingWeight = 'bold';\r\n\r\n /** Horizontal alignment. `start` and `end` are RTL-aware. */\r\n @Prop({ reflect: true }) align: HeadingAlign = 'start';\r\n\r\n /**\r\n * Colour alias. Use `inherit` to pass through the surrounding colour unchanged —\r\n * useful inside cards, hero sections, or other styled containers.\r\n */\r\n @Prop({ reflect: true }) color: HeadingColor = 'primary';\r\n\r\n /**\r\n * Clip overflow to a single line with a trailing ellipsis.\r\n * The host element must have a defined width for this to take effect.\r\n */\r\n @Prop({ reflect: true }) ellipsis: boolean = false;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const Tag = getHeadingTag(this.host, this.size, this.tag) as any; // eslint-disable-line @typescript-eslint/no-explicit-any\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.size, this.weight, this.align, this.color, this.ellipsis)} />\r\n <Tag class=\"heading\">\r\n <slot />\r\n </Tag>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/diwa-heading/types.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\r\n * diwa-heading — Public TypeScript interfaces\r\n */\r\n\r\n/** Visual size and inferred semantic heading level. */\r\nexport type HeadingSize = 'display' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'inherit';\r\n\r\n/** HTML tag rendered by diwa-heading. */\r\nexport type HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'div';\r\n\r\n/** Horizontal text alignment. */\r\nexport type HeadingAlign = 'start' | 'center' | 'end';\r\n\r\n/**\r\n * Text colour alias.\r\n * `inherit` — passes through the surrounding text colour unchanged.\r\n */\r\nexport type HeadingColor = 'primary' | 'secondary' | 'inherit';\r\n\r\n/** Font weight. */\r\nexport type HeadingWeight = 'semibold' | 'bold';\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-icon-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-icon/diwa-icon-styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;CAW5C,CAAC","sourcesContent":["export const getComponentCss = (): string => `\r\n :host {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n line-height: 0;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n`;\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-icon.js","sourceRoot":"","sources":["../../../src/components/diwa-icon/diwa-icon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG;SACP,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAID,+DAA+D;AAC/D,SAAS,UAAU,CAAC,KAAe;IACjC,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;aAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,GAAG,IAAI,OAAO,IAAI,CAAC;IAChC,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AAKH,MAAM,OAAO,QAAQ;IAJrB;QAOE;;;;WAIG;QACK,SAAI,GAAW,QAAQ,CAAC;QAEhC;;;WAGG;QACK,SAAI,GAAW,EAAE,CAAC;QAE1B;;;;;WAKG;QACK,UAAK,GAAW,cAAc,CAAC;QASvC;;;;WAIG;QACsB,UAAK,GAAU,MAAM,CAAC;KAoChD;IAhCC,kBAAkB;QAChB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAI,KAAkC,CAAC,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM;;QACJ,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAEjC,OAAO,CACL,EAAC,IAAI,mEAAa,IAAI,CAAC,KAAK;YAC1B,8DAAO,SAAS,EAAE,eAAe,EAAE,GAAI;YACvC,4DACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAmB,CAAC,EAC/C,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,CAAC,IAAI,EAChB,MAAM,EAAE,IAAI,CAAC,IAAI,EACjB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,IAAI,CAAC,KAAK,kBACL,GAAG,oBACD,OAAO,qBACN,OAAO,iBACV,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC9C,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,gBAC1B,MAAA,IAAI,CAAC,KAAK,mCAAI,SAAS,GACnC,CACG,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Host, Prop, h } from '@stencil/core';\r\nimport { icons } from 'lucide';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-icon-styles';\r\n\r\n/** Convert kebab-case icon name to PascalCase for lucide icon lookup.\r\n * \"arrow-right\" → \"ArrowRight\", \"trash-2\" → \"Trash2\"\r\n */\r\nfunction toPascalCase(str: string): string {\r\n return str\r\n .split('-')\r\n .map((part) => part.charAt(0).toUpperCase() + part.slice(1))\r\n .join('');\r\n}\r\n\r\ntype IconNode = ReadonlyArray<readonly [string, Record<string, string>]>;\r\n\r\n/** Serialize lucide icon node list to raw SVG child markup. */\r\nfunction toInnerSvg(nodes: IconNode): string {\r\n return nodes\r\n .map(([tag, attrs]) => {\r\n const attrStr = Object.entries(attrs)\r\n .map(([k, v]) => `${k}=\"${v}\"`)\r\n .join(' ');\r\n return `<${tag} ${attrStr}/>`;\r\n })\r\n .join('');\r\n}\r\n\r\n/**\r\n * @component diwa-icon\r\n *\r\n * Renders a Lucide icon as an inline SVG inside Shadow DOM.\r\n * The icon inherits `color` from the parent via `currentColor` by default.\r\n *\r\n * Usage:\r\n * <diwa-icon name=\"arrow-right\"></diwa-icon>\r\n * <diwa-icon name=\"user\" size=\"32\" color=\"var(--diwa-accent)\"></diwa-icon>\r\n * <diwa-icon name=\"bell\" label=\"Notifications\"></diwa-icon>\r\n */\r\n@Component({\r\n tag: 'diwa-icon',\r\n shadow: true,\r\n})\r\nexport class DiwaIcon {\r\n @Element() host!: HTMLElement;\r\n\r\n /**\r\n * Lucide icon name in kebab-case.\r\n * Full list: https://lucide.dev/icons/\r\n * Examples: \"arrow-right\", \"check\", \"user\", \"trash-2\"\r\n */\r\n @Prop() name: string = 'circle';\r\n\r\n /**\r\n * Icon size in pixels. Sets both width and height.\r\n * @default 24\r\n */\r\n @Prop() size: number = 24;\r\n\r\n /**\r\n * Stroke color. Defaults to `currentColor` so the icon inherits the\r\n * parent element's text color automatically. Pass any CSS color value or\r\n * custom property reference to override.\r\n * @default \"currentColor\"\r\n */\r\n @Prop() color: string = 'currentColor';\r\n\r\n /**\r\n * Accessible label for non-decorative icons.\r\n * When provided, adds `role=\"img\"` and `aria-label` to the SVG.\r\n * When omitted, the icon is treated as decorative (`aria-hidden=\"true\"`).\r\n */\r\n @Prop() label?: string;\r\n\r\n /**\r\n * Per-component theme override.\r\n * Setting this reflects data-theme onto the host so light/dark token\r\n * overrides cascade into the Shadow DOM via CSS custom property inheritance.\r\n */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n private svgEl?: SVGSVGElement;\r\n\r\n componentDidRender() {\r\n if (this.svgEl) {\r\n const key = toPascalCase(this.name);\r\n const iconData = (icons as Record<string, IconNode>)[key];\r\n this.svgEl.innerHTML = iconData ? toInnerSvg(iconData) : '';\r\n }\r\n }\r\n\r\n render() {\r\n const isDecorative = !this.label;\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <svg\r\n ref={(el) => (this.svgEl = el as SVGSVGElement)}\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width={this.size}\r\n height={this.size}\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke={this.color}\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n aria-hidden={isDecorative ? 'true' : undefined}\r\n role={isDecorative ? undefined : 'img'}\r\n aria-label={this.label ?? undefined}\r\n />\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/diwa-icon/types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\r\n * diwa-icon — Public TypeScript interfaces\r\n * =========================================\r\n */\r\n\r\n/**\r\n * Per-component theme override.\r\n * Mirrors the `theme` prop on every PDS/Diwa component.\r\n */\r\nexport type { Theme } from '../../utils/styles';\r\n"]}
|
package/dist/collection/components/diwa-inline-notification/diwa-inline-notification-styles.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-inline-notification-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-inline-notification/diwa-inline-notification-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,MAAM,YAAY,GAAiD;IACjE,IAAI,EAAE;QACJ,EAAE,EAAE,oCAAoC;QACxC,MAAM,EAAE,4BAA4B;QACpC,SAAS,EAAE,+BAA+B;KAC3C;IACD,OAAO,EAAE;QACP,EAAE,EAAE,uCAAuC;QAC3C,MAAM,EAAE,+BAA+B;QACvC,SAAS,EAAE,kCAAkC;KAC9C;IACD,OAAO,EAAE;QACP,EAAE,EAAE,uCAAuC;QAC3C,MAAM,EAAE,+BAA+B;QACvC,SAAS,EAAE,kCAAkC;KAC9C;IACD,KAAK,EAAE;QACL,EAAE,EAAE,qCAAqC;QACzC,MAAM,EAAE,8BAA8B;QACtC,SAAS,EAAE,gCAAgC;KAC5C;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA8B,EAAU,EAAE;IACxE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtD,OAAO;;;;;;;;;;;;;;;;;;;;;kDAqByC,MAAM;kBACtC,EAAE;;;;;;;;;;aAUP,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCrB,CAAC;AACF,CAAC,CAAC","sourcesContent":["/**\r\n * diwa-inline-notification-styles.ts\r\n * ====================================\r\n * CSS-in-JS styles for <diwa-inline-notification>.\r\n *\r\n * The notification is a static flex-row banner:\r\n * [icon-wrap] [content: heading + description] [actions: action-btn + dismiss-btn]\r\n *\r\n * Background and border colours are driven entirely by the `state` prop.\r\n * All values are CSS custom properties so that the [data-theme=\"light\"]\r\n * overrides in app.css cascade into the Shadow DOM correctly.\r\n */\r\n\r\nimport type { InlineNotificationState } from './types';\r\n\r\ntype StateTokens = { bg: string; border: string; iconColor: string };\r\n\r\nconst STATE_TOKENS: Record<InlineNotificationState, StateTokens> = {\r\n info: {\r\n bg: 'var(--diwa-notification-info-soft)',\r\n border: 'var(--diwa-color-info-300)',\r\n iconColor: 'var(--diwa-notification-info)',\r\n },\r\n success: {\r\n bg: 'var(--diwa-notification-success-soft)',\r\n border: 'var(--diwa-color-success-100)',\r\n iconColor: 'var(--diwa-notification-success)',\r\n },\r\n warning: {\r\n bg: 'var(--diwa-notification-warning-soft)',\r\n border: 'var(--diwa-color-warning-100)',\r\n iconColor: 'var(--diwa-notification-warning)',\r\n },\r\n error: {\r\n bg: 'var(--diwa-notification-error-soft)',\r\n border: 'var(--diwa-color-danger-200)',\r\n iconColor: 'var(--diwa-notification-error)',\r\n },\r\n};\r\n\r\nexport const getComponentCss = (state: InlineNotificationState): string => {\r\n const { bg, border, iconColor } = STATE_TOKENS[state];\r\n\r\n return `\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n width: 100%;\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 /* ── Root wrapper — carries all visual styling ───────────────────── */\r\n\r\n .root {\r\n display: flex;\r\n align-items: flex-start;\r\n gap: var(--diwa-space-3);\r\n padding: var(--diwa-space-5) var(--diwa-space-6);\r\n border-radius: var(--diwa-radius-md);\r\n border: var(--diwa-border-width-thin) solid ${border};\r\n background: ${bg};\r\n box-sizing: border-box;\r\n width: 100%;\r\n }\r\n\r\n /* ── Status icon ────────────────────────────────────────────────────── */\r\n\r\n .icon-wrap {\r\n flex-shrink: 0;\r\n margin-top: var(--diwa-space-px);\r\n color: ${iconColor};\r\n line-height: 0;\r\n }\r\n\r\n /* ── Content ────────────────────────────────────────────────────────── */\r\n\r\n .content {\r\n flex: 1;\r\n min-width: 0;\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--diwa-space-1);\r\n }\r\n\r\n .heading {\r\n display: block;\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n color: var(--diwa-text-primary);\r\n line-height: var(--diwa-line-height-tight);\r\n }\r\n\r\n .description {\r\n margin: 0;\r\n font-size: var(--diwa-font-size-sm);\r\n color: var(--diwa-text-secondary);\r\n line-height: var(--diwa-line-height-normal);\r\n }\r\n\r\n /* ── Actions ────────────────────────────────────────────────────────── */\r\n\r\n .actions {\r\n flex-shrink: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: var(--diwa-space-2);\r\n margin-top: var(--diwa-space-px);\r\n }\r\n`;\r\n};\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-inline-notification.js","sourceRoot":"","sources":["../../../src/components/diwa-inline-notification/diwa-inline-notification.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, type EventEmitter, Host, Prop, h } from '@stencil/core';\r\nimport type { InlineNotificationState } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-inline-notification-styles';\r\n\r\nconst STATE_ICON: Record<InlineNotificationState, string> = {\r\n info: 'info',\r\n success: 'circle-check',\r\n warning: 'triangle-alert',\r\n error: 'circle-alert',\r\n};\r\n\r\n/**\r\n * @component diwa-inline-notification\r\n *\r\n * A static inline banner that communicates contextual feedback.\r\n * Supports four semantic states — info, success, warning, error — each with\r\n * a distinct colour treatment and Lucide status icon.\r\n *\r\n * Accessibility:\r\n * - state=\"error\" uses role=\"alert\" (assertive live region)\r\n * - All other states use role=\"status\" (polite live region)\r\n * - The icon is aria-hidden — semantic meaning is carried by the text\r\n * - The dismiss button has an accessible label via label + hideLabel\r\n *\r\n * Usage:\r\n * <diwa-inline-notification\r\n * state=\"success\"\r\n * heading=\"Saved\"\r\n * description=\"Your changes have been saved.\"\r\n * />\r\n *\r\n * @slot default — Fallback description content when the description prop is empty.\r\n */\r\n@Component({\r\n tag: 'diwa-inline-notification',\r\n shadow: true,\r\n})\r\nexport class DiwaInlineNotification {\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 /**\r\n * Semantic state — governs colour treatment, icon, and ARIA live role.\r\n * - `info` — neutral informational (role=\"status\", polite)\r\n * - `success` — positive confirmation (role=\"status\", polite)\r\n * - `warning` — non-blocking caution (role=\"status\", polite)\r\n * - `error` — critical or blocking (role=\"alert\", assertive)\r\n */\r\n @Prop({ reflect: true }) state: InlineNotificationState = 'info';\r\n\r\n /** Bold heading text rendered above the description. */\r\n @Prop() heading: string = '';\r\n\r\n /**\r\n * Description text.\r\n * When empty, the default slot is rendered instead — allowing rich markup.\r\n */\r\n @Prop() description: string = '';\r\n\r\n /**\r\n * Whether to show the dismiss (×) button.\r\n * When `false`, the notification can only be removed programmatically.\r\n */\r\n @Prop() dismissButton: boolean = true;\r\n\r\n /**\r\n * Optional label for a secondary action button rendered beside the dismiss button.\r\n * When set, a diwa-button-pure with an arrow icon emits the `action` event on click.\r\n */\r\n @Prop() actionLabel?: string;\r\n\r\n /**\r\n * Shows a loading indicator on the action button and blocks its interaction.\r\n * Has no effect when `actionLabel` is not set.\r\n */\r\n @Prop() actionLoading: boolean = false;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Emitted when the dismiss (×) button is clicked.\r\n * The consumer is responsible for removing or hiding the notification in response.\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n dismiss!: EventEmitter<void>;\r\n\r\n /**\r\n * Emitted when the action button is clicked.\r\n * Only fired when `actionLabel` is set and the button is not in a loading state.\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n action!: EventEmitter<void>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Handlers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private handleDismiss = (): void => {\r\n this.dismiss.emit();\r\n };\r\n\r\n private handleAction = (): void => {\r\n this.action.emit();\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const isAlert = this.state === 'error';\r\n const showActions = this.dismissButton || Boolean(this.actionLabel);\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.state)} />\r\n\r\n <div class=\"root\">\r\n {/* Status icon — decorative, hidden from assistive technology */}\r\n <div class=\"icon-wrap\" aria-hidden=\"true\">\r\n <diwa-icon name={STATE_ICON[this.state]} size={16} />\r\n </div>\r\n\r\n {/* Content — ARIA live region */}\r\n <div\r\n class=\"content\"\r\n role={isAlert ? 'alert' : 'status'}\r\n aria-live={isAlert ? 'assertive' : 'polite'}\r\n >\r\n {this.heading && <span class=\"heading\">{this.heading}</span>}\r\n <p class=\"description\">{this.description || <slot />}</p>\r\n </div>\r\n\r\n {/* Actions row */}\r\n {showActions && (\r\n <div class=\"actions\">\r\n {this.actionLabel && (\r\n <diwa-button-pure\r\n icon=\"arrow-right\"\r\n size=\"sm\"\r\n loading={this.actionLoading}\r\n theme={this.theme}\r\n onClick={this.handleAction}\r\n >\r\n {this.actionLabel}\r\n </diwa-button-pure>\r\n )}\r\n {this.dismissButton && (\r\n <diwa-button-pure\r\n icon=\"x\"\r\n label=\"Dismiss notification\"\r\n hideLabel={true}\r\n size=\"sm\"\r\n theme={this.theme}\r\n onClick={this.handleDismiss}\r\n />\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/diwa-inline-notification/types.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\r\n * diwa-inline-notification — Public TypeScript types\r\n */\r\n\r\n/** Semantic state of the notification. Controls colour, icon, and ARIA live role. */\r\nexport type InlineNotificationState = 'info' | 'success' | 'warning' | 'error';\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-input-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-input/diwa-input-styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwJzC,qBAAqB,CAAC,UAAU,CAAC;CACpC,CAAC","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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-input.js","sourceRoot":"","sources":["../../../src/components/diwa-input/diwa-input.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-input/input-styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAsB,EACtB,SAAkB,EAClB,SAAkB,EAClB,OAAgB,EAChB,QAAiB,EACjB,MAAe,EACf,SAAkB,EACV,EAAE;IACV,MAAM,WAAW,GACf,KAAK,KAAK,OAAO;QACf,CAAC,CAAC,gCAAgC;QAClC,CAAC,CAAC,KAAK,KAAK,SAAS;YACnB,CAAC,CAAC,kCAAkC;YACpC,CAAC,CAAC,0BAA0B,CAAC;IAEnC,MAAM,YAAY,GAChB,KAAK,KAAK,OAAO;QACf,CAAC,CAAC,gCAAgC;QAClC,CAAC,CAAC,KAAK,KAAK,SAAS;YACnB,CAAC,CAAC,kCAAkC;YACpC,CAAC,CAAC,4BAA4B,CAAC;IAErC,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC,iDAAiD;QACnD,CAAC,CAAC,mEAAmE,CAAC;IACxE,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mCAAmC,CAAC;IAC3E,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mCAAmC,CAAC;IAEzF,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiDK,WAAW;;kDAEyB,WAAW;;;;;;;IAOzD,oBAAoB,CACpB,qEAAqE,EACrE,iBAAiB,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,WAAW,GAAG,CAChF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8Cc,YAAY,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkD7B,OAAO,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,yCAAyC;;;;;;;;;;;IAWpH,oBAAoB,CAAC,aAAa,EAAE,kCAAkC,CAAC;;;;;;;;;;;;;;;;;;;;aAoB9D,YAAY;;;;;IAKrB,qBAAqB,CAAC,gBAAgB,EAAE,aAAa,CAAC;CACzD,CAAC;AACF,CAAC,CAAC","sourcesContent":["import type { InputFieldState } from './types';\nimport { getHoverCapableStyle, getReducedMotionStyle } from '../../utils/styles';\n\n/**\n * Returns the shared Shadow DOM CSS for all diwa-input-* components.\n *\n * NOTE: Border and background live on .input-wrapper so start/end slot content\n * shares the same bordered box as the native input. This also prevents Tailwind\n * v4 preflight from stripping padding set directly on :host.\n */\nexport const getInputCss = (\n state: InputFieldState,\n _disabled: boolean,\n _readonly: boolean,\n compact: boolean,\n hasStart: boolean,\n hasEnd: boolean,\n hasSuffix: boolean,\n): string => {\n const borderColor =\n state === 'error'\n ? 'var(--diwa-notification-error)'\n : state === 'success'\n ? 'var(--diwa-notification-success)'\n : 'var(--diwa-input-border)';\n\n const messageColor =\n state === 'error'\n ? 'var(--diwa-notification-error)'\n : state === 'success'\n ? 'var(--diwa-notification-success)'\n : 'var(--diwa-text-secondary)';\n\n const inputHeight = compact\n ? 'var(--diwa-touch-target-min-size-compact, 32px)'\n : 'var(--diwa-input-height, var(--diwa-touch-target-min-size, 44px))';\n const paddingLeft = hasStart ? '4px' : 'var(--diwa-input-padding-x, 12px)';\n const paddingRight = (hasEnd || hasSuffix) ? '4px' : 'var(--diwa-input-padding-x, 12px)';\n\n return `\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 /* ── Root layout ────────────────────────────────────────────────────── */\n\n .root {\n display: flex;\n flex-direction: column;\n gap: var(--diwa-space-2);\n }\n\n /* ── Label row ──────────────────────────────────────────────────────── */\n\n .label-row {\n display: flex;\n align-items: baseline;\n gap: var(--diwa-space-1);\n }\n\n .label {\n display: block;\n font-size: var(--diwa-font-size-sm);\n font-weight: var(--diwa-font-weight-semibold);\n color: var(--diwa-text-secondary);\n line-height: var(--diwa-line-height-normal);\n cursor: default;\n }\n\n .required {\n color: var(--diwa-notification-error);\n font-weight: var(--diwa-font-weight-semibold);\n }\n\n /* ── Input wrapper (owns border + background) ───────────────────────── */\n\n .input-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n height: ${inputHeight};\n background: var(--diwa-input-bg, var(--diwa-bg-input));\n border: var(--diwa-border-width-thin) solid ${borderColor};\n border-radius: var(--diwa-input-radius, var(--diwa-radius-md));\n box-sizing: border-box;\n overflow: hidden;\n transition: border-color var(--diwa-transition-fast), background var(--diwa-transition-fast), box-shadow var(--diwa-transition-fast);\n }\n\n ${getHoverCapableStyle(\n '.input-wrapper:not(:has(input:disabled)):not(:has(input[readonly]))',\n `border-color: ${state === 'none' ? 'var(--diwa-border-hover)' : borderColor};`,\n )}\n\n /* Focus — border and ring become visible on keyboard navigation */\n .input-wrapper:focus-within {\n border-color: var(--diwa-border-focus);\n box-shadow: 0 0 0 var(--diwa-focus-ring-width) var(--diwa-border-focus);\n }\n\n /* Disabled */\n .input-wrapper:has(input:disabled) {\n opacity: var(--diwa-opacity-disabled);\n cursor: not-allowed;\n pointer-events: none;\n }\n\n /* Read-only */\n .input-wrapper:has(input[readonly]) {\n background: var(--diwa-bg-surface);\n border-style: dashed;\n cursor: default;\n }\n\n /* ── Start / End slot containers ────────────────────────────────────── */\n\n .slot-start {\n display: flex;\n align-items: center;\n padding-left: var(--diwa-input-padding-x, 12px);\n color: var(--diwa-text-secondary);\n flex-shrink: 0;\n }\n\n .slot-end {\n display: flex;\n align-items: center;\n padding-right: var(--diwa-input-padding-x, 12px);\n color: var(--diwa-text-secondary);\n flex-shrink: 0;\n }\n\n /* ── Native input ───────────────────────────────────────────────────── */\n\n input.input {\n flex: 1;\n min-width: 0;\n height: 100%;\n padding: 0 ${paddingRight} 0 ${paddingLeft};\n background: transparent;\n border: none;\n box-sizing: border-box;\n appearance: none;\n -webkit-appearance: none;\n outline: none;\n margin: 0;\n font-family: inherit;\n font-size: var(--diwa-font-size-base);\n color: var(--diwa-text-primary);\n line-height: var(--diwa-line-height-normal);\n }\n\n input.input::placeholder {\n color: var(--diwa-text-disabled);\n opacity: 1;\n }\n\n /* Number — hide native spinners */\n input.input[type=\"number\"]::-webkit-inner-spin-button,\n input.input[type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n input.input[type=\"number\"] { -moz-appearance: textfield; }\n\n /* Search — hide browser-native clear button */\n input.input[type=\"search\"]::-webkit-search-cancel-button {\n -webkit-appearance: none;\n appearance: none;\n }\n\n /* Date / time — hide native picker icon in webkit */\n input.input[type=\"date\"]::-webkit-calendar-picker-indicator,\n input.input[type=\"time\"]::-webkit-calendar-picker-indicator,\n input.input[type=\"month\"]::-webkit-calendar-picker-indicator,\n input.input[type=\"week\"]::-webkit-calendar-picker-indicator {\n opacity: 0.5;\n cursor: pointer;\n }\n\n /* ── Suffix button (password toggle / search clear) ─────────────────── */\n\n .suffix-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n height: 100%;\n min-width: ${compact ? 'var(--diwa-touch-target-min-size-compact, 32px)' : 'var(--diwa-touch-target-min-size, 44px)'};\n padding: 0 var(--diwa-space-3);\n background: none;\n border: none;\n margin: 0;\n cursor: pointer;\n color: var(--diwa-text-secondary);\n line-height: 0;\n transition: color var(--diwa-transition-fast);\n }\n\n ${getHoverCapableStyle('.suffix-btn', 'color: var(--diwa-text-primary);')}\n\n .suffix-btn:focus-visible {\n outline: var(--diwa-focus-ring-width) solid var(--diwa-border-focus);\n outline-offset: -2px;\n }\n\n /* ── Description ────────────────────────────────────────────────── */\n\n .description {\n font-size: var(--diwa-font-size-sm);\n color: var(--diwa-text-secondary);\n margin: 0;\n line-height: var(--diwa-line-height-normal);\n }\n\n /* ── Message (state-coloured) ───────────────────────────────────── */\n\n .message {\n font-size: var(--diwa-font-size-sm);\n color: ${messageColor};\n margin: 0;\n line-height: var(--diwa-line-height-normal);\n }\n\n ${getReducedMotionStyle('.input-wrapper', '.suffix-btn')}\n`;\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/diwa-input/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG","sourcesContent":["/**\r\n * diwa-input — Public TypeScript interfaces\r\n * ==========================================\r\n * Exported so framework wrapper packages and consumers can share these types.\r\n */\r\n\r\n/** Native input type subset that this component supports. */\r\nexport type InputType =\r\n | \"text\"\r\n | \"email\"\r\n | \"password\"\r\n | \"search\"\r\n | \"url\"\r\n | \"number\"\r\n | \"tel\";\r\n\r\n/** Validation state rendered on the input (legacy diwa-input generic component). */\r\nexport type InputState = \"default\" | \"error\" | \"success\";\r\n\r\n/**\r\n * Validation state for the individual diwa-input-* components.\r\n * Aligns with other diwa components (diwa-checkbox, etc.) that use 'none'.\r\n */\r\nexport type InputFieldState = 'none' | 'error' | 'success';\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-input-date-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-input-date/diwa-input-date-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,4BAA4B,CAAC","sourcesContent":["export { getInputCss as getComponentCss } from '../diwa-input/input-styles';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-input-date.js","sourceRoot":"","sources":["../../../src/components/diwa-input-date/diwa-input-date.tsx"],"names":[],"mappings":"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","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-date-styles';\r\n\r\n@Component({\r\n tag: 'diwa-input-date',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaInputDate {\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 /** ISO 8601 date string (YYYY-MM-DD) for the minimum allowed date. */\r\n @Prop() min?: string;\r\n /** ISO 8601 date string (YYYY-MM-DD) for the maximum allowed date. */\r\n @Prop() max?: string;\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=\"date\"\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 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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-input-email-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-input-email/diwa-input-email-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,4BAA4B,CAAC","sourcesContent":["export { getInputCss as getComponentCss } from '../diwa-input/input-styles';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-input-email.js","sourceRoot":"","sources":["../../../src/components/diwa-input-email/diwa-input-email.tsx"],"names":[],"mappings":"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","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-email-styles';\r\n\r\n@Component({\r\n tag: 'diwa-input-email',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaInputEmail {\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=\"email\"\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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-input-month-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-input-month/diwa-input-month-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,4BAA4B,CAAC","sourcesContent":["export { getInputCss as getComponentCss } from '../diwa-input/input-styles';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-input-month.js","sourceRoot":"","sources":["../../../src/components/diwa-input-month/diwa-input-month.tsx"],"names":[],"mappings":"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","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-month-styles';\r\n\r\n@Component({\r\n tag: 'diwa-input-month',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaInputMonth {\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 month in YYYY-MM format. */\r\n @Prop() min?: string;\r\n /** Maximum month in YYYY-MM format. */\r\n @Prop() max?: string;\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=\"month\"\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 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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-input-number-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-input-number/diwa-input-number-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,4BAA4B,CAAC","sourcesContent":["export { getInputCss as getComponentCss } from '../diwa-input/input-styles';\n"]}
|