@diwacopilot/components 1.2.0 → 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 +2 -6
- package/dist/cjs/diwa-button-pure.cjs.entry.js +2 -6
- package/dist/cjs/diwa-button.cjs.entry.js +2 -6
- package/dist/cjs/diwa-checkbox.cjs.entry.js +6 -8
- package/dist/cjs/diwa-components.cjs.js +7 -10
- package/dist/cjs/diwa-divider.cjs.entry.js +1 -5
- package/dist/cjs/diwa-flyout.cjs.entry.js +5 -7
- package/dist/cjs/diwa-heading.cjs.entry.js +1 -5
- package/dist/cjs/diwa-icon.cjs.entry.js +553 -557
- package/dist/cjs/diwa-inline-notification.cjs.entry.js +1 -5
- package/dist/cjs/diwa-input-date.cjs.entry.js +3 -7
- package/dist/cjs/diwa-input-email.cjs.entry.js +3 -7
- package/dist/cjs/diwa-input-month.cjs.entry.js +3 -7
- package/dist/cjs/diwa-input-number.cjs.entry.js +3 -7
- package/dist/cjs/diwa-input-password.cjs.entry.js +3 -7
- package/dist/cjs/diwa-input-search.cjs.entry.js +3 -7
- package/dist/cjs/diwa-input-tel.cjs.entry.js +3 -7
- package/dist/cjs/diwa-input-text.cjs.entry.js +3 -7
- package/dist/cjs/diwa-input-time.cjs.entry.js +3 -7
- package/dist/cjs/diwa-input-url.cjs.entry.js +3 -7
- package/dist/cjs/diwa-input-week.cjs.entry.js +3 -7
- package/dist/cjs/diwa-input.cjs.entry.js +2 -6
- package/dist/cjs/diwa-link-pure.cjs.entry.js +2 -6
- package/dist/cjs/diwa-link.cjs.entry.js +2 -6
- package/dist/cjs/diwa-modal.cjs.entry.js +5 -7
- package/dist/cjs/diwa-multi-select-option.cjs.entry.js +12 -10
- package/dist/cjs/diwa-multi-select.cjs.entry.js +14 -10
- package/dist/cjs/diwa-pagination.cjs.entry.js +2 -6
- package/dist/cjs/diwa-pin-code.cjs.entry.js +2 -6
- package/dist/cjs/diwa-popover.cjs.entry.js +2 -6
- package/dist/cjs/diwa-radio-group-item.cjs.entry.js +5 -7
- package/dist/cjs/diwa-radio-group.cjs.entry.js +1 -5
- package/dist/cjs/diwa-scroller.cjs.entry.js +2 -6
- package/dist/cjs/diwa-segmented-control-item.cjs.entry.js +2 -6
- package/dist/cjs/diwa-segmented-control.cjs.entry.js +1 -5
- package/dist/cjs/diwa-select-option.cjs.entry.js +2 -6
- package/dist/cjs/diwa-select.cjs.entry.js +14 -10
- package/dist/cjs/diwa-spinner.cjs.entry.js +3 -7
- package/dist/cjs/diwa-stepper-horizontal-item.cjs.entry.js +1 -5
- package/dist/cjs/diwa-stepper-horizontal.cjs.entry.js +4 -6
- package/dist/cjs/diwa-switch.cjs.entry.js +2 -6
- package/dist/cjs/diwa-table-body.cjs.entry.js +1 -5
- package/dist/cjs/diwa-table-cell.cjs.entry.js +1 -5
- package/dist/cjs/diwa-table-head-cell.cjs.entry.js +1 -5
- package/dist/cjs/diwa-table-head.cjs.entry.js +1 -5
- package/dist/cjs/diwa-table-row.cjs.entry.js +1 -5
- package/dist/cjs/diwa-table.cjs.entry.js +1 -5
- package/dist/cjs/diwa-tabs-bar.cjs.entry.js +5 -7
- package/dist/cjs/diwa-tabs-item.cjs.entry.js +1 -5
- package/dist/cjs/diwa-tabs.cjs.entry.js +5 -7
- package/dist/cjs/diwa-tag-dismissible.cjs.entry.js +2 -6
- package/dist/cjs/diwa-tag.cjs.entry.js +1 -5
- package/dist/cjs/diwa-text-list-item.cjs.entry.js +1 -5
- package/dist/cjs/diwa-text-list.cjs.entry.js +1 -5
- package/dist/cjs/diwa-text.cjs.entry.js +1 -5
- package/dist/cjs/diwa-textarea.cjs.entry.js +2 -6
- package/dist/cjs/diwa-toast-item.cjs.entry.js +2 -6
- package/dist/cjs/diwa-toast.cjs.entry.js +1 -5
- 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 +0 -1
- package/dist/collection/components/diwa-badge/diwa-badge.js +12 -10
- 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 +26 -23
- 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 +29 -26
- 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 +16 -15
- 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 +6 -5
- 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 +11 -9
- 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 +20 -15
- 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 +8 -8
- 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 +12 -11
- 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 +25 -23
- 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 +23 -22
- 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 +19 -18
- 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 +23 -22
- 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 +25 -24
- 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 +20 -19
- 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 +20 -19
- 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 +19 -18
- 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 +25 -24
- 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 +25 -24
- 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 +19 -18
- 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 +23 -22
- package/dist/collection/components/diwa-link/diwa-link-styles.js +0 -1
- package/dist/collection/components/diwa-link/diwa-link.js +21 -19
- 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 +25 -22
- 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 +11 -10
- 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 +24 -20
- 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 +9 -9
- 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 +12 -10
- 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 +20 -17
- 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 +8 -7
- 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 +20 -17
- 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 +8 -8
- package/dist/collection/components/diwa-scroller/diwa-scroller-styles.js +0 -1
- package/dist/collection/components/diwa-scroller/diwa-scroller.js +7 -6
- 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 +8 -7
- 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 +7 -7
- package/dist/collection/components/diwa-select/diwa-select-styles.js +0 -1
- package/dist/collection/components/diwa-select/diwa-select.js +26 -22
- 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 +9 -9
- 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 +7 -6
- 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 +6 -5
- 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 +10 -9
- 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 +12 -10
- 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 +10 -9
- 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 +3 -3
- 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 +4 -4
- 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 +3 -3
- 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 +7 -6
- 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 +3 -3
- package/dist/collection/components/diwa-tabs/diwa-tabs-styles.js +0 -1
- package/dist/collection/components/diwa-tabs/diwa-tabs.js +6 -5
- 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 +6 -5
- 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 +5 -5
- package/dist/collection/components/diwa-tag/diwa-tag-styles.js +0 -1
- package/dist/collection/components/diwa-tag/diwa-tag.js +9 -8
- 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 +8 -7
- 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 +19 -14
- 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 +6 -5
- 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 +3 -3
- package/dist/collection/components/diwa-textarea/diwa-textarea-styles.js +0 -1
- package/dist/collection/components/diwa-textarea/diwa-textarea.js +25 -23
- 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 +5 -4
- 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 +7 -6
- 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-878039a1.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 +2 -4
- package/dist/esm/diwa-button-pure.entry.js +2 -4
- package/dist/esm/diwa-button.entry.js +2 -4
- package/dist/esm/diwa-checkbox.entry.js +6 -6
- package/dist/esm/diwa-components.js +5 -7
- package/dist/esm/diwa-divider.entry.js +1 -3
- package/dist/esm/diwa-flyout.entry.js +5 -5
- package/dist/esm/diwa-heading.entry.js +1 -3
- package/dist/esm/diwa-icon.entry.js +553 -555
- package/dist/esm/diwa-inline-notification.entry.js +1 -3
- package/dist/esm/diwa-input-date.entry.js +3 -5
- package/dist/esm/diwa-input-email.entry.js +3 -5
- package/dist/esm/diwa-input-month.entry.js +3 -5
- package/dist/esm/diwa-input-number.entry.js +3 -5
- package/dist/esm/diwa-input-password.entry.js +3 -5
- package/dist/esm/diwa-input-search.entry.js +3 -5
- package/dist/esm/diwa-input-tel.entry.js +3 -5
- package/dist/esm/diwa-input-text.entry.js +3 -5
- package/dist/esm/diwa-input-time.entry.js +3 -5
- package/dist/esm/diwa-input-url.entry.js +3 -5
- package/dist/esm/diwa-input-week.entry.js +3 -5
- package/dist/esm/diwa-input.entry.js +2 -4
- package/dist/esm/diwa-link-pure.entry.js +2 -4
- package/dist/esm/diwa-link.entry.js +2 -4
- package/dist/esm/diwa-modal.entry.js +5 -5
- package/dist/esm/diwa-multi-select-option.entry.js +12 -8
- package/dist/esm/diwa-multi-select.entry.js +14 -8
- package/dist/esm/diwa-pagination.entry.js +2 -4
- package/dist/esm/diwa-pin-code.entry.js +2 -4
- package/dist/esm/diwa-popover.entry.js +2 -4
- package/dist/esm/diwa-radio-group-item.entry.js +5 -5
- package/dist/esm/diwa-radio-group.entry.js +1 -3
- package/dist/esm/diwa-scroller.entry.js +2 -4
- package/dist/esm/diwa-segmented-control-item.entry.js +2 -4
- package/dist/esm/diwa-segmented-control.entry.js +1 -3
- package/dist/esm/diwa-select-option.entry.js +2 -4
- package/dist/esm/diwa-select.entry.js +14 -8
- package/dist/esm/diwa-spinner.entry.js +3 -5
- package/dist/esm/diwa-stepper-horizontal-item.entry.js +1 -3
- package/dist/esm/diwa-stepper-horizontal.entry.js +4 -4
- package/dist/esm/diwa-switch.entry.js +2 -4
- package/dist/esm/diwa-table-body.entry.js +1 -3
- package/dist/esm/diwa-table-cell.entry.js +1 -3
- package/dist/esm/diwa-table-head-cell.entry.js +1 -3
- package/dist/esm/diwa-table-head.entry.js +1 -3
- package/dist/esm/diwa-table-row.entry.js +1 -3
- package/dist/esm/diwa-table.entry.js +1 -3
- package/dist/esm/diwa-tabs-bar.entry.js +5 -5
- package/dist/esm/diwa-tabs-item.entry.js +1 -3
- package/dist/esm/diwa-tabs.entry.js +5 -5
- package/dist/esm/diwa-tag-dismissible.entry.js +2 -4
- package/dist/esm/diwa-tag.entry.js +1 -3
- package/dist/esm/diwa-text-list-item.entry.js +1 -3
- package/dist/esm/diwa-text-list.entry.js +1 -3
- package/dist/esm/diwa-text.entry.js +1 -3
- package/dist/esm/diwa-textarea.entry.js +2 -4
- package/dist/esm/diwa-toast-item.entry.js +2 -4
- package/dist/esm/diwa-toast.entry.js +1 -3
- 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.d.ts +2091 -116
- 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 -166
- 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-0028e799.entry.js +0 -2
- package/dist/diwa-components/p-0028e799.entry.js.map +0 -1
- package/dist/diwa-components/p-008bdfa4.entry.js +0 -2
- package/dist/diwa-components/p-008bdfa4.entry.js.map +0 -1
- package/dist/diwa-components/p-027e5299.entry.js +0 -2
- package/dist/diwa-components/p-027e5299.entry.js.map +0 -1
- package/dist/diwa-components/p-03a4902e.entry.js +0 -2
- package/dist/diwa-components/p-03a4902e.entry.js.map +0 -1
- package/dist/diwa-components/p-05a02076.entry.js +0 -2
- package/dist/diwa-components/p-05a02076.entry.js.map +0 -1
- package/dist/diwa-components/p-090f557b.entry.js +0 -2
- package/dist/diwa-components/p-090f557b.entry.js.map +0 -1
- package/dist/diwa-components/p-0b6aa730.entry.js +0 -2
- package/dist/diwa-components/p-0b6aa730.entry.js.map +0 -1
- package/dist/diwa-components/p-0c2776f7.entry.js +0 -2
- package/dist/diwa-components/p-0c2776f7.entry.js.map +0 -1
- package/dist/diwa-components/p-11aae5f1.entry.js +0 -2
- package/dist/diwa-components/p-11aae5f1.entry.js.map +0 -1
- package/dist/diwa-components/p-13aeda0b.entry.js +0 -2
- package/dist/diwa-components/p-13aeda0b.entry.js.map +0 -1
- package/dist/diwa-components/p-145e5281.entry.js +0 -2
- package/dist/diwa-components/p-145e5281.entry.js.map +0 -1
- package/dist/diwa-components/p-20332312.entry.js +0 -2
- package/dist/diwa-components/p-20332312.entry.js.map +0 -1
- package/dist/diwa-components/p-247210ec.entry.js +0 -2
- package/dist/diwa-components/p-247210ec.entry.js.map +0 -1
- package/dist/diwa-components/p-24c10d6e.entry.js +0 -2
- package/dist/diwa-components/p-24c10d6e.entry.js.map +0 -1
- package/dist/diwa-components/p-2c3cff37.entry.js +0 -2
- package/dist/diwa-components/p-2c3cff37.entry.js.map +0 -1
- package/dist/diwa-components/p-310a22ca.entry.js +0 -2
- package/dist/diwa-components/p-310a22ca.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-335e06ab.entry.js +0 -2
- package/dist/diwa-components/p-335e06ab.entry.js.map +0 -1
- package/dist/diwa-components/p-33b49ced.entry.js +0 -2
- package/dist/diwa-components/p-33b49ced.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-36056450.entry.js +0 -2
- package/dist/diwa-components/p-36056450.entry.js.map +0 -1
- package/dist/diwa-components/p-3a992d7e.entry.js +0 -2
- package/dist/diwa-components/p-3a992d7e.entry.js.map +0 -1
- package/dist/diwa-components/p-3e68a752.entry.js +0 -2
- package/dist/diwa-components/p-3e68a752.entry.js.map +0 -1
- package/dist/diwa-components/p-4332671a.entry.js +0 -2
- package/dist/diwa-components/p-4332671a.entry.js.map +0 -1
- package/dist/diwa-components/p-454aa95f.entry.js +0 -2
- package/dist/diwa-components/p-454aa95f.entry.js.map +0 -1
- package/dist/diwa-components/p-46a8a0a7.entry.js +0 -2
- package/dist/diwa-components/p-46a8a0a7.entry.js.map +0 -1
- package/dist/diwa-components/p-50420bc6.entry.js +0 -10220
- package/dist/diwa-components/p-50420bc6.entry.js.map +0 -1
- package/dist/diwa-components/p-52f32ba8.entry.js +0 -2
- package/dist/diwa-components/p-52f32ba8.entry.js.map +0 -1
- package/dist/diwa-components/p-5e75b7b3.entry.js +0 -2
- package/dist/diwa-components/p-5e75b7b3.entry.js.map +0 -1
- package/dist/diwa-components/p-630b5003.entry.js +0 -2
- package/dist/diwa-components/p-630b5003.entry.js.map +0 -1
- package/dist/diwa-components/p-645e5f9a.entry.js +0 -2
- package/dist/diwa-components/p-645e5f9a.entry.js.map +0 -1
- package/dist/diwa-components/p-6dcf2862.entry.js +0 -2
- package/dist/diwa-components/p-6dcf2862.entry.js.map +0 -1
- package/dist/diwa-components/p-6f639ee0.entry.js +0 -2
- package/dist/diwa-components/p-6f639ee0.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-76f75cb3.entry.js +0 -2
- package/dist/diwa-components/p-76f75cb3.entry.js.map +0 -1
- package/dist/diwa-components/p-8285e16e.entry.js +0 -2
- package/dist/diwa-components/p-8285e16e.entry.js.map +0 -1
- package/dist/diwa-components/p-82be1b3a.entry.js +0 -2
- package/dist/diwa-components/p-82be1b3a.entry.js.map +0 -1
- package/dist/diwa-components/p-845b2a42.entry.js +0 -2
- package/dist/diwa-components/p-845b2a42.entry.js.map +0 -1
- package/dist/diwa-components/p-851e4c86.entry.js +0 -2
- package/dist/diwa-components/p-851e4c86.entry.js.map +0 -1
- package/dist/diwa-components/p-878039a1.entry.js.map +0 -1
- package/dist/diwa-components/p-887e0cb5.entry.js +0 -2
- package/dist/diwa-components/p-887e0cb5.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-8b210952.entry.js +0 -2
- package/dist/diwa-components/p-8b210952.entry.js.map +0 -1
- package/dist/diwa-components/p-90504a91.entry.js +0 -2
- package/dist/diwa-components/p-90504a91.entry.js.map +0 -1
- package/dist/diwa-components/p-90d0db67.entry.js +0 -2
- package/dist/diwa-components/p-90d0db67.entry.js.map +0 -1
- package/dist/diwa-components/p-a446b615.entry.js +0 -2
- package/dist/diwa-components/p-a446b615.entry.js.map +0 -1
- package/dist/diwa-components/p-ac8e14be.js.map +0 -1
- package/dist/diwa-components/p-b33f4993.entry.js +0 -2
- package/dist/diwa-components/p-b33f4993.entry.js.map +0 -1
- package/dist/diwa-components/p-b595f330.entry.js +0 -2
- package/dist/diwa-components/p-b595f330.entry.js.map +0 -1
- package/dist/diwa-components/p-bcc6545a.entry.js +0 -2
- package/dist/diwa-components/p-bcc6545a.entry.js.map +0 -1
- package/dist/diwa-components/p-c2557813.entry.js +0 -2
- package/dist/diwa-components/p-c2557813.entry.js.map +0 -1
- package/dist/diwa-components/p-c3535eb8.entry.js +0 -2
- package/dist/diwa-components/p-c3535eb8.entry.js.map +0 -1
- package/dist/diwa-components/p-c4083a76.entry.js +0 -2
- package/dist/diwa-components/p-c4083a76.entry.js.map +0 -1
- package/dist/diwa-components/p-c427acf5.entry.js +0 -2
- package/dist/diwa-components/p-c427acf5.entry.js.map +0 -1
- package/dist/diwa-components/p-c862863d.entry.js +0 -2
- package/dist/diwa-components/p-c862863d.entry.js.map +0 -1
- package/dist/diwa-components/p-c9ec0829.entry.js +0 -2
- package/dist/diwa-components/p-c9ec0829.entry.js.map +0 -1
- package/dist/diwa-components/p-d57421af.entry.js +0 -2
- package/dist/diwa-components/p-d57421af.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-e23fbe5f.entry.js +0 -2
- package/dist/diwa-components/p-e23fbe5f.entry.js.map +0 -1
- package/dist/diwa-components/p-e6f7dd21.entry.js +0 -2
- package/dist/diwa-components/p-e6f7dd21.entry.js.map +0 -1
- package/dist/diwa-components/p-ecb1eabd.entry.js +0 -2
- package/dist/diwa-components/p-ecb1eabd.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-f842df14.entry.js +0 -2
- package/dist/diwa-components/p-f842df14.entry.js.map +0 -1
- package/dist/diwa-components/p-fa3f0cb0.entry.js +0 -2
- package/dist/diwa-components/p-fa3f0cb0.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-0e219692.js +0 -141
- package/dist-custom-elements/p-0e219692.js.map +0 -1
- package/dist-custom-elements/p-236fbbdd.js +0 -321
- package/dist-custom-elements/p-236fbbdd.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-3fce050e.js +0 -117
- package/dist-custom-elements/p-3fce050e.js.map +0 -1
- package/dist-custom-elements/p-473ec48f.js +0 -29213
- package/dist-custom-elements/p-473ec48f.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-ac8e14be.js.map +0 -1
- package/loader/package.json +0 -11
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["indeterminateSvg","getComponentCss","state","_disabled","compact","_hideLabel","boxSize","messageColor","getCheckboxBoxCss","getFocusStyle","checkmarkSvg","getReducedMotionStyle","DiwaCheckbox","constructor","hostRef","this","theme","label","name","value","checked","indeterminate","disabled","required","message","hideLabel","handleChange","e","input","target","host","removeAttribute","update","emit","setCheckboxRef","el","checkboxEl","watchIndeterminate","render","msgId","hasMessage","h","Host","key","innerHTML","class","type","id","undefined","onChange","ref","htmlFor"],"sources":["src/components/diwa-checkbox/diwa-checkbox-styles.ts","src/components/diwa-checkbox/diwa-checkbox.tsx"],"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","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"],"mappings":"iJAKA,MAAMA,EAAmB,iLAElB,MAAMC,EAAkB,CAC7BC,EACAC,EACAC,EACAC,KAEA,MAAMC,EAAUF,EAAU,OAAS,OACnC,MAAMG,EACJL,IAAU,QACN,iCACAA,IAAU,UACR,mCACA,6BAER,MAAO,s1BAwCII,mBACCA,mUAgBRE,sKASFC,EAAc,sdAcMC,6YAaAV,2iEA0EXO,2FAEYD,sHAKrBK,EAAsB,6BACzB,E,MClKYC,EAAY,MAJzB,WAAAC,CAAAC,G,yCAY2BC,KAAAC,MAAe,OAGhCD,KAAAE,MAAgB,GAGhBF,KAAAG,KAAe,GAGfH,KAAAI,MAAgB,KAQgBJ,KAAAK,QAAmB,MAOlCL,KAAAM,cAAyB,MAGzBN,KAAAO,SAAoB,MAGrCP,KAAAQ,SAAoB,MAGHR,KAAAb,MAAuB,OAGxCa,KAAAS,QAAkB,GAGDT,KAAAX,QAAmB,MAGMW,KAAAU,UAAqB,MAwC/DV,KAAAW,aAAgBC,IACtB,MAAMC,EAAQD,EAAEE,OAChBd,KAAKK,QAAUQ,EAAMR,QAErB,GAAIL,KAAKM,cAAe,CACtBN,KAAKe,KAAKC,gBAAgB,gB,CAE5BhB,KAAKiB,OAAOC,KAAK,CACfb,QAASL,KAAKK,QACdF,KAAMH,KAAKG,KACXC,MAAOJ,KAAKI,OACZ,EAGIJ,KAAAmB,eAAkBC,IACxBpB,KAAKqB,WAAaD,EAClB,GAAIA,EAAI,CACNA,EAAGd,cAAgBN,KAAKM,a,GA3B5B,kBAAAgB,CAAmBlB,GACjB,GAAIJ,KAAKqB,WAAY,CACnBrB,KAAKqB,WAAWf,cAAgBF,C,EAiCpC,MAAAmB,GACE,MAAMC,EAAQ,oBACd,MAAMC,IAAezB,KAAKS,SAAWT,KAAKb,QAAU,OAEpD,OACEuC,EAACC,EAAI,CAAAC,IAAA,wDAAa5B,KAAKC,OACrByB,EAAA,SAAAE,IAAA,2CACEC,UAAW3C,EACTc,KAAKb,MACLa,KAAKO,SACLP,KAAKX,WAKTqC,EAAA,OAAAE,IAAA,2CAAKE,MAAM,QACTJ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,WACTJ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,mBACTJ,EAAA,SAAAE,IAAA,2CACEG,KAAK,WACLC,GAAG,KACH3B,QAASL,KAAKK,QACdE,SAAUP,KAAKO,SACfC,SAAUR,KAAKQ,SACfL,KAAMH,KAAKG,KACXC,MAAOJ,KAAKI,MAAK,eACHJ,KAAKM,cAAgB,QAAU2B,UAAS,mBACpCR,EAAaD,EAAQS,UACvCC,SAAUlC,KAAKW,aACfwB,IAAKnC,KAAKmB,kBAIbnB,KAAKE,OACJwB,EAAA,SAAAE,IAAA,2CACEE,MAAO,QAAQ9B,KAAKU,UAAY,iBAAmB,KACnD0B,QAAQ,MAEPpC,KAAKE,MACLF,KAAKQ,UACJkB,EAAA,QAAAE,IAAA,2CAAME,MAAM,WAAU,cAAa,QAChC,IAAG,OAObL,GACCC,EAAA,QAAAE,IAAA,2CAAMI,GAAIR,EAAOM,MAAM,WACpB9B,KAAKS,U","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","compact","boxSize","getFocusStyle","getCheckboxBoxCss","checkmarkSvg","getReducedMotionStyle","DiwaMultiSelectOption","constructor","hostRef","this","disabled","selected","highlighted","theme","handleClick","diwaMultiSelectOptionUpdate","emit","value","handleKeyDown","e","key","preventDefault","handlePropChange","setFocus","_a","optionEl","focus","render","h","Host","innerHTML","class","role","undefined","tabIndex","onClick","onKeyDown","ref","el","part"],"sources":["src/components/diwa-multi-select-option/diwa-multi-select-option-styles.ts","src/components/diwa-multi-select-option/diwa-multi-select-option.tsx"],"sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\nimport { checkmarkSvg, getCheckboxBoxCss } from '../../utils/checkbox-mark';\r\n\r\nexport const getComponentCss = (compact: boolean): string => {\r\n const boxSize = compact ? '14px' : '20px';\r\n\r\n return `\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Option row ─────────────────────────────────────────────────────── */\r\n\r\n .option {\n display: flex;\r\n align-items: center;\r\n gap: var(--diwa-space-3);\r\n padding: var(--diwa-space-2) var(--diwa-space-3);\r\n min-height: ${compact ? 'var(--diwa-touch-target-min-size-compact, 32px)' : 'var(--diwa-select-option-min-height, var(--diwa-touch-target-min-size, 44px))'};\n box-sizing: border-box;\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-font-smoothing: antialiased;\r\n color: var(--diwa-text-primary);\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-normal);\r\n line-height: 1.4;\r\n border-radius: var(--diwa-radius-sm);\r\n transition: background-color var(--diwa-transition-fast);\r\n }\r\n\r\n /* ── Focus ring ─────────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('.option')}\r\n\r\n /* ── Checkbox mark ──────────────────────────────────────────────────── */\r\n\r\n .checkbox {\r\n flex-shrink: 0;\r\n width: ${boxSize};\r\n height: ${boxSize};\r\n ${getCheckboxBoxCss()}\r\n }\r\n\r\n /* ── Selected state ─────────────────────────────────────────────────── */\r\n\r\n :host([selected]) .checkbox {\r\n background-color: var(--diwa-accent);\r\n border-color: var(--diwa-accent);\r\n background-image: ${checkmarkSvg};\r\n }\r\n\r\n @media (hover: hover) and (pointer: fine) {\n :host([selected]) .option:hover .checkbox {\n background-color: var(--diwa-accent-hover);\n border-color: var(--diwa-accent-hover);\n }\n }\n\r\n /* ── Highlighted (keyboard / hover) ─────────────────────────────────── */\r\n\r\n :host([highlighted]) .option {\n background-color: var(--diwa-bg-hover);\n }\n\n @media (hover: hover) and (pointer: fine) {\n .option:hover {\n background-color: var(--diwa-bg-hover);\n }\n }\n\r\n /* ── Label text ─────────────────────────────────────────────────────── */\r\n\r\n .label {\r\n flex: 1;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n\r\n /* ── Disabled ───────────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) {\r\n pointer-events: none;\r\n }\r\n\r\n :host([disabled]) .option {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.option', '.checkbox')}\r\n`;\r\n};\r\n","import { Component, Element, Event, type EventEmitter, Host, Method, Prop, Watch, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-multi-select-option-styles';\r\n\r\n/**\r\n * @component diwa-multi-select-option\r\n *\r\n * Individual option element for use inside <diwa-multi-select>.\r\n * Renders a row with a CSS checkbox and label text.\r\n *\r\n * Not intended for standalone use — must be slotted into <diwa-multi-select>.\r\n *\r\n * @slot default — Option label text (plain text or inline phrasing content)\r\n */\r\n@Component({\r\n tag: 'diwa-multi-select-option',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaMultiSelectOption {\r\n @Element() host!: HTMLDiwaMultiSelectOptionElement;\r\n\r\n /** The value submitted/emitted when this option is selected. */\r\n @Prop({ reflect: true }) value!: string;\r\n\r\n /** Disables the option — it cannot be selected. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /**\r\n * Whether the option is currently selected.\r\n * Maintained by the parent <diwa-multi-select>; consumers can also\r\n * pre-select options by setting this attribute.\r\n */\r\n @Prop({ mutable: true, reflect: true }) selected: boolean = false;\r\n\r\n /**\r\n * Whether the option is currently keyboard-highlighted.\r\n * Set exclusively by the parent component.\r\n */\r\n @Prop({ mutable: true, reflect: true }) highlighted: boolean = false;\r\n\r\n /**\r\n * Compact variant — reduces the option row height and checkbox size.\r\n * Inherited from the parent diwa-multi-select.\r\n */\r\n @Prop({ mutable: true, reflect: true }) compact: boolean = false;\r\n\r\n /** Theme — inherited from the parent diwa-multi-select. */\r\n @Prop({ mutable: true }) theme: Theme = 'dark';\r\n\r\n /**\r\n * Emitted when the user clicks or presses Enter on the option.\r\n * Bubbles and crosses Shadow DOM so the parent can catch it via @Listen.\r\n */\r\n @Event({ bubbles: true, composed: true })\r\n diwaMultiSelectOptionUpdate!: EventEmitter<{ value: string; selected: boolean }>;\r\n\r\n @Watch('selected')\r\n @Watch('highlighted')\r\n @Watch('disabled')\r\n handlePropChange(): void {\r\n // Re-injecting CSS on state change keeps styles in sync without a full re-render.\r\n // The watch covers selected/highlighted/disabled prop changes.\r\n }\r\n\r\n /** Focuses the inner option element. */\r\n @Method()\r\n async setFocus(): Promise<void> {\r\n this.optionEl?.focus();\r\n }\r\n\r\n private optionEl?: HTMLDivElement;\r\n\r\n private handleClick = (): void => {\r\n if (this.disabled) return;\r\n this.diwaMultiSelectOptionUpdate.emit({ value: this.value, selected: !this.selected });\r\n };\r\n\r\n private handleKeyDown = (e: KeyboardEvent): void => {\r\n if (this.disabled) return;\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n this.diwaMultiSelectOptionUpdate.emit({ value: this.value, selected: !this.selected });\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.compact)} />\r\n <div\r\n class=\"option\"\r\n role=\"option\"\r\n aria-selected={this.selected ? 'true' : 'false'}\r\n aria-disabled={this.disabled ? 'true' : undefined}\r\n tabIndex={this.disabled ? -1 : 0}\r\n onClick={this.handleClick}\r\n onKeyDown={this.handleKeyDown}\r\n ref={(el) => (this.optionEl = el as HTMLDivElement)}\r\n part=\"option\"\r\n >\r\n <span class=\"checkbox\" aria-hidden=\"true\" part=\"checkbox\" />\r\n <span class=\"label\" part=\"label\">\r\n <slot />\r\n </span>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"sJAGO,MAAMA,EAAmBC,IAC9B,MAAMC,EAAUD,EAAU,OAAS,OAEnC,MAAO,keAoBSA,EAAU,kDAAoD,yiBAe5EE,EAAc,iJAMLD,mBACCA,WACRE,yOAQkBC,miCA6CpBC,EAAsB,UAAW,gBACpC,E,MCrFYC,EAAqB,MAJlC,WAAAC,CAAAC,G,mFAW2BC,KAAAC,SAAoB,MAOLD,KAAAE,SAAoB,MAMpBF,KAAAG,YAAuB,MAMvBH,KAAAT,QAAmB,MAGlCS,KAAAI,MAAe,OAyBhCJ,KAAAK,YAAc,KACpB,GAAIL,KAAKC,SAAU,OACnBD,KAAKM,4BAA4BC,KAAK,CAAEC,MAAOR,KAAKQ,MAAON,UAAWF,KAAKE,UAAW,EAGhFF,KAAAS,cAAiBC,IACvB,GAAIV,KAAKC,SAAU,OACnB,GAAIS,EAAEC,MAAQ,SAAWD,EAAEC,MAAQ,IAAK,CACtCD,EAAEE,iBACFZ,KAAKM,4BAA4BC,KAAK,CAAEC,MAAOR,KAAKQ,MAAON,UAAWF,KAAKE,U,GAtB/E,gBAAAW,G,CAOA,cAAMC,G,OACJC,EAAAf,KAAKgB,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,O,CAkBjB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAT,IAAA,wDAAaX,KAAKI,OACrBe,EAAA,SAAAR,IAAA,2CAAOU,UAAW/B,EAAgBU,KAAKT,WACvC4B,EAAA,OAAAR,IAAA,2CACEW,MAAM,SACNC,KAAK,SAAQ,gBACEvB,KAAKE,SAAW,OAAS,QAAO,gBAChCF,KAAKC,SAAW,OAASuB,UACxCC,SAAUzB,KAAKC,UAAY,EAAI,EAC/ByB,QAAS1B,KAAKK,YACdsB,UAAW3B,KAAKS,cAChBmB,IAAMC,GAAQ7B,KAAKgB,SAAWa,EAC9BC,KAAK,UAELX,EAAA,QAAAR,IAAA,2CAAMW,MAAM,WAAU,cAAa,OAAOQ,KAAK,aAC/CX,EAAA,QAAAR,IAAA,2CAAMW,MAAM,QAAQQ,KAAK,SACvBX,EAAA,QAAAR,IAAA,+C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,h as e,H as t,g as a}from"./p-ed4017f0.js";import{g as i,a as o}from"./p-70bbb21a.js";const r=()=>`\n\n /* ── Host ──────────────────────────────────────────────────────────── */\n\n :host {\n display: inline-flex;\n position: relative;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* Stretch: fill the parent's inline axis */\n :host([stretch]) {\n display: flex;\n width: 100%;\n }\n\n /* ── Root element (<a> or <span>) ───────────────────────────────────── */\n\n .root {\n display: inline-flex;\n align-items: center;\n gap: var(--diwa-space-2);\n flex-direction: row; /* overridden by alignLabel=start below */\n\n background: transparent;\n border: none;\n padding: var(--diwa-space-0-5) var(--diwa-space-1);\n margin: 0;\n cursor: pointer;\n\n font-family: inherit;\n font-size: var(--diwa-font-size-base);\n font-weight: var(--diwa-font-weight-regular);\n line-height: 1;\n color: var(--diwa-text-primary);\n text-decoration: none;\n white-space: nowrap;\n\n -webkit-appearance: none;\n appearance: none;\n -webkit-font-smoothing: antialiased;\n\n border-radius: var(--diwa-radius-sm);\n }\n\n /* Stretch: push icon and label to opposite edges */\n :host([stretch]) .root {\n width: 100%;\n justify-content: space-between;\n }\n\n /* ── Focus ring ─────────────────────────────────────────────────────── */\n\n ${i(".root")}\n\n /* ── Size ───────────────────────────────────────────────────────────── */\n\n :host([size="sm"]) .root {\n font-size: var(--diwa-font-size-sm);\n }\n\n :host([size="lg"]) .root {\n font-size: var(--diwa-font-size-lg);\n }\n\n /* ── Hover ──────────────────────────────────────────────────────────── */\n\n .root:hover {\n background-color: var(--diwa-bg-hover);\n }\n\n /* ── Active state (CSS :active + [active] prop) ─────────────────────── */\n\n :host([active]) .root,\n .root:active {\n background-color: var(--diwa-bg-active);\n color: var(--diwa-text-primary);\n }\n\n /* ── Visited — prevent browser default purple ───────────────────────── */\n\n .root:visited {\n color: var(--diwa-text-primary);\n }\n\n /* ── alignLabel: start → label on left, icon on right ──────────────── */\n\n :host([align-label="start"]) .root {\n flex-direction: row-reverse;\n }\n\n /* ── Underline label text ───────────────────────────────────────────── */\n\n :host([underline]) .label {\n text-decoration: underline;\n }\n\n /* ── Icon wrapper ───────────────────────────────────────────────────── */\n\n .icon {\n display: contents;\n flex-shrink: 0;\n line-height: 0;\n }\n\n /* ── Label: visually hidden (sr-only / icon-only mode) ──────────────── */\n\n .label--hidden {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n\n /* ── Reduced motion ─────────────────────────────────────────────────── */\n\n ${o(".root")}\n`;const s=class{constructor(e){n(this,e);this.theme="dark";this.target="_self";this.icon="arrow-right";this.hideLabel=false;this.active=false;this.underline=false;this.size="md";this.alignLabel="end";this.stretch=false}render(){var n;const a=!!this.href;const i=a?"a":"span";const o=this.icon!=="none";const s=this.size==="sm"?14:this.size==="lg"?20:16;const d=a?Object.assign({href:this.href,target:this.target,download:this.download,rel:(n=this.rel)!==null&&n!==void 0?n:this.target==="_blank"?"noopener noreferrer":undefined},this.label?{"aria-label":this.label}:{}):{};return e(t,{key:"151e2ccb51fddc1c75a95717f2828e26f436d8bc","data-theme":this.theme},e("style",{key:"13d21d184ad17818999dd79982579427deb1abc1",innerHTML:r()}),e(i,Object.assign({key:"47d9ce0db987cadf606730aa385e868e9a03633e",class:"root"},d,{part:"base"}),o&&e("span",{key:"db89d6a428e17049d457190e5255486bcaecc48a",class:"icon","aria-hidden":"true"},e("diwa-icon",{key:"b94918195e7a2dee50d061f0efd7a476aa525950",name:this.icon,size:s})),e("span",{key:"b45e4f2bd9aa89d78237f21cd8842d365f4fe93d",class:`label${this.hideLabel?" label--hidden":""}`,part:"label"},e("slot",{key:"1613058d56403ec4a41b31e28eef798df3454720"}))))}static get delegatesFocus(){return true}get host(){return a(this)}};export{s as diwa_link_pure};
|
|
2
|
-
//# sourceMappingURL=p-887e0cb5.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","getFocusStyle","getReducedMotionStyle","DiwaLinkPure","constructor","hostRef","this","theme","target","icon","hideLabel","active","underline","size","alignLabel","stretch","render","isAnchor","href","Tag","hasIcon","iconSize","anchorProps","download","rel","_a","undefined","label","h","Host","key","innerHTML","Object","assign","class","part","name"],"sources":["src/components/diwa-link-pure/diwa-link-pure-styles.ts","src/components/diwa-link-pure/diwa-link-pure.tsx"],"sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\n\nexport const getComponentCss = (): string => `\n\n /* ── Host ──────────────────────────────────────────────────────────── */\n\n :host {\n display: inline-flex;\n position: relative;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* Stretch: fill the parent's inline axis */\n :host([stretch]) {\n display: flex;\n width: 100%;\n }\n\n /* ── Root element (<a> or <span>) ───────────────────────────────────── */\n\n .root {\n display: inline-flex;\n align-items: center;\n gap: var(--diwa-space-2);\n flex-direction: row; /* overridden by alignLabel=start below */\n\n background: transparent;\n border: none;\n padding: var(--diwa-space-0-5) var(--diwa-space-1);\n margin: 0;\n cursor: pointer;\n\n font-family: inherit;\n font-size: var(--diwa-font-size-base);\n font-weight: var(--diwa-font-weight-regular);\n line-height: 1;\n color: var(--diwa-text-primary);\n text-decoration: none;\n white-space: nowrap;\n\n -webkit-appearance: none;\n appearance: none;\n -webkit-font-smoothing: antialiased;\n\n border-radius: var(--diwa-radius-sm);\n }\n\n /* Stretch: push icon and label to opposite edges */\n :host([stretch]) .root {\n width: 100%;\n justify-content: space-between;\n }\n\n /* ── Focus ring ─────────────────────────────────────────────────────── */\n\n ${getFocusStyle('.root')}\n\n /* ── Size ───────────────────────────────────────────────────────────── */\n\n :host([size=\"sm\"]) .root {\n font-size: var(--diwa-font-size-sm);\n }\n\n :host([size=\"lg\"]) .root {\n font-size: var(--diwa-font-size-lg);\n }\n\n /* ── Hover ──────────────────────────────────────────────────────────── */\n\n .root:hover {\n background-color: var(--diwa-bg-hover);\n }\n\n /* ── Active state (CSS :active + [active] prop) ─────────────────────── */\n\n :host([active]) .root,\n .root:active {\n background-color: var(--diwa-bg-active);\n color: var(--diwa-text-primary);\n }\n\n /* ── Visited — prevent browser default purple ───────────────────────── */\n\n .root:visited {\n color: var(--diwa-text-primary);\n }\n\n /* ── alignLabel: start → label on left, icon on right ──────────────── */\n\n :host([align-label=\"start\"]) .root {\n flex-direction: row-reverse;\n }\n\n /* ── Underline label text ───────────────────────────────────────────── */\n\n :host([underline]) .label {\n text-decoration: underline;\n }\n\n /* ── Icon wrapper ───────────────────────────────────────────────────── */\n\n .icon {\n display: contents;\n flex-shrink: 0;\n line-height: 0;\n }\n\n /* ── Label: visually hidden (sr-only / icon-only mode) ──────────────── */\n\n .label--hidden {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n\n /* ── Reduced motion ─────────────────────────────────────────────────── */\n\n ${getReducedMotionStyle('.root')}\n`;","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\nimport type { LinkPureSize, LinkPureAlignLabel, LinkTarget } from \"./types\";\nimport type { Theme } from \"../../utils/styles\";\nimport { getComponentCss } from \"./diwa-link-pure-styles\";\n\n/**\n * @component diwa-link-pure\n *\n * A minimal, text+icon link — no background or border. Mirrors PDS p-link-pure.\n * Renders as <a> when href is set, otherwise as a non-interactive <span>.\n *\n * Usage:\n * <diwa-link-pure href=\"/more\">Read more</diwa-link-pure>\n * <diwa-link-pure href=\"/back\" icon=\"arrow-left\" align-label=\"start\">Back</diwa-link-pure>\n * <diwa-link-pure href=\"/close\" hide-label label=\"Close\" icon=\"x\" />\n *\n * @slot default — Link label text\n */\n@Component({\n tag: \"diwa-link-pure\",\n shadow: { delegatesFocus: true },\n})\nexport class DiwaLinkPure {\n @Element() host!: HTMLDiwaLinkPureElement;\n\n /** Per-component theme override (light / dark). */\n @Prop({ reflect: true }) theme: Theme = \"dark\";\n\n /** The URL the link points to. When set, renders as <a>. */\n @Prop() href?: string;\n\n /** Target attribute — where to open the linked URL. */\n @Prop() target: LinkTarget = \"_self\";\n\n /** Native download attribute for triggering file downloads. */\n @Prop() download?: string;\n\n /** Relationship between the current document and the linked resource. */\n @Prop() rel?: string;\n\n /**\n * Lucide icon name (kebab-case, e.g. \"arrow-right\"), or \"none\" to hide icon.\n * Defaults to \"arrow-right\" — matching PDS p-link-pure.\n */\n @Prop() icon: string = \"arrow-right\";\n\n /** Hides the label visually (icon-only mode). Keep slot text for screen readers. */\n @Prop({ reflect: true }) hideLabel: boolean = false;\n\n /** Display the link in active/pressed visual state. */\n @Prop({ reflect: true }) active: boolean = false;\n\n /** Shows an underline decoration on the label text. */\n @Prop({ reflect: true }) underline: boolean = false;\n\n /** Text size tier — also scales the icon. */\n @Prop({ reflect: true }) size: LinkPureSize = \"md\";\n\n /**\n * Controls label position relative to the icon.\n * \"end\" (default): [icon] [label]\n * \"start\": [label] [icon]\n */\n @Prop({ reflect: true }) alignLabel: LinkPureAlignLabel = \"end\";\n\n /** Stretches the link to fill its container width. */\n @Prop({ reflect: true }) stretch: boolean = false;\n\n /** Accessible aria-label override — useful for icon-only links. */\n @Prop() label?: string;\n\n render() {\n const isAnchor = !!this.href;\n const Tag = isAnchor ? (\"a\" as any) : (\"span\" as any);\n const hasIcon = this.icon !== \"none\";\n const iconSize = this.size === \"sm\" ? 14 : this.size === \"lg\" ? 20 : 16;\n\n const anchorProps = isAnchor\n ? {\n href: this.href,\n target: this.target,\n download: this.download,\n rel:\n this.rel ??\n (this.target === \"_blank\" ? \"noopener noreferrer\" : undefined),\n ...(this.label ? { \"aria-label\": this.label } : {}),\n }\n : {};\n\n return (\n <Host data-theme={this.theme}>\n <style innerHTML={getComponentCss()} />\n <Tag class=\"root\" {...anchorProps} part=\"base\">\n {hasIcon && (\n <span class=\"icon\" aria-hidden=\"true\">\n <diwa-icon name={this.icon} size={iconSize} />\n </span>\n )}\n <span\n class={`label${this.hideLabel ? \" label--hidden\" : \"\"}`}\n part=\"label\"\n >\n <slot />\n </span>\n </Tag>\n </Host>\n );\n }\n}"],"mappings":"oGAEO,MAAMA,EAAkB,IAAc,m3CA0DzCC,EAAc,wlDAoEdC,EAAsB,a,MC1GbC,EAAY,MAJzB,WAAAC,CAAAC,G,UAQ2BC,KAAAC,MAAe,OAMhCD,KAAAE,OAAqB,QAYrBF,KAAAG,KAAe,cAGEH,KAAAI,UAAqB,MAGrBJ,KAAAK,OAAkB,MAGlBL,KAAAM,UAAqB,MAGrBN,KAAAO,KAAqB,KAOrBP,KAAAQ,WAAiC,MAGjCR,KAAAS,QAAmB,K,CAK5C,MAAAC,G,MACE,MAAMC,IAAaX,KAAKY,KACxB,MAAMC,EAAMF,EAAY,IAAe,OACvC,MAAMG,EAAUd,KAAKG,OAAS,OAC9B,MAAMY,EAAWf,KAAKO,OAAS,KAAO,GAAKP,KAAKO,OAAS,KAAO,GAAK,GAErE,MAAMS,EAAcL,E,eAEdC,KAAMZ,KAAKY,KACXV,OAAQF,KAAKE,OACbe,SAAUjB,KAAKiB,SACfC,KACEC,EAAAnB,KAAKkB,OAAG,MAAAC,SAAA,EAAAA,EACPnB,KAAKE,SAAW,SAAW,sBAAwBkB,WAClDpB,KAAKqB,MAAQ,CAAE,aAAcrB,KAAKqB,OAAU,IAElD,GAEJ,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAaxB,KAAKC,OACrBqB,EAAA,SAAAE,IAAA,2CAAOC,UAAW/B,MAClB4B,EAACT,EAAGa,OAAAC,OAAA,CAAAH,IAAA,2CAACI,MAAM,QAAWZ,EAAW,CAAEa,KAAK,SACrCf,GACCQ,EAAA,QAAAE,IAAA,2CAAMI,MAAM,OAAM,cAAa,QAC7BN,EAAA,aAAAE,IAAA,2CAAWM,KAAM9B,KAAKG,KAAMI,KAAMQ,KAGtCO,EAAA,QAAAE,IAAA,2CACEI,MAAO,QAAQ5B,KAAKI,UAAY,iBAAmB,KACnDyB,KAAK,SAELP,EAAA,QAAAE,IAAA,+C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,c as e,h as a,H as i,g as t}from"./p-ed4017f0.js";import{g as o,a as r}from"./p-70bbb21a.js";const s=()=>`\n\n /* ── Host ──────────────────────────────────────────────────────────── */\n\n :host {\n display: block;\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-border);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── Heading wrapper (h2…h6) ─────────────────────────────────────── */\n\n .heading {\n margin: 0;\n padding: 0;\n font-size: inherit;\n font-weight: inherit;\n }\n\n /* ── Toggle button ───────────────────────────────────────────────── */\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--diwa-space-9);\n width: 100%;\n background: transparent;\n border: none;\n padding: var(--diwa-space-4) var(--diwa-space-2);\n margin: 0;\n cursor: pointer;\n font-family: inherit;\n font-size: var(--diwa-font-size-lg, 16px);\n font-weight: var(--diwa-font-weight-semibold);\n line-height: 1.3;\n color: var(--diwa-text-primary);\n text-align: start;\n -webkit-appearance: none;\n appearance: none;\n -webkit-font-smoothing: antialiased;\n outline: none;\n border-radius: var(--diwa-radius-sm);\n }\n\n :host([compact]) .header {\n padding: var(--diwa-space-0-5) var(--diwa-space-1);\n font-size: var(--diwa-font-size-base);\n font-weight: var(--diwa-font-weight-medium);\n }\n\n /* ── Focus ring ─────────────────────────────────────────────────── */\n\n ${o(".header")}\n\n /* ── Hover / active ─────────────────────────────────────────────── */\n\n .header:hover {\n background-color: var(--diwa-bg-hover);\n }\n\n .header:active {\n background-color: var(--diwa-bg-active);\n }\n\n /* Heading text sits above ::before */\n .heading-text {\n position: relative;\n flex: 1;\n min-width: 0;\n }\n\n /* ── Chevron container ──────────────────────────────────────────── */\n\n /* Wrap the icon so we can apply the rotation transform to a real DOM\n element rather than to the shadow host of diwa-icon itself. */\n .chevron-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n position: relative;\n transition: transform var(--diwa-transition-slow, 0.25s ease);\n }\n\n :host([open]) .chevron-container {\n transform: rotate(180deg);\n }\n\n /* ── Collapsible panel ──────────────────────────────────────────── */\n\n /* grid trick: 0fr collapses the row to zero height without display:none,\n so CSS transitions can animate smoothly between 0fr and 1fr. */\n .collapsible {\n display: grid;\n grid-template-rows: 0fr;\n visibility: hidden;\n transition:\n grid-template-rows var(--diwa-transition-slow, 0.25s ease),\n visibility 0s linear var(--diwa-transition-slow, 0.25s);\n }\n\n :host([open]) .collapsible {\n grid-template-rows: 1fr;\n visibility: inherit;\n transition:\n grid-template-rows var(--diwa-transition-slow, 0.25s ease),\n visibility 0s;\n }\n\n /* Inner must have overflow: hidden and min-height: 0 for the grid trick.\n Negative margin/padding ensures focus rings from slotted content are\n fully visible (matching PDS accordion inner div treatment). */\n .inner {\n overflow: hidden;\n min-height: 0;\n padding: var(--diwa-space-1);\n margin: calc(-1 * var(--diwa-space-1));\n }\n\n /* Switch to overflow: visible when panel is open so slotted content\n like dropdowns and select menus are not clipped. Use an animation\n to keep overflow hidden for the duration of the closing transition. */\n :host([open]) .inner {\n overflow: visible;\n }\n\n .content {\n padding-bottom: var(--diwa-space-9);\n padding-inline: var(--diwa-space-2);\n }\n\n :host([compact]) .content {\n padding-bottom: var(--diwa-space-5);\n padding-inline: var(--diwa-space-1);\n }\n\n /* ── Reduced motion ─────────────────────────────────────────────── */\n\n ${r(".chevron-container",".collapsible",".inner")}\n`;let d=0;const c=class{constructor(a){n(this,a);this.update=e(this,"update",1);this.uid=`diwa-accordion-${++d}`;this.theme="dark";this.heading="";this.headingTag="h2";this.open=false;this.compact=false;this.handleToggle=()=>{this.update.emit({open:!this.open})}}get buttonId(){return`${this.uid}-btn`}get panelId(){return`${this.uid}-panel`}render(){const n=this.headingTag;const e=this.compact?16:20;return a(i,{key:"d0e5725cdcbc18b1140ad2c20a0656959f67602c","data-theme":this.theme},a("style",{key:"cf359da775a262093aa7ea4579c36898fc569584",innerHTML:s()}),a(n,{key:"7f9c400334f128d0adc07bed26231eb544c88199",class:"heading"},a("button",{key:"0d3e2f484bd7492a1d675631b77231097a1509ef",class:"header",id:this.buttonId,"aria-expanded":String(this.open),"aria-controls":this.panelId,onClick:this.handleToggle},a("span",{key:"9a55d56f77c938f232b4ce6a22783fb757cc02e0",class:"heading-text"},this.heading),a("span",{key:"69aa73b20f083383e9f62578f702af727730a25f",class:"chevron-container"},a("diwa-icon",{key:"b156ff3b3225baf2392df24c669e30329dd19820",name:"chevron-down",size:e})))),a("div",{key:"2d6bf29a7209e1e7f89eb0d5f6cebb38007d4937",id:this.panelId,class:"collapsible",role:"region","aria-labelledby":this.buttonId},a("div",{key:"63984cab316da69de9be6f59c6e2b1483313b99e",class:"inner"},a("div",{key:"27b4225e6edd6a7fce9caa00d97c850d946349b9",class:"content"},a("slot",{key:"79cf969a2fac8d3904e024465b53a59c0e658835"})))))}static get delegatesFocus(){return true}get host(){return t(this)}};export{c as diwa_accordion};
|
|
2
|
-
//# sourceMappingURL=p-8afa6931.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","getFocusStyle","getReducedMotionStyle","accordionCount","DiwaAccordion","constructor","hostRef","this","uid","theme","heading","headingTag","open","compact","handleToggle","update","emit","buttonId","panelId","render","HeadingTag","iconSize","h","Host","key","innerHTML","class","id","String","onClick","name","size","role"],"sources":["src/components/diwa-accordion/diwa-accordion-styles.ts","src/components/diwa-accordion/diwa-accordion.tsx"],"sourcesContent":["/**\r\n * diwa-accordion-styles.ts\r\n * =========================\r\n * CSS-in-JS styles for <diwa-accordion>.\r\n *\r\n * Animation technique: CSS `grid-template-rows: 0fr ↔ 1fr` — smoothly\r\n * collapses/expands the content without requiring fixed heights.\r\n *\r\n * The inner wrapper uses `visibility: hidden` when closed so keyboard focus\r\n * cannot reach interactive content inside a collapsed panel.\r\n */\r\n\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Heading wrapper (h2…h6) ─────────────────────────────────────── */\r\n\r\n .heading {\r\n margin: 0;\r\n padding: 0;\r\n font-size: inherit;\r\n font-weight: inherit;\r\n }\r\n\r\n /* ── Toggle button ───────────────────────────────────────────────── */\r\n\r\n .header {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n gap: var(--diwa-space-9);\r\n width: 100%;\r\n background: transparent;\r\n border: none;\r\n padding: var(--diwa-space-4) var(--diwa-space-2);\r\n margin: 0;\r\n cursor: pointer;\r\n font-family: inherit;\r\n font-size: var(--diwa-font-size-lg, 16px);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n line-height: 1.3;\r\n color: var(--diwa-text-primary);\r\n text-align: start;\r\n -webkit-appearance: none;\r\n appearance: none;\r\n -webkit-font-smoothing: antialiased;\r\n outline: none;\r\n border-radius: var(--diwa-radius-sm);\r\n }\r\n\r\n :host([compact]) .header {\r\n padding: var(--diwa-space-0-5) var(--diwa-space-1);\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-medium);\r\n }\r\n\r\n /* ── Focus ring ─────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('.header')}\r\n\r\n /* ── Hover / active ─────────────────────────────────────────────── */\r\n\r\n .header:hover {\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n .header:active {\r\n background-color: var(--diwa-bg-active);\r\n }\r\n\r\n /* Heading text sits above ::before */\r\n .heading-text {\r\n position: relative;\r\n flex: 1;\r\n min-width: 0;\r\n }\r\n\r\n /* ── Chevron container ──────────────────────────────────────────── */\r\n\r\n /* Wrap the icon so we can apply the rotation transform to a real DOM\r\n element rather than to the shadow host of diwa-icon itself. */\r\n .chevron-container {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-shrink: 0;\r\n position: relative;\r\n transition: transform var(--diwa-transition-slow, 0.25s ease);\r\n }\r\n\r\n :host([open]) .chevron-container {\r\n transform: rotate(180deg);\r\n }\r\n\r\n /* ── Collapsible panel ──────────────────────────────────────────── */\r\n\r\n /* grid trick: 0fr collapses the row to zero height without display:none,\r\n so CSS transitions can animate smoothly between 0fr and 1fr. */\r\n .collapsible {\r\n display: grid;\r\n grid-template-rows: 0fr;\r\n visibility: hidden;\r\n transition:\r\n grid-template-rows var(--diwa-transition-slow, 0.25s ease),\r\n visibility 0s linear var(--diwa-transition-slow, 0.25s);\r\n }\r\n\r\n :host([open]) .collapsible {\r\n grid-template-rows: 1fr;\r\n visibility: inherit;\r\n transition:\r\n grid-template-rows var(--diwa-transition-slow, 0.25s ease),\r\n visibility 0s;\r\n }\r\n\r\n /* Inner must have overflow: hidden and min-height: 0 for the grid trick.\r\n Negative margin/padding ensures focus rings from slotted content are\r\n fully visible (matching PDS accordion inner div treatment). */\r\n .inner {\r\n overflow: hidden;\r\n min-height: 0;\r\n padding: var(--diwa-space-1);\r\n margin: calc(-1 * var(--diwa-space-1));\r\n }\r\n\r\n /* Switch to overflow: visible when panel is open so slotted content\r\n like dropdowns and select menus are not clipped. Use an animation\r\n to keep overflow hidden for the duration of the closing transition. */\r\n :host([open]) .inner {\r\n overflow: visible;\r\n }\r\n\r\n .content {\r\n padding-bottom: var(--diwa-space-9);\r\n padding-inline: var(--diwa-space-2);\r\n }\r\n\r\n :host([compact]) .content {\r\n padding-bottom: var(--diwa-space-5);\r\n padding-inline: var(--diwa-space-1);\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.chevron-container', '.collapsible', '.inner')}\r\n`;\r\n","import { Component, Element, Event, type EventEmitter, Host, Prop, h } from '@stencil/core';\r\nimport type { AccordionHeadingTag } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-accordion-styles';\r\n\r\n/** Monotonically increasing counter to guarantee unique IDs per instance. */\r\nlet accordionCount = 0;\r\n\r\n/**\r\n * @component diwa-accordion\r\n *\r\n * A controlled, animated accordion panel. The consumer is responsible\r\n * for toggling the `open` prop in response to the `update` event —\r\n * the same controlled pattern used throughout PDS.\r\n *\r\n * Accessibility:\r\n * - Heading tag wraps the toggle button (ARIA Authoring Practices §3.1)\r\n * - Button has `aria-expanded` and `aria-controls` pointing to the panel\r\n * - Panel has `role=\"region\"` and `aria-labelledby` the button id\r\n * - `visibility: hidden` when closed keeps interactive slot content\r\n * out of the keyboard tab order\r\n *\r\n * Usage:\r\n * <diwa-accordion heading=\"What is this?\" open={false} onUpdate={e => open = e.detail.open}>\r\n * Content here.\r\n * </diwa-accordion>\r\n *\r\n * @slot default — Collapsible content rendered inside the panel.\r\n */\r\n@Component({\r\n tag: 'diwa-accordion',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaAccordion {\r\n @Element() host!: HTMLDiwaAccordionElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Instance identity\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private readonly uid = `diwa-accordion-${++accordionCount}`;\r\n private get buttonId() { return `${this.uid}-btn`; }\r\n private get panelId() { return `${this.uid}-panel`; }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Per-component theme override (`light` / `dark`). */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Visible heading text rendered inside the toggle button. */\r\n @Prop() heading: string = '';\r\n\r\n /** Semantic heading level for the toggle button wrapper. */\r\n @Prop() headingTag: AccordionHeadingTag = 'h2';\r\n\r\n /**\r\n * Whether the accordion panel is currently open.\r\n *\r\n * This is a **controlled** prop: the component always reflects\r\n * its `open` state outward via the `update` event, but never\r\n * mutates the prop internally. The consumer must update it.\r\n */\r\n @Prop({ reflect: true }) open: boolean = false;\r\n\r\n /** Reduces padding and font size for denser UI contexts. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Emitted when the user clicks the header toggle button.\r\n *\r\n * `event.detail.open` is the **requested** next state.\r\n * The consumer must set the `open` prop accordingly:\r\n *\r\n * ```html\r\n * <diwa-accordion onUpdate={e => this.open = e.detail.open} />\r\n * ```\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<{ open: boolean }>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private handleToggle = (): void => {\r\n this.update.emit({ open: !this.open });\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const HeadingTag = this.headingTag as keyof HTMLElementTagNameMap;\r\n const iconSize = this.compact ? 16 : 20;\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n\r\n <HeadingTag class=\"heading\">\r\n <button\r\n class=\"header\"\r\n id={this.buttonId}\r\n aria-expanded={String(this.open)}\r\n aria-controls={this.panelId}\r\n onClick={this.handleToggle}\r\n >\r\n <span class=\"heading-text\">{this.heading}</span>\r\n <span class=\"chevron-container\">\r\n <diwa-icon name=\"chevron-down\" size={iconSize} />\r\n </span>\r\n </button>\r\n </HeadingTag>\r\n\r\n <div\r\n id={this.panelId}\r\n class=\"collapsible\"\r\n role=\"region\"\r\n aria-labelledby={this.buttonId}\r\n >\r\n <div class=\"inner\">\r\n <div class=\"content\">\r\n <slot />\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"2GAcO,MAAMA,EAAkB,IAAc,w7CAyDzCC,EAAc,q8EAsFdC,EAAsB,qBAAsB,eAAgB,cCvJhE,IAAIC,EAAiB,E,MA2BRC,EAAa,MAJ1B,WAAAC,CAAAC,G,yCAWmBC,KAAAC,IAAM,oBAAoBL,IASlBI,KAAAE,MAAe,OAGhCF,KAAAG,QAAkB,GAGlBH,KAAAI,WAAkC,KASjBJ,KAAAK,KAAgB,MAGhBL,KAAAM,QAAmB,MAuBpCN,KAAAO,aAAe,KACrBP,KAAKQ,OAAOC,KAAK,CAAEJ,MAAOL,KAAKK,MAAO,C,CAlDxC,YAAYK,GAAa,MAAO,GAAGV,KAAKC,SAAU,CAClD,WAAYU,GAAa,MAAO,GAAGX,KAAKC,WAAY,CAwDpD,MAAAW,GACE,MAAMC,EAAab,KAAKI,WACxB,MAAMU,EAAWd,KAAKM,QAAU,GAAK,GAErC,OACES,EAACC,EAAI,CAAAC,IAAA,wDAAajB,KAAKE,OACrBa,EAAA,SAAAE,IAAA,2CAAOC,UAAWzB,MAElBsB,EAACF,EAAU,CAAAI,IAAA,2CAACE,MAAM,WAChBJ,EAAA,UAAAE,IAAA,2CACEE,MAAM,SACNC,GAAIpB,KAAKU,SAAQ,gBACFW,OAAOrB,KAAKK,MAAK,gBACjBL,KAAKW,QACpBW,QAAStB,KAAKO,cAEdQ,EAAA,QAAAE,IAAA,2CAAME,MAAM,gBAAgBnB,KAAKG,SACjCY,EAAA,QAAAE,IAAA,2CAAME,MAAM,qBACVJ,EAAA,aAAAE,IAAA,2CAAWM,KAAK,eAAeC,KAAMV,OAK3CC,EAAA,OAAAE,IAAA,2CACEG,GAAIpB,KAAKW,QACTQ,MAAM,cACNM,KAAK,SAAQ,kBACIzB,KAAKU,UAEtBK,EAAA,OAAAE,IAAA,2CAAKE,MAAM,SACTJ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,WACTJ,EAAA,QAAAE,IAAA,gD","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,c as t,h as e,H as i,g as a}from"./p-ed4017f0.js";import{g as s,a as r}from"./p-70bbb21a.js";const o=()=>`\n\n /* ── Host ─────────────────────────────────────────────────────────── */\n\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── Nav wrapper ──────────────────────────────────────────────────── */\n\n .nav {\n display: flex;\n justify-content: center;\n user-select: none;\n }\n\n /* ── Item list ────────────────────────────────────────────────────── */\n\n .list {\n display: flex;\n align-items: center;\n gap: var(--diwa-space-1);\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n /* Extra breathing room between prev/next and the page number group */\n .list > li:first-child {\n margin-inline-end: var(--diwa-space-2);\n }\n\n .list > li:last-child {\n margin-inline-start: var(--diwa-space-2);\n }\n\n /* ── Shared button base ───────────────────────────────────────────── */\n\n .btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--diwa-pagination-item-size);\n height: var(--diwa-pagination-item-size);\n box-sizing: border-box;\n padding: 0;\n border: var(--diwa-border-width-medium) solid transparent;\n border-radius: var(--diwa-radius-md);\n background: transparent;\n color: var(--diwa-text-primary);\n font-size: var(--diwa-font-size-sm);\n font-family: inherit;\n font-weight: var(--diwa-font-weight-normal);\n line-height: 1;\n cursor: pointer;\n transition: background-color var(--diwa-transition-fast),\n border-color var(--diwa-transition-fast);\n }\n\n /* ── Hover ────────────────────────────────────────────────────────── */\n\n .btn:hover:not(:disabled):not([aria-current]) {\n background: var(--diwa-bg-hover);\n }\n\n /* ── Active page ──────────────────────────────────────────────────── */\n\n /* Diwa brand treatment: bottom accent line instead of PDS border box */\n .btn[aria-current="page"] {\n border-bottom-color: var(--diwa-accent);\n cursor: default;\n }\n\n /* ── Disabled (prev/next at boundaries) ──────────────────────────── */\n\n .btn:disabled {\n opacity: 0.38;\n cursor: not-allowed;\n pointer-events: none;\n }\n\n /* ── Ellipsis ─────────────────────────────────────────────────────── */\n\n .ellipsis {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--diwa-pagination-item-size);\n height: var(--diwa-pagination-item-size);\n color: var(--diwa-text-secondary);\n font-size: var(--diwa-font-size-sm);\n cursor: default;\n user-select: none;\n }\n\n /* ── Focus ring ───────────────────────────────────────────────────── */\n\n ${s(".btn")}\n\n /* ── Reduced motion ───────────────────────────────────────────────── */\n\n ${r(".btn")}\n`;var c;(function(n){n[n["PAGE"]=0]="PAGE";n[n["ELLIPSIS"]=1]="ELLIPSIS";n[n["PREVIOUS"]=2]="PREVIOUS";n[n["NEXT"]=3]="NEXT"})(c||(c={}));const l={type:c.ELLIPSIS,isActive:false};const d=n=>{const{activePage:t}=n;return{type:c.PREVIOUS,value:Math.max(1,t-1),isActive:t>1}};const u=n=>{const{activePage:t,pageTotal:e}=n;return{type:c.NEXT,value:Math.min(e,t+1),isActive:t<e}};const h=({activePage:n})=>t=>({type:c.PAGE,value:t,isActive:t===n,isBeforeCurrent:t===n-1,isBeforeBeforeCurrent:t===n-2,isAfterCurrent:t===n+1,isAfterAfterCurrent:t===n+2});const p=(n,t)=>Array.from(new Array(t-n+1),((t,e)=>e+n));const g=n=>{const{pageTotal:t,activePage:e,showLastPage:i}=n;const a=1;const s=1;const r=1;const o=[d(n)];const c=h(n);if(1+2*r+2*s>=t){const n=p(1,t).map(c);o.push(...n)}else{o.push(c(1));const n=Math.min(Math.max(e-a,2+r),t-r-2-(i?1:0));const s=n+2;const d=p(n,s).map(c);const u=n-1;const h=u===2;const g=h?c(u):l;o.push(g);o.push(...d);const b=s+1;const v=b===t-(i?1:0);const f=v?c(b):l;o.push(f);if(i){o.push(c(t))}}o.push(u(n));return o};const b=(n,t)=>n<1?1:n>t?t:n;const v=(n,t)=>{if(t<1)return 1;const e=n<1?1:n;return Math.ceil(e/t)};const f=class{constructor(e){n(this,e);this.update=t(this,"update",1);this.theme="dark";this.totalItemsCount=1;this.itemsPerPage=1;this.activePage=1;this.showLastPage=true;this.intl={root:"Pagination",prev:"Previous page",next:"Next page",page:"Page"}}handleClick(n){if(n!==this.activePage){this.update.emit({page:n,previousPage:this.activePage});this.activePage=n}}render(){var n,t,a,s,r;const l=v(this.totalItemsCount,this.itemsPerPage);const d=b(this.activePage,l);const u=g({activePage:d,pageTotal:l,showLastPage:this.showLastPage});const h=(n=this.intl)!==null&&n!==void 0?n:{};const p=(t=h.root)!==null&&t!==void 0?t:"Pagination";const f=(a=h.prev)!==null&&a!==void 0?a:"Previous page";const w=(s=h.next)!==null&&s!==void 0?s:"Next page";const y=(r=h.page)!==null&&r!==void 0?r:"Page";return e(i,{key:"e6c7aa31aabb891a607d3e5396a5c4413bd36195","data-theme":this.theme},e("style",{key:"58206c30ec4ba3dd4c2972bee88dceba92099e3b",innerHTML:o()}),e("nav",{key:"437c5abf36082bdbc21ae6f72c77edc1c5c2a0a0","aria-label":p,class:"nav"},e("ul",{key:"94930f888757eb824f0d71c4d8c75ed53f0599c5",class:"list"},u.map(((n,t)=>{const{type:i,isActive:a,value:s}=n;if(i===c.PREVIOUS){return e("li",{key:"prev"},e("button",{class:"btn",disabled:!a,"aria-label":f,onClick:()=>a&&this.handleClick(s)},e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},e("polyline",{points:"15 18 9 12 15 6"}))))}if(i===c.NEXT){return e("li",{key:"next"},e("button",{class:"btn",disabled:!a,"aria-label":w,onClick:()=>a&&this.handleClick(s)},e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},e("polyline",{points:"9 18 15 12 9 6"}))))}if(i===c.ELLIPSIS){return e("li",{key:`ellipsis-${t}`},e("span",{class:"ellipsis","aria-hidden":"true"},"…"))}return e("li",{key:s},e("button",{class:"btn","aria-label":`${y} ${s}`,"aria-current":a?"page":undefined,onClick:()=>this.handleClick(s)},s))})))))}static get delegatesFocus(){return true}get host(){return a(this)}};export{f as diwa_pagination};
|
|
2
|
-
//# sourceMappingURL=p-8b210952.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","getFocusStyle","getReducedMotionStyle","ItemType","ellipsisItem","type","ELLIPSIS","isActive","createPreviousPageLink","options","activePage","PREVIOUS","value","Math","max","createNextPageLink","pageTotal","NEXT","min","createPageFunctionFactory","pageNumber","PAGE","isBeforeCurrent","isBeforeBeforeCurrent","isAfterCurrent","isAfterAfterCurrent","createRange","start","end","Array","from","_","i","createPaginationItems","showLastPage","pageRange","boundaryPagesRange","ellipsisSize","paginationItems","createPage","allPages","map","push","middlePagesStart","middlePagesEnd","middlePages","firstEllipsisPageNumber","showPageInsteadOfFirstEllipsis","firstEllipsisOrPage","lastEllipsisPageNumber","showPageInsteadOfLastEllipsis","lastEllipsisOrPage","getCurrentActivePage","totalPages","getTotalPages","totalItemsCount","itemsPerPage","total","ceil","DiwaPagination","constructor","hostRef","this","theme","intl","root","prev","next","page","handleClick","update","emit","previousPage","render","currentPage","items","_a","rootLabel","_b","prevLabel","_c","nextLabel","_d","pageLabel","_e","h","Host","key","innerHTML","class","item","index","disabled","onClick","width","height","viewBox","fill","stroke","points","undefined"],"sources":["src/components/diwa-pagination/diwa-pagination-styles.ts","src/components/diwa-pagination/diwa-pagination-utils.ts","src/components/diwa-pagination/diwa-pagination.tsx"],"sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n\r\n /* ── Host ─────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Nav wrapper ──────────────────────────────────────────────────── */\r\n\r\n .nav {\r\n display: flex;\r\n justify-content: center;\r\n user-select: none;\r\n }\r\n\r\n /* ── Item list ────────────────────────────────────────────────────── */\r\n\r\n .list {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--diwa-space-1);\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n /* Extra breathing room between prev/next and the page number group */\r\n .list > li:first-child {\r\n margin-inline-end: var(--diwa-space-2);\r\n }\r\n\r\n .list > li:last-child {\r\n margin-inline-start: var(--diwa-space-2);\r\n }\r\n\r\n /* ── Shared button base ───────────────────────────────────────────── */\r\n\r\n .btn {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--diwa-pagination-item-size);\r\n height: var(--diwa-pagination-item-size);\r\n box-sizing: border-box;\r\n padding: 0;\r\n border: var(--diwa-border-width-medium) solid transparent;\r\n border-radius: var(--diwa-radius-md);\r\n background: transparent;\r\n color: var(--diwa-text-primary);\r\n font-size: var(--diwa-font-size-sm);\r\n font-family: inherit;\r\n font-weight: var(--diwa-font-weight-normal);\r\n line-height: 1;\r\n cursor: pointer;\r\n transition: background-color var(--diwa-transition-fast),\r\n border-color var(--diwa-transition-fast);\r\n }\r\n\r\n /* ── Hover ────────────────────────────────────────────────────────── */\r\n\r\n .btn:hover:not(:disabled):not([aria-current]) {\r\n background: var(--diwa-bg-hover);\r\n }\r\n\r\n /* ── Active page ──────────────────────────────────────────────────── */\r\n\r\n /* Diwa brand treatment: bottom accent line instead of PDS border box */\r\n .btn[aria-current=\"page\"] {\r\n border-bottom-color: var(--diwa-accent);\r\n cursor: default;\r\n }\r\n\r\n /* ── Disabled (prev/next at boundaries) ──────────────────────────── */\r\n\r\n .btn:disabled {\r\n opacity: 0.38;\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n\r\n /* ── Ellipsis ─────────────────────────────────────────────────────── */\r\n\r\n .ellipsis {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--diwa-pagination-item-size);\r\n height: var(--diwa-pagination-item-size);\r\n color: var(--diwa-text-secondary);\r\n font-size: var(--diwa-font-size-sm);\r\n cursor: default;\r\n user-select: none;\r\n }\r\n\r\n /* ── Focus ring ───────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('.btn')}\r\n\r\n /* ── Reduced motion ───────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.btn')}\r\n`;\r\n","/**\r\n * Universal pagination model generation algorithm.\r\n *\r\n * Ported from an upstream pagination algorithm:\n * packages/components/src/components/pagination/pagination-utils.ts\r\n * (which was itself adapted from ultimate-pagination)\r\n *\r\n * Kept: ItemType, PaginationItem, PaginationOptions, createRange,\r\n * createPaginationItems, getTotalPages, getCurrentActivePage.\r\n * Dropped: deprecated allyLabel* types, maxNumberOfPageLinks.\r\n */\r\n\r\nexport type PaginationOptions = {\r\n activePage: number;\r\n pageTotal: number;\r\n showLastPage: boolean;\r\n};\r\n\r\nexport type PaginationItem = {\r\n /** Page number — relevant for clickable PAGE items; undefined for ELLIPSIS. */\r\n value?: number;\r\n /** True for the active page, and true for prev/next when they are actionable. */\r\n isActive: boolean;\r\n /** Positional flags used for responsive class names (future use). */\r\n isBeforeCurrent?: boolean;\r\n isBeforeBeforeCurrent?: boolean;\r\n isAfterCurrent?: boolean;\r\n isAfterAfterCurrent?: boolean;\r\n type: ItemType;\r\n};\r\n\r\nexport enum ItemType {\r\n PAGE = 0,\r\n ELLIPSIS = 1,\r\n PREVIOUS = 2,\r\n NEXT = 3,\r\n}\r\n\r\n// ── Internal helpers ────────────────────────────────────────────────────────\r\n\r\nconst ellipsisItem: PaginationItem = {\r\n type: ItemType.ELLIPSIS,\r\n isActive: false,\r\n};\r\n\r\nconst createPreviousPageLink = (options: PaginationOptions): PaginationItem => {\r\n const { activePage } = options;\r\n return {\r\n type: ItemType.PREVIOUS,\r\n value: Math.max(1, activePage - 1),\r\n isActive: activePage > 1,\r\n };\r\n};\r\n\r\nconst createNextPageLink = (options: PaginationOptions): PaginationItem => {\r\n const { activePage, pageTotal } = options;\r\n return {\r\n type: ItemType.NEXT,\r\n value: Math.min(pageTotal, activePage + 1),\r\n isActive: activePage < pageTotal,\r\n };\r\n};\r\n\r\nconst createPageFunctionFactory = ({\r\n activePage,\r\n}: PaginationOptions): ((pageNumber: number) => PaginationItem) => {\r\n return (pageNumber): PaginationItem => ({\r\n type: ItemType.PAGE,\r\n value: pageNumber,\r\n isActive: pageNumber === activePage,\r\n isBeforeCurrent: pageNumber === activePage - 1,\r\n isBeforeBeforeCurrent: pageNumber === activePage - 2,\r\n isAfterCurrent: pageNumber === activePage + 1,\r\n isAfterAfterCurrent: pageNumber === activePage + 2,\r\n });\r\n};\r\n\r\n// ── Public API ──────────────────────────────────────────────────────────────\r\n\r\nexport const createRange = (start: number, end: number): number[] =>\r\n Array.from(new Array(end - start + 1), (_, i) => i + start);\r\n\r\n/**\r\n * Builds the ordered list of pagination items (PREVIOUS, PAGE, ELLIPSIS, NEXT)\r\n * for the given options. The caller is responsible for clamping `activePage`\r\n * before passing it in — use `getCurrentActivePage()`.\r\n */\r\nexport const createPaginationItems = (options: PaginationOptions): PaginationItem[] => {\r\n const { pageTotal, activePage, showLastPage } = options;\r\n\r\n const pageRange = 1;\r\n const boundaryPagesRange = 1;\r\n const ellipsisSize = 1;\r\n const paginationItems: PaginationItem[] = [createPreviousPageLink(options)];\r\n const createPage = createPageFunctionFactory(options);\r\n\r\n // All pages fit without ellipsis\r\n if (1 + 2 * ellipsisSize + 2 * boundaryPagesRange >= pageTotal) {\r\n const allPages = createRange(1, pageTotal).map(createPage);\r\n paginationItems.push(...allPages);\r\n } else {\r\n // First page\r\n paginationItems.push(createPage(1));\r\n\r\n // Middle group\r\n const middlePagesStart = Math.min(\r\n Math.max(activePage - pageRange, 2 + ellipsisSize),\r\n pageTotal - ellipsisSize - 2 - (showLastPage ? 1 : 0),\r\n );\r\n const middlePagesEnd = middlePagesStart + 2;\r\n const middlePages = createRange(middlePagesStart, middlePagesEnd).map(createPage);\r\n\r\n // Ellipsis / page before middle group\r\n const firstEllipsisPageNumber = middlePagesStart - 1;\r\n const showPageInsteadOfFirstEllipsis = firstEllipsisPageNumber === 2;\r\n const firstEllipsisOrPage = showPageInsteadOfFirstEllipsis\r\n ? createPage(firstEllipsisPageNumber)\r\n : ellipsisItem;\r\n\r\n paginationItems.push(firstEllipsisOrPage);\r\n\r\n paginationItems.push(...middlePages);\r\n\r\n // Ellipsis / page after middle group\r\n const lastEllipsisPageNumber = middlePagesEnd + 1;\r\n const showPageInsteadOfLastEllipsis =\r\n lastEllipsisPageNumber === pageTotal - (showLastPage ? 1 : 0);\r\n const lastEllipsisOrPage = showPageInsteadOfLastEllipsis\r\n ? createPage(lastEllipsisPageNumber)\r\n : ellipsisItem;\r\n paginationItems.push(lastEllipsisOrPage);\r\n\r\n if (showLastPage) {\r\n paginationItems.push(createPage(pageTotal));\r\n }\r\n }\r\n\r\n paginationItems.push(createNextPageLink(options));\r\n return paginationItems;\r\n};\r\n\r\n/** Clamps activePage to a valid range [1, totalPages]. */\r\nexport const getCurrentActivePage = (activePage: number, totalPages: number): number => {\r\n return activePage < 1 ? 1 : activePage > totalPages ? totalPages : activePage;\r\n};\r\n\r\n/** Derives total page count, guarding against zero/negative inputs. */\r\nexport const getTotalPages = (totalItemsCount: number, itemsPerPage: number): number => {\r\n if (itemsPerPage < 1) return 1;\r\n const total = totalItemsCount < 1 ? 1 : totalItemsCount;\r\n return Math.ceil(total / itemsPerPage);\r\n};\r\n","import { Component, Element, Event, type EventEmitter, Host, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport type { PaginationIntl, PaginationUpdateEventDetail } from './types';\r\nimport { getComponentCss } from './diwa-pagination-styles';\r\nimport {\r\n createPaginationItems,\r\n getCurrentActivePage,\r\n getTotalPages,\r\n ItemType,\r\n} from './diwa-pagination-utils';\r\n\r\n/**\r\n * @component diwa-pagination\r\n *\r\n * Splits a large data set across numbered pages with previous and next navigation.\r\n * Renders up to 7 page items (prev + pages/ellipsis + next) matching Diwa's\n * pagination visual and API contract.\n *\r\n * The active page is indicated with a bottom accent line (`--diwa-accent`) rather\r\n * than a border box, keeping Diwa's minimal aesthetic.\r\n *\r\n * Semi-controlled: `activePage` is mutable — it updates internally on click AND\r\n * emits an `update` event so the consumer can sync external state.\r\n *\r\n * Usage:\r\n * <diwa-pagination total-items-count=\"500\" items-per-page=\"25\" active-page=\"1\"\r\n * onupdate={e => setPage(e.detail.page)} />\r\n *\r\n * Source lineage:\n * components/src/components/pagination/pagination.tsx\n */\r\n@Component({\r\n tag: 'diwa-pagination',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaPagination {\r\n @Element() host!: HTMLDiwaPaginationElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Per-component theme override (`light` / `dark`). */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Total number of items in the data set. */\r\n @Prop() totalItemsCount: number = 1;\r\n\r\n /** Number of items shown per page. */\r\n @Prop() itemsPerPage: number = 1;\r\n\r\n /**\r\n * Index of the currently active page (1-based).\r\n * Semi-controlled: mutates internally on click and emits `update`.\r\n */\r\n @Prop({ mutable: true }) activePage: number = 1;\r\n\r\n /** Show a direct link to the last page (in addition to the prev/next buttons). */\r\n @Prop() showLastPage: boolean = true;\r\n\r\n /**\r\n * Override the default aria-label wording for prev/next/page buttons and the nav element.\r\n * Useful for localisation.\r\n * Default: `{ root: 'Pagination', prev: 'Previous page', next: 'Next page', page: 'Page' }`\r\n */\r\n @Prop() intl: PaginationIntl = {\r\n root: 'Pagination',\r\n prev: 'Previous page',\r\n next: 'Next page',\r\n page: 'Page',\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Emitted when the user navigates to a different page.\r\n *\r\n * React consumers: use the lowercase `onupdate` prop:\r\n * ```jsx\r\n * <diwa-pagination onupdate={e => setPage(e.detail.page)} />\r\n * ```\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<PaginationUpdateEventDetail>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private handleClick(page: number): void {\r\n if (page !== this.activePage) {\r\n this.update.emit({ page, previousPage: this.activePage });\r\n this.activePage = page;\r\n }\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const pageTotal = getTotalPages(this.totalItemsCount, this.itemsPerPage);\r\n const currentPage = getCurrentActivePage(this.activePage, pageTotal);\r\n const items = createPaginationItems({\r\n activePage: currentPage,\r\n pageTotal,\r\n showLastPage: this.showLastPage,\r\n });\r\n\r\n const intl = this.intl ?? {};\r\n const rootLabel = intl.root ?? 'Pagination';\r\n const prevLabel = intl.prev ?? 'Previous page';\r\n const nextLabel = intl.next ?? 'Next page';\r\n const pageLabel = intl.page ?? 'Page';\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <nav aria-label={rootLabel} class=\"nav\">\r\n <ul class=\"list\">\r\n {items.map((item, index) => {\r\n const { type, isActive, value } = item;\r\n\r\n if (type === ItemType.PREVIOUS) {\r\n return (\r\n <li key=\"prev\">\r\n <button\r\n class=\"btn\"\r\n disabled={!isActive}\r\n aria-label={prevLabel}\r\n onClick={() => isActive && this.handleClick(value!)}\r\n >\r\n {/* Lucide ChevronLeft 16×16 */}\r\n <svg\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n aria-hidden=\"true\"\r\n >\r\n <polyline points=\"15 18 9 12 15 6\" />\r\n </svg>\r\n </button>\r\n </li>\r\n );\r\n }\r\n\r\n if (type === ItemType.NEXT) {\r\n return (\r\n <li key=\"next\">\r\n <button\r\n class=\"btn\"\r\n disabled={!isActive}\r\n aria-label={nextLabel}\r\n onClick={() => isActive && this.handleClick(value!)}\r\n >\r\n {/* Lucide ChevronRight 16×16 */}\r\n <svg\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n aria-hidden=\"true\"\r\n >\r\n <polyline points=\"9 18 15 12 9 6\" />\r\n </svg>\r\n </button>\r\n </li>\r\n );\r\n }\r\n\r\n if (type === ItemType.ELLIPSIS) {\r\n return (\r\n <li key={`ellipsis-${index}`}>\r\n <span class=\"ellipsis\" aria-hidden=\"true\">\r\n …\r\n </span>\r\n </li>\r\n );\r\n }\r\n\r\n // ItemType.PAGE\r\n return (\r\n <li key={value}>\r\n <button\r\n class=\"btn\"\r\n aria-label={`${pageLabel} ${value}`}\r\n aria-current={isActive ? 'page' : undefined}\r\n onClick={() => this.handleClick(value!)}\r\n >\r\n {value}\r\n </button>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"2GAEO,MAAMA,EAAkB,IAAc,mrFAuGzCC,EAAc,+FAIdC,EAAsB,YC9E1B,IAAYC,GAAZ,SAAYA,GACVA,IAAA,kBACAA,IAAA,0BACAA,IAAA,0BACAA,IAAA,iBACD,EALD,CAAYA,MAAQ,KASpB,MAAMC,EAA+B,CACnCC,KAAMF,EAASG,SACfC,SAAU,OAGZ,MAAMC,EAA0BC,IAC9B,MAAMC,WAAEA,GAAeD,EACvB,MAAO,CACLJ,KAAMF,EAASQ,SACfC,MAAOC,KAAKC,IAAI,EAAGJ,EAAa,GAChCH,SAAUG,EAAa,EACxB,EAGH,MAAMK,EAAsBN,IAC1B,MAAMC,WAAEA,EAAUM,UAAEA,GAAcP,EAClC,MAAO,CACLJ,KAAMF,EAASc,KACfL,MAAOC,KAAKK,IAAIF,EAAWN,EAAa,GACxCH,SAAUG,EAAaM,EACxB,EAGH,MAAMG,EAA4B,EAChCT,gBAEQU,IAAU,CAChBf,KAAMF,EAASkB,KACfT,MAAOQ,EACPb,SAAUa,IAAeV,EACzBY,gBAAiBF,IAAeV,EAAa,EAC7Ca,sBAAuBH,IAAeV,EAAa,EACnDc,eAAgBJ,IAAeV,EAAa,EAC5Ce,oBAAqBL,IAAeV,EAAa,IAM9C,MAAMgB,EAAc,CAACC,EAAeC,IACzCC,MAAMC,KAAK,IAAID,MAAMD,EAAMD,EAAQ,IAAI,CAACI,EAAGC,IAAMA,EAAIL,IAOhD,MAAMM,EAAyBxB,IACpC,MAAMO,UAAEA,EAASN,WAAEA,EAAUwB,aAAEA,GAAiBzB,EAEhD,MAAM0B,EAAY,EAClB,MAAMC,EAAqB,EAC3B,MAAMC,EAAe,EACrB,MAAMC,EAAoC,CAAC9B,EAAuBC,IAClE,MAAM8B,EAAapB,EAA0BV,GAG7C,GAAI,EAAI,EAAI4B,EAAe,EAAID,GAAsBpB,EAAW,CAC9D,MAAMwB,EAAWd,EAAY,EAAGV,GAAWyB,IAAIF,GAC/CD,EAAgBI,QAAQF,E,KACnB,CAELF,EAAgBI,KAAKH,EAAW,IAGhC,MAAMI,EAAmB9B,KAAKK,IAC5BL,KAAKC,IAAIJ,EAAayB,EAAW,EAAIE,GACrCrB,EAAYqB,EAAe,GAAKH,EAAe,EAAI,IAErD,MAAMU,EAAiBD,EAAmB,EAC1C,MAAME,EAAcnB,EAAYiB,EAAkBC,GAAgBH,IAAIF,GAGtE,MAAMO,EAA0BH,EAAmB,EACnD,MAAMI,EAAiCD,IAA4B,EACnE,MAAME,EAAsBD,EACxBR,EAAWO,GACX1C,EAEJkC,EAAgBI,KAAKM,GAErBV,EAAgBI,QAAQG,GAGxB,MAAMI,EAAyBL,EAAiB,EAChD,MAAMM,EACJD,IAA2BjC,GAAakB,EAAe,EAAI,GAC7D,MAAMiB,EAAqBD,EACvBX,EAAWU,GACX7C,EACJkC,EAAgBI,KAAKS,GAErB,GAAIjB,EAAc,CAChBI,EAAgBI,KAAKH,EAAWvB,G,EAIpCsB,EAAgBI,KAAK3B,EAAmBN,IACxC,OAAO6B,CAAe,EAIjB,MAAMc,EAAuB,CAAC1C,EAAoB2C,IAChD3C,EAAa,EAAI,EAAIA,EAAa2C,EAAaA,EAAa3C,EAI9D,MAAM4C,EAAgB,CAACC,EAAyBC,KACrD,GAAIA,EAAe,EAAG,OAAO,EAC7B,MAAMC,EAAQF,EAAkB,EAAI,EAAIA,EACxC,OAAO1C,KAAK6C,KAAKD,EAAQD,EAAa,E,MCnH3BG,EAAc,MAJ3B,WAAAC,CAAAC,G,yCAY2BC,KAAAC,MAAe,OAGhCD,KAAAP,gBAA0B,EAG1BO,KAAAN,aAAuB,EAMNM,KAAApD,WAAqB,EAGtCoD,KAAA5B,aAAwB,KAOxB4B,KAAAE,KAAuB,CAC7BC,KAAM,aACNC,KAAM,gBACNC,KAAM,YACNC,KAAM,O,CAsBA,WAAAC,CAAYD,GAClB,GAAIA,IAASN,KAAKpD,WAAY,CAC5BoD,KAAKQ,OAAOC,KAAK,CAAEH,OAAMI,aAAcV,KAAKpD,aAC5CoD,KAAKpD,WAAa0D,C,EAQtB,MAAAK,G,cACE,MAAMzD,EAAYsC,EAAcQ,KAAKP,gBAAiBO,KAAKN,cAC3D,MAAMkB,EAActB,EAAqBU,KAAKpD,WAAYM,GAC1D,MAAM2D,EAAQ1C,EAAsB,CAClCvB,WAAYgE,EACZ1D,YACAkB,aAAc4B,KAAK5B,eAGrB,MAAM8B,GAAOY,EAAAd,KAAKE,QAAI,MAAAY,SAAA,EAAAA,EAAI,GAC1B,MAAMC,GAAYC,EAAAd,EAAKC,QAAI,MAAAa,SAAA,EAAAA,EAAI,aAC/B,MAAMC,GAAYC,EAAAhB,EAAKE,QAAI,MAAAc,SAAA,EAAAA,EAAI,gBAC/B,MAAMC,GAAYC,EAAAlB,EAAKG,QAAI,MAAAe,SAAA,EAAAA,EAAI,YAC/B,MAAMC,GAAYC,EAAApB,EAAKI,QAAI,MAAAgB,SAAA,EAAAA,EAAI,OAE/B,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAazB,KAAKC,OACrBsB,EAAA,SAAAE,IAAA,2CAAOC,UAAWxF,MAClBqF,EAAA,OAAAE,IAAA,wDAAiBV,EAAWY,MAAM,OAChCJ,EAAA,MAAAE,IAAA,2CAAIE,MAAM,QACPd,EAAMlC,KAAI,CAACiD,EAAMC,KAChB,MAAMtF,KAAEA,EAAIE,SAAEA,EAAQK,MAAEA,GAAU8E,EAElC,GAAIrF,IAASF,EAASQ,SAAU,CAC9B,OACE0E,EAAA,MAAIE,IAAI,QACNF,EAAA,UACEI,MAAM,MACNG,UAAWrF,EAAQ,aACPwE,EACZc,QAAS,IAAMtF,GAAYuD,KAAKO,YAAYzD,IAG5CyE,EAAA,OACES,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OACLC,OAAO,eAAc,eACR,IAAG,iBACD,QAAO,kBACN,QAAO,cACX,QAEZb,EAAA,YAAUc,OAAO,sB,CAO3B,GAAI9F,IAASF,EAASc,KAAM,CAC1B,OACEoE,EAAA,MAAIE,IAAI,QACNF,EAAA,UACEI,MAAM,MACNG,UAAWrF,EAAQ,aACP0E,EACZY,QAAS,IAAMtF,GAAYuD,KAAKO,YAAYzD,IAG5CyE,EAAA,OACES,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OACLC,OAAO,eAAc,eACR,IAAG,iBACD,QAAO,kBACN,QAAO,cACX,QAEZb,EAAA,YAAUc,OAAO,qB,CAO3B,GAAI9F,IAASF,EAASG,SAAU,CAC9B,OACE+E,EAAA,MAAIE,IAAK,YAAYI,KACnBN,EAAA,QAAMI,MAAM,WAAU,cAAa,QAAM,K,CAQ/C,OACEJ,EAAA,MAAIE,IAAK3E,GACPyE,EAAA,UACEI,MAAM,MAAK,aACC,GAAGN,KAAavE,IAAO,eACrBL,EAAW,OAAS6F,UAClCP,QAAS,IAAM/B,KAAKO,YAAYzD,IAE/BA,GAEA,M","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,h as e,H as t,g as a}from"./p-ed4017f0.js";const i=(n,e)=>`\n :host {\n display: table-cell;\n margin: 0 !important;\n padding: ${n?"0":"var(--diwa-table-padding-y, 12px) var(--diwa-table-padding-x, 16px)"} !important;\n white-space: ${e?"normal":"nowrap"} !important;\n background: var(--diwa-table-header-bg, transparent);\n text-align: start;\n font-size: var(--diwa-font-size-sm);\n font-weight: var(--diwa-font-weight-semibold);\n letter-spacing: 0.04em;\n color: var(--diwa-text-secondary);\n border-right: var(--diwa-table-column-border, none) !important;\n line-height: var(--diwa-line-height-normal);\n vertical-align: bottom;\n }\n :host(:last-child) { border-right: none; }\n :host([hidden]) { display: none; }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n ${n?`\n .sort-btn {\n display: flex;\n width: 100%;\n box-sizing: border-box;\n justify-content: space-between;\n align-items: flex-end;\n gap: var(--diwa-space-1);\n background: transparent;\n border: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n margin: 0;\n padding: var(--diwa-table-padding-y, 12px) var(--diwa-table-padding-x, 16px);\n text-align: start;\n outline-offset: 2px;\n transition: color var(--diwa-transition-base);\n white-space: ${e?"normal":"nowrap"};\n }\n .sort-label {\n display: inline-flex;\n min-width: 0;\n white-space: ${e?"normal":"nowrap"};\n }\n .sort-btn:hover {\n color: var(--diwa-text-primary);\n }\n `:""}\n`;const r=class{constructor(e){n(this,e);this.theme="dark";this.hideLabel=false;this.multiline=false;this.handleSort=()=>{if(!this.sort)return;const n=this.sort.active?this.sort.direction==="asc"?"desc":"asc":this.sort.direction;this.host.dispatchEvent(new CustomEvent("diwaTableUpdate",{bubbles:true,composed:true,detail:{id:this.sort.id,active:true,direction:n}}))}}render(){const{sort:n,hideLabel:a,multiline:r}=this;const o=!!n;const s=!o?undefined:n.active?n.direction==="asc"?"ascending":"descending":"none";const d=e("span",{key:"a2e2dd130b1dae02512d95e6dfbddb8c3df83ca0",class:a?"sr-only":undefined},e("slot",{key:"6aa36f19db6cf80ac99511ee38aec8f12c3e1fd6"}));const l=e("svg",{key:"d21e881edfb0e87db3d20086a380033fb656392a",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",style:{opacity:(n===null||n===void 0?void 0:n.active)?"1":"0.4",transform:(n===null||n===void 0?void 0:n.direction)==="desc"?"rotate(180deg)":"none",transition:"opacity 150ms ease, transform 150ms ease",flexShrink:"0",display:"block"}},e("path",{key:"fd12f7b9559b4c371f041c0050201b5897dbe65b",d:"M4 10L8 6L12 10",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}));return e(t,{key:"3f94ad099ad07643adbb68a6d9b60506627e331f",role:"columnheader","aria-sort":s},e("style",{key:"1816c6ada4b56007b674ff2f100347c0190141b4",innerHTML:i(o,r)}),o?e("button",{type:"button",class:"sort-btn",onClick:this.handleSort},e("span",{class:"sort-label"},d),l):d)}get host(){return a(this)}};export{r as diwa_table_head_cell};
|
|
2
|
-
//# sourceMappingURL=p-90504a91.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","sortable","multiline","DiwaTableHeadCell","constructor","hostRef","this","theme","hideLabel","handleSort","sort","next","active","direction","host","dispatchEvent","CustomEvent","bubbles","composed","detail","id","render","isSortable","ariaSort","undefined","labelEl","h","key","class","sortIcon","width","height","viewBox","fill","style","opacity","transform","transition","flexShrink","display","d","stroke","Host","role","innerHTML","type","onClick"],"sources":["src/components/diwa-table-head-cell/diwa-table-head-cell-styles.ts","src/components/diwa-table-head-cell/diwa-table-head-cell.tsx"],"sourcesContent":["export const getComponentCss = (sortable: boolean, multiline: boolean): string => `\n :host {\n display: table-cell;\n margin: 0 !important;\n padding: ${sortable ? '0' : 'var(--diwa-table-padding-y, 12px) var(--diwa-table-padding-x, 16px)'} !important;\n white-space: ${multiline ? 'normal' : 'nowrap'} !important;\n background: var(--diwa-table-header-bg, transparent);\n text-align: start;\n font-size: var(--diwa-font-size-sm);\n font-weight: var(--diwa-font-weight-semibold);\n letter-spacing: 0.04em;\n color: var(--diwa-text-secondary);\n border-right: var(--diwa-table-column-border, none) !important;\n line-height: var(--diwa-line-height-normal);\n vertical-align: bottom;\n }\n :host(:last-child) { border-right: none; }\n :host([hidden]) { display: none; }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n ${sortable ? `\n .sort-btn {\n display: flex;\n width: 100%;\n box-sizing: border-box;\n justify-content: space-between;\n align-items: flex-end;\n gap: var(--diwa-space-1);\n background: transparent;\n border: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n margin: 0;\n padding: var(--diwa-table-padding-y, 12px) var(--diwa-table-padding-x, 16px);\n text-align: start;\n outline-offset: 2px;\n transition: color var(--diwa-transition-base);\n white-space: ${multiline ? 'normal' : 'nowrap'};\n }\n .sort-label {\n display: inline-flex;\n min-width: 0;\n white-space: ${multiline ? 'normal' : 'nowrap'};\n }\n .sort-btn:hover {\n color: var(--diwa-text-primary);\n }\n ` : ''}\n`;\n","import { Component, Element, Host, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport type { Direction, TableHeadCellSort, TableUpdateEventDetail } from './types';\r\nimport { getComponentCss } from './diwa-table-head-cell-styles';\r\n\r\n/** @component diwa-table-head-cell — Maps to <th> inside a diwa-table-head row. */\r\n@Component({ tag: 'diwa-table-head-cell', shadow: true })\r\nexport class DiwaTableHeadCell {\r\n @Element() host!: HTMLElement;\r\n\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n @Prop() sort?: TableHeadCellSort;\r\n @Prop() hideLabel: boolean = false;\r\n @Prop() multiline: boolean = false;\r\n\r\n private handleSort = (): void => {\r\n if (!this.sort) return;\r\n const next: Direction = this.sort.active\r\n ? this.sort.direction === 'asc' ? 'desc' : 'asc'\r\n : this.sort.direction;\r\n this.host.dispatchEvent(\r\n new CustomEvent<TableUpdateEventDetail>('diwaTableUpdate', {\r\n bubbles: true,\r\n composed: true,\r\n detail: { id: this.sort.id, active: true, direction: next },\r\n }),\r\n );\r\n };\r\n\r\n render() {\r\n const { sort, hideLabel, multiline } = this;\r\n const isSortable = !!sort;\r\n const ariaSort = !isSortable\r\n ? undefined\r\n : sort.active\r\n ? sort.direction === 'asc' ? 'ascending' : 'descending'\r\n : 'none';\r\n\r\n const labelEl = <span class={hideLabel ? 'sr-only' : undefined}><slot /></span>;\r\n\r\n const sortIcon = (\r\n <svg\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 16 16\"\r\n fill=\"none\"\r\n aria-hidden=\"true\"\r\n style={{\r\n opacity: sort?.active ? '1' : '0.4',\r\n transform: sort?.direction === 'desc' ? 'rotate(180deg)' : 'none',\r\n transition: 'opacity 150ms ease, transform 150ms ease',\r\n flexShrink: '0',\r\n display: 'block',\r\n }}\r\n >\r\n <path\r\n d=\"M4 10L8 6L12 10\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n\r\n return (\r\n <Host role=\"columnheader\" aria-sort={ariaSort}>\r\n <style innerHTML={getComponentCss(isSortable, multiline)} />\r\n {isSortable ? (\r\n <button type=\"button\" class=\"sort-btn\" onClick={this.handleSort}>\r\n <span class=\"sort-label\">{labelEl}</span>\r\n {sortIcon}\r\n </button>\r\n ) : (\r\n labelEl\r\n )}\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"yDAAO,MAAMA,EAAkB,CAACC,EAAmBC,IAA+B,kFAInED,EAAW,IAAM,uGACbC,EAAY,SAAW,mtBA0BtCD,EAAW,8fAkBIC,EAAY,SAAW,mGAKvBA,EAAY,SAAW,qFAKpC,O,MCpDOC,EAAiB,MAD9B,WAAAC,CAAAC,G,UAI2BC,KAAAC,MAAe,OAEhCD,KAAAE,UAAqB,MACrBF,KAAAJ,UAAqB,MAErBI,KAAAG,WAAa,KACnB,IAAKH,KAAKI,KAAM,OAChB,MAAMC,EAAkBL,KAAKI,KAAKE,OAC9BN,KAAKI,KAAKG,YAAc,MAAQ,OAAS,MACzCP,KAAKI,KAAKG,UACdP,KAAKQ,KAAKC,cACR,IAAIC,YAAoC,kBAAmB,CACzDC,QAAS,KACTC,SAAU,KACVC,OAAQ,CAAEC,GAAId,KAAKI,KAAKU,GAAIR,OAAQ,KAAMC,UAAWF,KAExD,C,CAGH,MAAAU,GACE,MAAMX,KAAEA,EAAIF,UAAEA,EAASN,UAAEA,GAAcI,KACvC,MAAMgB,IAAeZ,EACrB,MAAMa,GAAYD,EACdE,UACAd,EAAKE,OACHF,EAAKG,YAAc,MAAQ,YAAc,aACzC,OAEN,MAAMY,EAAUC,EAAA,QAAAC,IAAA,2CAAMC,MAAOpB,EAAY,UAAYgB,WAAWE,EAAA,QAAAC,IAAA,8CAEhE,MAAME,EACJH,EAAA,OAAAC,IAAA,2CACEG,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OAAM,cACC,OACZC,MAAO,CACLC,SAASzB,IAAI,MAAJA,SAAI,SAAJA,EAAME,QAAS,IAAM,MAC9BwB,WAAW1B,IAAI,MAAJA,SAAI,SAAJA,EAAMG,aAAc,OAAS,iBAAmB,OAC3DwB,WAAY,2CACZC,WAAY,IACZC,QAAS,UAGXb,EAAA,QAAAC,IAAA,2CACEa,EAAE,kBACFC,OAAO,eAAc,eACR,MAAK,iBACH,QAAO,kBACN,WAKtB,OACEf,EAACgB,EAAI,CAAAf,IAAA,2CAACgB,KAAK,eAAc,YAAYpB,GACnCG,EAAA,SAAAC,IAAA,2CAAOiB,UAAW5C,EAAgBsB,EAAYpB,KAC7CoB,EACCI,EAAA,UAAQmB,KAAK,SAASjB,MAAM,WAAWkB,QAASxC,KAAKG,YACnDiB,EAAA,QAAME,MAAM,cAAcH,GACzBI,GACM,E","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,c as e,h as t,H as i,g as a}from"./p-ed4017f0.js";import{g as d}from"./p-35c7c864.js";import"./p-70bbb21a.js";const h=class{constructor(t){s(this,t);this.change=e(this,"change",7);this.input=e(this,"input",7);this.blur=e(this,"blur",3);this.focus=e(this,"focus",3);this._hasStart=false;this._hasEnd=false;this.label="";this.description="";this.message="";this.state="none";this.name="";this.value="";this.placeholder="";this.disabled=false;this.required=false;this.readonly=false;this.hideLabel=false;this.compact=false;this.theme="dark";this.handleInput=s=>{this.value=s.target.value;this.input.emit(this.value)};this.handleChange=s=>{this.value=s.target.value;this.change.emit(this.value)};this.handleBlur=s=>{this.blur.emit(s)};this.handleFocus=s=>{this.focus.emit(s)}}connectedCallback(){this._hasStart=!!this.el.querySelector('[slot="start"]');this._hasEnd=!!this.el.querySelector('[slot="end"]')}render(){const s="input";const e="desc";const a="msg";return t(i,{key:"8dd9e6d7ce484dc007be367fc938cfc9f2637055","data-theme":this.theme},t("style",{key:"bbc1fc772c27c1b34d968e376b05c55de36f6de2",innerHTML:d(this.state,this.disabled,this.readonly,this.compact,this._hasStart,this._hasEnd,false)}),t("div",{key:"41aae906ee1f609e7cf441beb538d46802e0e59c",class:"root"},!this.hideLabel&&this.label&&t("div",{key:"b38939d751f7563f12f32f28232b30bbc7cbb91c",class:"label-row"},t("label",{key:"88d0afa08e2a9dabff5dde12a2c4084a4047f6da",class:"label",htmlFor:s},this.label,this.required&&t("span",{key:"45ba6033d1b558a2d4fa2141e2c3af8d34ca7d6d",class:"required","aria-hidden":"true"}," *")),t("slot",{key:"6394d6d221720fd1557ebf1d8bc29960f9b2ef98",name:"label-after"})),t("div",{key:"3e5054f7816a4e69ea69f050d4f04496630cb2a2",class:"input-wrapper"},this._hasStart&&t("div",{key:"86140c93dd2d3ccef3571a8e7ce852fc08c48685",class:"slot-start"},t("slot",{key:"6cde09ce08c571d0d8d7e8bac9959e612f4cd0e7",name:"start"})),t("input",{key:"41db3d184dfe86ec79fbb2d5278c7bfa0e6a0e80",id:s,class:"input",type:"tel",name:this.name||undefined,value:this.value,placeholder:this.placeholder||undefined,disabled:this.disabled,required:this.required,readOnly:this.readonly,autocomplete:this.autoComplete,"aria-label":this.hideLabel&&this.label?this.label:undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-required":this.required?"true":undefined,"aria-describedby":this.message?a:this.description?e:undefined,onInput:this.handleInput,onChange:this.handleChange,onBlur:this.handleBlur,onFocus:this.handleFocus}),this._hasEnd&&t("div",{key:"93a6a567853440a105edf2181664669087dd33aa",class:"slot-end"},t("slot",{key:"472d5180f28d44e7c4a168b0c087200c223871eb",name:"end"}))),!this.message&&this.description&&t("p",{key:"fd16c4facf83bcfe32e6c8b333fed9e3dca8cd56",id:e,class:"description"},this.description),this.message&&t("p",{key:"cae69922e63caad5193c1e01cb91d95773fbf2e2",id:a,class:"message"},this.message)))}static get delegatesFocus(){return true}get el(){return a(this)}};export{h as diwa_input_tel};
|
|
2
|
-
//# sourceMappingURL=p-90d0db67.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DiwaInputTel","constructor","hostRef","this","_hasStart","_hasEnd","label","description","message","state","name","value","placeholder","disabled","required","readonly","hideLabel","compact","theme","handleInput","e","target","input","emit","handleChange","change","handleBlur","blur","handleFocus","focus","connectedCallback","el","querySelector","render","inputId","descId","msgId","h","Host","key","innerHTML","getComponentCss","class","htmlFor","id","type","undefined","readOnly","autocomplete","autoComplete","onInput","onChange","onBlur","onFocus"],"sources":["src/components/diwa-input-tel/diwa-input-tel.tsx"],"sourcesContent":["import { Component, Element, Event, EventEmitter, Host, Prop, State, h } from '@stencil/core';\r\nimport type { InputFieldState } from '../diwa-input/types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-input-tel-styles';\r\n\r\n@Component({\r\n tag: 'diwa-input-tel',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaInputTel {\r\n @Element() el!: HTMLElement;\r\n @State() private _hasStart = false;\r\n @State() private _hasEnd = false;\r\n\r\n @Prop() label: string = '';\r\n @Prop() description: string = '';\r\n @Prop() message: string = '';\r\n @Prop() state: InputFieldState = 'none';\r\n @Prop() name: string = '';\r\n @Prop({ mutable: true, reflect: false }) value: string = '';\r\n @Prop() placeholder: string = '';\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n @Prop({ reflect: true }) required: boolean = false;\r\n @Prop({ reflect: true }) readonly: boolean = false;\r\n @Prop() hideLabel: boolean = false;\r\n @Prop() compact: boolean = false;\r\n @Prop() autoComplete?: string;\r\n @Prop() theme: Theme = 'dark';\r\n\r\n @Event({ bubbles: true }) change!: EventEmitter<string>;\r\n @Event({ bubbles: true }) input!: EventEmitter<string>;\r\n @Event({ bubbles: false }) blur!: EventEmitter<FocusEvent>;\r\n @Event({ bubbles: false }) focus!: EventEmitter<FocusEvent>;\r\n\r\n connectedCallback(): void {\r\n this._hasStart = !!this.el.querySelector('[slot=\"start\"]');\r\n this._hasEnd = !!this.el.querySelector('[slot=\"end\"]');\r\n }\r\n\r\n private handleInput = (e: Event): void => {\r\n this.value = (e.target as HTMLInputElement).value;\r\n this.input.emit(this.value);\r\n };\r\n\r\n private handleChange = (e: Event): void => {\r\n this.value = (e.target as HTMLInputElement).value;\r\n this.change.emit(this.value);\r\n };\r\n\r\n private handleBlur = (e: FocusEvent): void => { this.blur.emit(e); };\r\n private handleFocus = (e: FocusEvent): void => { this.focus.emit(e); };\r\n\r\n render() {\r\n const inputId = 'input';\r\n const descId = 'desc';\r\n const msgId = 'msg';\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.state, this.disabled, this.readonly, this.compact, this._hasStart, this._hasEnd, false)} />\r\n <div class=\"root\">\r\n {!this.hideLabel && this.label && (\r\n <div class=\"label-row\">\r\n <label class=\"label\" htmlFor={inputId}>\r\n {this.label}\r\n {this.required && <span class=\"required\" aria-hidden=\"true\"> *</span>}\r\n </label>\r\n <slot name=\"label-after\" />\r\n </div>\r\n )}\r\n <div class=\"input-wrapper\">\r\n {this._hasStart && <div class=\"slot-start\"><slot name=\"start\" /></div>}\r\n <input\r\n id={inputId}\r\n class=\"input\"\r\n type=\"tel\"\r\n name={this.name || undefined}\r\n value={this.value}\r\n placeholder={this.placeholder || undefined}\r\n disabled={this.disabled}\r\n required={this.required}\r\n readOnly={this.readonly}\r\n autocomplete={this.autoComplete}\r\n aria-label={this.hideLabel && this.label ? this.label : undefined}\r\n aria-invalid={this.state === 'error' ? 'true' : undefined}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-describedby={this.message ? msgId : this.description ? descId : undefined}\r\n onInput={this.handleInput}\r\n onChange={this.handleChange}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n />\r\n {this._hasEnd && <div class=\"slot-end\"><slot name=\"end\" /></div>}\r\n </div>\r\n {!this.message && this.description && (\r\n <p id={descId} class=\"description\">{this.description}</p>\r\n )}\r\n {this.message && (\r\n <p id={msgId} class=\"message\">{this.message}</p>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"kIASaA,EAAY,MAJzB,WAAAC,CAAAC,G,8HAMmBC,KAAAC,UAAY,MACZD,KAAAE,QAAU,MAEnBF,KAAAG,MAAgB,GAChBH,KAAAI,YAAsB,GACtBJ,KAAAK,QAAkB,GAClBL,KAAAM,MAAyB,OACzBN,KAAAO,KAAe,GACkBP,KAAAQ,MAAgB,GACjDR,KAAAS,YAAsB,GACLT,KAAAU,SAAoB,MACpBV,KAAAW,SAAoB,MACpBX,KAAAY,SAAoB,MACrCZ,KAAAa,UAAqB,MACrBb,KAAAc,QAAmB,MAEnBd,KAAAe,MAAe,OAYff,KAAAgB,YAAeC,IACrBjB,KAAKQ,MAASS,EAAEC,OAA4BV,MAC5CR,KAAKmB,MAAMC,KAAKpB,KAAKQ,MAAM,EAGrBR,KAAAqB,aAAgBJ,IACtBjB,KAAKQ,MAASS,EAAEC,OAA4BV,MAC5CR,KAAKsB,OAAOF,KAAKpB,KAAKQ,MAAM,EAGtBR,KAAAuB,WAAcN,IAA0BjB,KAAKwB,KAAKJ,KAAKH,EAAE,EACzDjB,KAAAyB,YAAeR,IAA0BjB,KAAK0B,MAAMN,KAAKH,EAAE,C,CAhBnE,iBAAAU,GACE3B,KAAKC,YAAcD,KAAK4B,GAAGC,cAAc,kBACzC7B,KAAKE,UAAYF,KAAK4B,GAAGC,cAAc,e,CAgBzC,MAAAC,GACE,MAAMC,EAAU,QAChB,MAAMC,EAAS,OACf,MAAMC,EAAQ,MAEd,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAapC,KAAKe,OACrBmB,EAAA,SAAAE,IAAA,2CAAOC,UAAWC,EAAgBtC,KAAKM,MAAON,KAAKU,SAAUV,KAAKY,SAAUZ,KAAKc,QAASd,KAAKC,UAAWD,KAAKE,QAAS,SACxHgC,EAAA,OAAAE,IAAA,2CAAKG,MAAM,SACPvC,KAAKa,WAAab,KAAKG,OACvB+B,EAAA,OAAAE,IAAA,2CAAKG,MAAM,aACTL,EAAA,SAAAE,IAAA,2CAAOG,MAAM,QAAQC,QAAST,GAC3B/B,KAAKG,MACLH,KAAKW,UAAYuB,EAAA,QAAAE,IAAA,2CAAMG,MAAM,WAAU,cAAa,QAAM,OAE7DL,EAAA,QAAAE,IAAA,2CAAM7B,KAAK,iBAGf2B,EAAA,OAAAE,IAAA,2CAAKG,MAAM,iBACRvC,KAAKC,WAAaiC,EAAA,OAAAE,IAAA,2CAAKG,MAAM,cAAaL,EAAA,QAAAE,IAAA,2CAAM7B,KAAK,WACtD2B,EAAA,SAAAE,IAAA,2CACEK,GAAIV,EACJQ,MAAM,QACNG,KAAK,MACLnC,KAAMP,KAAKO,MAAQoC,UACnBnC,MAAOR,KAAKQ,MACZC,YAAaT,KAAKS,aAAekC,UACjCjC,SAAUV,KAAKU,SACfC,SAAUX,KAAKW,SACfiC,SAAU5C,KAAKY,SACfiC,aAAc7C,KAAK8C,aAAY,aACnB9C,KAAKa,WAAab,KAAKG,MAAQH,KAAKG,MAAQwC,UAAS,eACnD3C,KAAKM,QAAU,QAAU,OAASqC,UAAS,gBAC1C3C,KAAKW,SAAW,OAASgC,UAAS,mBAC/B3C,KAAKK,QAAU4B,EAAQjC,KAAKI,YAAc4B,EAASW,UACrEI,QAAS/C,KAAKgB,YACdgC,SAAUhD,KAAKqB,aACf4B,OAAQjD,KAAKuB,WACb2B,QAASlD,KAAKyB,cAEfzB,KAAKE,SAAWgC,EAAA,OAAAE,IAAA,2CAAKG,MAAM,YAAWL,EAAA,QAAAE,IAAA,2CAAM7B,KAAK,WAElDP,KAAKK,SAAWL,KAAKI,aACrB8B,EAAA,KAAAE,IAAA,2CAAGK,GAAIT,EAAQO,MAAM,eAAevC,KAAKI,aAE1CJ,KAAKK,SACJ6B,EAAA,KAAAE,IAAA,2CAAGK,GAAIR,EAAOM,MAAM,WAAWvC,KAAKK,U","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,c as e,h as i,H as t,g as a}from"./p-ed4017f0.js";import{g as s,a as o}from"./p-70bbb21a.js";const d=()=>`\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 /* ── Option row ─────────────────────────────────────────────────────── */\n\n .option {\n display: flex;\n align-items: center;\n gap: var(--diwa-space-3);\n padding: var(--diwa-space-2) var(--diwa-space-3);\n min-height: var(--diwa-select-option-min-height);\n box-sizing: border-box;\n cursor: pointer;\n user-select: none;\n -webkit-font-smoothing: antialiased;\n color: var(--diwa-text-primary);\n font-size: var(--diwa-font-size-base);\n font-weight: var(--diwa-font-weight-normal);\n line-height: 1.4;\n border-radius: var(--diwa-radius-sm);\n transition: background-color var(--diwa-transition-fast);\n }\n\n ${s(".option")}\n\n /* ── Check mark ─────────────────────────────────────────────────────── */\n\n .check {\n flex-shrink: 0;\n width: var(--diwa-icon-size-md);\n height: var(--diwa-icon-size-md);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--diwa-accent);\n font-size: var(--diwa-font-size-base);\n line-height: 1;\n visibility: hidden;\n }\n\n /* ── Selected state ─────────────────────────────────────────────────── */\n\n :host([selected]) .check {\n visibility: visible;\n }\n\n /* ── Highlighted (keyboard / hover) ─────────────────────────────────── */\n\n :host([highlighted]) .option {\n background-color: var(--diwa-bg-hover);\n }\n\n @media (hover: hover) and (pointer: fine) {\n .option:hover {\n background-color: var(--diwa-bg-hover);\n }\n }\n\n /* ── Label text ─────────────────────────────────────────────────────── */\n\n .label {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n /* ── Compact ────────────────────────────────────────────────────────── */\n\n :host([compact]) .option {\n padding: var(--diwa-space-1) var(--diwa-space-2);\n font-size: var(--diwa-font-size-md);\n min-height: 0;\n }\n\n :host([compact]) .check {\n font-size: var(--diwa-font-size-md);\n }\n\n /* ── Disabled ───────────────────────────────────────────────────────── */\n\n :host([disabled]) {\n pointer-events: none;\n }\n\n :host([disabled]) .option {\n opacity: var(--diwa-opacity-disabled);\n cursor: not-allowed;\n }\n\n /* ── Reduced motion ─────────────────────────────────────────────────── */\n\n ${o(".option")}\n`;const r=class{constructor(i){n(this,i);this.diwaSelectOptionUpdate=e(this,"diwaSelectOptionUpdate",7);this.disabled=false;this.selected=false;this.highlighted=false;this.theme="dark";this.compact=false;this.handleClick=()=>{if(this.disabled)return;this.diwaSelectOptionUpdate.emit({value:this.value})};this.handleKeyDown=n=>{if(this.disabled)return;if(n.key==="Enter"||n.key===" "){n.preventDefault();this.diwaSelectOptionUpdate.emit({value:this.value})}}}async setFocus(){var n;(n=this.optionEl)===null||n===void 0?void 0:n.focus()}render(){return i(t,{key:"9158ac98075c499743af5e90042851b600c8da90","data-theme":this.theme},i("style",{key:"8dd7b313f3a81fd7d478b76596ecd60cbcec7ecb",innerHTML:d()}),i("div",{key:"88ac7bcf19615142315509da16fb101fe7e59f36",class:"option",role:"option","aria-selected":this.selected?"true":"false","aria-disabled":this.disabled?"true":undefined,tabIndex:this.disabled?-1:0,onClick:this.handleClick,onKeyDown:this.handleKeyDown,ref:n=>this.optionEl=n,part:"option"},i("span",{key:"a4b3dfab5484a3916be1d64170c5337d9cc01f53",class:"check","aria-hidden":"true",part:"check"},"✓"),i("span",{key:"c2d81f7766672cb0e5c755e2f0879361e65d3205",class:"label",part:"label"},i("slot",{key:"0efdefa87396d832b47fba5fcdc66cb117f75396"}))))}static get delegatesFocus(){return true}get host(){return a(this)}};export{r as diwa_select_option};
|
|
2
|
-
//# sourceMappingURL=p-a446b615.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","getFocusStyle","getReducedMotionStyle","DiwaSelectOption","constructor","hostRef","this","disabled","selected","highlighted","theme","compact","handleClick","diwaSelectOptionUpdate","emit","value","handleKeyDown","e","key","preventDefault","setFocus","_a","optionEl","focus","render","h","Host","innerHTML","class","role","undefined","tabIndex","onClick","onKeyDown","ref","el","part"],"sources":["src/components/diwa-select-option/diwa-select-option-styles.ts","src/components/diwa-select-option/diwa-select-option.tsx"],"sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Option row ─────────────────────────────────────────────────────── */\r\n\r\n .option {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--diwa-space-3);\r\n padding: var(--diwa-space-2) var(--diwa-space-3);\r\n min-height: var(--diwa-select-option-min-height);\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-font-smoothing: antialiased;\r\n color: var(--diwa-text-primary);\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-normal);\r\n line-height: 1.4;\r\n border-radius: var(--diwa-radius-sm);\r\n transition: background-color var(--diwa-transition-fast);\r\n }\r\n\r\n ${getFocusStyle('.option')}\r\n\r\n /* ── Check mark ─────────────────────────────────────────────────────── */\r\n\r\n .check {\r\n flex-shrink: 0;\r\n width: var(--diwa-icon-size-md);\r\n height: var(--diwa-icon-size-md);\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: var(--diwa-accent);\r\n font-size: var(--diwa-font-size-base);\r\n line-height: 1;\r\n visibility: hidden;\r\n }\r\n\r\n /* ── Selected state ─────────────────────────────────────────────────── */\r\n\r\n :host([selected]) .check {\r\n visibility: visible;\r\n }\r\n\r\n /* ── Highlighted (keyboard / hover) ─────────────────────────────────── */\r\n\r\n :host([highlighted]) .option {\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n @media (hover: hover) and (pointer: fine) {\r\n .option:hover {\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n }\r\n\r\n /* ── Label text ─────────────────────────────────────────────────────── */\r\n\r\n .label {\r\n flex: 1;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n\r\n /* ── Compact ────────────────────────────────────────────────────────── */\r\n\r\n :host([compact]) .option {\r\n padding: var(--diwa-space-1) var(--diwa-space-2);\r\n font-size: var(--diwa-font-size-md);\r\n min-height: 0;\r\n }\r\n\r\n :host([compact]) .check {\r\n font-size: var(--diwa-font-size-md);\r\n }\r\n\r\n /* ── Disabled ───────────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) {\r\n pointer-events: none;\r\n }\r\n\r\n :host([disabled]) .option {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.option')}\r\n`;\r\n","import { Component, Element, Event, type EventEmitter, Host, Method, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-select-option-styles';\r\n\r\n/**\r\n * @component diwa-select-option\r\n *\r\n * Individual option element for use inside <diwa-select>.\r\n * Renders a row with a checkmark indicator and label text.\r\n *\r\n * Not intended for standalone use — must be slotted into <diwa-select>.\r\n *\r\n * Provide an option without a value to allow deselection / show a placeholder:\r\n * <diwa-select-option>Please select…</diwa-select-option>\r\n *\r\n * @slot default — Option label text (plain text or inline phrasing content)\r\n */\r\n@Component({\r\n tag: 'diwa-select-option',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaSelectOption {\r\n @Element() host!: HTMLDiwaSelectOptionElement;\r\n\r\n /** The value submitted/emitted when this option is selected. */\r\n @Prop({ reflect: true }) value?: string;\r\n\r\n /** Disables the option — it cannot be selected. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /**\r\n * Whether the option is currently selected.\r\n * Maintained by the parent <diwa-select>.\r\n */\r\n @Prop({ mutable: true, reflect: true }) selected: boolean = false;\r\n\r\n /**\r\n * Whether the option is currently keyboard-highlighted.\r\n * Set exclusively by the parent component.\r\n */\r\n @Prop({ mutable: true, reflect: true }) highlighted: boolean = false;\r\n\r\n /** Theme — inherited from the parent diwa-select. */\r\n @Prop({ mutable: true }) theme: Theme = 'dark';\r\n\r\n /** Compact mode — inherited from the parent diwa-select. */\r\n @Prop({ mutable: true, reflect: true }) compact: boolean = false;\r\n\r\n /**\r\n * Emitted when the user clicks or presses Enter on the option.\r\n * Bubbles and crosses Shadow DOM so the parent can catch it via @Listen.\r\n */\r\n @Event({ bubbles: true, composed: true })\r\n diwaSelectOptionUpdate!: EventEmitter<{ value: string | undefined }>;\r\n\r\n /** Focuses the inner option element. */\r\n @Method()\r\n async setFocus(): Promise<void> {\r\n this.optionEl?.focus();\r\n }\r\n\r\n private optionEl?: HTMLDivElement;\r\n\r\n private handleClick = (): void => {\r\n if (this.disabled) return;\r\n this.diwaSelectOptionUpdate.emit({ value: this.value });\r\n };\r\n\r\n private handleKeyDown = (e: KeyboardEvent): void => {\r\n if (this.disabled) return;\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n this.diwaSelectOptionUpdate.emit({ value: this.value });\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <div\r\n class=\"option\"\r\n role=\"option\"\r\n aria-selected={this.selected ? 'true' : 'false'}\r\n aria-disabled={this.disabled ? 'true' : undefined}\r\n tabIndex={this.disabled ? -1 : 0}\r\n onClick={this.handleClick}\r\n onKeyDown={this.handleKeyDown}\r\n ref={(el) => (this.optionEl = el as HTMLDivElement)}\r\n part=\"option\"\r\n >\r\n <span class=\"check\" aria-hidden=\"true\" part=\"check\">✓</span>\r\n <span class=\"label\" part=\"label\">\r\n <slot />\r\n </span>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"2GAEO,MAAMA,EAAkB,IAAc,44BAiCzCC,EAAc,2qDAsEdC,EAAsB,e,MCpFbC,EAAgB,MAJ7B,WAAAC,CAAAC,G,yEAW2BC,KAAAC,SAAoB,MAMLD,KAAAE,SAAoB,MAMpBF,KAAAG,YAAuB,MAGtCH,KAAAI,MAAe,OAGAJ,KAAAK,QAAmB,MAiBnDL,KAAAM,YAAc,KACpB,GAAIN,KAAKC,SAAU,OACnBD,KAAKO,uBAAuBC,KAAK,CAAEC,MAAOT,KAAKS,OAAQ,EAGjDT,KAAAU,cAAiBC,IACvB,GAAIX,KAAKC,SAAU,OACnB,GAAIU,EAAEC,MAAQ,SAAWD,EAAEC,MAAQ,IAAK,CACtCD,EAAEE,iBACFb,KAAKO,uBAAuBC,KAAK,CAAEC,MAAOT,KAAKS,O,GAfnD,cAAMK,G,OACJC,EAAAf,KAAKgB,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,O,CAkBjB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAR,IAAA,wDAAaZ,KAAKI,OACrBe,EAAA,SAAAP,IAAA,2CAAOS,UAAW3B,MAClByB,EAAA,OAAAP,IAAA,2CACEU,MAAM,SACNC,KAAK,SAAQ,gBACEvB,KAAKE,SAAW,OAAS,QAAO,gBAChCF,KAAKC,SAAW,OAASuB,UACxCC,SAAUzB,KAAKC,UAAY,EAAI,EAC/ByB,QAAS1B,KAAKM,YACdqB,UAAW3B,KAAKU,cAChBkB,IAAMC,GAAQ7B,KAAKgB,SAAWa,EAC9BC,KAAK,UAELX,EAAA,QAAAP,IAAA,2CAAMU,MAAM,QAAO,cAAa,OAAOQ,KAAK,SAAO,KACnDX,EAAA,QAAAP,IAAA,2CAAMU,MAAM,QAAQQ,KAAK,SACvBX,EAAA,QAAAP,IAAA,+C","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["LoaderCircle","d"],"sources":["../node_modules/lucide/dist/esm/icons/loader-circle.js"],"sourcesContent":["/**\n * @license lucide v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst LoaderCircle = [[\"path\", { d: \"M21 12a9 9 0 1 1-6.219-8.56\" }]];\n\nexport { LoaderCircle as default };\n//# sourceMappingURL=loader-circle.js.map\n"],"mappings":";;;;;;AAOK,MAACA,EAAe,CAAC,CAAC,OAAQ,CAAEC,EAAG,wC","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as a,c as e,h as t,H as s,g as i}from"./p-ed4017f0.js";const n=()=>`\n :host {\n display: inline-flex;\n font-family: var(--diwa-font-family-base);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .track {\n display: inline-flex;\n align-items: center;\n background: var(--diwa-bg-surface);\n border: var(--diwa-border-width-thin) solid var(--diwa-border);\n border-radius: var(--diwa-radius-md);\n padding: var(--diwa-space-0-75);\n gap: var(--diwa-space-0-5);\n }\n`;const d=class{constructor(t){a(this,t);this.update=e(this,"update",1);this.theme="dark";this.value="";this.disabled=false;this.compact=false}handleItemSelect(a){this.value=a.detail.value;this.update.emit({value:this.value});this.syncChildren()}componentDidLoad(){this.syncChildren()}componentDidUpdate(){this.syncChildren()}syncChildren(){const a=Array.from(this.host.querySelectorAll("diwa-segmented-control-item"));a.forEach((a=>{a.selected=a.value===this.value;a.disabled=this.disabled;a.compact=this.compact}))}render(){return t(s,{key:"40695f16ca3a0601152b10a53bbb5c9812a14eba",role:"group","data-theme":this.theme},t("style",{key:"2d8853e5dc014243df0d27691c78a3ed83e18ad2",innerHTML:n()}),t("div",{key:"102dc801b004efcb3a5c945d4500342939229c87",class:"track"},t("slot",{key:"bbda373551c9ebd3a32cbb6c12a13b8b1bd77bcc"})))}get host(){return i(this)}};export{d as diwa_segmented_control};
|
|
2
|
-
//# sourceMappingURL=p-b33f4993.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","DiwaSegmentedControl","constructor","hostRef","this","theme","value","disabled","compact","handleItemSelect","event","detail","update","emit","syncChildren","componentDidLoad","componentDidUpdate","items","Array","from","host","querySelectorAll","forEach","item","selected","render","h","Host","key","role","innerHTML","class"],"sources":["src/components/diwa-segmented-control/diwa-segmented-control-styles.ts","src/components/diwa-segmented-control/diwa-segmented-control.tsx"],"sourcesContent":["export const getComponentCss = (): string => `\r\n :host {\r\n display: inline-flex;\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 .track {\r\n display: inline-flex;\r\n align-items: center;\r\n background: var(--diwa-bg-surface);\r\n border: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n border-radius: var(--diwa-radius-md);\r\n padding: var(--diwa-space-0-75);\r\n gap: var(--diwa-space-0-5);\r\n }\r\n`;\r\n","import { Component, Element, Event, type EventEmitter, Host, Listen, Prop, h } from '@stencil/core';\r\nimport type { SegmentedControlUpdateEventDetail } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-segmented-control-styles';\r\n\r\n/**\r\n * @component diwa-segmented-control\r\n *\r\n * Container that groups diwa-segmented-control-item children into a\r\n * mutually exclusive selection control. Tracks the active value and\r\n * propagates state down to items.\r\n *\r\n * Usage:\r\n * <diwa-segmented-control value=\"week\" onupdate={e => setView(e.detail.value)}>\r\n * <diwa-segmented-control-item value=\"day\">Day</diwa-segmented-control-item>\r\n * <diwa-segmented-control-item value=\"week\">Week</diwa-segmented-control-item>\r\n * <diwa-segmented-control-item value=\"month\">Month</diwa-segmented-control-item>\r\n * </diwa-segmented-control>\r\n */\r\n@Component({\r\n tag: 'diwa-segmented-control',\r\n shadow: true,\r\n})\r\nexport class DiwaSegmentedControl {\r\n @Element() host!: HTMLDiwaSegmentedControlElement;\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Currently selected item value. */\r\n @Prop({ mutable: true, reflect: true }) value: string = '';\r\n\r\n /** Disables all items. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /** Smaller item sizing. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /**\r\n * Emitted when the active item changes.\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<SegmentedControlUpdateEventDetail>;\r\n\r\n @Listen('diwa-segment-select')\r\n handleItemSelect(event: CustomEvent<{ value: string }>) {\r\n this.value = event.detail.value;\r\n this.update.emit({ value: this.value });\r\n this.syncChildren();\r\n }\r\n\r\n componentDidLoad() {\r\n this.syncChildren();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.syncChildren();\r\n }\r\n\r\n private syncChildren() {\r\n const items = Array.from(\r\n this.host.querySelectorAll('diwa-segmented-control-item'),\r\n ) as HTMLDiwaSegmentedControlItemElement[];\r\n items.forEach((item) => {\r\n (item as any).selected = item.value === this.value;\r\n (item as any).disabled = this.disabled;\r\n (item as any).compact = this.compact;\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n <Host role=\"group\" data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <div class=\"track\">\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"gEAAO,MAAMA,EAAkB,IAAc,wb,MCuBhCC,EAAoB,MAJjC,WAAAC,CAAAC,G,yCAQ2BC,KAAAC,MAAe,OAGAD,KAAAE,MAAgB,GAG/BF,KAAAG,SAAoB,MAGpBH,KAAAI,QAAmB,K,CAS5C,gBAAAC,CAAiBC,GACfN,KAAKE,MAAQI,EAAMC,OAAOL,MAC1BF,KAAKQ,OAAOC,KAAK,CAAEP,MAAOF,KAAKE,QAC/BF,KAAKU,c,CAGP,gBAAAC,GACEX,KAAKU,c,CAGP,kBAAAE,GACEZ,KAAKU,c,CAGC,YAAAA,GACN,MAAMG,EAAQC,MAAMC,KAClBf,KAAKgB,KAAKC,iBAAiB,gCAE7BJ,EAAMK,SAASC,IACZA,EAAaC,SAAWD,EAAKjB,QAAUF,KAAKE,MAC5CiB,EAAahB,SAAWH,KAAKG,SAC7BgB,EAAaf,QAAUJ,KAAKI,OAAO,G,CAIxC,MAAAiB,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,QAAO,aAAazB,KAAKC,OAClCqB,EAAA,SAAAE,IAAA,2CAAOE,UAAW9B,MAClB0B,EAAA,OAAAE,IAAA,2CAAKG,MAAM,SACTL,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,c as e,h as t,H as i,g as a}from"./p-ed4017f0.js";import{g as d}from"./p-35c7c864.js";import"./p-70bbb21a.js";const h=class{constructor(t){s(this,t);this.change=e(this,"change",7);this.input=e(this,"input",7);this.blur=e(this,"blur",3);this.focus=e(this,"focus",3);this._hasStart=false;this._hasEnd=false;this.label="";this.description="";this.message="";this.state="none";this.name="";this.value="";this.placeholder="";this.disabled=false;this.required=false;this.readonly=false;this.hideLabel=false;this.compact=false;this.theme="dark";this.handleInput=s=>{this.value=s.target.value;this.input.emit(this.value)};this.handleChange=s=>{this.value=s.target.value;this.change.emit(this.value)};this.handleBlur=s=>{this.blur.emit(s)};this.handleFocus=s=>{this.focus.emit(s)}}connectedCallback(){this._hasStart=!!this.el.querySelector('[slot="start"]');this._hasEnd=!!this.el.querySelector('[slot="end"]')}render(){const s="input";const e="desc";const a="msg";return t(i,{key:"b7810ca62c45d178cfa7ddefd9c6fc95ac6bfed5","data-theme":this.theme},t("style",{key:"1dbbfd0d6d3711635779472413b6adaefcec6a7e",innerHTML:d(this.state,this.disabled,this.readonly,this.compact,this._hasStart,this._hasEnd,false)}),t("div",{key:"e17ff493f27b8ded7ebf9b2e3770d97bda340d6a",class:"root"},!this.hideLabel&&this.label&&t("div",{key:"5727ffe25c2e5c8edde2b92f71d153f518f911e6",class:"label-row"},t("label",{key:"3581eff1c6a90a570d703a6e36311e3df591d67c",class:"label",htmlFor:s},this.label,this.required&&t("span",{key:"adeb390c86bf0ec2567cfc31684f82126d1297c7",class:"required","aria-hidden":"true"}," *")),t("slot",{key:"1f7cd31225b376eb6c48a97beb3d4b574516e8ea",name:"label-after"})),t("div",{key:"6f8445e7f19f971c44f4d525976a304930c10e68",class:"input-wrapper"},this._hasStart&&t("div",{key:"fb33d730e983f9cf0d0faf2661fa5c72e6556e2e",class:"slot-start"},t("slot",{key:"2e7c563259b6bc447754223fae97a172caee1c68",name:"start"})),t("input",{key:"566a4b2db913d61451b6d94f0c44372b12d9463c",id:s,class:"input",type:"date",name:this.name||undefined,value:this.value,disabled:this.disabled,required:this.required,readOnly:this.readonly,min:this.min,max:this.max,autocomplete:this.autoComplete,"aria-label":this.hideLabel&&this.label?this.label:undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-required":this.required?"true":undefined,"aria-describedby":this.message?a:this.description?e:undefined,onInput:this.handleInput,onChange:this.handleChange,onBlur:this.handleBlur,onFocus:this.handleFocus}),this._hasEnd&&t("div",{key:"1008396a8ce58057858eabff6127afddc8210ea3",class:"slot-end"},t("slot",{key:"a09620ebd152123b778b4f3635a265f3041aeb62",name:"end"}))),!this.message&&this.description&&t("p",{key:"b60fb3995d234ff3a430145119a3cdf85ef8932c",id:e,class:"description"},this.description),this.message&&t("p",{key:"1b2a0eda84321c832979936db0ff2edd61b07cc3",id:a,class:"message"},this.message)))}static get delegatesFocus(){return true}get el(){return a(this)}};export{h as diwa_input_date};
|
|
2
|
-
//# sourceMappingURL=p-b595f330.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DiwaInputDate","constructor","hostRef","this","_hasStart","_hasEnd","label","description","message","state","name","value","placeholder","disabled","required","readonly","hideLabel","compact","theme","handleInput","e","target","input","emit","handleChange","change","handleBlur","blur","handleFocus","focus","connectedCallback","el","querySelector","render","inputId","descId","msgId","h","Host","key","innerHTML","getComponentCss","class","htmlFor","id","type","undefined","readOnly","min","max","autocomplete","autoComplete","onInput","onChange","onBlur","onFocus"],"sources":["src/components/diwa-input-date/diwa-input-date.tsx"],"sourcesContent":["import { Component, Element, Event, EventEmitter, Host, Prop, State, h } from '@stencil/core';\r\nimport type { InputFieldState } from '../diwa-input/types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-input-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"],"mappings":"kIASaA,EAAa,MAJ1B,WAAAC,CAAAC,G,8HAMmBC,KAAAC,UAAY,MACZD,KAAAE,QAAU,MAEnBF,KAAAG,MAAgB,GAChBH,KAAAI,YAAsB,GACtBJ,KAAAK,QAAkB,GAClBL,KAAAM,MAAyB,OACzBN,KAAAO,KAAe,GACkBP,KAAAQ,MAAgB,GACjDR,KAAAS,YAAsB,GACLT,KAAAU,SAAoB,MACpBV,KAAAW,SAAoB,MACpBX,KAAAY,SAAoB,MACrCZ,KAAAa,UAAqB,MACrBb,KAAAc,QAAmB,MAEnBd,KAAAe,MAAe,OAiBff,KAAAgB,YAAeC,IACrBjB,KAAKQ,MAASS,EAAEC,OAA4BV,MAC5CR,KAAKmB,MAAMC,KAAKpB,KAAKQ,MAAM,EAGrBR,KAAAqB,aAAgBJ,IACtBjB,KAAKQ,MAASS,EAAEC,OAA4BV,MAC5CR,KAAKsB,OAAOF,KAAKpB,KAAKQ,MAAM,EAGtBR,KAAAuB,WAAcN,IAA0BjB,KAAKwB,KAAKJ,KAAKH,EAAE,EACzDjB,KAAAyB,YAAeR,IAA0BjB,KAAK0B,MAAMN,KAAKH,EAAE,C,CAhBnE,iBAAAU,GACE3B,KAAKC,YAAcD,KAAK4B,GAAGC,cAAc,kBACzC7B,KAAKE,UAAYF,KAAK4B,GAAGC,cAAc,e,CAgBzC,MAAAC,GACE,MAAMC,EAAU,QAChB,MAAMC,EAAS,OACf,MAAMC,EAAQ,MAEd,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAapC,KAAKe,OACrBmB,EAAA,SAAAE,IAAA,2CAAOC,UAAWC,EAAgBtC,KAAKM,MAAON,KAAKU,SAAUV,KAAKY,SAAUZ,KAAKc,QAASd,KAAKC,UAAWD,KAAKE,QAAS,SACxHgC,EAAA,OAAAE,IAAA,2CAAKG,MAAM,SACPvC,KAAKa,WAAab,KAAKG,OACvB+B,EAAA,OAAAE,IAAA,2CAAKG,MAAM,aACTL,EAAA,SAAAE,IAAA,2CAAOG,MAAM,QAAQC,QAAST,GAC3B/B,KAAKG,MACLH,KAAKW,UAAYuB,EAAA,QAAAE,IAAA,2CAAMG,MAAM,WAAU,cAAa,QAAM,OAE7DL,EAAA,QAAAE,IAAA,2CAAM7B,KAAK,iBAGf2B,EAAA,OAAAE,IAAA,2CAAKG,MAAM,iBACRvC,KAAKC,WAAaiC,EAAA,OAAAE,IAAA,2CAAKG,MAAM,cAAaL,EAAA,QAAAE,IAAA,2CAAM7B,KAAK,WACtD2B,EAAA,SAAAE,IAAA,2CACEK,GAAIV,EACJQ,MAAM,QACNG,KAAK,OACLnC,KAAMP,KAAKO,MAAQoC,UACnBnC,MAAOR,KAAKQ,MACZE,SAAUV,KAAKU,SACfC,SAAUX,KAAKW,SACfiC,SAAU5C,KAAKY,SACfiC,IAAK7C,KAAK6C,IACVC,IAAK9C,KAAK8C,IACVC,aAAc/C,KAAKgD,aAAY,aACnBhD,KAAKa,WAAab,KAAKG,MAAQH,KAAKG,MAAQwC,UAAS,eACnD3C,KAAKM,QAAU,QAAU,OAASqC,UAAS,gBAC1C3C,KAAKW,SAAW,OAASgC,UAAS,mBAC/B3C,KAAKK,QAAU4B,EAAQjC,KAAKI,YAAc4B,EAASW,UACrEM,QAASjD,KAAKgB,YACdkC,SAAUlD,KAAKqB,aACf8B,OAAQnD,KAAKuB,WACb6B,QAASpD,KAAKyB,cAEfzB,KAAKE,SAAWgC,EAAA,OAAAE,IAAA,2CAAKG,MAAM,YAAWL,EAAA,QAAAE,IAAA,2CAAM7B,KAAK,WAElDP,KAAKK,SAAWL,KAAKI,aACrB8B,EAAA,KAAAE,IAAA,2CAAGK,GAAIT,EAAQO,MAAM,eAAevC,KAAKI,aAE1CJ,KAAKK,SACJ6B,EAAA,KAAAE,IAAA,2CAAGK,GAAIR,EAAOM,MAAM,WAAWvC,KAAKK,U","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,h as a,H as e,g as n}from"./p-ed4017f0.js";const t={display:"var(--diwa-heading-font-size, var(--diwa-font-size-fluid-4xl))",h1:"var(--diwa-heading-font-size, var(--diwa-font-size-fluid-3xl))",h2:"var(--diwa-heading-font-size, var(--diwa-font-size-fluid-2xl))",h3:"var(--diwa-heading-font-size, var(--diwa-font-size-fluid-xl))",h4:"var(--diwa-heading-font-size, var(--diwa-font-size-fluid-lg))",h5:"var(--diwa-heading-font-size, var(--diwa-font-size-fluid-base))",h6:"var(--diwa-heading-font-size, var(--diwa-font-size-fluid-sm))",inherit:"var(--diwa-heading-font-size, inherit)"};const h={display:"var(--diwa-heading-letter-spacing, -0.03em)",h1:"var(--diwa-heading-letter-spacing, -0.03em)",h2:"var(--diwa-heading-letter-spacing, -0.015em)",h3:"var(--diwa-heading-letter-spacing, -0.015em)",h4:"var(--diwa-heading-letter-spacing, 0)",h5:"var(--diwa-heading-letter-spacing, 0)",h6:"var(--diwa-heading-letter-spacing, 0)",inherit:"var(--diwa-heading-letter-spacing, inherit)"};const d={semibold:"var(--diwa-font-weight-semibold)",bold:"var(--diwa-font-weight-bold)"};const r={primary:"var(--diwa-heading-color, var(--diwa-text-primary))",secondary:"var(--diwa-heading-color, var(--diwa-text-secondary))",inherit:"var(--diwa-heading-color, inherit)"};const s=(i,a,e,n,s)=>`\n\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .heading {\n margin: 0;\n padding: 0;\n font-size: ${t[i]};\n font-weight: ${d[a]};\n line-height: var(--diwa-heading-line-height, var(--diwa-line-height-tight));\n letter-spacing: ${h[i]};\n text-align: ${e};\n color: ${r[n]};\n ${s?"overflow: hidden; text-overflow: ellipsis; white-space: nowrap;":""}\n }\n`;const o=new Set(["h1","h2","h3","h4","h5","h6"]);const f={display:"h1",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",inherit:"h2"};function l(i,a,e){if(i&&Array.from(i.children).some((i=>o.has(i.tagName.toLowerCase())))){return"div"}if(e)return e;return f[a]}const g=class{constructor(a){i(this,a);this.theme="dark";this.size="h2";this.weight="bold";this.align="start";this.color="primary";this.ellipsis=false}render(){const i=l(this.host,this.size,this.tag);return a(e,{key:"da76af7c3fbfbc20a58c3210145fb99c47474b01","data-theme":this.theme},a("style",{key:"3002fa6831effb8f00414fc6a2bc3729578251d3",innerHTML:s(this.size,this.weight,this.align,this.color,this.ellipsis)}),a(i,{key:"acc07263f7150f3d34383eeea09d093bf833a506",class:"heading"},a("slot",{key:"95678b56667d381fabb3e34f9b70ca4fe7faaaa2"})))}get host(){return n(this)}};export{g as diwa_heading};
|
|
2
|
-
//# sourceMappingURL=p-bcc6545a.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["FONT_SIZE","display","h1","h2","h3","h4","h5","h6","inherit","LETTER_SPACING","FONT_WEIGHT","semibold","bold","COLOR","primary","secondary","getComponentCss","size","weight","align","color","ellipsis","H_TAGS","Set","SIZE_TO_TAG","getHeadingTag","host","tag","Array","from","children","some","el","has","tagName","toLowerCase","DiwaHeading","constructor","hostRef","this","theme","render","Tag","h","Host","key","innerHTML","class"],"sources":["src/components/diwa-heading/diwa-heading-styles.ts","src/components/diwa-heading/diwa-heading-utils.ts","src/components/diwa-heading/diwa-heading.tsx"],"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","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","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"],"mappings":"yDAEA,MAAMA,EAAyC,CAC7CC,QAAW,iEACXC,GAAW,iEACXC,GAAW,iEACXC,GAAW,gEACXC,GAAW,gEACXC,GAAW,kEACXC,GAAW,gEACXC,QAAW,0CAGb,MAAMC,EAA8C,CAClDR,QAAW,8CACXC,GAAW,8CACXC,GAAW,+CACXC,GAAW,+CACXC,GAAW,wCACXC,GAAW,wCACXC,GAAW,wCACXC,QAAW,+CAGb,MAAME,EAA6C,CACjDC,SAAU,mCACVC,KAAU,gCAGZ,MAAMC,EAAsC,CAC1CC,QAAW,sDACXC,UAAW,wDACXP,QAAW,sCAGN,MAAMQ,EAAkB,CAC7BC,EACAC,EACAC,EACAC,EACAC,IACW,4MAcIrB,EAAUiB,yBACRP,EAAYQ,8GAETT,EAAeQ,wBACnBE,kBACLN,EAAMO,YACbC,EAAW,kEAAoE,YC3DrF,MAAMC,EAAS,IAAIC,IAAI,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,OAE/C,MAAMC,EAA+C,CAC1DvB,QAAS,KACTC,GAAS,KACTC,GAAS,KACTC,GAAS,KACTC,GAAS,KACTC,GAAS,KACTC,GAAS,KACTC,QAAS,M,SASKiB,EACdC,EACAT,EACAU,GAEA,GAAID,GAAQE,MAAMC,KAAKH,EAAKI,UAAUC,MAAMC,GAAOV,EAAOW,IAAID,EAAGE,QAAQC,iBAAiB,CACxF,MAAO,K,CAET,GAAIR,EAAK,OAAOA,EAChB,OAAOH,EAAYP,EACrB,C,MCPamB,EAAW,MAJxB,WAAAC,CAAAC,G,UAY2BC,KAAAC,MAAe,OAMfD,KAAAtB,KAAoB,KAWpBsB,KAAArB,OAAwB,OAGxBqB,KAAApB,MAAsB,QAMtBoB,KAAAnB,MAAsB,UAMtBmB,KAAAlB,SAAoB,K,CAM7C,MAAAoB,GACE,MAAMC,EAAMjB,EAAcc,KAAKb,KAAMa,KAAKtB,KAAMsB,KAAKZ,KAErD,OACEgB,EAACC,EAAI,CAAAC,IAAA,wDAAaN,KAAKC,OACrBG,EAAA,SAAAE,IAAA,2CAAOC,UAAW9B,EAAgBuB,KAAKtB,KAAMsB,KAAKrB,OAAQqB,KAAKpB,MAAOoB,KAAKnB,MAAOmB,KAAKlB,YACvFsB,EAACD,EAAG,CAAAG,IAAA,2CAACE,MAAM,WACTJ,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as i,h as n,H as a,g as s}from"./p-ed4017f0.js";const t=(e,i,n,a)=>{const s=e==="error"?"var(--diwa-notification-error)":e==="success"?"var(--diwa-notification-success)":"var(--diwa-text-secondary)";return`\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .root {\n display: flex;\n flex-direction: column;\n gap: var(--diwa-space-1);\n }\n\n .label {\n display: block;\n font-size: var(--diwa-font-size-base);\n font-weight: var(--diwa-font-weight-medium);\n color: var(--diwa-text-primary);\n line-height: 1.4;\n }\n\n :host([disabled]) .label {\n color: var(--diwa-text-muted);\n cursor: not-allowed;\n }\n\n .label-required {\n color: var(--diwa-notification-error);\n margin-inline-start: 2px;\n }\n\n .label-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n .description {\n font-size: var(--diwa-font-size-sm);\n color: var(--diwa-text-secondary);\n line-height: 1.4;\n }\n\n .options {\n display: flex;\n flex-direction: ${i==="row"?"row":"column"};\n flex-wrap: wrap;\n gap: ${i==="row"?a?"var(--diwa-space-2)":"var(--diwa-space-4)":a?"var(--diwa-space-1)":"var(--diwa-space-2)"};\n }\n\n .message {\n font-size: var(--diwa-font-size-sm);\n color: ${s};\n line-height: 1.4;\n }\n\n .message[hidden] {\n display: none;\n }\n `};const d=class{constructor(n){e(this,n);this.update=i(this,"update",1);this.theme="dark";this.label="";this.description="";this.value="";this.direction="column";this.required=false;this.disabled=false;this.state="none";this.message="";this.compact=false;this.hideLabel=false;this.name=""}handleItemSelect(e){this.value=e.detail.value;this.update.emit({value:this.value});this.syncChildren()}componentDidLoad(){this.syncChildren()}componentDidUpdate(){this.syncChildren()}syncChildren(){const e=Array.from(this.host.querySelectorAll("diwa-radio-group-item"));const i=this.name||`diwa-radio-group-${Math.random().toString(36).slice(2,7)}`;e.forEach((e=>{e.checked=e.value===this.value;if(!e.name){e.name=i}e.disabled=this.disabled;e.compact=this.compact}))}render(){const e=`diwa-rg-${this.host.id||Math.random().toString(36).slice(2,7)}`;const i=this.description?`${e}-desc`:undefined;const s=this.message&&this.state!=="none"?`${e}-msg`:undefined;return n(a,{key:"353bef6b4f86cf97107f3412f7dc4985d2d11d07","data-theme":this.theme},n("style",{key:"66d357becb10cfe088c8684e571821ad28b13ea7",innerHTML:t(this.state,this.direction,this.disabled,this.compact)}),n("div",{key:"7adf0acbcfa1283d19d42d1fffbbf071a123b6b9",class:"root",role:"radiogroup","aria-labelledby":this.label?`${e}-label`:undefined,"aria-describedby":[i,s].filter(Boolean).join(" ")||undefined,"aria-required":this.required?"true":undefined},this.label&&n("span",{key:"04d65fbfef552fc0698550273c705376527aff68",id:`${e}-label`,class:`label${this.hideLabel?" label-visually-hidden":""}`},this.label,this.required&&n("span",{key:"8880df582e11501249fe4b10f2c1fc511ed260c1",class:"label-required","aria-hidden":"true"}," *")),this.description&&n("span",{key:"1824e6ec894a9681ac4fe5e16c206becdca493ea",id:i,class:"description"},this.description),n("div",{key:"dd0cf861519847041b08f0fa09dc9118cbce9bea",class:"options"},n("slot",{key:"59f2aa4514c3eec3802d258a9f785a925360166c"})),n("span",{key:"76d853b81b97304acf0567d1f7bc147c71592896",id:s,class:"message",hidden:!s},this.message)))}get host(){return s(this)}};export{d as diwa_radio_group};
|
|
2
|
-
//# sourceMappingURL=p-c2557813.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","state","direction","_disabled","compact","messageColor","DiwaRadioGroup","constructor","hostRef","this","theme","label","description","value","required","disabled","message","hideLabel","name","handleItemSelect","event","detail","update","emit","syncChildren","componentDidLoad","componentDidUpdate","items","Array","from","host","querySelectorAll","groupName","Math","random","toString","slice","forEach","item","checked","render","id","descId","undefined","msgId","h","Host","key","innerHTML","class","role","filter","Boolean","join","hidden"],"sources":["src/components/diwa-radio-group/diwa-radio-group-styles.ts","src/components/diwa-radio-group/diwa-radio-group.tsx"],"sourcesContent":["import type { RadioGroupState, RadioGroupDirection } from './types';\r\n\r\nexport const getComponentCss = (\r\n state: RadioGroupState,\r\n direction: RadioGroupDirection,\r\n _disabled: boolean,\r\n compact: boolean,\r\n): string => {\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 :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 .root {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--diwa-space-1);\r\n }\r\n\r\n .label {\r\n display: block;\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-medium);\r\n color: var(--diwa-text-primary);\r\n line-height: 1.4;\r\n }\r\n\r\n :host([disabled]) .label {\r\n color: var(--diwa-text-muted);\r\n cursor: not-allowed;\r\n }\r\n\r\n .label-required {\r\n color: var(--diwa-notification-error);\r\n margin-inline-start: 2px;\r\n }\r\n\r\n .label-visually-hidden {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n padding: 0;\r\n margin: -1px;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n white-space: nowrap;\r\n border: 0;\r\n }\r\n\r\n .description {\r\n font-size: var(--diwa-font-size-sm);\r\n color: var(--diwa-text-secondary);\r\n line-height: 1.4;\r\n }\r\n\r\n .options {\r\n display: flex;\r\n flex-direction: ${direction === 'row' ? 'row' : 'column'};\r\n flex-wrap: wrap;\r\n gap: ${direction === 'row'\r\n ? (compact ? 'var(--diwa-space-2)' : 'var(--diwa-space-4)')\r\n : (compact ? 'var(--diwa-space-1)' : 'var(--diwa-space-2)')};\r\n }\r\n\r\n .message {\r\n font-size: var(--diwa-font-size-sm);\r\n color: ${messageColor};\r\n line-height: 1.4;\r\n }\r\n\r\n .message[hidden] {\r\n display: none;\r\n }\r\n `;\r\n};\r\n","import { Component, Element, Event, type EventEmitter, Host, Listen, Prop, h } from '@stencil/core';\r\nimport type { RadioGroupDirection, RadioGroupState, RadioGroupUpdateEventDetail } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-radio-group-styles';\r\n\r\n/**\r\n * @component diwa-radio-group\r\n *\r\n * Container for a set of `diwa-radio-group-item` children. Manages the\r\n * selected value, label, description, validation state, and layout direction.\r\n *\r\n * Usage:\r\n * <diwa-radio-group label=\"Size\" value=\"m\" onupdate={e => setValue(e.detail.value)}>\r\n * <diwa-radio-group-item value=\"s\">Small</diwa-radio-group-item>\r\n * <diwa-radio-group-item value=\"m\">Medium</diwa-radio-group-item>\r\n * <diwa-radio-group-item value=\"l\">Large</diwa-radio-group-item>\r\n * </diwa-radio-group>\r\n */\r\n@Component({\r\n tag: 'diwa-radio-group',\r\n shadow: true,\r\n})\r\nexport class DiwaRadioGroup {\r\n @Element() host!: HTMLDiwaRadioGroupElement;\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Group label rendered above the options. */\r\n @Prop() label: string = '';\r\n\r\n /** Supplementary description rendered below the label. */\r\n @Prop() description: string = '';\r\n\r\n /** Currently selected value. Synced down to child items. */\r\n @Prop({ mutable: true, reflect: true }) value: string = '';\r\n\r\n /** Layout direction for the radio options. */\r\n @Prop({ reflect: true }) direction: RadioGroupDirection = 'column';\r\n\r\n /** Whether selecting a value is required. */\r\n @Prop() required: boolean = false;\r\n\r\n /** Disables all child items. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /** Validation state. */\r\n @Prop({ reflect: true }) state: RadioGroupState = 'none';\r\n\r\n /** Feedback message shown when state is error or success. */\r\n @Prop() message: string = '';\r\n\r\n /** Reduces size for denser layouts. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /** Hides the label visually while keeping it accessible. */\r\n @Prop({ reflect: true, attribute: 'hide-label' }) hideLabel: boolean = false;\r\n\r\n /** Native name attribute shared by all radio inputs in the group. */\r\n @Prop() name: string = '';\r\n\r\n /**\r\n * Emitted when the selected value changes.\r\n * `event.detail.value` is the newly selected value.\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<RadioGroupUpdateEventDetail>;\r\n\r\n /** Listen for item selection bubbling up from slotted children. */\r\n @Listen('diwa-radio-select')\r\n handleItemSelect(event: CustomEvent<{ value: string }>) {\r\n this.value = event.detail.value;\r\n this.update.emit({ value: this.value });\r\n this.syncChildren();\r\n }\r\n\r\n componentDidLoad() {\r\n this.syncChildren();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.syncChildren();\r\n }\r\n\r\n private syncChildren() {\r\n const items = Array.from(\r\n this.host.querySelectorAll('diwa-radio-group-item'),\r\n ) as HTMLDiwaRadioGroupItemElement[];\r\n const groupName = this.name || `diwa-radio-group-${Math.random().toString(36).slice(2, 7)}`;\r\n items.forEach((item) => {\r\n (item as any).checked = item.value === this.value;\r\n if (!(item as any).name) {\r\n (item as any).name = groupName;\r\n }\r\n (item as any).disabled = this.disabled;\r\n (item as any).compact = this.compact;\r\n });\r\n }\r\n\r\n render() {\r\n const id = `diwa-rg-${this.host.id || Math.random().toString(36).slice(2, 7)}`;\r\n const descId = this.description ? `${id}-desc` : undefined;\r\n const msgId = this.message && this.state !== 'none' ? `${id}-msg` : undefined;\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.state, this.direction, this.disabled, this.compact)} />\r\n <div\r\n class=\"root\"\r\n role=\"radiogroup\"\r\n aria-labelledby={this.label ? `${id}-label` : undefined}\r\n aria-describedby={[descId, msgId].filter(Boolean).join(' ') || undefined}\r\n aria-required={this.required ? 'true' : undefined}\r\n >\r\n {this.label && (\r\n <span id={`${id}-label`} class={`label${this.hideLabel ? ' label-visually-hidden' : ''}`}>\r\n {this.label}\r\n {this.required && <span class=\"label-required\" aria-hidden=\"true\"> *</span>}\r\n </span>\r\n )}\r\n {this.description && (\r\n <span id={descId} class=\"description\">\r\n {this.description}\r\n </span>\r\n )}\r\n <div class=\"options\">\r\n <slot />\r\n </div>\r\n <span id={msgId} class=\"message\" hidden={!msgId}>\r\n {this.message}\r\n </span>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"gEAEO,MAAMA,EAAkB,CAC7BC,EACAC,EACAC,EACAC,KAEA,MAAMC,EACJJ,IAAU,QACN,iCACAA,IAAU,UACR,mCACA,6BAER,MAAO,ohCAsDaC,IAAc,MAAQ,MAAQ,6CAEzCA,IAAc,MAChBE,EAAU,sBAAwB,sBAClCA,EAAU,sBAAwB,qGAK9BC,qFAOV,E,MC/DUC,EAAc,MAJ3B,WAAAC,CAAAC,G,yCAQ2BC,KAAAC,MAAe,OAGhCD,KAAAE,MAAgB,GAGhBF,KAAAG,YAAsB,GAGUH,KAAAI,MAAgB,GAG/BJ,KAAAP,UAAiC,SAGlDO,KAAAK,SAAoB,MAGHL,KAAAM,SAAoB,MAGpBN,KAAAR,MAAyB,OAG1CQ,KAAAO,QAAkB,GAGDP,KAAAL,QAAmB,MAGMK,KAAAQ,UAAqB,MAG/DR,KAAAS,KAAe,E,CAWvB,gBAAAC,CAAiBC,GACfX,KAAKI,MAAQO,EAAMC,OAAOR,MAC1BJ,KAAKa,OAAOC,KAAK,CAAEV,MAAOJ,KAAKI,QAC/BJ,KAAKe,c,CAGP,gBAAAC,GACEhB,KAAKe,c,CAGP,kBAAAE,GACEjB,KAAKe,c,CAGC,YAAAA,GACN,MAAMG,EAAQC,MAAMC,KAClBpB,KAAKqB,KAAKC,iBAAiB,0BAE7B,MAAMC,EAAYvB,KAAKS,MAAQ,oBAAoBe,KAAKC,SAASC,SAAS,IAAIC,MAAM,EAAG,KACvFT,EAAMU,SAASC,IACZA,EAAaC,QAAUD,EAAKzB,QAAUJ,KAAKI,MAC5C,IAAMyB,EAAapB,KAAM,CACtBoB,EAAapB,KAAOc,C,CAEtBM,EAAavB,SAAWN,KAAKM,SAC7BuB,EAAalC,QAAUK,KAAKL,OAAO,G,CAIxC,MAAAoC,GACE,MAAMC,EAAK,WAAWhC,KAAKqB,KAAKW,IAAMR,KAAKC,SAASC,SAAS,IAAIC,MAAM,EAAG,KAC1E,MAAMM,EAASjC,KAAKG,YAAc,GAAG6B,SAAYE,UACjD,MAAMC,EAAQnC,KAAKO,SAAWP,KAAKR,QAAU,OAAS,GAAGwC,QAAWE,UAEpE,OACEE,EAACC,EAAI,CAAAC,IAAA,wDAAatC,KAAKC,OACrBmC,EAAA,SAAAE,IAAA,2CAAOC,UAAWhD,EAAgBS,KAAKR,MAAOQ,KAAKP,UAAWO,KAAKM,SAAUN,KAAKL,WAClFyC,EAAA,OAAAE,IAAA,2CACEE,MAAM,OACNC,KAAK,aAAY,kBACAzC,KAAKE,MAAQ,GAAG8B,UAAaE,UAAS,mBACrC,CAACD,EAAQE,GAAOO,OAAOC,SAASC,KAAK,MAAQV,UAAS,gBACzDlC,KAAKK,SAAW,OAAS6B,WAEvClC,KAAKE,OACJkC,EAAA,QAAAE,IAAA,2CAAMN,GAAI,GAAGA,UAAYQ,MAAO,QAAQxC,KAAKQ,UAAY,yBAA2B,MACjFR,KAAKE,MACLF,KAAKK,UAAY+B,EAAA,QAAAE,IAAA,2CAAME,MAAM,iBAAgB,cAAa,QAAM,OAGpExC,KAAKG,aACJiC,EAAA,QAAAE,IAAA,2CAAMN,GAAIC,EAAQO,MAAM,eACrBxC,KAAKG,aAGViC,EAAA,OAAAE,IAAA,2CAAKE,MAAM,WACTJ,EAAA,QAAAE,IAAA,8CAEFF,EAAA,QAAAE,IAAA,2CAAMN,GAAIG,EAAOK,MAAM,UAAUK,QAASV,GACvCnC,KAAKO,U","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as a,H as i}from"./p-ed4017f0.js";const e={"x-small":"var(--diwa-font-size-xs)",small:"var(--diwa-font-size-md)",medium:"var(--diwa-font-size-base)",large:"var(--diwa-font-size-lg)","x-large":"var(--diwa-font-size-xl)","xx-large":"var(--diwa-font-size-3xl)"};const n={regular:"var(--diwa-font-weight-normal)",semibold:"var(--diwa-font-weight-semibold)",bold:"var(--diwa-font-weight-bold)"};const s={primary:"var(--diwa-text-primary)",secondary:"var(--diwa-text-secondary)",tertiary:"var(--diwa-text-tertiary)",inherit:"inherit"};const r=(t,a,i,r,d)=>`\n\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .text {\n margin: 0;\n padding: 0;\n font-size: ${e[t]};\n font-weight: ${n[a]};\n line-height: var(--diwa-line-height-normal);\n text-align: ${i};\n color: ${s[r]};\n ${d?"overflow: hidden; text-overflow: ellipsis; white-space: nowrap;":""}\n }\n`;const d=class{constructor(a){t(this,a);this.theme="dark";this.tag="p";this.size="small";this.weight="regular";this.align="start";this.color="primary";this.ellipsis=false}render(){const t=this.tag;return a(i,{key:"49d18cf4a1cde0bf2d76da600ae75986c5ee037c","data-theme":this.theme},a("style",{key:"731258511e5767af1d62598367bd10d46f09c6c6",innerHTML:r(this.size,this.weight,this.align,this.color,this.ellipsis)}),a(t,{key:"87a7f719ba0298cd1c502c04ac98f7f15d428e8b",class:"text"},a("slot",{key:"20d0fb364bfd92432ff603327ba3b1d057b6129d"})))}};export{d as diwa_text};
|
|
2
|
-
//# sourceMappingURL=p-c3535eb8.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["FONT_SIZE","small","medium","large","FONT_WEIGHT","regular","semibold","bold","COLOR","primary","secondary","tertiary","inherit","getComponentCss","size","weight","align","color","ellipsis","DiwaText","constructor","hostRef","this","theme","tag","render","Tag","h","Host","key","innerHTML","class"],"sources":["src/components/diwa-text/diwa-text-styles.ts","src/components/diwa-text/diwa-text.tsx"],"sourcesContent":["import type { TextAlign, TextColor, TextSize, TextWeight } from './types';\r\n\r\nconst FONT_SIZE: Record<TextSize, string> = {\r\n 'x-small': 'var(--diwa-font-size-xs)',\r\n 'small': 'var(--diwa-font-size-md)',\r\n 'medium': 'var(--diwa-font-size-base)',\r\n 'large': 'var(--diwa-font-size-lg)',\r\n 'x-large': 'var(--diwa-font-size-xl)',\r\n 'xx-large': 'var(--diwa-font-size-3xl)',\r\n};\r\n\r\nconst FONT_WEIGHT: Record<TextWeight, string> = {\r\n regular: 'var(--diwa-font-weight-normal)',\r\n semibold: 'var(--diwa-font-weight-semibold)',\r\n bold: 'var(--diwa-font-weight-bold)',\r\n};\r\n\r\nconst COLOR: Record<TextColor, string> = {\r\n primary: 'var(--diwa-text-primary)',\r\n secondary: 'var(--diwa-text-secondary)',\r\n tertiary: 'var(--diwa-text-tertiary)',\r\n inherit: 'inherit',\r\n};\r\n\r\nexport const getComponentCss = (\r\n size: TextSize,\r\n weight: TextWeight,\r\n align: TextAlign,\r\n color: TextColor,\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 .text {\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-line-height-normal);\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","import { Component, Host, Prop, h } from '@stencil/core';\r\nimport type { TextAlign, TextColor, TextSize, TextTag, TextWeight } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-text-styles';\r\n\r\n/**\r\n * @component diwa-text\r\n *\r\n * A semantically correct text renderer that maps a visual type scale onto\n * the correct HTML element. Mirrors the Diwa text API contract.\n *\r\n * Usage:\r\n * <diwa-text size=\"large\" weight=\"semibold\">Section title</diwa-text>\r\n * <diwa-text size=\"small\" color=\"secondary\">Supporting detail</diwa-text>\r\n * <diwa-text tag=\"span\" size=\"medium\" ellipsis>Truncated text</diwa-text>\r\n *\r\n * @slot default — Text content. Can include inline elements.\r\n */\r\n@Component({\r\n tag: 'diwa-text',\r\n shadow: true,\r\n})\r\nexport class DiwaText {\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 /** HTML element to render. Choose based on semantic context. */\r\n @Prop({ reflect: true }) tag: TextTag = 'p';\r\n\r\n /** Font size tier. Maps to the diwa type scale. */\r\n @Prop({ reflect: true }) size: TextSize = 'small';\r\n\r\n /** Font weight. */\r\n @Prop({ reflect: true }) weight: TextWeight = 'regular';\r\n\r\n /** Horizontal alignment. `start` and `end` are RTL-aware. */\r\n @Prop({ reflect: true }) align: TextAlign = 'start';\r\n\r\n /**\r\n * Colour alias. Use `inherit` to pass through the surrounding colour unchanged —\r\n * useful inside buttons, table cells, or other styled containers.\r\n */\r\n @Prop({ reflect: true }) color: TextColor = '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 = 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=\"text\">\r\n <slot />\r\n </Tag>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"kDAEA,MAAMA,EAAsC,CAC1C,UAAY,2BACZC,MAAY,2BACZC,OAAY,6BACZC,MAAY,2BACZ,UAAY,2BACZ,WAAY,6BAGd,MAAMC,EAA0C,CAC9CC,QAAU,iCACVC,SAAU,mCACVC,KAAU,gCAGZ,MAAMC,EAAmC,CACvCC,QAAW,2BACXC,UAAW,6BACXC,SAAW,4BACXC,QAAW,WAGN,MAAMC,EAAkB,CAC7BC,EACAC,EACAC,EACAC,EACAC,IACW,yMAcIlB,EAAUc,yBACRV,EAAYW,0EAEbC,kBACLR,EAAMS,YACbC,EAAW,kEAAoE,Y,MC3BxEC,EAAQ,MAJrB,WAAAC,CAAAC,G,UAU2BC,KAAAC,MAAe,OAGfD,KAAAE,IAAe,IAGfF,KAAAR,KAAiB,QAGjBQ,KAAAP,OAAqB,UAGrBO,KAAAN,MAAmB,QAMnBM,KAAAL,MAAmB,UAMnBK,KAAAJ,SAAoB,K,CAM7C,MAAAO,GACE,MAAMC,EAAMJ,KAAKE,IAEjB,OACEG,EAACC,EAAI,CAAAC,IAAA,wDAAaP,KAAKC,OACrBI,EAAA,SAAAE,IAAA,2CAAOC,UAAWjB,EAAgBS,KAAKR,KAAMQ,KAAKP,OAAQO,KAAKN,MAAOM,KAAKL,MAAOK,KAAKJ,YACvFS,EAACD,EAAG,CAAAG,IAAA,2CAACE,MAAM,QACTJ,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as a,h as r,H as e}from"./p-ed4017f0.js";const o=()=>`\n :host {\n display: table-row;\n border-bottom: var(--diwa-table-row-border-width, var(--diwa-border-width-thin, 1px)) solid var(--diwa-table-border-color, var(--diwa-border)) !important;\n transition: background var(--diwa-transition-base);\n }\n :host([hidden]) { display: none; }\n :host(:hover) {\n background: var(--diwa-table-hover-color, transparent);\n }\n`;const t=class{constructor(r){a(this,r);this.theme="dark"}render(){return r(e,{key:"45310520a3e662442e44a2c1ef97aed5aab249ef",role:"row","data-theme":this.theme},r("style",{key:"ebd5e2f8a71726d4c77b66a5be6acb7b4efe372f",innerHTML:o()}),r("slot",{key:"2e28c9bb411bc76c3c17094d91daa3b7f541d697"}))}};export{t as diwa_table_row};
|
|
2
|
-
//# sourceMappingURL=p-c4083a76.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","DiwaTableRow","constructor","hostRef","this","theme","render","h","Host","key","role","innerHTML"],"sources":["src/components/diwa-table-row/diwa-table-row-styles.ts","src/components/diwa-table-row/diwa-table-row.tsx"],"sourcesContent":["export const getComponentCss = (): string => `\n :host {\n display: table-row;\n border-bottom: var(--diwa-table-row-border-width, var(--diwa-border-width-thin, 1px)) solid var(--diwa-table-border-color, var(--diwa-border)) !important;\n transition: background var(--diwa-transition-base);\n }\n :host([hidden]) { display: none; }\n :host(:hover) {\n background: var(--diwa-table-hover-color, transparent);\n }\n`;\n","import { Component, Host, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-table-row-styles';\r\n\r\n/** @component diwa-table-row — Maps to <tr> inside diwa-table-head or diwa-table-body. */\r\n@Component({ tag: 'diwa-table-row', shadow: true })\r\nexport class DiwaTableRow {\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n render() {\r\n return (\r\n <Host role=\"row\" data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"kDAAO,MAAMA,EAAkB,IAAc,kY,MCMhCC,EAAY,MADzB,WAAAC,CAAAC,G,UAE2BC,KAAAC,MAAe,M,CAExC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,MAAK,aAAaN,KAAKC,OAChCE,EAAA,SAAAE,IAAA,2CAAOE,UAAWX,MAClBO,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as a,H as n,g as t}from"./p-ed4017f0.js";import{g as i,a as r}from"./p-70bbb21a.js";const o={top:"bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%);",bottom:"top: calc(100% + 6px); left: 50%; transform: translateX(-50%);",start:"right: calc(100% + 6px); top: 50%; transform: translateY(-50%);",end:"left: calc(100% + 6px); top: 50%; transform: translateY(-50%);"};const d=(e,a)=>{const n=o[a];return`\n :host {\n display: inline-flex;\n position: relative;\n }\n :host([hidden]) {\n display: none;\n }\n .trigger {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--diwa-popover-trigger-size);\n height: var(--diwa-popover-trigger-size);\n padding: 0;\n background: none;\n border: none;\n border-radius: var(--diwa-radius-sm);\n transition: color var(--diwa-transition-base);\n }\n .trigger:hover {\n color: var(--diwa-text-primary);\n }\n ${i(".trigger")}\n .panel {\n display: ${e?"block":"none"};\n position: absolute;\n ${n}\n z-index: 100;\n min-width: var(--diwa-popover-panel-min-width);\n max-width: var(--diwa-popover-panel-max-width);\n padding: var(--diwa-space-5);\n background: var(--diwa-bg-elevated);\n border: var(--diwa-border-width-thin) solid var(--diwa-border);\n border-radius: var(--diwa-radius-lg);\n box-shadow: var(--diwa-shadow-lg);\n font-family: var(--diwa-font-family-base);\n font-size: var(--diwa-font-size-base);\n color: var(--diwa-text-primary);\n line-height: var(--diwa-line-height-normal);\n white-space: normal;\n }\n\n .panel p,\n .panel ::slotted(p) {\n margin: 0;\n }\n\n ${r(".trigger")}\n `};const s=class{constructor(a){e(this,a);this.direction="bottom";this.theme="dark";this.isOpen=false;this.toggle=()=>{this.isOpen=!this.isOpen}}handleGlobalKeydown(e){if(e.key==="Escape"&&this.isOpen){this.isOpen=false}}handleGlobalPointerDown(e){if(!this.isOpen){return}if(!e.composedPath().includes(this.host)){this.isOpen=false}}render(){return a(n,{key:"09f649039a99b456fcedf4483383341810ac55be","data-theme":this.theme},a("style",{key:"0a2cf250642b076e60d87800f813c8155365b247",innerHTML:d(this.isOpen,this.direction)}),a("slot",{key:"14a103bb5c665cb9aed21496b06722e15f89f299",name:"button"},a("button",{key:"c156d661eedb2255e5c0817bcccc84494369a7c4",class:"trigger",type:"button","aria-expanded":String(this.isOpen),"aria-haspopup":"true",onClick:this.toggle},a("svg",{key:"48db1f2fb41745dc443e8f3c969184fa8da6fa6c",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},a("circle",{key:"f9994b25f044912cf2e97f35b3f8c91b112792fc",cx:"12",cy:"12",r:"10"}),a("line",{key:"234a8b16cd08ad0ecf2479483b7bfd6b1a3092e6",x1:"12",y1:"8",x2:"12",y2:"12"}),a("line",{key:"d5d52b35ad5894e196bff0f0af3ce7dde547aac1",x1:"12",y1:"16",x2:"12.01",y2:"16"})))),a("div",{key:"c91727245e163aebbd6db9f86d66cbd1d144dbf1",class:"panel",role:"tooltip","aria-hidden":String(!this.isOpen)},this.description&&a("p",{key:"6a6a451ad2bcc92588ea7319585e12b1eb21b2ab"},this.description),a("slot",{key:"54dad0ddb906415a13fedefe8994200b94ecbb6f"})))}static get delegatesFocus(){return true}get host(){return t(this)}};export{s as diwa_popover};
|
|
2
|
-
//# sourceMappingURL=p-c427acf5.entry.js.map
|