@dialpad/dialtone-vue 3.210.0 → 3.211.0-next.2
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/common/constants/index.cjs +1 -1
- package/dist/common/constants/index.cjs.map +1 -1
- package/dist/common/constants/index.js +10 -10
- package/dist/common/constants/index.js.map +1 -1
- package/dist/common/mixins/keyboard-list-navigation.cjs +1 -1
- package/dist/common/mixins/keyboard-list-navigation.cjs.map +1 -1
- package/dist/common/mixins/keyboard-list-navigation.js +7 -7
- package/dist/common/mixins/keyboard-list-navigation.js.map +1 -1
- package/dist/component-documentation.json +1 -1
- package/dist/dialtone-vue.cjs +1 -1
- package/dist/dialtone-vue.js +425 -387
- package/dist/dialtone-vue.js.map +1 -1
- package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
- package/dist/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
- package/dist/lib/attachment-carousel/attachment-carousel.js +64 -117
- package/dist/lib/attachment-carousel/attachment-carousel.js.map +1 -1
- package/dist/lib/avatar/avatar-constants.cjs +1 -1
- package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
- package/dist/lib/avatar/avatar-constants.js +169 -43
- package/dist/lib/avatar/avatar-constants.js.map +1 -1
- package/dist/lib/avatar/avatar.cjs +1 -1
- package/dist/lib/avatar/avatar.cjs.map +1 -1
- package/dist/lib/avatar/avatar.js +185 -100
- package/dist/lib/avatar/avatar.js.map +1 -1
- package/dist/lib/avatar/index.cjs +1 -1
- package/dist/lib/avatar/index.js +16 -10
- package/dist/lib/badge/badge.cjs +1 -1
- package/dist/lib/badge/badge.cjs.map +1 -1
- package/dist/lib/badge/badge.js +47 -35
- package/dist/lib/badge/badge.js.map +1 -1
- package/dist/lib/banner/banner.cjs +1 -1
- package/dist/lib/banner/banner.cjs.map +1 -1
- package/dist/lib/banner/banner.js +19 -18
- package/dist/lib/banner/banner.js.map +1 -1
- package/dist/lib/breadcrumbs/breadcrumb-item.cjs +1 -1
- package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
- package/dist/lib/breadcrumbs/breadcrumb-item.js +3 -1
- package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
- package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
- package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
- package/dist/lib/breadcrumbs/breadcrumbs.js +21 -18
- package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/lib/button/button-constants.cjs +1 -1
- package/dist/lib/button/button-constants.cjs.map +1 -1
- package/dist/lib/button/button-constants.js +23 -19
- package/dist/lib/button/button-constants.js.map +1 -1
- package/dist/lib/button/button.cjs +1 -1
- package/dist/lib/button/button.cjs.map +1 -1
- package/dist/lib/button/button.js +171 -66
- package/dist/lib/button/button.js.map +1 -1
- package/dist/lib/callbar-button/callbar-button.cjs +1 -1
- package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
- package/dist/lib/callbar-button/callbar-button.js +13 -14
- package/dist/lib/callbar-button/callbar-button.js.map +1 -1
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +42 -30
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +38 -26
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
- package/dist/lib/callbox/callbox.cjs +1 -1
- package/dist/lib/callbox/callbox.cjs.map +1 -1
- package/dist/lib/callbox/callbox.js +47 -47
- package/dist/lib/callbox/callbox.js.map +1 -1
- package/dist/lib/checkbox/checkbox.cjs +1 -1
- package/dist/lib/checkbox/checkbox.cjs.map +1 -1
- package/dist/lib/checkbox/checkbox.js +97 -43
- package/dist/lib/checkbox/checkbox.js.map +1 -1
- package/dist/lib/chip/chip.cjs +1 -1
- package/dist/lib/chip/chip.cjs.map +1 -1
- package/dist/lib/chip/chip.js +1 -1
- package/dist/lib/chip/chip.js.map +1 -1
- package/dist/lib/codeblock/codeblock-constants.cjs +2 -0
- package/dist/lib/codeblock/codeblock-constants.cjs.map +1 -0
- package/dist/lib/codeblock/codeblock-constants.js +6 -0
- package/dist/lib/codeblock/codeblock-constants.js.map +1 -0
- package/dist/lib/codeblock/codeblock.cjs +1 -2
- package/dist/lib/codeblock/codeblock.cjs.map +1 -1
- package/dist/lib/codeblock/codeblock.js +34 -13
- package/dist/lib/codeblock/codeblock.js.map +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select.js +31 -31
- package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
- package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
- package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
- package/dist/lib/contact-centers-row/contact-centers-row.js +33 -33
- package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
- package/dist/lib/contact-info/contact-info.cjs +1 -1
- package/dist/lib/contact-info/contact-info.cjs.map +1 -1
- package/dist/lib/contact-info/contact-info.js +56 -56
- package/dist/lib/contact-info/contact-info.js.map +1 -1
- package/dist/lib/contact-row/contact-row.cjs +1 -1
- package/dist/lib/contact-row/contact-row.cjs.map +1 -1
- package/dist/lib/contact-row/contact-row.js +1 -1
- package/dist/lib/contact-row/contact-row.js.map +1 -1
- package/dist/lib/datepicker/datepicker.cjs +1 -1
- package/dist/lib/datepicker/datepicker.cjs.map +1 -1
- package/dist/lib/datepicker/datepicker.js +13 -17
- package/dist/lib/datepicker/datepicker.js.map +1 -1
- package/dist/lib/dropdown/dropdown-list.cjs +1 -1
- package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
- package/dist/lib/dropdown/dropdown-list.js +29 -18
- package/dist/lib/dropdown/dropdown-list.js.map +1 -1
- package/dist/lib/editor/editor.cjs.map +1 -1
- package/dist/lib/editor/editor.js.map +1 -1
- package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
- package/dist/lib/emoji-picker/emoji-picker.cjs.map +1 -1
- package/dist/lib/emoji-picker/emoji-picker.js +2 -2
- package/dist/lib/emoji-picker/emoji-picker.js.map +1 -1
- package/dist/lib/empty-state/empty-state-constants.cjs +1 -1
- package/dist/lib/empty-state/empty-state-constants.cjs.map +1 -1
- package/dist/lib/empty-state/empty-state-constants.js +28 -16
- package/dist/lib/empty-state/empty-state-constants.js.map +1 -1
- package/dist/lib/empty-state/empty-state.cjs +1 -1
- package/dist/lib/empty-state/empty-state.cjs.map +1 -1
- package/dist/lib/empty-state/empty-state.js +54 -32
- package/dist/lib/empty-state/empty-state.js.map +1 -1
- package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
- package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
- package/dist/lib/feed-item-pill/feed-item-pill.js +56 -53
- package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
- package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
- package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
- package/dist/lib/feed-item-row/feed-item-row.js +11 -11
- package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
- package/dist/lib/filter-pill/filter-pill.cjs +2 -0
- package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
- package/dist/lib/filter-pill/filter-pill.js +346 -0
- package/dist/lib/filter-pill/filter-pill.js.map +1 -0
- package/dist/lib/filter-pill/index.cjs +2 -0
- package/dist/lib/filter-pill/index.cjs.map +1 -0
- package/dist/lib/filter-pill/index.js +5 -0
- package/dist/lib/filter-pill/index.js.map +1 -0
- package/dist/lib/general-row/general-row.cjs +1 -1
- package/dist/lib/general-row/general-row.cjs.map +1 -1
- package/dist/lib/general-row/general-row.js +153 -99
- package/dist/lib/general-row/general-row.js.map +1 -1
- package/dist/lib/group-row/group-row.cjs +1 -1
- package/dist/lib/group-row/group-row.cjs.map +1 -1
- package/dist/lib/group-row/group-row.js +1 -1
- package/dist/lib/group-row/group-row.js.map +1 -1
- package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
- package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
- package/dist/lib/grouped-chip/grouped-chip.js +31 -31
- package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
- package/dist/lib/input/input-constants.cjs +1 -1
- package/dist/lib/input/input-constants.cjs.map +1 -1
- package/dist/lib/input/input-constants.js +17 -22
- package/dist/lib/input/input-constants.js.map +1 -1
- package/dist/lib/input/input.cjs +1 -1
- package/dist/lib/input/input.cjs.map +1 -1
- package/dist/lib/input/input.js +144 -72
- package/dist/lib/input/input.js.map +1 -1
- package/dist/lib/input-group/input-group.cjs +1 -1
- package/dist/lib/input-group/input-group.cjs.map +1 -1
- package/dist/lib/input-group/input-group.js +35 -28
- package/dist/lib/input-group/input-group.js.map +1 -1
- package/dist/lib/item-layout/item-layout.cjs +3 -3
- package/dist/lib/item-layout/item-layout.cjs.map +1 -1
- package/dist/lib/item-layout/item-layout.js +74 -39
- package/dist/lib/item-layout/item-layout.js.map +1 -1
- package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs +1 -1
- package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
- package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +56 -43
- package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
- package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
- package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
- package/dist/lib/kitchen-sink/kitchen-sink-view.js +263 -0
- package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
- package/dist/lib/link/link.cjs +1 -1
- package/dist/lib/link/link.cjs.map +1 -1
- package/dist/lib/link/link.js +22 -12
- package/dist/lib/link/link.js.map +1 -1
- package/dist/lib/list-item/list-item.cjs +1 -1
- package/dist/lib/list-item/list-item.cjs.map +1 -1
- package/dist/lib/list-item/list-item.js +25 -15
- package/dist/lib/list-item/list-item.js.map +1 -1
- package/dist/lib/loader/loader.cjs +13 -1
- package/dist/lib/loader/loader.cjs.map +1 -1
- package/dist/lib/loader/loader.js +31 -20
- package/dist/lib/loader/loader.js.map +1 -1
- package/dist/lib/message-input/message-input.cjs +1 -1
- package/dist/lib/message-input/message-input.cjs.map +1 -1
- package/dist/lib/message-input/message-input.js +39 -39
- package/dist/lib/message-input/message-input.js.map +1 -1
- package/dist/lib/modal/modal.cjs +1 -1
- package/dist/lib/modal/modal.cjs.map +1 -1
- package/dist/lib/modal/modal.js +74 -61
- package/dist/lib/modal/modal.js.map +1 -1
- package/dist/lib/mode-island/index.cjs +2 -0
- package/dist/lib/mode-island/index.cjs.map +1 -0
- package/dist/lib/mode-island/index.js +7 -0
- package/dist/lib/mode-island/index.js.map +1 -0
- package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
- package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
- package/dist/lib/mode-island/mode-island-constants.js +12 -0
- package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
- package/dist/lib/mode-island/mode-island.cjs +2 -0
- package/dist/lib/mode-island/mode-island.cjs.map +1 -0
- package/dist/lib/mode-island/mode-island.js +130 -0
- package/dist/lib/mode-island/mode-island.js.map +1 -0
- package/dist/lib/mode-island/utils.cjs +2 -0
- package/dist/lib/mode-island/utils.cjs.map +1 -0
- package/dist/lib/mode-island/utils.js +32 -0
- package/dist/lib/mode-island/utils.js.map +1 -0
- package/dist/lib/mode-island/validators.cjs +2 -0
- package/dist/lib/mode-island/validators.cjs.map +1 -0
- package/dist/lib/mode-island/validators.js +12 -0
- package/dist/lib/mode-island/validators.js.map +1 -0
- package/dist/lib/notice/notice-action.cjs +1 -1
- package/dist/lib/notice/notice-action.cjs.map +1 -1
- package/dist/lib/notice/notice-action.js +7 -7
- package/dist/lib/notice/notice-action.js.map +1 -1
- package/dist/lib/notice/notice-content.cjs +1 -1
- package/dist/lib/notice/notice-content.cjs.map +1 -1
- package/dist/lib/notice/notice-content.js +38 -21
- package/dist/lib/notice/notice-content.js.map +1 -1
- package/dist/lib/notice/notice.cjs +1 -1
- package/dist/lib/notice/notice.cjs.map +1 -1
- package/dist/lib/notice/notice.js +20 -19
- package/dist/lib/notice/notice.js.map +1 -1
- package/dist/lib/pagination/pagination.cjs +1 -1
- package/dist/lib/pagination/pagination.cjs.map +1 -1
- package/dist/lib/pagination/pagination.js +15 -14
- package/dist/lib/pagination/pagination.js.map +1 -1
- package/dist/lib/popover/popover.cjs +1 -1
- package/dist/lib/popover/popover.cjs.map +1 -1
- package/dist/lib/popover/popover.js +1 -1
- package/dist/lib/popover/popover.js.map +1 -1
- package/dist/lib/progress-circle/index.cjs +2 -0
- package/dist/lib/progress-circle/index.cjs.map +1 -0
- package/dist/lib/progress-circle/index.js +10 -0
- package/dist/lib/progress-circle/index.js.map +1 -0
- package/dist/lib/progress-circle/progress-circle-constants.cjs +2 -0
- package/dist/lib/progress-circle/progress-circle-constants.cjs.map +1 -0
- package/dist/lib/progress-circle/progress-circle-constants.js +25 -0
- package/dist/lib/progress-circle/progress-circle-constants.js.map +1 -0
- package/dist/lib/progress-circle/progress-circle.cjs +2 -0
- package/dist/lib/progress-circle/progress-circle.cjs.map +1 -0
- package/dist/lib/progress-circle/progress-circle.js +136 -0
- package/dist/lib/progress-circle/progress-circle.js.map +1 -0
- package/dist/lib/radio/radio.cjs +1 -1
- package/dist/lib/radio/radio.cjs.map +1 -1
- package/dist/lib/radio/radio.js +103 -41
- package/dist/lib/radio/radio.js.map +1 -1
- package/dist/lib/rich-text-editor/rich-text-editor.cjs +4 -4
- package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
- package/dist/lib/rich-text-editor/rich-text-editor.js +607 -560
- package/dist/lib/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
- package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
- package/dist/lib/root-layout/root-layout-constants.js +4 -2
- package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
- package/dist/lib/root-layout/root-layout.cjs +1 -1
- package/dist/lib/root-layout/root-layout.cjs.map +1 -1
- package/dist/lib/root-layout/root-layout.js +15 -13
- package/dist/lib/root-layout/root-layout.js.map +1 -1
- package/dist/lib/select-menu/select-menu.cjs +1 -1
- package/dist/lib/select-menu/select-menu.cjs.map +1 -1
- package/dist/lib/select-menu/select-menu.js +113 -61
- package/dist/lib/select-menu/select-menu.js.map +1 -1
- package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
- package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
- package/dist/lib/settings-menu-button/settings-menu-button.js +14 -15
- package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
- package/dist/lib/split-button/split-button-end.cjs +2 -0
- package/dist/lib/split-button/split-button-end.cjs.map +1 -0
- package/dist/lib/split-button/{split-button-omega.js → split-button-end.js} +13 -13
- package/dist/lib/split-button/split-button-end.js.map +1 -0
- package/dist/lib/split-button/split-button-start.cjs +2 -0
- package/dist/lib/split-button/split-button-start.cjs.map +1 -0
- package/dist/lib/split-button/split-button-start.js +231 -0
- package/dist/lib/split-button/split-button-start.js.map +1 -0
- package/dist/lib/split-button/split-button.cjs +1 -1
- package/dist/lib/split-button/split-button.cjs.map +1 -1
- package/dist/lib/split-button/split-button.js +334 -98
- package/dist/lib/split-button/split-button.js.map +1 -1
- package/dist/lib/tab/index.cjs +1 -1
- package/dist/lib/tab/index.js +13 -11
- package/dist/lib/tab/tab-group.cjs +1 -1
- package/dist/lib/tab/tab-group.cjs.map +1 -1
- package/dist/lib/tab/tab-group.js +107 -46
- package/dist/lib/tab/tab-group.js.map +1 -1
- package/dist/lib/tab/tab.cjs +1 -1
- package/dist/lib/tab/tab.cjs.map +1 -1
- package/dist/lib/tab/tab.js +128 -37
- package/dist/lib/tab/tab.js.map +1 -1
- package/dist/lib/tab/tabs-constants.cjs +1 -1
- package/dist/lib/tab/tabs-constants.cjs.map +1 -1
- package/dist/lib/tab/tabs-constants.js +13 -11
- package/dist/lib/tab/tabs-constants.js.map +1 -1
- package/dist/lib/text/index.cjs +2 -0
- package/dist/lib/text/index.cjs.map +1 -0
- package/dist/lib/text/index.js +20 -0
- package/dist/lib/text/index.js.map +1 -0
- package/dist/lib/text/text-constants.cjs +2 -0
- package/dist/lib/text/text-constants.cjs.map +1 -0
- package/dist/lib/text/text-constants.js +69 -0
- package/dist/lib/text/text-constants.js.map +1 -0
- package/dist/lib/text/text-tone-tokens.cjs +2 -0
- package/dist/lib/text/text-tone-tokens.cjs.map +1 -0
- package/dist/lib/text/text-tone-tokens.js +33 -0
- package/dist/lib/text/text-tone-tokens.js.map +1 -0
- package/dist/lib/text/text.cjs +2 -0
- package/dist/lib/text/text.cjs.map +1 -0
- package/dist/lib/text/text.js +203 -0
- package/dist/lib/text/text.js.map +1 -0
- package/dist/lib/toast/toast.cjs +1 -1
- package/dist/lib/toast/toast.cjs.map +1 -1
- package/dist/lib/toast/toast.js +10 -9
- package/dist/lib/toast/toast.js.map +1 -1
- package/dist/lib/toggle/toggle.cjs +1 -1
- package/dist/lib/toggle/toggle.cjs.map +1 -1
- package/dist/lib/toggle/toggle.js +37 -33
- package/dist/lib/toggle/toggle.js.map +1 -1
- package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
- package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
- package/dist/lib/top-banner-info/top-banner-info.js +16 -16
- package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
- package/dist/localization/en-US.cjs +2 -0
- package/dist/localization/en-US.cjs.map +1 -1
- package/dist/localization/en-US.js +2 -0
- package/dist/localization/en-US.js.map +1 -1
- package/dist/localization/es-LA.cjs +1 -1
- package/dist/localization/es-LA.cjs.map +1 -1
- package/dist/localization/es-LA.js +1 -1
- package/dist/localization/es-LA.js.map +1 -1
- package/dist/localization/it-IT.cjs +3 -3
- package/dist/localization/it-IT.cjs.map +1 -1
- package/dist/localization/it-IT.js +3 -3
- package/dist/localization/it-IT.js.map +1 -1
- package/dist/localization/nl-NL.cjs +2 -2
- package/dist/localization/nl-NL.cjs.map +1 -1
- package/dist/localization/nl-NL.js +2 -2
- package/dist/localization/nl-NL.js.map +1 -1
- package/dist/localization/ru-RU.cjs +1 -1
- package/dist/localization/ru-RU.cjs.map +1 -1
- package/dist/localization/ru-RU.js +1 -1
- package/dist/localization/ru-RU.js.map +1 -1
- package/dist/localization/zh-CN.cjs +1 -1
- package/dist/localization/zh-CN.cjs.map +1 -1
- package/dist/localization/zh-CN.js +1 -1
- package/dist/localization/zh-CN.js.map +1 -1
- package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
- package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/common/mixins/keyboard_list_navigation.d.ts.map +1 -1
- package/dist/types/common/sr_only_close_button.vue.d.ts +38 -2
- package/dist/types/components/avatar/avatar.vue.d.ts +71 -25
- package/dist/types/components/avatar/avatar.vue.d.ts.map +1 -1
- package/dist/types/components/avatar/avatar_constants.d.ts +86 -29
- package/dist/types/components/avatar/avatar_constants.d.ts.map +1 -1
- package/dist/types/components/avatar/index.d.ts +1 -1
- package/dist/types/components/badge/badge.vue.d.ts.map +1 -1
- package/dist/types/components/banner/banner.vue.d.ts +216 -5
- package/dist/types/components/banner/banner.vue.d.ts.map +1 -1
- package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +9 -0
- package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts +9 -0
- package/dist/types/components/button/button.vue.d.ts +38 -2
- package/dist/types/components/button/button.vue.d.ts.map +1 -1
- package/dist/types/components/button/button_constants.d.ts +4 -0
- package/dist/types/components/button/button_constants.d.ts.map +1 -1
- package/dist/types/components/checkbox/checkbox.vue.d.ts +178 -4
- package/dist/types/components/checkbox/checkbox.vue.d.ts.map +1 -1
- package/dist/types/components/checkbox_group/checkbox_group.vue.d.ts +138 -0
- package/dist/types/components/chip/chip.vue.d.ts +38 -2
- package/dist/types/components/chip/chip.vue.d.ts.map +1 -1
- package/dist/types/components/codeblock/codeblock.vue.d.ts +22 -1
- package/dist/types/components/codeblock/codeblock.vue.d.ts.map +1 -1
- package/dist/types/components/codeblock/codeblock_constants.d.ts +3 -0
- package/dist/types/components/codeblock/codeblock_constants.d.ts.map +1 -0
- package/dist/types/components/collapsible/collapsible.vue.d.ts +38 -2
- package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
- package/dist/types/components/combobox/combobox.vue.d.ts +81 -15
- package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
- package/dist/types/components/combobox/combobox_empty-list.vue.d.ts +40 -7
- package/dist/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
- package/dist/types/components/combobox/combobox_loading-list.vue.d.ts +40 -7
- package/dist/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
- package/dist/types/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
- package/dist/types/components/dropdown/dropdown.vue.d.ts +76 -4
- package/dist/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
- package/dist/types/components/emoji_picker/emoji_picker.vue.d.ts +190 -0
- package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts +190 -0
- package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
- package/dist/types/components/empty_state/empty_state.vue.d.ts.map +1 -1
- package/dist/types/components/empty_state/empty_state_constants.d.ts +23 -5
- package/dist/types/components/filter_pill/filter_pill.vue.d.ts +2382 -0
- package/dist/types/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
- package/dist/types/components/filter_pill/index.d.ts +2 -0
- package/dist/types/components/filter_pill/index.d.ts.map +1 -0
- package/dist/types/components/hovercard/hovercard.vue.d.ts +152 -8
- package/dist/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
- package/dist/types/components/image_viewer/image_viewer.vue.d.ts +76 -4
- package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
- package/dist/types/components/input/input.vue.d.ts +182 -0
- package/dist/types/components/input/input.vue.d.ts.map +1 -1
- package/dist/types/components/input/input_constants.d.ts +4 -11
- package/dist/types/components/input_group/input_group.vue.d.ts +138 -0
- package/dist/types/components/input_group/input_group.vue.d.ts.map +1 -1
- package/dist/types/components/item_layout/item_layout.vue.d.ts +37 -6
- package/dist/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
- package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +138 -0
- package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
- package/dist/types/components/link/link.vue.d.ts +9 -0
- package/dist/types/components/list_item/list_item.vue.d.ts +40 -7
- package/dist/types/components/list_item/list_item.vue.d.ts.map +1 -1
- package/dist/types/components/loader/loader.vue.d.ts +1 -32
- package/dist/types/components/loader/loader.vue.d.ts.map +1 -1
- package/dist/types/components/modal/modal.vue.d.ts +214 -4
- package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
- package/dist/types/components/mode_island/index.d.ts +3 -0
- package/dist/types/components/mode_island/index.d.ts.map +1 -0
- package/dist/types/components/mode_island/mode_island.vue.d.ts +3 -0
- package/dist/types/components/mode_island/mode_island.vue.d.ts.map +1 -0
- package/dist/types/components/mode_island/mode_island_constants.d.ts +10 -0
- package/dist/types/components/mode_island/mode_island_constants.d.ts.map +1 -0
- package/dist/types/components/mode_island/utils.d.ts +12 -0
- package/dist/types/components/mode_island/utils.d.ts.map +1 -0
- package/dist/types/components/mode_island/validators.d.ts +6 -0
- package/dist/types/components/mode_island/validators.d.ts.map +1 -0
- package/dist/types/components/notice/notice.vue.d.ts +216 -5
- package/dist/types/components/notice/notice.vue.d.ts.map +1 -1
- package/dist/types/components/notice/notice_action.vue.d.ts +76 -4
- package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
- package/dist/types/components/notice/notice_content.vue.d.ts +140 -1
- package/dist/types/components/notice/notice_content.vue.d.ts.map +1 -1
- package/dist/types/components/pagination/pagination.vue.d.ts +38 -2
- package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
- package/dist/types/components/popover/popover.vue.d.ts +76 -4
- package/dist/types/components/popover/popover.vue.d.ts.map +1 -1
- package/dist/types/components/popover/popover_header_footer.vue.d.ts +38 -2
- package/dist/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
- package/dist/types/components/progress_circle/index.d.ts +3 -0
- package/dist/types/components/progress_circle/index.d.ts.map +1 -0
- package/dist/types/components/progress_circle/progress_circle.vue.d.ts +70 -0
- package/dist/types/components/progress_circle/progress_circle.vue.d.ts.map +1 -0
- package/dist/types/components/progress_circle/progress_circle_constants.d.ts +23 -0
- package/dist/types/components/progress_circle/progress_circle_constants.d.ts.map +1 -0
- package/dist/types/components/radio/radio.vue.d.ts +173 -0
- package/dist/types/components/radio/radio.vue.d.ts.map +1 -1
- package/dist/types/components/radio_group/radio_group.vue.d.ts +138 -0
- package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +9 -0
- package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
- package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +9 -0
- package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +209 -25
- package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
- package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +140 -1
- package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
- package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +40 -7
- package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
- package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +296 -6
- package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
- package/dist/types/components/root_layout/root_layout_constants.d.ts +2 -0
- package/dist/types/components/root_layout/root_layout_constants.d.ts.map +1 -1
- package/dist/types/components/select_menu/select_menu.vue.d.ts +172 -13
- package/dist/types/components/select_menu/select_menu.vue.d.ts.map +1 -1
- package/dist/types/components/split_button/{split_button-omega.vue.d.ts → split_button-end.vue.d.ts} +39 -3
- package/dist/types/components/split_button/{split_button-omega.vue.d.ts.map → split_button-end.vue.d.ts.map} +1 -1
- package/dist/types/components/split_button/{split_button-alpha.vue.d.ts → split_button-start.vue.d.ts} +103 -4
- package/dist/types/components/split_button/split_button-start.vue.d.ts.map +1 -0
- package/dist/types/components/split_button/split_button.vue.d.ts +443 -34
- package/dist/types/components/split_button/split_button.vue.d.ts.map +1 -1
- package/dist/types/components/tab/index.d.ts +1 -1
- package/dist/types/components/tab/tab.vue.d.ts +73 -7
- package/dist/types/components/tab/tab.vue.d.ts.map +1 -1
- package/dist/types/components/tab/tab_group.vue.d.ts +42 -0
- package/dist/types/components/tab/tab_group.vue.d.ts.map +1 -1
- package/dist/types/components/tab/tabs_constants.d.ts +5 -3
- package/dist/types/components/tab/tabs_constants.d.ts.map +1 -1
- package/dist/types/components/text/index.d.ts +3 -0
- package/dist/types/components/text/index.d.ts.map +1 -0
- package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts +3 -0
- package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts.map +1 -0
- package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts +3 -0
- package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts.map +1 -0
- package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts +1 -0
- package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts.map +1 -0
- package/dist/types/components/text/text.vue.d.ts +141 -0
- package/dist/types/components/text/text.vue.d.ts.map +1 -0
- package/dist/types/components/text/text_constants.d.ts +73 -0
- package/dist/types/components/text/text_constants.d.ts.map +1 -0
- package/dist/types/components/text/text_tone_tokens.d.ts +3 -0
- package/dist/types/components/text/text_tone_tokens.d.ts.map +1 -0
- package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +216 -5
- package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
- package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts +216 -5
- package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
- package/dist/types/components/toast/toast.vue.d.ts +864 -20
- package/dist/types/components/toast/toast.vue.d.ts.map +1 -1
- package/dist/types/components/toggle/toggle.vue.d.ts +9 -1
- package/dist/types/components/toggle/toggle.vue.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -0
- package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +38 -2
- package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
- package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +152 -8
- package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
- package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +152 -8
- package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
- package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +114 -6
- package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
- package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +38 -2
- package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
- package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +239 -35
- package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +196 -12
- package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +158 -10
- package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +38 -2
- package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +114 -6
- package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +114 -6
- package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +38 -2
- package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +75 -8
- package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +111 -32
- package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +75 -8
- package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +176 -2
- package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +472 -8
- package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +176 -2
- package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
- package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +38 -2
- package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
- package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +108 -31
- package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
- package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +71 -25
- package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
- package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +38 -2
- package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
- package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +467 -28
- package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
- package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +396 -3
- package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
- package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts +396 -3
- package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
- package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
- package/package.json +6 -5
- package/dist/lib/split-button/split-button-alpha.cjs +0 -2
- package/dist/lib/split-button/split-button-alpha.cjs.map +0 -1
- package/dist/lib/split-button/split-button-alpha.js +0 -138
- package/dist/lib/split-button/split-button-alpha.js.map +0 -1
- package/dist/lib/split-button/split-button-omega.cjs +0 -2
- package/dist/lib/split-button/split-button-omega.cjs.map +0 -1
- package/dist/lib/split-button/split-button-omega.js.map +0 -1
- package/dist/types/components/split_button/split_button-alpha.vue.d.ts.map +0 -1
- package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +0 -30
- package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-button.js","sources":["../../../components/split_button/split_button.vue"],"sourcesContent":["<template>\n <span\n data-qa=\"dt-split-button\"\n :class=\"[rootClass, 'd-split-btn']\"\n :style=\"{ width }\"\n >\n <split-button-alpha\n v-bind=\"alphaButtonProps\"\n ref=\"alphaButton\"\n @click=\"$emit('alpha-clicked')\"\n >\n <template #icon=\"{ size: iconSize }\">\n <!-- @slot Alpha (left) button icon slot -->\n <slot\n name=\"alphaIcon\"\n :size=\"iconSize\"\n />\n </template>\n <!-- @slot Default content slot -->\n <slot name=\"default\" />\n </split-button-alpha>\n <!-- @slot Omega (right) content slot, overrides omega button styling and functionality completely -->\n <slot name=\"omega\">\n <dt-dropdown\n v-if=\"$slots.dropdownList\"\n :placement=\"dropdownPlacement\"\n @click=\"isDropdownOpen = true\"\n @opened=\"open => isDropdownOpen = open\"\n >\n <template #anchor=\"attrs\">\n <split-button-omega\n v-bind=\"{ ...attrs, ...omegaButtonProps }\"\n :active=\"isDropdownOpen\"\n @click=\"$emit('omega-clicked')\"\n >\n <template #icon=\"{ size: iconSize }\">\n <!-- @slot Omega (right) button icon slot -->\n <slot\n name=\"omegaIcon\"\n :size=\"iconSize\"\n />\n </template>\n </split-button-omega>\n </template>\n <template #list=\"{ close }\">\n <!-- @slot Built-in dropdown content slot, use of dt-list-item is highly recommended here. -->\n <slot\n name=\"dropdownList\"\n :close=\"close\"\n />\n </template>\n </dt-dropdown>\n\n <split-button-omega\n v-else\n v-bind=\"omegaButtonProps\"\n @click=\"$emit('omega-clicked')\"\n >\n <template #icon=\"{ size: iconSize }\">\n <!-- @slot Omega (right) button icon slot -->\n <slot\n name=\"omegaIcon\"\n :size=\"iconSize\"\n />\n </template>\n </split-button-omega>\n </slot>\n </span>\n</template>\n\n<script>\nimport {\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_SIZE_MODIFIERS,\n ICON_POSITION_MODIFIERS,\n} from '@/components/button';\nimport SplitButtonAlpha from './split_button-alpha.vue';\nimport SplitButtonOmega from './split_button-omega.vue';\nimport { DtDropdown } from '@/components/dropdown';\nimport { hasSlotContent, warnIfUnmounted, returnFirstEl } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtSplitButton',\n\n components: {\n SplitButtonOmega,\n DtDropdown,\n SplitButtonAlpha,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Determines whether the alpha button should have active styling\n * @values true, false\n */\n alphaActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Descriptive label for the alpha button\n */\n alphaAriaLabel: {\n type: String,\n default: null,\n },\n\n /**\n * The position of the icon slot within the alpha button.\n * @values left, right, top, bottom\n */\n alphaIconPosition: {\n type: String,\n default: 'left',\n validator: (position) => Object.keys(ICON_POSITION_MODIFIERS).includes(position),\n },\n\n /**\n * Used to customize the alpha label container\n */\n alphaLabelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * HTML button disabled attribute for alpha button only\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\">\n * (Reference)\n * </a>\n * @values true, false\n */\n alphaDisabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the alpha button should display a loading animation or not.\n * @values true, false\n */\n alphaLoading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text shown in tooltip when you hover the alpha button,\n * required if no content is passed to default slot\n */\n alphaTooltipText: {\n type: String,\n default: undefined,\n },\n\n /**\n * Determines whether a screenreader reads live updates of\n * the button content to the user while the button\n * is in focus.\n * @values true, false\n */\n assertiveOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button disabled attribute for both buttons.\n * Use alphaDisabled or omegaDisabled to disable buttons individually.\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\">\n * (Reference)\n * </a>\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The direction the dropdown displays relative to the anchor.\n * @values top, top-start, top-end, right, right-start, right-end, left, left-start, left-end, bottom, bottom-start, bottom-end, auto, auto-start, auto-end\n */\n dropdownPlacement: {\n type: String,\n default: 'bottom-end',\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: 'primary',\n validator: (i) => Object.keys(BUTTON_IMPORTANCE_MODIFIERS).includes(i),\n },\n\n /**\n * The color of the button.\n * @values default, muted, danger, inverted\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(BUTTON_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * Determines whether the omega button should have active styling\n * @values true, false\n */\n omegaActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Descriptive label for the omega button\n */\n omegaAriaLabel: {\n type: String,\n default: null,\n },\n\n /**\n * HTML button disabled attribute for omega button only\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\">\n * (Reference)\n * </a>\n * @values true, false\n */\n omegaDisabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Element ID, useful in case you need to reference the button\n * as an external anchor for popover.\n */\n omegaId: {\n type: String,\n default: undefined,\n },\n\n /**\n * Text shown in tooltip when you hover the omega button,\n * required as it is an icon only button\n */\n omegaTooltipText: {\n type: String,\n default: undefined,\n },\n\n /**\n * The size of the button.\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(BUTTON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Button width, accepts\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/width\" target=\"_blank\">\n * CSS width attribute\n * </a>\n * values\n */\n width: {\n type: String,\n default: null,\n },\n\n /**\n * Additional class name for the root element.\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n rootClass: {\n type: [String, Object, Array],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native alpha button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'alpha-clicked',\n\n /**\n * Native omega button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'omega-clicked',\n ],\n\n data () {\n return {\n isDropdownOpen: false,\n };\n },\n\n computed: {\n alphaButtonProps () {\n return {\n active: this.alphaActive,\n ariaLabel: this.alphaAriaLabel,\n assertiveOnFocus: this.assertiveOnFocus,\n disabled: this.disabled || this.alphaDisabled,\n iconPosition: this.alphaIconPosition,\n labelClass: this.alphaLabelClass,\n loading: this.alphaLoading,\n importance: this.importance,\n kind: this.kind,\n size: this.size,\n tooltipText: this.alphaTooltipText,\n class: this.$attrs.class,\n style: this.$attrs.style,\n };\n },\n\n omegaButtonProps () {\n return {\n id: this.omegaId,\n active: this.omegaActive,\n ariaLabel: this.omegaAriaLabel,\n disabled: this.disabled || this.omegaDisabled,\n importance: this.importance,\n kind: this.kind,\n size: this.size,\n tooltipText: this.omegaTooltipText,\n class: this.$attrs.class,\n style: this.$attrs.style,\n };\n },\n },\n\n created () {\n this.validateProps();\n },\n\n updated () {\n this.validateProps();\n },\n\n mounted () {\n warnIfUnmounted(returnFirstEl(this.$el), this.$options.name);\n },\n\n methods: {\n validateProps () {\n this.validateAlphaButtonProps();\n this.validateOmegaButtonProps();\n },\n\n validateAlphaButtonProps () {\n if (hasSlotContent(this.$slots.default)) return;\n\n if (hasSlotContent(this.$slots.alphaIcon) && !this.alphaTooltipText) {\n console.warn('alpha-tooltip-text prop must be set if alpha button has an icon only');\n }\n },\n\n validateOmegaButtonProps () {\n if (hasSlotContent(this.$slots.omega)) return;\n\n if (!this.omegaTooltipText) {\n console.warn('omega-tooltip-text prop is required as it is an icon-only button');\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","SplitButtonOmega","DtDropdown","SplitButtonAlpha","position","ICON_POSITION_MODIFIERS","i","BUTTON_IMPORTANCE_MODIFIERS","k","BUTTON_KIND_MODIFIERS","s","BUTTON_SIZE_MODIFIERS","warnIfUnmounted","returnFirstEl","hasSlotContent","_createElementBlock","$props","_createVNode","_component_split_button_alpha","_mergeProps","$options","_ctx","_withCtx","iconSize","_renderSlot","_createBlock","_component_dt_dropdown","$data","_cache","open","attrs","_component_split_button_omega","close"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"split-button.js","sources":["../../../components/split_button/split_button.vue"],"sourcesContent":["<template>\n <span\n data-qa=\"dt-split-button\"\n :class=\"[rootClass, 'd-split-btn']\"\n :style=\"{ width }\"\n >\n <split-button-start\n v-bind=\"startButtonProps\"\n ref=\"startButton\"\n @click=\"onStartClick\"\n >\n <!-- Dual-icon path: when startEndIcon is provided, use DtButton's startIcon/endIcon -->\n <template\n v-if=\"$slots.startEndIcon\"\n #startIcon=\"{ size: iconSize }\"\n >\n <!-- @slot Start (left) button icon slot -->\n <slot\n v-if=\"$slots.startIcon\"\n name=\"startIcon\"\n :size=\"iconSize\"\n />\n <!-- @slot @deprecated Use startIcon -->\n <slot\n v-else\n name=\"alphaIcon\"\n :size=\"iconSize\"\n />\n </template>\n <template\n v-if=\"$slots.startEndIcon\"\n #endIcon=\"{ size: iconSize }\"\n >\n <!-- @slot End-positioned icon within the start button (enables dual icons on the start button) -->\n <slot\n name=\"startEndIcon\"\n :size=\"iconSize\"\n />\n </template>\n <!-- Legacy single-icon path: uses DtButton's icon slot with iconPosition -->\n <template\n v-if=\"!$slots.startEndIcon\"\n #icon=\"{ size: iconSize }\"\n >\n <!-- @slot Start (left) button icon slot -->\n <slot\n v-if=\"$slots.startIcon\"\n name=\"startIcon\"\n :size=\"iconSize\"\n />\n <!-- @slot @deprecated Use startIcon -->\n <slot\n v-else\n name=\"alphaIcon\"\n :size=\"iconSize\"\n />\n </template>\n <template\n v-if=\"$slots.leading\"\n #leading\n >\n <!-- @slot Leading slot, forwarded to the alpha button's leading slot -->\n <slot name=\"leading\" />\n </template>\n <template\n v-if=\"$slots.trailing\"\n #trailing\n >\n <!-- @slot Trailing slot, forwarded to the alpha button's trailing slot -->\n <slot name=\"trailing\" />\n </template>\n <!-- @slot Default content slot -->\n <slot name=\"default\" />\n </split-button-start>\n <!-- @slot End (right) content slot, overrides end button styling and functionality completely -->\n <template v-if=\"$slots.end\">\n <slot name=\"end\" />\n </template>\n <!-- @slot @deprecated Use end -->\n <template v-else-if=\"$slots.omega\">\n <slot name=\"omega\" />\n </template>\n <template v-else>\n <dt-dropdown\n v-if=\"$slots.dropdownList\"\n :placement=\"dropdownPlacement\"\n @click=\"isDropdownOpen = true\"\n @opened=\"open => isDropdownOpen = open\"\n >\n <template #anchor=\"attrs\">\n <split-button-end\n v-bind=\"{ ...attrs, ...endButtonProps }\"\n :active=\"isDropdownOpen\"\n @click=\"onEndClick\"\n >\n <template #icon=\"{ size: iconSize }\">\n <!-- @slot End (right) button icon slot -->\n <slot\n v-if=\"$slots.endIcon\"\n name=\"endIcon\"\n :size=\"iconSize\"\n />\n <!-- @slot @deprecated Use endIcon -->\n <slot\n v-else\n name=\"omegaIcon\"\n :size=\"iconSize\"\n />\n </template>\n </split-button-end>\n </template>\n <template #list=\"{ close }\">\n <!-- @slot Built-in dropdown content slot, use of dt-list-item is highly recommended here. -->\n <slot\n name=\"dropdownList\"\n :close=\"close\"\n />\n </template>\n </dt-dropdown>\n\n <split-button-end\n v-else\n v-bind=\"endButtonProps\"\n @click=\"onEndClick\"\n >\n <template #icon=\"{ size: iconSize }\">\n <!-- @slot End (right) button icon slot -->\n <slot\n v-if=\"$slots.endIcon\"\n name=\"endIcon\"\n :size=\"iconSize\"\n />\n <!-- @slot @deprecated Use endIcon -->\n <slot\n v-else\n name=\"omegaIcon\"\n :size=\"iconSize\"\n />\n </template>\n </split-button-end>\n </template>\n </span>\n</template>\n\n<script>\nimport {\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_SIZE_MODIFIERS,\n ICON_POSITION_MODIFIERS,\n} from '@/components/button';\nimport SplitButtonStart from './split_button-start.vue';\nimport SplitButtonEnd from './split_button-end.vue';\nimport { DtDropdown } from '@/components/dropdown';\nimport { hasSlotContent, warnIfUnmounted, returnFirstEl } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtSplitButton',\n\n components: {\n SplitButtonEnd,\n DtDropdown,\n SplitButtonStart,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Determines whether the start button should have active styling\n * @values true, false\n */\n startActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * @deprecated Use startActive\n * @values true, false\n */\n alphaActive: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Descriptive label for the start button\n */\n startAriaLabel: {\n type: String,\n default: null,\n },\n\n /**\n * @deprecated Use startAriaLabel\n */\n alphaAriaLabel: {\n type: String,\n default: undefined,\n },\n\n /**\n * The position of the icon slot within the start button.\n * @values start, end, blockStart, blockEnd, left, right, top, bottom\n */\n startIconPosition: {\n type: String,\n default: 'left',\n validator: (position) => Object.keys(ICON_POSITION_MODIFIERS).includes(position),\n },\n\n /**\n * @deprecated Use startIconPosition\n * @values start, end, blockStart, blockEnd, left, right, top, bottom\n */\n alphaIconPosition: {\n type: String,\n default: undefined,\n validator: (position) => position === undefined || Object.keys(ICON_POSITION_MODIFIERS).includes(position),\n },\n\n /**\n * Used to customize the start label container\n */\n startLabelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the start button leading container\n */\n startLeadingClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * @deprecated Use startLeadingClass\n */\n alphaLeadingClass: {\n type: [String, Array, Object],\n default: undefined,\n },\n\n /**\n * Used to customize the start button trailing container\n */\n startTrailingClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * @deprecated Use startTrailingClass\n */\n alphaTrailingClass: {\n type: [String, Array, Object],\n default: undefined,\n },\n\n /**\n * @deprecated Use startLabelClass\n */\n alphaLabelClass: {\n type: [String, Array, Object],\n default: undefined,\n },\n\n /**\n * HTML button disabled attribute for start button only\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\">\n * (Reference)\n * </a>\n * @values true, false\n */\n startDisabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * @deprecated Use startDisabled\n * @values true, false\n */\n alphaDisabled: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Whether the start button should display a loading animation or not.\n * @values true, false\n */\n startLoading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * @deprecated Use startLoading\n * @values true, false\n */\n alphaLoading: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Text shown in tooltip when you hover the start button,\n * required if no content is passed to default slot\n */\n startTooltipText: {\n type: String,\n default: undefined,\n },\n\n /**\n * @deprecated Use startTooltipText\n */\n alphaTooltipText: {\n type: String,\n default: undefined,\n },\n\n /**\n * Determines whether a screenreader reads live updates of\n * the button content to the user while the button\n * is in focus.\n * @values true, false\n */\n assertiveOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button disabled attribute for both buttons.\n * Use startDisabled or endDisabled to disable buttons individually.\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\">\n * (Reference)\n * </a>\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The direction the dropdown displays relative to the anchor.\n * @values top, top-start, top-end, right, right-start, right-end, left, left-start, left-end, bottom, bottom-start, bottom-end, auto, auto-start, auto-end\n */\n dropdownPlacement: {\n type: String,\n default: 'bottom-end',\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: 'primary',\n validator: (i) => Object.keys(BUTTON_IMPORTANCE_MODIFIERS).includes(i),\n },\n\n /**\n * The color of the button.\n * @values default, muted, danger\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(BUTTON_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * Determines whether the end button should have active styling\n * @values true, false\n */\n endActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * @deprecated Use endActive\n * @values true, false\n */\n omegaActive: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Descriptive label for the end button\n */\n endAriaLabel: {\n type: String,\n default: null,\n },\n\n /**\n * @deprecated Use endAriaLabel\n */\n omegaAriaLabel: {\n type: String,\n default: undefined,\n },\n\n /**\n * HTML button disabled attribute for end button only\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\">\n * (Reference)\n * </a>\n * @values true, false\n */\n endDisabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * @deprecated Use endDisabled\n * @values true, false\n */\n omegaDisabled: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Element ID, useful in case you need to reference the button\n * as an external anchor for popover.\n */\n endId: {\n type: String,\n default: undefined,\n },\n\n /**\n * @deprecated Use endId\n */\n omegaId: {\n type: String,\n default: undefined,\n },\n\n /**\n * Text shown in tooltip when you hover the end button,\n * required as it is an icon only button\n */\n endTooltipText: {\n type: String,\n default: undefined,\n },\n\n /**\n * @deprecated Use endTooltipText\n */\n omegaTooltipText: {\n type: String,\n default: undefined,\n },\n\n /**\n * The size of the button.\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(BUTTON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Button width, accepts\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/width\" target=\"_blank\">\n * CSS width attribute\n * </a>\n * values\n */\n width: {\n type: String,\n default: null,\n },\n\n /**\n * Additional class name for the root element.\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n rootClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Vue router `to` prop for the start button.\n * When set, renders the start button as a `<router-link>`.\n */\n startTo: {\n type: [String, Object],\n default: null,\n },\n\n /**\n * Whether to use `router.replace()` instead of `router.push()`\n * when navigating via `startTo`.\n * @values true, false\n */\n startReplace: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML href for the start button.\n * When set, renders the start button as an `<a>` element.\n */\n startHref: {\n type: String,\n default: null,\n },\n\n /**\n * HTML target attribute for the start button link.\n * Only applies when `startHref` is set.\n */\n startTarget: {\n type: String,\n default: null,\n },\n\n /**\n * HTML rel attribute for the start button link.\n * Only applies when `startHref` is set.\n */\n startRel: {\n type: String,\n default: null,\n },\n },\n\n emits: [\n /**\n * Native start button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'start-clicked',\n\n /**\n * @deprecated Use start-clicked\n */\n 'alpha-clicked',\n\n /**\n * Native end button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'end-clicked',\n\n /**\n * @deprecated Use end-clicked\n */\n 'omega-clicked',\n ],\n\n data () {\n return {\n isDropdownOpen: false,\n };\n },\n\n computed: {\n startButtonProps () {\n return {\n active: this.alphaActive ?? this.startActive,\n ariaLabel: this.alphaAriaLabel ?? this.startAriaLabel,\n assertiveOnFocus: this.assertiveOnFocus,\n disabled: this.disabled || (this.alphaDisabled ?? this.startDisabled),\n iconPosition: this.alphaIconPosition ?? this.startIconPosition,\n labelClass: this.alphaLabelClass ?? this.startLabelClass,\n leadingClass: this.alphaLeadingClass ?? this.startLeadingClass,\n trailingClass: this.alphaTrailingClass ?? this.startTrailingClass,\n loading: this.alphaLoading ?? this.startLoading,\n importance: this.importance,\n kind: this.kind,\n size: this.size,\n tooltipText: this.alphaTooltipText ?? this.startTooltipText,\n to: this.startTo,\n replace: this.startReplace,\n href: this.startHref,\n target: this.startTarget,\n rel: this.startRel,\n class: this.$attrs.class,\n style: this.$attrs.style,\n };\n },\n\n endButtonProps () {\n return {\n id: this.omegaId ?? this.endId,\n active: this.omegaActive ?? this.endActive,\n ariaLabel: this.omegaAriaLabel ?? this.endAriaLabel,\n disabled: this.disabled || (this.omegaDisabled ?? this.endDisabled),\n importance: this.importance,\n kind: this.kind,\n size: this.size,\n tooltipText: this.omegaTooltipText ?? this.endTooltipText,\n class: this.$attrs.class,\n style: this.$attrs.style,\n };\n },\n },\n\n created () {\n this.validateProps();\n },\n\n updated () {\n this.validateProps();\n },\n\n mounted () {\n warnIfUnmounted(returnFirstEl(this.$el), this.$options.name);\n },\n\n methods: {\n onStartClick () {\n this.$emit('start-clicked');\n this.$emit('alpha-clicked');\n },\n\n onEndClick () {\n this.$emit('end-clicked');\n this.$emit('omega-clicked');\n },\n\n validateProps () {\n this.validateStartButtonProps();\n this.validateEndButtonProps();\n },\n\n validateStartButtonProps () {\n if (hasSlotContent(this.$slots.default)) return;\n\n if ((hasSlotContent(this.$slots.startIcon) || hasSlotContent(this.$slots.alphaIcon)) &&\n !(this.alphaTooltipText ?? this.startTooltipText)) {\n console.warn('start-tooltip-text prop must be set if start button has an icon only');\n }\n },\n\n validateEndButtonProps () {\n if (hasSlotContent(this.$slots.end) || hasSlotContent(this.$slots.omega)) return;\n\n if (!(this.omegaTooltipText ?? this.endTooltipText)) {\n console.warn('end-tooltip-text prop is required as it is an icon-only button');\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","SplitButtonEnd","DtDropdown","SplitButtonStart","position","ICON_POSITION_MODIFIERS","i","BUTTON_IMPORTANCE_MODIFIERS","k","BUTTON_KIND_MODIFIERS","s","BUTTON_SIZE_MODIFIERS","warnIfUnmounted","returnFirstEl","hasSlotContent","_createElementBlock","$props","_createVNode","_component_split_button_start","_mergeProps","$options","_renderSlot","_ctx","_withCtx","iconSize","_Fragment","_createBlock","_component_dt_dropdown","$data","_cache","open","attrs","_component_split_button_end","close","_openBlock"],"mappings":"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"}
|
package/dist/lib/tab/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("./tab-group.cjs"),T=require("./tab.cjs"),t=require("./tab-panel.cjs"),_=require("./tabs-constants.cjs");exports.DtTabGroup=I.default;exports.DtTab=T.default;exports.DtTabPanel=t.default;exports.TAB_ACTIVATION_MODES=_.TAB_ACTIVATION_MODES;exports.TAB_GROUP_KINDS=_.TAB_GROUP_KINDS;exports.TAB_LIST_IMPORTANCE_MODIFIERS=_.TAB_LIST_IMPORTANCE_MODIFIERS;exports.TAB_LIST_KIND_MODIFIERS=_.TAB_LIST_KIND_MODIFIERS;exports.TAB_LIST_SIZES=_.TAB_LIST_SIZES;exports.TAB_LIST_SIZE_MODIFIERS=_.TAB_LIST_SIZE_MODIFIERS;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/lib/tab/index.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { default as
|
|
2
|
-
import { default as
|
|
3
|
-
import { default as
|
|
4
|
-
import {
|
|
1
|
+
import { default as _ } from "./tab-group.js";
|
|
2
|
+
import { default as a } from "./tab.js";
|
|
3
|
+
import { default as o } from "./tab-panel.js";
|
|
4
|
+
import { TAB_ACTIVATION_MODES as A, TAB_GROUP_KINDS as D, TAB_LIST_IMPORTANCE_MODIFIERS as e, TAB_LIST_KIND_MODIFIERS as f, TAB_LIST_SIZES as E, TAB_LIST_SIZE_MODIFIERS as O } from "./tabs-constants.js";
|
|
5
5
|
export {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
a as DtTab,
|
|
7
|
+
_ as DtTabGroup,
|
|
8
|
+
o as DtTabPanel,
|
|
9
|
+
A as TAB_ACTIVATION_MODES,
|
|
10
|
+
D as TAB_GROUP_KINDS,
|
|
11
|
+
e as TAB_LIST_IMPORTANCE_MODIFIERS,
|
|
12
|
+
f as TAB_LIST_KIND_MODIFIERS,
|
|
13
|
+
E as TAB_LIST_SIZES,
|
|
14
|
+
O as TAB_LIST_SIZE_MODIFIERS
|
|
13
15
|
};
|
|
14
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./tabs-constants.cjs"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./tabs-constants.cjs"),d=require("vue"),o=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),u={compatConfig:{MODE:3},name:"DtTabGroup",provide(){return{groupContext:this.provideObj,setFocus:this.setFocus}},props:{label:{type:String,default:""},selected:{type:String,default:""},disabled:{type:Boolean,default:!1},inverted:{type:Boolean,default:!1},borderless:{type:Boolean,default:!1},size:{type:String,default:"default",validate(t){return n.TAB_LIST_SIZES.includes(t)}},tabListClass:{type:[String,Array,Object],default:""},tabListChildProps:{type:Object,default:()=>({})},kind:{type:String,default:"default",validator(t){return n.TAB_GROUP_KINDS.includes(t)}},outlined:{type:Boolean,default:!1},activationMode:{type:String,default:"manual",validator(t){return n.TAB_ACTIVATION_MODES.includes(t)}}},emits:["change","before-change"],data(){return{provideObj:{selected:"",disabled:!1,size:"default",kind:"default",outlined:!1},focusId:null,tabs:[],TAB_LIST_SIZE_MODIFIERS:n.TAB_LIST_SIZE_MODIFIERS,TAB_LIST_KIND_MODIFIERS:n.TAB_LIST_KIND_MODIFIERS,TAB_LIST_IMPORTANCE_MODIFIERS:n.TAB_LIST_IMPORTANCE_MODIFIERS}},watch:{disabled:{immediate:!0,handler(){this.provideObj.disabled=this.disabled}},selected:{immediate:!0,handler(){this.provideObj.selected=this.selected}},size:{immediate:!0,handler(){this.provideObj.size=this.size}},kind:{immediate:!0,handler(){this.provideObj.kind=this.kind}},outlined:{immediate:!0,handler(){this.provideObj.outlined=this.outlined}}},mounted(){this.updateSelected()},updated(){this.updateSelected()},methods:{updateSelected(){this.provideObj.selected||(this.provideObj.selected=this.selected),this.tabs=this.getTabChildren()},setFocus(t){this.focusId=t},getTabChildren(){return Array.from(this.$refs.tabs.querySelectorAll('[role="tab"]')).map(e=>{var s,l;return{context:e,panelId:(s=e.getAttribute("aria-controls"))==null?void 0:s.replace("dt-panel-",""),tabId:(l=e.getAttribute("id"))==null?void 0:l.replace("dt-tab-",""),isSelected:e.getAttribute("aria-selected")==="true",isDisabled:e.getAttribute("aria-disabled")==="true"}})},onChange(){this.$emit("change",{...this.provideObj})},tabLeft(){const t=this.getFocusedTabIndex();if(t===-1)return;const e=this.findNextTab(t,-1);this.selectFocusOnTab(e)},tabRight(){const t=this.getFocusedTabIndex();if(t===-1)return;const e=this.findNextTab(t,1);this.selectFocusOnTab(e)},findNextTab(t,e){const s=this.tabs.length;return(t+e+s)%s},selectFocusOnTab(t){const{context:e,panelId:s,isDisabled:l}=this.tabs[t];e.focus(),this.activationMode==="auto"&&!l&&(this.provideObj.selected=s,this.onChange())},selectTab(t){var s;if(this.isSameTabClicked())return;const e=this.getFocusedTabIndex();(s=this.tabs[e])!=null&&s.isDisabled||(this.$emit("before-change",t),!t.defaultPrevented&&(this.selectTabByIndex(e),this.onChange()))},selectTabByIndex(t){const{context:e,panelId:s}=this.tabs[t];this.provideObj.selected=s,e.focus()},getFocusedTabIndex(){const t=this.tabs.findIndex(e=>this.focusId?e.tabId===`${this.focusId}`:e.isSelected);return t===-1?0:t},onHomeButton(){this.tabs.length&&this.selectFocusOnTab(0)},onEndButton(){this.tabs.length&&this.selectFocusOnTab(this.tabs.length-1)},isSameTabClicked(){const t=this.tabs[this.getFocusedTabIndex()];return this.provideObj.selected===t.panelId}}},b={"data-qa":"dt-tab-group",class:"d-tab-neux"},h=["aria-label"];function c(t,e,s,l,r,i){return d.openBlock(),d.createElementBlock("div",b,[d.createElementVNode("div",d.mergeProps({ref:"tabs",class:["d-tablist",r.TAB_LIST_SIZE_MODIFIERS[s.size],{[r.TAB_LIST_KIND_MODIFIERS.inverted]:s.inverted,[r.TAB_LIST_IMPORTANCE_MODIFIERS.borderless]:s.borderless},s.tabListClass]},s.tabListChildProps,{role:"tablist","aria-label":s.label,"aria-orientation":"horizontal",onKeyup:[e[0]||(e[0]=d.withKeys((...a)=>i.tabLeft&&i.tabLeft(...a),["left"])),e[1]||(e[1]=d.withKeys((...a)=>i.tabRight&&i.tabRight(...a),["right"])),e[2]||(e[2]=d.withKeys((...a)=>i.selectTab&&i.selectTab(...a),["enter"])),e[3]||(e[3]=d.withKeys((...a)=>i.selectTab&&i.selectTab(...a),["space"]))],onClick:e[4]||(e[4]=(...a)=>i.selectTab&&i.selectTab(...a)),onKeydown:[e[5]||(e[5]=d.withKeys(d.withModifiers((...a)=>i.onHomeButton&&i.onHomeButton(...a),["prevent"]),["home"])),e[6]||(e[6]=d.withKeys(d.withModifiers((...a)=>i.onEndButton&&i.onEndButton(...a),["prevent"]),["end"]))]}),[d.renderSlot(t.$slots,"tabs")],16,h),d.renderSlot(t.$slots,"default")])}const I=o._(u,[["render",c]]);exports.default=I;
|
|
2
2
|
//# sourceMappingURL=tab-group.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-group.cjs","sources":["../../../components/tab/tab_group.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-tab-group\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @click=\"selectTab\"\n @keydown.home=\"onHomeButton\"\n @keydown.end=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, sm\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n\n /**\n * Before change tab event with the event argument, useful to perform validations and prevent changing tabs if neccessary.\n *\n * @event before-change\n * @type {Event}\n */\n 'before-change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n updated () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('.d-tab'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n tabId: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n tabLeft () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const indexElement = index - 1 < 0 ? this.tabs.length - 1 : index - 1;\n this.selectFocusOnTab(indexElement);\n },\n\n tabRight () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const indexElement = index + 1 > this.tabs.length - 1 ? 0 : index + 1;\n this.selectFocusOnTab(indexElement);\n },\n\n selectFocusOnTab (index) {\n const { context } = this.tabs[index];\n context.focus();\n },\n\n selectTab (event) {\n if (this.isSameTabClicked()) return;\n\n this.$emit('before-change', event);\n if (event.defaultPrevented) return;\n\n const index = this.getFocusedTabIndex();\n\n this.selectTabByIndex(index);\n this.onChange();\n },\n\n selectTabByIndex (index) {\n const { context, panelId } = this.tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getFocusedTabIndex () {\n // Hot fix https://github.com/dialpad/dialtone/pull/849\n // The main issue is that this.tabs is not being updated at the time this is being triggered.\n\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.tabId === `${this.focusId}` : context.isSelected,\n );\n\n return index === -1 ? 0 : index;\n },\n\n onHomeButton () {\n if (this.tabs.length === 0) return;\n this.tabs[0]?.context?.focus();\n },\n\n onEndButton () {\n if (this.tabs.length === 0) return;\n this.tabs[this.tabs.length - 1]?.context?.focus();\n },\n\n isSameTabClicked () {\n const tab = this.tabs[this.getFocusedTabIndex()];\n return this.provideObj.selected === tab.panelId;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","size","TAB_LIST_SIZES","TAB_LIST_SIZE_MODIFIERS","TAB_LIST_KIND_MODIFIERS","TAB_LIST_IMPORTANCE_MODIFIERS","focusId","el","_a","_b","index","indexElement","context","event","panelId","tab","_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_mergeProps","$data","$props","$options","args","_renderSlot","_ctx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tab-group.cjs","sources":["../../../components/tab/tab_group.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-tab-group\"\n class=\"d-tab-neux\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n aria-orientation=\"horizontal\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @click=\"selectTab\"\n @keydown.home.prevent=\"onHomeButton\"\n @keydown.end.prevent=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n TAB_ACTIVATION_MODES,\n TAB_GROUP_KINDS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @deprecated\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, xs, sm, lg, xl\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * The visual style kind applied to tabs within this group.\n * Maps to specific DtButton kind/importance combinations for selected/unselected states.\n * @values default, muted\n */\n kind: {\n type: String,\n default: 'default',\n validator (value) {\n return TAB_GROUP_KINDS.includes(value);\n },\n },\n\n /**\n * If true, the selected tab renders with outlined importance instead of clear.\n * @values true, false\n */\n outlined: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether tabs are selected on focus (auto) or on click/keypress (manual)\n * @values auto, manual\n */\n activationMode: {\n type: String,\n default: 'manual',\n validator (value) {\n return TAB_ACTIVATION_MODES.includes(value);\n },\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n\n /**\n * Before change tab event with the event argument, useful to perform validations and prevent changing tabs if neccessary.\n *\n * @event before-change\n * @type {Event}\n */\n 'before-change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n size: 'default',\n kind: 'default',\n outlined: false,\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n\n size: {\n immediate: true,\n handler () {\n this.provideObj.size = this.size;\n },\n },\n\n kind: {\n immediate: true,\n handler () {\n this.provideObj.kind = this.kind;\n },\n },\n\n outlined: {\n immediate: true,\n handler () {\n this.provideObj.outlined = this.outlined;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n updated () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('[role=\"tab\"]'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n tabId: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n isDisabled: el.getAttribute('aria-disabled') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n tabLeft () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const nextIndex = this.findNextTab(index, -1);\n this.selectFocusOnTab(nextIndex);\n },\n\n tabRight () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const nextIndex = this.findNextTab(index, 1);\n this.selectFocusOnTab(nextIndex);\n },\n\n findNextTab (fromIndex, direction) {\n const len = this.tabs.length;\n return (fromIndex + direction + len) % len;\n },\n\n selectFocusOnTab (index) {\n const { context, panelId, isDisabled } = this.tabs[index];\n context.focus();\n if (this.activationMode === 'auto' && !isDisabled) {\n this.provideObj.selected = panelId;\n this.onChange();\n }\n },\n\n selectTab (event) {\n if (this.isSameTabClicked()) return;\n\n const index = this.getFocusedTabIndex();\n if (this.tabs[index]?.isDisabled) return;\n\n this.$emit('before-change', event);\n if (event.defaultPrevented) return;\n\n this.selectTabByIndex(index);\n this.onChange();\n },\n\n selectTabByIndex (index) {\n const { context, panelId } = this.tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getFocusedTabIndex () {\n // Hot fix https://github.com/dialpad/dialtone/pull/849\n // The main issue is that this.tabs is not being updated at the time this is being triggered.\n\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.tabId === `${this.focusId}` : context.isSelected,\n );\n\n return index === -1 ? 0 : index;\n },\n\n onHomeButton () {\n if (this.tabs.length) this.selectFocusOnTab(0);\n },\n\n onEndButton () {\n if (this.tabs.length) this.selectFocusOnTab(this.tabs.length - 1);\n },\n\n isSameTabClicked () {\n const tab = this.tabs[this.getFocusedTabIndex()];\n return this.provideObj.selected === tab.panelId;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","size","TAB_LIST_SIZES","value","TAB_GROUP_KINDS","TAB_ACTIVATION_MODES","TAB_LIST_SIZE_MODIFIERS","TAB_LIST_KIND_MODIFIERS","TAB_LIST_IMPORTANCE_MODIFIERS","focusId","el","_a","_b","index","nextIndex","fromIndex","direction","len","context","panelId","isDisabled","event","tab","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_mergeProps","$data","$props","$options","args","_renderSlot","_ctx"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { TAB_LIST_IMPORTANCE_MODIFIERS as b, TAB_LIST_KIND_MODIFIERS as
|
|
2
|
-
import { openBlock as
|
|
3
|
-
import { _ as
|
|
4
|
-
const
|
|
1
|
+
import { TAB_LIST_IMPORTANCE_MODIFIERS as b, TAB_LIST_KIND_MODIFIERS as u, TAB_LIST_SIZE_MODIFIERS as h, TAB_ACTIVATION_MODES as c, TAB_GROUP_KINDS as f, TAB_LIST_SIZES as I } from "./tabs-constants.js";
|
|
2
|
+
import { openBlock as T, createElementBlock as g, createElementVNode as m, mergeProps as p, withKeys as d, withModifiers as r, renderSlot as o } from "vue";
|
|
3
|
+
import { _ as S } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
4
|
+
const O = {
|
|
5
5
|
compatConfig: { MODE: 3 },
|
|
6
6
|
name: "DtTabGroup",
|
|
7
7
|
provide() {
|
|
@@ -35,6 +35,7 @@ const m = {
|
|
|
35
35
|
},
|
|
36
36
|
/**
|
|
37
37
|
* If true, applies inverted styles to the tab group
|
|
38
|
+
* @deprecated
|
|
38
39
|
* @values true, false
|
|
39
40
|
*/
|
|
40
41
|
inverted: {
|
|
@@ -51,13 +52,13 @@ const m = {
|
|
|
51
52
|
},
|
|
52
53
|
/**
|
|
53
54
|
* If provided, applies size styles to the tab group
|
|
54
|
-
* @values default, sm
|
|
55
|
+
* @values default, xs, sm, lg, xl
|
|
55
56
|
*/
|
|
56
57
|
size: {
|
|
57
58
|
type: String,
|
|
58
59
|
default: "default",
|
|
59
60
|
validate(t) {
|
|
60
|
-
return
|
|
61
|
+
return I.includes(t);
|
|
61
62
|
}
|
|
62
63
|
},
|
|
63
64
|
/**
|
|
@@ -73,6 +74,37 @@ const m = {
|
|
|
73
74
|
tabListChildProps: {
|
|
74
75
|
type: Object,
|
|
75
76
|
default: () => ({})
|
|
77
|
+
},
|
|
78
|
+
/**
|
|
79
|
+
* The visual style kind applied to tabs within this group.
|
|
80
|
+
* Maps to specific DtButton kind/importance combinations for selected/unselected states.
|
|
81
|
+
* @values default, muted
|
|
82
|
+
*/
|
|
83
|
+
kind: {
|
|
84
|
+
type: String,
|
|
85
|
+
default: "default",
|
|
86
|
+
validator(t) {
|
|
87
|
+
return f.includes(t);
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
/**
|
|
91
|
+
* If true, the selected tab renders with outlined importance instead of clear.
|
|
92
|
+
* @values true, false
|
|
93
|
+
*/
|
|
94
|
+
outlined: {
|
|
95
|
+
type: Boolean,
|
|
96
|
+
default: !1
|
|
97
|
+
},
|
|
98
|
+
/**
|
|
99
|
+
* Controls whether tabs are selected on focus (auto) or on click/keypress (manual)
|
|
100
|
+
* @values auto, manual
|
|
101
|
+
*/
|
|
102
|
+
activationMode: {
|
|
103
|
+
type: String,
|
|
104
|
+
default: "manual",
|
|
105
|
+
validator(t) {
|
|
106
|
+
return c.includes(t);
|
|
107
|
+
}
|
|
76
108
|
}
|
|
77
109
|
},
|
|
78
110
|
emits: [
|
|
@@ -96,13 +128,16 @@ const m = {
|
|
|
96
128
|
provideObj: {
|
|
97
129
|
selected: "",
|
|
98
130
|
// the currently displayed tab id
|
|
99
|
-
disabled: !1
|
|
131
|
+
disabled: !1,
|
|
100
132
|
// disable group
|
|
133
|
+
size: "default",
|
|
134
|
+
kind: "default",
|
|
135
|
+
outlined: !1
|
|
101
136
|
},
|
|
102
137
|
focusId: null,
|
|
103
138
|
tabs: [],
|
|
104
|
-
TAB_LIST_SIZE_MODIFIERS:
|
|
105
|
-
TAB_LIST_KIND_MODIFIERS:
|
|
139
|
+
TAB_LIST_SIZE_MODIFIERS: h,
|
|
140
|
+
TAB_LIST_KIND_MODIFIERS: u,
|
|
106
141
|
TAB_LIST_IMPORTANCE_MODIFIERS: b
|
|
107
142
|
};
|
|
108
143
|
},
|
|
@@ -118,6 +153,24 @@ const m = {
|
|
|
118
153
|
handler() {
|
|
119
154
|
this.provideObj.selected = this.selected;
|
|
120
155
|
}
|
|
156
|
+
},
|
|
157
|
+
size: {
|
|
158
|
+
immediate: !0,
|
|
159
|
+
handler() {
|
|
160
|
+
this.provideObj.size = this.size;
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
kind: {
|
|
164
|
+
immediate: !0,
|
|
165
|
+
handler() {
|
|
166
|
+
this.provideObj.kind = this.kind;
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
outlined: {
|
|
170
|
+
immediate: !0,
|
|
171
|
+
handler() {
|
|
172
|
+
this.provideObj.outlined = this.outlined;
|
|
173
|
+
}
|
|
121
174
|
}
|
|
122
175
|
},
|
|
123
176
|
mounted() {
|
|
@@ -134,13 +187,14 @@ const m = {
|
|
|
134
187
|
this.focusId = t;
|
|
135
188
|
},
|
|
136
189
|
getTabChildren() {
|
|
137
|
-
return Array.from(this.$refs.tabs.querySelectorAll("
|
|
138
|
-
var
|
|
190
|
+
return Array.from(this.$refs.tabs.querySelectorAll('[role="tab"]')).map((e) => {
|
|
191
|
+
var s, n;
|
|
139
192
|
return {
|
|
140
193
|
context: e,
|
|
141
|
-
panelId: (
|
|
194
|
+
panelId: (s = e.getAttribute("aria-controls")) == null ? void 0 : s.replace("dt-panel-", ""),
|
|
142
195
|
tabId: (n = e.getAttribute("id")) == null ? void 0 : n.replace("dt-tab-", ""),
|
|
143
|
-
isSelected: e.getAttribute("aria-selected") === "true"
|
|
196
|
+
isSelected: e.getAttribute("aria-selected") === "true",
|
|
197
|
+
isDisabled: e.getAttribute("aria-disabled") === "true"
|
|
144
198
|
};
|
|
145
199
|
});
|
|
146
200
|
},
|
|
@@ -150,27 +204,32 @@ const m = {
|
|
|
150
204
|
tabLeft() {
|
|
151
205
|
const t = this.getFocusedTabIndex();
|
|
152
206
|
if (t === -1) return;
|
|
153
|
-
const e =
|
|
207
|
+
const e = this.findNextTab(t, -1);
|
|
154
208
|
this.selectFocusOnTab(e);
|
|
155
209
|
},
|
|
156
210
|
tabRight() {
|
|
157
211
|
const t = this.getFocusedTabIndex();
|
|
158
212
|
if (t === -1) return;
|
|
159
|
-
const e =
|
|
213
|
+
const e = this.findNextTab(t, 1);
|
|
160
214
|
this.selectFocusOnTab(e);
|
|
161
215
|
},
|
|
216
|
+
findNextTab(t, e) {
|
|
217
|
+
const s = this.tabs.length;
|
|
218
|
+
return (t + e + s) % s;
|
|
219
|
+
},
|
|
162
220
|
selectFocusOnTab(t) {
|
|
163
|
-
const { context: e } = this.tabs[t];
|
|
164
|
-
e.focus();
|
|
221
|
+
const { context: e, panelId: s, isDisabled: n } = this.tabs[t];
|
|
222
|
+
e.focus(), this.activationMode === "auto" && !n && (this.provideObj.selected = s, this.onChange());
|
|
165
223
|
},
|
|
166
224
|
selectTab(t) {
|
|
167
|
-
|
|
225
|
+
var s;
|
|
226
|
+
if (this.isSameTabClicked()) return;
|
|
168
227
|
const e = this.getFocusedTabIndex();
|
|
169
|
-
this.selectTabByIndex(e), this.onChange();
|
|
228
|
+
(s = this.tabs[e]) != null && s.isDisabled || (this.$emit("before-change", t), !t.defaultPrevented && (this.selectTabByIndex(e), this.onChange()));
|
|
170
229
|
},
|
|
171
230
|
selectTabByIndex(t) {
|
|
172
|
-
const { context: e, panelId:
|
|
173
|
-
this.provideObj.selected =
|
|
231
|
+
const { context: e, panelId: s } = this.tabs[t];
|
|
232
|
+
this.provideObj.selected = s, e.focus();
|
|
174
233
|
},
|
|
175
234
|
getFocusedTabIndex() {
|
|
176
235
|
const t = this.tabs.findIndex(
|
|
@@ -179,53 +238,55 @@ const m = {
|
|
|
179
238
|
return t === -1 ? 0 : t;
|
|
180
239
|
},
|
|
181
240
|
onHomeButton() {
|
|
182
|
-
|
|
183
|
-
this.tabs.length !== 0 && ((e = (t = this.tabs[0]) == null ? void 0 : t.context) == null || e.focus());
|
|
241
|
+
this.tabs.length && this.selectFocusOnTab(0);
|
|
184
242
|
},
|
|
185
243
|
onEndButton() {
|
|
186
|
-
|
|
187
|
-
this.tabs.length !== 0 && ((e = (t = this.tabs[this.tabs.length - 1]) == null ? void 0 : t.context) == null || e.focus());
|
|
244
|
+
this.tabs.length && this.selectFocusOnTab(this.tabs.length - 1);
|
|
188
245
|
},
|
|
189
246
|
isSameTabClicked() {
|
|
190
247
|
const t = this.tabs[this.getFocusedTabIndex()];
|
|
191
248
|
return this.provideObj.selected === t.panelId;
|
|
192
249
|
}
|
|
193
250
|
}
|
|
194
|
-
},
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
251
|
+
}, v = {
|
|
252
|
+
"data-qa": "dt-tab-group",
|
|
253
|
+
class: "d-tab-neux"
|
|
254
|
+
}, x = ["aria-label"];
|
|
255
|
+
function B(t, e, s, n, l, i) {
|
|
256
|
+
return T(), g("div", v, [
|
|
257
|
+
m("div", p({
|
|
198
258
|
ref: "tabs",
|
|
199
259
|
class: [
|
|
200
260
|
"d-tablist",
|
|
201
|
-
l.TAB_LIST_SIZE_MODIFIERS[
|
|
261
|
+
l.TAB_LIST_SIZE_MODIFIERS[s.size],
|
|
202
262
|
{
|
|
203
|
-
[l.TAB_LIST_KIND_MODIFIERS.inverted]:
|
|
204
|
-
[l.TAB_LIST_IMPORTANCE_MODIFIERS.borderless]:
|
|
263
|
+
[l.TAB_LIST_KIND_MODIFIERS.inverted]: s.inverted,
|
|
264
|
+
[l.TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: s.borderless
|
|
205
265
|
},
|
|
206
|
-
|
|
266
|
+
s.tabListClass
|
|
207
267
|
]
|
|
208
|
-
},
|
|
268
|
+
}, s.tabListChildProps, {
|
|
209
269
|
role: "tablist",
|
|
210
|
-
"aria-label":
|
|
270
|
+
"aria-label": s.label,
|
|
271
|
+
"aria-orientation": "horizontal",
|
|
211
272
|
onKeyup: [
|
|
212
|
-
e[0] || (e[0] =
|
|
213
|
-
e[1] || (e[1] =
|
|
214
|
-
e[2] || (e[2] =
|
|
215
|
-
e[3] || (e[3] =
|
|
273
|
+
e[0] || (e[0] = d((...a) => i.tabLeft && i.tabLeft(...a), ["left"])),
|
|
274
|
+
e[1] || (e[1] = d((...a) => i.tabRight && i.tabRight(...a), ["right"])),
|
|
275
|
+
e[2] || (e[2] = d((...a) => i.selectTab && i.selectTab(...a), ["enter"])),
|
|
276
|
+
e[3] || (e[3] = d((...a) => i.selectTab && i.selectTab(...a), ["space"]))
|
|
216
277
|
],
|
|
217
|
-
onClick: e[4] || (e[4] = (...a) =>
|
|
278
|
+
onClick: e[4] || (e[4] = (...a) => i.selectTab && i.selectTab(...a)),
|
|
218
279
|
onKeydown: [
|
|
219
|
-
e[5] || (e[5] =
|
|
220
|
-
e[6] || (e[6] =
|
|
280
|
+
e[5] || (e[5] = d(r((...a) => i.onHomeButton && i.onHomeButton(...a), ["prevent"]), ["home"])),
|
|
281
|
+
e[6] || (e[6] = d(r((...a) => i.onEndButton && i.onEndButton(...a), ["prevent"]), ["end"]))
|
|
221
282
|
]
|
|
222
283
|
}), [
|
|
223
|
-
|
|
224
|
-
], 16,
|
|
225
|
-
|
|
284
|
+
o(t.$slots, "tabs")
|
|
285
|
+
], 16, x),
|
|
286
|
+
o(t.$slots, "default")
|
|
226
287
|
]);
|
|
227
288
|
}
|
|
228
|
-
const F = /* @__PURE__ */
|
|
289
|
+
const F = /* @__PURE__ */ S(O, [["render", B]]);
|
|
229
290
|
export {
|
|
230
291
|
F as default
|
|
231
292
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-group.js","sources":["../../../components/tab/tab_group.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-tab-group\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @click=\"selectTab\"\n @keydown.home=\"onHomeButton\"\n @keydown.end=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, sm\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n\n /**\n * Before change tab event with the event argument, useful to perform validations and prevent changing tabs if neccessary.\n *\n * @event before-change\n * @type {Event}\n */\n 'before-change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n updated () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('.d-tab'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n tabId: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n tabLeft () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const indexElement = index - 1 < 0 ? this.tabs.length - 1 : index - 1;\n this.selectFocusOnTab(indexElement);\n },\n\n tabRight () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const indexElement = index + 1 > this.tabs.length - 1 ? 0 : index + 1;\n this.selectFocusOnTab(indexElement);\n },\n\n selectFocusOnTab (index) {\n const { context } = this.tabs[index];\n context.focus();\n },\n\n selectTab (event) {\n if (this.isSameTabClicked()) return;\n\n this.$emit('before-change', event);\n if (event.defaultPrevented) return;\n\n const index = this.getFocusedTabIndex();\n\n this.selectTabByIndex(index);\n this.onChange();\n },\n\n selectTabByIndex (index) {\n const { context, panelId } = this.tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getFocusedTabIndex () {\n // Hot fix https://github.com/dialpad/dialtone/pull/849\n // The main issue is that this.tabs is not being updated at the time this is being triggered.\n\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.tabId === `${this.focusId}` : context.isSelected,\n );\n\n return index === -1 ? 0 : index;\n },\n\n onHomeButton () {\n if (this.tabs.length === 0) return;\n this.tabs[0]?.context?.focus();\n },\n\n onEndButton () {\n if (this.tabs.length === 0) return;\n this.tabs[this.tabs.length - 1]?.context?.focus();\n },\n\n isSameTabClicked () {\n const tab = this.tabs[this.getFocusedTabIndex()];\n return this.provideObj.selected === tab.panelId;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","size","TAB_LIST_SIZES","TAB_LIST_SIZE_MODIFIERS","TAB_LIST_KIND_MODIFIERS","TAB_LIST_IMPORTANCE_MODIFIERS","focusId","el","_a","_b","index","indexElement","context","event","panelId","tab","_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_mergeProps","$data","$props","$options","args","_renderSlot","_ctx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tab-group.js","sources":["../../../components/tab/tab_group.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-tab-group\"\n class=\"d-tab-neux\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n aria-orientation=\"horizontal\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @click=\"selectTab\"\n @keydown.home.prevent=\"onHomeButton\"\n @keydown.end.prevent=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n TAB_ACTIVATION_MODES,\n TAB_GROUP_KINDS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @deprecated\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, xs, sm, lg, xl\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * The visual style kind applied to tabs within this group.\n * Maps to specific DtButton kind/importance combinations for selected/unselected states.\n * @values default, muted\n */\n kind: {\n type: String,\n default: 'default',\n validator (value) {\n return TAB_GROUP_KINDS.includes(value);\n },\n },\n\n /**\n * If true, the selected tab renders with outlined importance instead of clear.\n * @values true, false\n */\n outlined: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether tabs are selected on focus (auto) or on click/keypress (manual)\n * @values auto, manual\n */\n activationMode: {\n type: String,\n default: 'manual',\n validator (value) {\n return TAB_ACTIVATION_MODES.includes(value);\n },\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n\n /**\n * Before change tab event with the event argument, useful to perform validations and prevent changing tabs if neccessary.\n *\n * @event before-change\n * @type {Event}\n */\n 'before-change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n size: 'default',\n kind: 'default',\n outlined: false,\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n\n size: {\n immediate: true,\n handler () {\n this.provideObj.size = this.size;\n },\n },\n\n kind: {\n immediate: true,\n handler () {\n this.provideObj.kind = this.kind;\n },\n },\n\n outlined: {\n immediate: true,\n handler () {\n this.provideObj.outlined = this.outlined;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n updated () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('[role=\"tab\"]'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n tabId: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n isDisabled: el.getAttribute('aria-disabled') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n tabLeft () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const nextIndex = this.findNextTab(index, -1);\n this.selectFocusOnTab(nextIndex);\n },\n\n tabRight () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const nextIndex = this.findNextTab(index, 1);\n this.selectFocusOnTab(nextIndex);\n },\n\n findNextTab (fromIndex, direction) {\n const len = this.tabs.length;\n return (fromIndex + direction + len) % len;\n },\n\n selectFocusOnTab (index) {\n const { context, panelId, isDisabled } = this.tabs[index];\n context.focus();\n if (this.activationMode === 'auto' && !isDisabled) {\n this.provideObj.selected = panelId;\n this.onChange();\n }\n },\n\n selectTab (event) {\n if (this.isSameTabClicked()) return;\n\n const index = this.getFocusedTabIndex();\n if (this.tabs[index]?.isDisabled) return;\n\n this.$emit('before-change', event);\n if (event.defaultPrevented) return;\n\n this.selectTabByIndex(index);\n this.onChange();\n },\n\n selectTabByIndex (index) {\n const { context, panelId } = this.tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getFocusedTabIndex () {\n // Hot fix https://github.com/dialpad/dialtone/pull/849\n // The main issue is that this.tabs is not being updated at the time this is being triggered.\n\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.tabId === `${this.focusId}` : context.isSelected,\n );\n\n return index === -1 ? 0 : index;\n },\n\n onHomeButton () {\n if (this.tabs.length) this.selectFocusOnTab(0);\n },\n\n onEndButton () {\n if (this.tabs.length) this.selectFocusOnTab(this.tabs.length - 1);\n },\n\n isSameTabClicked () {\n const tab = this.tabs[this.getFocusedTabIndex()];\n return this.provideObj.selected === tab.panelId;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","size","TAB_LIST_SIZES","value","TAB_GROUP_KINDS","TAB_ACTIVATION_MODES","TAB_LIST_SIZE_MODIFIERS","TAB_LIST_KIND_MODIFIERS","TAB_LIST_IMPORTANCE_MODIFIERS","focusId","el","_a","_b","index","nextIndex","fromIndex","direction","len","context","panelId","isDisabled","event","tab","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_mergeProps","$data","$props","$options","args","_renderSlot","_ctx"],"mappings":"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"}
|
package/dist/lib/tab/tab.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),r=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),d=require("../button/button.cjs"),o={compatConfig:{MODE:3},name:"DtTab",components:{DtButton:d.default},inject:["groupContext","setFocus"],inheritAttrs:!1,props:{id:{type:String,required:!0},panelId:{type:String,required:!0},label:{type:String,default:""},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},tabClass:{type:[String,Array,Object],default:""},labelClass:{type:[String,Array,Object],default:""},leadingClass:{type:[String,Array,Object],default:""},trailingClass:{type:[String,Array,Object],default:""}},emits:["focus","click"],computed:{tabListeners(){return{click:e=>{this.$emit("click",e)},focus:e=>{this.setFocus(this.id),this.$emit("focus",e)}}},isDisabled(){return this.groupContext.disabled||this.disabled},buttonSize(){const e=this.groupContext.size;return e==="default"?void 0:e},isSelected(){return this.groupContext.selected===this.panelId},buttonKind(){return this.groupContext.outlined?this.groupContext.kind==="muted"?"muted":"default":this.groupContext.kind==="muted"?"muted":this.isSelected?"default":"muted"},buttonImportance(){return this.groupContext.outlined&&this.isSelected?"outlined":"clear"},buttonActive(){return this.groupContext.outlined?!1:this.groupContext.kind==="muted"?this.isSelected:!1}},mounted(){this.syncDataContent(),this.selected&&(this.groupContext.selected=this.panelId)},updated(){this.syncDataContent()},methods:{syncDataContent(){var i;const e=this.$refs.tabLabel;if(!e)return;const s=((i=e.textContent)==null?void 0:i.trim())||"";e.getAttribute("data-content")!==s&&e.setAttribute("data-content",s)}}},u={ref:"tabLabel",class:"d-tab__label"};function c(e,s,i,f,g,n){const l=t.resolveComponent("dt-button");return t.openBlock(),t.createBlock(l,t.mergeProps({id:`dt-tab-${i.id}`,class:[i.tabClass,{"d-btn--disabled":n.isDisabled},{"d-tab--is-selected":!n.groupContext.outlined&&n.groupContext.kind!=="muted"&&n.isSelected}],importance:n.buttonImportance,kind:n.buttonKind,active:n.buttonActive,size:n.buttonSize,role:"tab","aria-selected":`${n.isSelected}`,"aria-controls":`dt-panel-${i.panelId}`,"aria-label":i.label,"aria-disabled":n.isDisabled?"true":void 0,"label-class":i.labelClass,"leading-class":i.leadingClass,"trailing-class":i.trailingClass,"data-qa":"dt-tab",tabindex:n.isSelected?"0":"-1"},e.$attrs,t.toHandlers(n.tabListeners)),t.createSlots({default:t.withCtx(()=>[t.createElementVNode("span",u,[t.renderSlot(e.$slots,"default")],512)]),_:2},[e.$slots.startIcon?{name:"startIcon",fn:t.withCtx(({iconSize:a})=>[t.renderSlot(e.$slots,"startIcon",{iconSize:a})]),key:"0"}:e.$slots.icon?{name:"startIcon",fn:t.withCtx(({iconSize:a})=>[t.renderSlot(e.$slots,"icon",{iconSize:a})]),key:"1"}:void 0,e.$slots.endIcon?{name:"endIcon",fn:t.withCtx(({iconSize:a})=>[t.renderSlot(e.$slots,"endIcon",{iconSize:a})]),key:"2"}:void 0,e.$slots.leading?{name:"leading",fn:t.withCtx(()=>[t.renderSlot(e.$slots,"leading")]),key:"3"}:void 0,e.$slots.trailing?{name:"trailing",fn:t.withCtx(()=>[t.renderSlot(e.$slots,"trailing")]),key:"4"}:void 0]),1040,["id","class","importance","kind","active","size","aria-selected","aria-controls","aria-label","aria-disabled","label-class","leading-class","trailing-class","tabindex"])}const b=r._(o,[["render",c]]);exports.default=b;
|
|
2
2
|
//# sourceMappingURL=tab.cjs.map
|
package/dist/lib/tab/tab.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab.cjs","sources":["../../../components/tab/tab.vue"],"sourcesContent":["<template>\n <dt-button\n :id=\"`dt-tab-${id}`\"\n :class=\"[\n 'd-
|
|
1
|
+
{"version":3,"file":"tab.cjs","sources":["../../../components/tab/tab.vue"],"sourcesContent":["<template>\n <dt-button\n :id=\"`dt-tab-${id}`\"\n :class=\"[\n tabClass,\n { 'd-btn--disabled': isDisabled },\n { 'd-tab--is-selected': !groupContext.outlined && groupContext.kind !== 'muted' && isSelected },\n ]\"\n :importance=\"buttonImportance\"\n :kind=\"buttonKind\"\n :active=\"buttonActive\"\n :size=\"buttonSize\"\n role=\"tab\"\n :aria-selected=\"`${isSelected}`\"\n :aria-controls=\"`dt-panel-${panelId}`\"\n :aria-label=\"label\"\n :aria-disabled=\"isDisabled ? 'true' : undefined\"\n :label-class=\"labelClass\"\n :leading-class=\"leadingClass\"\n :trailing-class=\"trailingClass\"\n data-qa=\"dt-tab\"\n :tabindex=\"isSelected ? '0' : '-1'\"\n v-bind=\"$attrs\"\n v-on=\"tabListeners\"\n >\n <!-- @slot Icon displayed at the start (left in LTR) of the tab -->\n <template\n v-if=\"$slots.startIcon\"\n #startIcon=\"{ iconSize }\"\n >\n <slot\n name=\"startIcon\"\n :icon-size=\"iconSize\"\n />\n </template>\n <!-- @slot @deprecated Use startIcon -->\n <template\n v-else-if=\"$slots.icon\"\n #startIcon=\"{ iconSize }\"\n >\n <slot\n name=\"icon\"\n :icon-size=\"iconSize\"\n />\n </template>\n <!-- @slot Icon displayed at the end (right in LTR) of the tab -->\n <template\n v-if=\"$slots.endIcon\"\n #endIcon=\"{ iconSize }\"\n >\n <slot\n name=\"endIcon\"\n :icon-size=\"iconSize\"\n />\n </template>\n <template\n v-if=\"$slots.leading\"\n #leading\n >\n <slot name=\"leading\" />\n </template>\n <template\n v-if=\"$slots.trailing\"\n #trailing\n >\n <slot name=\"trailing\" />\n </template>\n <!-- @slot default slot, defaults contains dt-button -->\n <span\n ref=\"tabLabel\"\n class=\"d-tab__label\"\n >\n <slot />\n </span>\n </dt-button>\n</template>\n\n<script>\nimport { DtButton } from '../button';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTab',\n components: {\n DtButton,\n },\n\n inject: ['groupContext', 'setFocus'],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the tab\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated content panel\n */\n panelId: {\n type: String,\n required: true,\n },\n\n /**\n * Describes the tab\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Controls the state of the tab\n * @values true, false\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, disables the tab\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the leading container\n */\n leadingClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the trailing container\n */\n trailingClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n tabListeners () {\n return {\n click: event => {\n this.$emit('click', event);\n },\n\n focus: event => {\n this.setFocus(this.id);\n this.$emit('focus', event);\n },\n };\n },\n\n isDisabled () {\n return this.groupContext.disabled || this.disabled;\n },\n\n buttonSize () {\n const size = this.groupContext.size;\n return size === 'default' ? undefined : size;\n },\n\n isSelected () {\n return this.groupContext.selected === this.panelId;\n },\n\n buttonKind () {\n if (this.groupContext.outlined) {\n return this.groupContext.kind === 'muted' ? 'muted' : 'default';\n }\n if (this.groupContext.kind === 'muted') {\n return 'muted';\n }\n return this.isSelected ? 'default' : 'muted';\n },\n\n buttonImportance () {\n if (this.groupContext.outlined && this.isSelected) {\n return 'outlined';\n }\n return 'clear';\n },\n\n buttonActive () {\n if (this.groupContext.outlined) {\n return false;\n }\n if (this.groupContext.kind === 'muted') {\n return this.isSelected;\n }\n return false;\n },\n },\n\n mounted () {\n this.syncDataContent();\n if (this.selected) {\n this.groupContext.selected = this.panelId;\n }\n },\n\n updated () {\n this.syncDataContent();\n },\n\n methods: {\n // Sets data-content to match the rendered label text so CSS can use\n // `content: attr(data-content)` on a hidden ::after pseudo-element to\n // hold the bold-width and prevent layout shift on selection.\n syncDataContent () {\n const el = this.$refs.tabLabel;\n if (!el) return;\n const text = el.textContent?.trim() || '';\n if (el.getAttribute('data-content') !== text) {\n el.setAttribute('data-content', text);\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","event","size","el","text","_a","_openBlock","_createBlock","_component_dt_button","_mergeProps","$props","$options","_ctx","_toHandlers","_createSlots","_createElementVNode","_hoisted_1","_renderSlot","_withCtx","iconSize"],"mappings":"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"}
|