@dialpad/dialtone-vue 3.219.0 → 3.220.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/{attachment_carousel-CouFqFMw.js → attachment_carousel-1qxTI-NN.js} +5 -5
- package/dist/attachment_carousel-1qxTI-NN.js.map +1 -0
- package/dist/attachment_carousel-wnZS3vEt.cjs +2 -0
- package/dist/attachment_carousel-wnZS3vEt.cjs.map +1 -0
- package/dist/{combobox-DgClbLOg.js → combobox-BQBKrDTW.js} +36 -35
- package/dist/combobox-BQBKrDTW.js.map +1 -0
- package/dist/combobox-Da7wBh3G.cjs +3 -0
- package/dist/combobox-Da7wBh3G.cjs.map +1 -0
- package/dist/common/composables/useIndicatorAnimation.cjs +2 -0
- package/dist/common/composables/useIndicatorAnimation.cjs.map +1 -0
- package/dist/common/composables/useIndicatorAnimation.d.ts +18 -0
- package/dist/common/composables/useIndicatorAnimation.d.ts.map +1 -0
- package/dist/common/composables/useIndicatorAnimation.js +78 -0
- package/dist/common/composables/useIndicatorAnimation.js.map +1 -0
- package/dist/common/constants/index.cjs +1 -1
- package/dist/common/constants/index.cjs.map +1 -1
- package/dist/common/constants/index.d.ts +27 -21
- package/dist/common/constants/index.d.ts.map +1 -1
- package/dist/common/constants/index.js +25 -14
- package/dist/common/constants/index.js.map +1 -1
- package/dist/common/constants/sizes.cjs +2 -0
- package/dist/common/constants/sizes.cjs.map +1 -0
- package/dist/common/constants/sizes.d.ts +22 -0
- package/dist/common/constants/sizes.d.ts.map +1 -0
- package/dist/common/constants/sizes.js +19 -0
- package/dist/common/constants/sizes.js.map +1 -0
- package/dist/common/mixins/index.cjs +1 -1
- package/dist/common/mixins/index.d.ts +1 -0
- package/dist/common/mixins/index.js +2 -1
- package/dist/common/mixins/input.cjs +1 -1
- package/dist/common/mixins/input.cjs.map +1 -1
- package/dist/common/mixins/input.d.ts +27 -33
- package/dist/common/mixins/input.d.ts.map +1 -1
- package/dist/common/mixins/input.js +0 -8
- package/dist/common/mixins/input.js.map +1 -1
- package/dist/common/mixins/mode.cjs +2 -0
- package/dist/common/mixins/mode.cjs.map +1 -0
- package/dist/common/mixins/mode.d.ts +25 -0
- package/dist/common/mixins/mode.d.ts.map +1 -0
- package/dist/common/mixins/mode.js +62 -0
- package/dist/common/mixins/mode.js.map +1 -0
- package/dist/common/mode_constants.d.ts +37 -0
- package/dist/common/mode_constants.d.ts.map +1 -0
- package/dist/common/sr_only_close_button.vue.d.ts +53 -7
- package/dist/common/sr_only_close_button.vue.d.ts.map +1 -1
- package/dist/common/utils/index.cjs +1 -1
- package/dist/common/utils/index.cjs.map +1 -1
- package/dist/common/utils/index.d.ts +2 -8
- package/dist/common/utils/index.d.ts.map +1 -1
- package/dist/common/utils/index.js +79 -88
- package/dist/common/utils/index.js.map +1 -1
- package/dist/component-documentation.json +1 -1
- package/dist/components/avatar/avatar.vue.d.ts +85 -27
- package/dist/components/avatar/avatar.vue.d.ts.map +1 -1
- package/dist/components/avatar/avatar_constants.d.ts +86 -29
- package/dist/components/avatar/avatar_constants.d.ts.map +1 -1
- package/dist/components/avatar/index.d.ts +1 -1
- package/dist/components/badge/badge.vue.d.ts +1 -1
- package/dist/components/badge/badge.vue.d.ts.map +1 -1
- package/dist/components/badge/badge_constants.d.ts +1 -1
- package/dist/components/banner/banner.vue.d.ts +269 -34
- package/dist/components/banner/banner.vue.d.ts.map +1 -1
- package/dist/components/box/box.vue.d.ts +73 -0
- package/dist/components/box/box.vue.d.ts.map +1 -0
- package/dist/components/box/box_constants.d.ts +11 -0
- package/dist/components/box/box_constants.d.ts.map +1 -0
- package/dist/components/box/index.d.ts +3 -0
- package/dist/components/box/index.d.ts.map +1 -0
- package/dist/components/box/validators.d.ts +11 -0
- package/dist/components/box/validators.d.ts.map +1 -0
- package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts +26 -17
- package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
- package/dist/components/breadcrumbs/breadcrumbs.vue.d.ts +25 -16
- package/dist/components/button/button.vue.d.ts +53 -7
- package/dist/components/button/button.vue.d.ts.map +1 -1
- package/dist/components/button/button_constants.d.ts +29 -20
- package/dist/components/button/button_constants.d.ts.map +1 -1
- package/dist/components/card/card.vue.d.ts +0 -9
- package/dist/components/card/card.vue.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox.vue.d.ts +183 -10
- package/dist/components/checkbox/checkbox.vue.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox_constants.d.ts +2 -2
- package/dist/components/checkbox_group/checkbox_group.vue.d.ts +142 -0
- package/dist/components/chip/chip.vue.d.ts +62 -16
- package/dist/components/chip/chip.vue.d.ts.map +1 -1
- package/dist/components/chip/chip_constants.d.ts +24 -21
- package/dist/components/chip/chip_constants.d.ts.map +1 -1
- package/dist/components/codeblock/codeblock.vue.d.ts +25 -2
- package/dist/components/codeblock/codeblock.vue.d.ts.map +1 -1
- package/dist/components/codeblock/codeblock_constants.d.ts +9 -0
- package/dist/components/codeblock/codeblock_constants.d.ts.map +1 -0
- package/dist/components/collapsible/collapsible.vue.d.ts +53 -7
- package/dist/components/collapsible/collapsible.vue.d.ts.map +1 -1
- package/dist/components/combobox/combobox.vue.d.ts +113 -38
- package/dist/components/combobox/combobox.vue.d.ts.map +1 -1
- package/dist/components/combobox/combobox_empty-list.vue.d.ts +40 -7
- package/dist/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
- package/dist/components/combobox/combobox_loading-list.vue.d.ts +64 -22
- package/dist/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
- package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts +16 -13
- package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts.map +1 -1
- package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts +399 -93
- package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
- package/dist/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
- package/dist/components/dropdown/dropdown.vue.d.ts +175 -19
- package/dist/components/dropdown/dropdown.vue.d.ts.map +1 -1
- package/dist/components/emoji/emoji.vue.d.ts +24 -15
- package/dist/components/emoji_picker/emoji_picker.vue.d.ts +204 -22
- package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts +204 -22
- package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
- package/dist/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
- package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +24 -15
- package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
- package/dist/components/empty_state/empty_state.vue.d.ts.map +1 -1
- package/dist/components/empty_state/empty_state_constants.d.ts +52 -31
- package/dist/components/empty_state/empty_state_constants.d.ts.map +1 -1
- package/dist/components/filter_pill/filter_pill.vue.d.ts +4491 -0
- package/dist/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
- package/dist/components/filter_pill/index.d.ts +2 -0
- package/dist/components/filter_pill/index.d.ts.map +1 -0
- package/dist/components/hovercard/hovercard.vue.d.ts +380 -41
- package/dist/components/hovercard/hovercard.vue.d.ts.map +1 -1
- package/dist/components/image_viewer/image_viewer.vue.d.ts +131 -14
- package/dist/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
- package/dist/components/input/input.vue.d.ts +195 -19
- package/dist/components/input/input.vue.d.ts.map +1 -1
- package/dist/components/input/input_constants.d.ts +46 -48
- package/dist/components/input/input_constants.d.ts.map +1 -1
- package/dist/components/input_group/input_group.vue.d.ts +142 -0
- package/dist/components/input_group/input_group.vue.d.ts.map +1 -1
- package/dist/components/item_layout/item_layout.vue.d.ts +37 -6
- package/dist/components/item_layout/item_layout.vue.d.ts.map +1 -1
- package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +142 -0
- package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
- package/dist/components/link/index.d.ts +1 -1
- package/dist/components/link/link.vue.d.ts +25 -6
- package/dist/components/link/link_constants.d.ts +4 -4
- package/dist/components/link/link_constants.d.ts.map +1 -1
- package/dist/components/list_item/list_item.vue.d.ts +40 -7
- package/dist/components/list_item/list_item.vue.d.ts.map +1 -1
- package/dist/components/modal/modal.vue.d.ts +292 -97
- package/dist/components/modal/modal.vue.d.ts.map +1 -1
- package/dist/components/modal/modal_constants.d.ts +7 -6
- package/dist/components/mode_island/index.d.ts +3 -0
- package/dist/components/mode_island/index.d.ts.map +1 -0
- package/dist/components/mode_island/mode_island.vue.d.ts +3 -0
- package/dist/components/mode_island/mode_island.vue.d.ts.map +1 -0
- package/dist/components/mode_island/mode_island_constants.d.ts +10 -0
- package/dist/components/mode_island/mode_island_constants.d.ts.map +1 -0
- package/dist/components/mode_island/utils.d.ts +12 -0
- package/dist/components/mode_island/utils.d.ts.map +1 -0
- package/dist/components/mode_island/validators.d.ts +6 -0
- package/dist/components/mode_island/validators.d.ts.map +1 -0
- package/dist/components/motion_text/motion_text_constants.d.ts +27 -23
- package/dist/components/motion_text/motion_text_constants.d.ts.map +1 -1
- package/dist/components/notice/notice.vue.d.ts +269 -34
- package/dist/components/notice/notice.vue.d.ts.map +1 -1
- package/dist/components/notice/notice_action.vue.d.ts +112 -20
- package/dist/components/notice/notice_action.vue.d.ts.map +1 -1
- package/dist/components/notice/notice_constants.d.ts.map +1 -1
- package/dist/components/notice/notice_content.vue.d.ts +144 -1
- package/dist/components/notice/notice_content.vue.d.ts.map +1 -1
- package/dist/components/notice/notice_icon.vue.d.ts +2 -2
- package/dist/components/notice/notice_icon.vue.d.ts.map +1 -1
- package/dist/components/pagination/pagination.vue.d.ts +56 -10
- package/dist/components/pagination/pagination.vue.d.ts.map +1 -1
- package/dist/components/popover/popover.vue.d.ts +163 -18
- package/dist/components/popover/popover.vue.d.ts.map +1 -1
- package/dist/components/popover/popover_header_footer.vue.d.ts +62 -7
- package/dist/components/popover/popover_header_footer.vue.d.ts.map +1 -1
- package/dist/components/radio/radio.vue.d.ts +178 -6
- package/dist/components/radio/radio.vue.d.ts.map +1 -1
- package/dist/components/radio/radio_constants.d.ts +2 -2
- package/dist/components/radio_group/radio_group.vue.d.ts +142 -0
- package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +25 -6
- package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +24 -15
- package/dist/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +24 -15
- package/dist/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +25 -6
- package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +227 -27
- package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +144 -1
- package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +40 -7
- package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +411 -44
- package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts +59 -13
- package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/components/root_layout/root_layout_constants.d.ts +2 -0
- package/dist/components/root_layout/root_layout_constants.d.ts.map +1 -1
- package/dist/components/scroller/modules/core_scroller.vue.d.ts +2 -2
- package/dist/components/scroller/modules/dynamic_scroller.vue.d.ts +12 -12
- package/dist/components/scroller/scroller.vue.d.ts +18 -18
- package/dist/components/segmented_control/index.d.ts +4 -0
- package/dist/components/segmented_control/index.d.ts.map +1 -0
- package/dist/components/segmented_control/segmented_control.vue.d.ts +226 -0
- package/dist/components/segmented_control/segmented_control.vue.d.ts.map +1 -0
- package/dist/components/segmented_control/segmented_control_constants.d.ts +41 -0
- package/dist/components/segmented_control/segmented_control_constants.d.ts.map +1 -0
- package/dist/components/segmented_control/segmented_control_item.vue.d.ts +35 -0
- package/dist/components/segmented_control/segmented_control_item.vue.d.ts.map +1 -0
- package/dist/components/select_menu/select_menu.vue.d.ts +189 -31
- package/dist/components/select_menu/select_menu.vue.d.ts.map +1 -1
- package/dist/components/select_menu/select_menu_constants.d.ts +14 -9
- package/dist/components/select_menu/select_menu_constants.d.ts.map +1 -1
- package/dist/components/skeleton/skeleton-list-item.vue.d.ts +13 -10
- package/dist/components/skeleton/skeleton-paragraph.vue.d.ts +3 -0
- package/dist/components/skeleton/skeleton-shape.vue.d.ts +5 -5
- package/dist/components/skeleton/skeleton-text.vue.d.ts +3 -0
- package/dist/components/skeleton/skeleton.vue.d.ts +24 -15
- package/dist/components/skeleton/skeleton_constants.d.ts +18 -13
- package/dist/components/skeleton/skeleton_constants.d.ts.map +1 -1
- package/dist/components/split_button/{split_button-omega.vue.d.ts → split_button-end.vue.d.ts} +64 -13
- package/dist/components/split_button/{split_button-omega.vue.d.ts.map → split_button-end.vue.d.ts.map} +1 -1
- package/dist/components/split_button/{split_button-alpha.vue.d.ts → split_button-start.vue.d.ts} +125 -11
- package/dist/components/split_button/split_button-start.vue.d.ts.map +1 -0
- package/dist/components/split_button/split_button.vue.d.ts +602 -78
- package/dist/components/split_button/split_button.vue.d.ts.map +1 -1
- package/dist/components/split_button/split_button_constants.d.ts +12 -7
- package/dist/components/split_button/split_button_constants.d.ts.map +1 -1
- package/dist/components/stack/stack_constants.d.ts.map +1 -1
- package/dist/components/tab/index.d.ts +1 -1
- package/dist/components/tab/tab.vue.d.ts +86 -11
- package/dist/components/tab/tab.vue.d.ts.map +1 -1
- package/dist/components/tab/tab_group.vue.d.ts +125 -10
- package/dist/components/tab/tab_group.vue.d.ts.map +1 -1
- package/dist/components/tab/tabs_constants.d.ts +23 -5
- package/dist/components/tab/tabs_constants.d.ts.map +1 -1
- package/dist/components/text/index.d.ts +3 -0
- package/dist/components/text/index.d.ts.map +1 -0
- package/dist/components/text/text.vue.d.ts +145 -0
- package/dist/components/text/text.vue.d.ts.map +1 -0
- package/dist/components/text/text_constants.d.ts +93 -0
- package/dist/components/text/text_constants.d.ts.map +1 -0
- package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts +264 -29
- package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
- package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts +2 -2
- package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +1 -1
- package/dist/components/toast/layouts/toast_layout_default.vue.d.ts +267 -32
- package/dist/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
- package/dist/components/toast/toast.vue.d.ts +1125 -185
- package/dist/components/toast/toast.vue.d.ts.map +1 -1
- package/dist/components/toggle/toggle.vue.d.ts +19 -19
- package/dist/components/toggle/toggle.vue.d.ts.map +1 -1
- package/dist/components/toggle/toggle_constants.d.ts +6 -4
- package/dist/components/toggle/toggle_constants.d.ts.map +1 -1
- package/dist/components/tooltip/tooltip.vue.d.ts +31 -5
- package/dist/components/tooltip/tooltip.vue.d.ts.map +1 -1
- package/dist/{datepicker-LVDRC6Lf.js → datepicker-B2nhxiCg.js} +20 -24
- package/dist/datepicker-B2nhxiCg.js.map +1 -0
- package/dist/datepicker-CZrNL0Yn.cjs +2 -0
- package/dist/datepicker-CZrNL0Yn.cjs.map +1 -0
- package/dist/dialtone-vue.cjs +1 -1
- package/dist/dialtone-vue.css +1 -1
- package/dist/dialtone-vue.js +170 -150
- package/dist/directives/focusgroup_directive/focusgroup.d.ts +6 -0
- package/dist/directives/focusgroup_directive/focusgroup.d.ts.map +1 -0
- package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts +74 -0
- package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts.map +1 -0
- package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts +15 -0
- package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts.map +1 -0
- package/dist/directives/focusgroup_directive/index.d.ts +2 -0
- package/dist/directives/focusgroup_directive/index.d.ts.map +1 -0
- package/dist/directives/focustrap_directive/focustrap.d.ts +6 -0
- package/dist/directives/focustrap_directive/focustrap.d.ts.map +1 -0
- package/dist/directives/focustrap_directive/focustrap_constants.d.ts +7 -0
- package/dist/directives/focustrap_directive/focustrap_constants.d.ts.map +1 -0
- package/dist/directives/focustrap_directive/focustrap_utils.d.ts +5 -0
- package/dist/directives/focustrap_directive/focustrap_utils.d.ts.map +1 -0
- package/dist/directives/focustrap_directive/index.d.ts +2 -0
- package/dist/directives/focustrap_directive/index.d.ts.map +1 -0
- package/dist/directives/mode_directive/index.d.ts +2 -0
- package/dist/directives/mode_directive/index.d.ts.map +1 -0
- package/dist/directives/mode_directive/mode.d.ts +6 -0
- package/dist/directives/mode_directive/mode.d.ts.map +1 -0
- package/dist/directives/tooltip_directive/tooltip.d.ts.map +1 -1
- package/dist/emoji_picker-BQW4qRFg.cjs +2 -0
- package/dist/emoji_picker-BQW4qRFg.cjs.map +1 -0
- package/dist/{emoji_picker-tVHfpHDk.js → emoji_picker-BjgAohQy.js} +9 -8
- package/dist/emoji_picker-BjgAohQy.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
- package/dist/lib/attachment-carousel/attachment-carousel.js +1 -1
- package/dist/lib/attachment-carousel/index.cjs +1 -1
- package/dist/lib/attachment-carousel/index.js +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 +111 -24
- 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 +145 -84
- package/dist/lib/avatar/avatar.js.map +1 -1
- package/dist/lib/avatar/index.cjs +1 -1
- package/dist/lib/avatar/index.js +3 -3
- package/dist/lib/badge/badge-constants.cjs +1 -1
- package/dist/lib/badge/badge-constants.cjs.map +1 -1
- package/dist/lib/badge/badge-constants.js +1 -1
- package/dist/lib/badge/badge-constants.js.map +1 -1
- package/dist/lib/badge/badge.cjs +1 -1
- package/dist/lib/badge/badge.cjs.map +1 -1
- package/dist/lib/badge/badge.js +26 -14
- package/dist/lib/badge/badge.js.map +1 -1
- package/dist/lib/banner/banner.cjs +2 -2
- package/dist/lib/banner/banner.cjs.map +1 -1
- package/dist/lib/banner/banner.js +17 -16
- package/dist/lib/banner/banner.js.map +1 -1
- package/dist/lib/box/box-constants.cjs +2 -0
- package/dist/lib/box/box-constants.cjs.map +1 -0
- package/dist/lib/box/box-constants.js +103 -0
- package/dist/lib/box/box-constants.js.map +1 -0
- package/dist/lib/box/box.cjs +2 -0
- package/dist/lib/box/box.cjs.map +1 -0
- package/dist/lib/box/box.js +229 -0
- package/dist/lib/box/box.js.map +1 -0
- package/dist/lib/box/index.cjs +1 -0
- package/dist/lib/box/index.js +3 -0
- package/dist/lib/box/validators.cjs +2 -0
- package/dist/lib/box/validators.cjs.map +1 -0
- package/dist/lib/box/validators.js +7 -0
- package/dist/lib/box/validators.js.map +1 -0
- 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 +29 -38
- 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 +6 -6
- 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 +17 -3
- 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 +98 -15
- package/dist/lib/button/button.js.map +1 -1
- package/dist/lib/button-group/button-group.cjs.map +1 -1
- package/dist/lib/button-group/button-group.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 +26 -27
- 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 +45 -36
- 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 +47 -38
- 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 +4 -4
- package/dist/lib/callbox/callbox.js.map +1 -1
- package/dist/lib/card/card.cjs +1 -1
- package/dist/lib/card/card.cjs.map +1 -1
- package/dist/lib/card/card.js +10 -18
- package/dist/lib/card/card.js.map +1 -1
- package/dist/lib/checkbox/checkbox-constants.cjs +1 -1
- package/dist/lib/checkbox/checkbox-constants.cjs.map +1 -1
- package/dist/lib/checkbox/checkbox-constants.js +2 -2
- package/dist/lib/checkbox/checkbox-constants.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 +79 -28
- package/dist/lib/checkbox/checkbox.js.map +1 -1
- package/dist/lib/checkbox-group/checkboxes-decorator.cjs +1 -1
- package/dist/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
- package/dist/lib/checkbox-group/checkboxes-decorator.js +0 -1
- package/dist/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
- package/dist/lib/chip/chip-constants.cjs +1 -1
- package/dist/lib/chip/chip-constants.cjs.map +1 -1
- package/dist/lib/chip/chip-constants.js +9 -0
- package/dist/lib/chip/chip-constants.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 +13 -13
- 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 +20 -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 +25 -14
- package/dist/lib/codeblock/codeblock.js.map +1 -1
- package/dist/lib/collapsible/collapsible.cjs +1 -1
- package/dist/lib/collapsible/collapsible.cjs.map +1 -1
- package/dist/lib/collapsible/collapsible.js +1 -1
- package/dist/lib/collapsible/collapsible.js.map +1 -1
- package/dist/lib/combobox/combobox.cjs +1 -1
- package/dist/lib/combobox/combobox.js +1 -1
- package/dist/lib/combobox/index.cjs +1 -1
- package/dist/lib/combobox/index.js +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js +6 -0
- package/dist/lib/combobox-multi-select/combobox-multi-select-constants.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 +34 -33
- package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
- package/dist/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
- package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
- package/dist/lib/combobox-with-popover/combobox-with-popover.js +51 -46
- package/dist/lib/combobox-with-popover/combobox-with-popover.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 +51 -45
- 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 +8 -8
- 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 +3 -3
- package/dist/lib/contact-row/contact-row.js.map +1 -1
- package/dist/lib/datepicker/datepicker.cjs +1 -1
- package/dist/lib/datepicker/datepicker.js +1 -1
- package/dist/lib/datepicker/index.cjs +1 -1
- package/dist/lib/datepicker/index.js +1 -1
- package/dist/lib/description-list/description-list.cjs +1 -1
- package/dist/lib/description-list/description-list.cjs.map +1 -1
- package/dist/lib/description-list/description-list.js +1 -1
- package/dist/lib/description-list/description-list.js.map +1 -1
- package/dist/lib/dropdown/dropdown-constants.cjs +1 -1
- package/dist/lib/dropdown/dropdown-constants.cjs.map +1 -1
- package/dist/lib/dropdown/dropdown-constants.js +2 -2
- package/dist/lib/dropdown/dropdown-constants.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 +28 -16
- package/dist/lib/dropdown/dropdown-list.js.map +1 -1
- package/dist/lib/dropdown/dropdown.cjs +1 -1
- package/dist/lib/dropdown/dropdown.cjs.map +1 -1
- package/dist/lib/dropdown/dropdown.js +30 -26
- package/dist/lib/dropdown/dropdown.js.map +1 -1
- package/dist/lib/editor/EditorToolbarButton.cjs +1 -1
- package/dist/lib/editor/EditorToolbarButton.cjs.map +1 -1
- package/dist/lib/editor/EditorToolbarButton.js +1 -1
- package/dist/lib/editor/EditorToolbarButton.js.map +1 -1
- package/dist/lib/editor/EditorToolbarDropdownButton.cjs +1 -1
- package/dist/lib/editor/EditorToolbarDropdownButton.cjs.map +1 -1
- package/dist/lib/editor/EditorToolbarDropdownButton.js +1 -1
- package/dist/lib/editor/EditorToolbarDropdownButton.js.map +1 -1
- package/dist/lib/editor/EditorToolbarPopoverButton.cjs +1 -1
- package/dist/lib/editor/EditorToolbarPopoverButton.cjs.map +1 -1
- package/dist/lib/editor/EditorToolbarPopoverButton.js +1 -1
- package/dist/lib/editor/EditorToolbarPopoverButton.js.map +1 -1
- package/dist/lib/editor/editor.cjs +1 -1
- package/dist/lib/editor/editor.cjs.map +1 -1
- package/dist/lib/editor/editor.js +134 -135
- 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.js +1 -1
- package/dist/lib/emoji-picker/index.cjs +1 -1
- package/dist/lib/emoji-picker/index.js +1 -1
- package/dist/lib/emoji-row/emoji-row.cjs +1 -1
- package/dist/lib/emoji-row/emoji-row.cjs.map +1 -1
- package/dist/lib/emoji-row/emoji-row.js +1 -1
- package/dist/lib/emoji-row/emoji-row.js.map +1 -1
- package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
- package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.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 +37 -9
- 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 +46 -26
- 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 +40 -42
- 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 +3 -3
- 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 +433 -0
- package/dist/lib/filter-pill/filter-pill.js.map +1 -0
- package/dist/lib/filter-pill/index.cjs +1 -0
- package/dist/lib/filter-pill/index.js +2 -0
- package/dist/lib/focusgroup-directive/focusgroup-constants.cjs +2 -0
- package/dist/lib/focusgroup-directive/focusgroup-constants.cjs.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup-constants.js +77 -0
- package/dist/lib/focusgroup-directive/focusgroup-constants.js.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup-utils.cjs +2 -0
- package/dist/lib/focusgroup-directive/focusgroup-utils.cjs.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup-utils.js +33 -0
- package/dist/lib/focusgroup-directive/focusgroup-utils.js.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup.cjs +2 -0
- package/dist/lib/focusgroup-directive/focusgroup.cjs.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup.js +143 -0
- package/dist/lib/focusgroup-directive/focusgroup.js.map +1 -0
- package/dist/lib/focusgroup-directive/index.cjs +1 -0
- package/dist/lib/focusgroup-directive/index.js +2 -0
- package/dist/lib/focustrap-directive/focustrap-constants.cjs +2 -0
- package/dist/lib/focustrap-directive/focustrap-constants.cjs.map +1 -0
- package/dist/lib/focustrap-directive/focustrap-constants.js +10 -0
- package/dist/lib/focustrap-directive/focustrap-constants.js.map +1 -0
- package/dist/lib/focustrap-directive/focustrap-utils.cjs +2 -0
- package/dist/lib/focustrap-directive/focustrap-utils.cjs.map +1 -0
- package/dist/lib/focustrap-directive/focustrap-utils.js +19 -0
- package/dist/lib/focustrap-directive/focustrap-utils.js.map +1 -0
- package/dist/lib/focustrap-directive/focustrap.cjs +2 -0
- package/dist/lib/focustrap-directive/focustrap.cjs.map +1 -0
- package/dist/lib/focustrap-directive/focustrap.js +96 -0
- package/dist/lib/focustrap-directive/focustrap.js.map +1 -0
- package/dist/lib/focustrap-directive/index.cjs +1 -0
- package/dist/lib/focustrap-directive/index.js +2 -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 +105 -61
- package/dist/lib/general-row/general-row.js.map +1 -1
- package/dist/lib/general-row/leftbar-general-row-icon.cjs +1 -1
- package/dist/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
- package/dist/lib/general-row/leftbar-general-row-icon.js +1 -1
- package/dist/lib/general-row/leftbar-general-row-icon.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 +2 -2
- 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 +9 -9
- package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
- package/dist/lib/hovercard/hovercard.cjs +1 -1
- package/dist/lib/hovercard/hovercard.cjs.map +1 -1
- package/dist/lib/hovercard/hovercard.js +28 -24
- package/dist/lib/hovercard/hovercard.js.map +1 -1
- package/dist/lib/icon/icon.cjs +1 -1
- package/dist/lib/icon/icon.cjs.map +1 -1
- package/dist/lib/icon/icon.js +1 -1
- package/dist/lib/icon/icon.js.map +1 -1
- package/dist/lib/illustration/illustration.cjs +1 -1
- package/dist/lib/illustration/illustration.cjs.map +1 -1
- package/dist/lib/illustration/illustration.js +1 -1
- package/dist/lib/illustration/illustration.js.map +1 -1
- package/dist/lib/image-viewer/image-viewer.cjs +1 -1
- package/dist/lib/image-viewer/image-viewer.cjs.map +1 -1
- package/dist/lib/image-viewer/image-viewer.js +32 -31
- package/dist/lib/image-viewer/image-viewer.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 +25 -11
- 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 +161 -79
- 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 +25 -15
- 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 +35 -12
- package/dist/lib/item-layout/item-layout.js.map +1 -1
- package/dist/lib/ivr-node/ivr-node.cjs +1 -1
- package/dist/lib/ivr-node/ivr-node.cjs.map +1 -1
- package/dist/lib/ivr-node/ivr-node.js +1 -1
- package/dist/lib/ivr-node/ivr-node.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 +48 -38
- 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 +205 -0
- package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
- package/dist/lib/link/index.cjs +1 -1
- package/dist/lib/link/index.js +2 -2
- package/dist/lib/link/link-constants.cjs +1 -1
- package/dist/lib/link/link-constants.cjs.map +1 -1
- package/dist/lib/link/link-constants.js +7 -7
- package/dist/lib/link/link-constants.js.map +1 -1
- package/dist/lib/link/link.cjs +1 -1
- package/dist/lib/link/link.cjs.map +1 -1
- package/dist/lib/link/link.js +17 -2
- 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 +9 -5
- package/dist/lib/list-item/list-item.js.map +1 -1
- package/dist/lib/list-item-group/list-item-group.cjs +1 -1
- package/dist/lib/list-item-group/list-item-group.cjs.map +1 -1
- package/dist/lib/list-item-group/list-item-group.js +1 -1
- package/dist/lib/list-item-group/list-item-group.js.map +1 -1
- package/dist/lib/message-input/index.cjs +1 -1
- package/dist/lib/message-input/index.js +1 -1
- package/dist/lib/message-input/message-input-button.cjs +1 -1
- package/dist/lib/message-input/message-input-button.cjs.map +1 -1
- package/dist/lib/message-input/message-input-button.js +1 -1
- package/dist/lib/message-input/message-input-button.js.map +1 -1
- package/dist/lib/message-input/message-input-link.cjs +1 -1
- package/dist/lib/message-input/message-input-link.cjs.map +1 -1
- package/dist/lib/message-input/message-input-link.js +9 -9
- package/dist/lib/message-input/message-input-link.js.map +1 -1
- package/dist/lib/message-input/message-input-topbar.cjs +1 -1
- package/dist/lib/message-input/message-input-topbar.cjs.map +1 -1
- package/dist/lib/message-input/message-input-topbar.js +2 -2
- package/dist/lib/message-input/message-input-topbar.js.map +1 -1
- package/dist/lib/message-input/message-input.cjs +1 -1
- package/dist/lib/message-input/message-input.js +1 -1
- package/dist/lib/modal/modal-constants.cjs +1 -1
- package/dist/lib/modal/modal-constants.cjs.map +1 -1
- package/dist/lib/modal/modal-constants.js +3 -3
- package/dist/lib/modal/modal-constants.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 +158 -157
- package/dist/lib/modal/modal.js.map +1 -1
- package/dist/lib/mode-directive/index.cjs +1 -0
- package/dist/lib/mode-directive/index.js +2 -0
- package/dist/lib/mode-directive/mode.cjs +2 -0
- package/dist/lib/mode-directive/mode.cjs.map +1 -0
- package/dist/lib/mode-directive/mode.js +67 -0
- package/dist/lib/mode-directive/mode.js.map +1 -0
- package/dist/lib/mode-island/index.cjs +1 -0
- package/dist/lib/mode-island/index.js +3 -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 +10 -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 +102 -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 +28 -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 +10 -0
- package/dist/lib/mode-island/validators.js.map +1 -0
- package/dist/lib/motion-text/motion-text-constants.cjs +1 -1
- package/dist/lib/motion-text/motion-text-constants.cjs.map +1 -1
- package/dist/lib/motion-text/motion-text-constants.js +18 -6
- package/dist/lib/motion-text/motion-text-constants.js.map +1 -1
- package/dist/lib/motion-text/motion-text.cjs +1 -1
- package/dist/lib/motion-text/motion-text.cjs.map +1 -1
- package/dist/lib/motion-text/motion-text.js +5 -7
- package/dist/lib/motion-text/motion-text.js.map +1 -1
- 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 +14 -14
- package/dist/lib/notice/notice-action.js.map +1 -1
- package/dist/lib/notice/notice-constants.cjs +1 -1
- package/dist/lib/notice/notice-constants.cjs.map +1 -1
- package/dist/lib/notice/notice-constants.js +2 -2
- package/dist/lib/notice/notice-constants.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 +29 -12
- package/dist/lib/notice/notice-content.js.map +1 -1
- package/dist/lib/notice/notice-icon.cjs +1 -1
- package/dist/lib/notice/notice-icon.cjs.map +1 -1
- package/dist/lib/notice/notice-icon.js +4 -4
- package/dist/lib/notice/notice-icon.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 +17 -16
- 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 +13 -12
- package/dist/lib/pagination/pagination.js.map +1 -1
- package/dist/lib/popover/popover-constants.cjs +1 -1
- package/dist/lib/popover/popover-constants.cjs.map +1 -1
- package/dist/lib/popover/popover-constants.js +6 -6
- package/dist/lib/popover/popover-constants.js.map +1 -1
- package/dist/lib/popover/popover-header-footer.cjs +1 -1
- package/dist/lib/popover/popover-header-footer.cjs.map +1 -1
- package/dist/lib/popover/popover-header-footer.js +11 -3
- package/dist/lib/popover/popover-header-footer.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 +78 -58
- package/dist/lib/popover/popover.js.map +1 -1
- package/dist/lib/radio/radio-constants.cjs +1 -1
- package/dist/lib/radio/radio-constants.cjs.map +1 -1
- package/dist/lib/radio/radio-constants.js +2 -2
- package/dist/lib/radio/radio-constants.js.map +1 -1
- package/dist/lib/radio/radio.cjs +1 -1
- package/dist/lib/radio/radio.cjs.map +1 -1
- package/dist/lib/radio/radio.js +94 -31
- package/dist/lib/radio/radio.js.map +1 -1
- package/dist/lib/resizable/index.cjs +1 -1
- package/dist/lib/resizable/index.js +3 -3
- package/dist/lib/resizable/resizable-handle.cjs +1 -1
- package/dist/lib/resizable/resizable-handle.js +1 -1
- package/dist/lib/resizable/resizable-panel.cjs +1 -1
- package/dist/lib/resizable/resizable-panel.js +1 -1
- package/dist/lib/resizable/resizable.cjs +1 -1
- package/dist/lib/resizable/resizable.js +1 -1
- package/dist/lib/rich-text-editor/index.cjs +1 -1
- package/dist/lib/rich-text-editor/index.js +1 -1
- package/dist/lib/rich-text-editor/markdownRenderer.cjs +1 -1
- package/dist/lib/rich-text-editor/markdownRenderer.js +1 -1
- package/dist/lib/rich-text-editor/rich-text-editor.cjs +1 -1
- package/dist/lib/rich-text-editor/rich-text-editor.js +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 +2 -0
- 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 +2 -2
- package/dist/lib/root-layout/root-layout.js.map +1 -1
- package/dist/lib/scroller/index.cjs +1 -1
- package/dist/lib/scroller/index.js +1 -1
- package/dist/lib/scroller/scroller.cjs +1 -1
- package/dist/lib/scroller/scroller.js +1 -1
- package/dist/lib/segmented-control/index.cjs +1 -0
- package/dist/lib/segmented-control/index.js +4 -0
- package/dist/lib/segmented-control/segmented-control-constants.cjs +2 -0
- package/dist/lib/segmented-control/segmented-control-constants.cjs.map +1 -0
- package/dist/lib/segmented-control/segmented-control-constants.js +41 -0
- package/dist/lib/segmented-control/segmented-control-constants.js.map +1 -0
- package/dist/lib/segmented-control/segmented-control-item.cjs +2 -0
- package/dist/lib/segmented-control/segmented-control-item.cjs.map +1 -0
- package/dist/lib/segmented-control/segmented-control-item.js +104 -0
- package/dist/lib/segmented-control/segmented-control-item.js.map +1 -0
- package/dist/lib/segmented-control/segmented-control.cjs +2 -0
- package/dist/lib/segmented-control/segmented-control.cjs.map +1 -0
- package/dist/lib/segmented-control/segmented-control.js +204 -0
- package/dist/lib/segmented-control/segmented-control.js.map +1 -0
- package/dist/lib/select-menu/select-menu-constants.cjs +1 -1
- package/dist/lib/select-menu/select-menu-constants.cjs.map +1 -1
- package/dist/lib/select-menu/select-menu-constants.js +7 -2
- package/dist/lib/select-menu/select-menu-constants.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 +117 -58
- 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 +5 -5
- package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
- package/dist/lib/skeleton/skeleton-constants.cjs +1 -1
- package/dist/lib/skeleton/skeleton-constants.cjs.map +1 -1
- package/dist/lib/skeleton/skeleton-constants.js +10 -2
- package/dist/lib/skeleton/skeleton-constants.js.map +1 -1
- package/dist/lib/skeleton/skeleton-list-item.cjs +1 -1
- package/dist/lib/skeleton/skeleton-list-item.cjs.map +1 -1
- package/dist/lib/skeleton/skeleton-list-item.js +2 -2
- package/dist/lib/skeleton/skeleton-list-item.js.map +1 -1
- package/dist/lib/skeleton/skeleton-shape.cjs +1 -1
- package/dist/lib/skeleton/skeleton-shape.cjs.map +1 -1
- package/dist/lib/skeleton/skeleton-shape.js +3 -3
- package/dist/lib/skeleton/skeleton-shape.js.map +1 -1
- package/dist/lib/split-button/split-button-constants.cjs +1 -1
- package/dist/lib/split-button/split-button-constants.cjs.map +1 -1
- package/dist/lib/split-button/split-button-constants.js +5 -0
- package/dist/lib/split-button/split-button-constants.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} +9 -9
- 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 +182 -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 +246 -71
- package/dist/lib/split-button/split-button.js.map +1 -1
- package/dist/lib/stack/stack-constants.cjs +1 -1
- package/dist/lib/stack/stack-constants.cjs.map +1 -1
- package/dist/lib/stack/stack-constants.js +10 -2
- package/dist/lib/stack/stack-constants.js.map +1 -1
- package/dist/lib/stack/stack.cjs.map +1 -1
- package/dist/lib/stack/stack.js.map +1 -1
- package/dist/lib/tab/index.cjs +1 -1
- package/dist/lib/tab/index.js +5 -5
- 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 +173 -50
- 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 +108 -23
- 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 +33 -2
- package/dist/lib/tab/tabs-constants.js.map +1 -1
- package/dist/lib/text/index.cjs +1 -0
- package/dist/lib/text/index.js +3 -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 +126 -0
- package/dist/lib/text/text-constants.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 +150 -0
- package/dist/lib/text/text.js.map +1 -0
- package/dist/lib/toast/index.cjs +1 -1
- package/dist/lib/toast/index.js +1 -1
- package/dist/lib/toast/toast.cjs +1 -1
- package/dist/lib/toast/toast.js +1 -1
- package/dist/lib/toggle/toggle-constants.cjs +1 -1
- package/dist/lib/toggle/toggle-constants.cjs.map +1 -1
- package/dist/lib/toggle/toggle-constants.js +2 -0
- package/dist/lib/toggle/toggle-constants.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 +24 -29
- package/dist/lib/toggle/toggle.js.map +1 -1
- package/dist/lib/tooltip/tooltip.cjs +1 -4
- package/dist/lib/tooltip/tooltip.cjs.map +1 -1
- package/dist/lib/tooltip/tooltip.js +36 -31
- package/dist/lib/tooltip/tooltip.js.map +1 -1
- package/dist/lib/tooltip-directive/tooltip.cjs +1 -1
- package/dist/lib/tooltip-directive/tooltip.cjs.map +1 -1
- package/dist/lib/tooltip-directive/tooltip.js +36 -35
- package/dist/lib/tooltip-directive/tooltip.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 +4 -4
- package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
- package/dist/lib/unread-pill/unread-pill.cjs +1 -1
- package/dist/lib/unread-pill/unread-pill.cjs.map +1 -1
- package/dist/lib/unread-pill/unread-pill.js +1 -1
- package/dist/lib/unread-pill/unread-pill.js.map +1 -1
- package/dist/lib/validation-messages/validation-messages.cjs +1 -1
- package/dist/lib/validation-messages/validation-messages.cjs.map +1 -1
- package/dist/lib/validation-messages/validation-messages.js +2 -2
- package/dist/lib/validation-messages/validation-messages.js.map +1 -1
- package/dist/localization/en-US.cjs +5 -0
- package/dist/localization/en-US.cjs.map +1 -1
- package/dist/localization/en-US.js +1 -1
- package/dist/localization/en-US.js.map +1 -1
- package/dist/{markdownRenderer-DCgGQseq.cjs → markdownRenderer-Dsq-CiH9.cjs} +1 -1
- package/dist/{markdownRenderer-DCgGQseq.cjs.map → markdownRenderer-Dsq-CiH9.cjs.map} +1 -1
- package/dist/{markdownRenderer-D_P94RyM.js → markdownRenderer-k7_rQkox.js} +1 -1
- package/dist/{markdownRenderer-D_P94RyM.js.map → markdownRenderer-k7_rQkox.js.map} +1 -1
- package/dist/{message_input-CHlTsBGK.js → message_input-BYy1xKCy.js} +129 -130
- package/dist/message_input-BYy1xKCy.js.map +1 -0
- package/dist/message_input-sSCHhaeC.cjs +2 -0
- package/dist/message_input-sSCHhaeC.cjs.map +1 -0
- package/dist/mode_constants-CzYJW9ua.cjs +2 -0
- package/dist/mode_constants-CzYJW9ua.cjs.map +1 -0
- package/dist/mode_constants-tb7TL85q.js +14 -0
- package/dist/mode_constants-tb7TL85q.js.map +1 -0
- package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts +85 -14
- package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
- package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +313 -41
- package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
- package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +302 -41
- package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
- package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts +228 -35
- package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
- package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +62 -16
- package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +237 -28
- package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +184 -21
- package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +53 -7
- package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +228 -26
- package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +216 -25
- package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/editor/editor.vue.d.ts +1163 -178
- package/dist/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +132 -42
- package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +91 -23
- package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +126 -35
- package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +90 -13
- package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts +1622 -207
- package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts +226 -12
- package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts +636 -55
- package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +226 -12
- package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
- package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +53 -7
- package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
- package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts +122 -33
- package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/callbox/callbox.vue.d.ts +87 -29
- package/dist/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +82 -28
- package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts +588 -72
- package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/general_row/general_row.vue.d.ts +480 -31
- package/dist/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/group_row/group_row.vue.d.ts +479 -30
- package/dist/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
- package/dist/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
- package/dist/{resizable-aOVGO_Os.cjs → resizable-DhowneUp.cjs} +2 -2
- package/dist/{resizable-aOVGO_Os.cjs.map → resizable-DhowneUp.cjs.map} +1 -1
- package/dist/{resizable-D4-peBOl.js → resizable-xcOu-0_w.js} +3 -3
- package/dist/{resizable-D4-peBOl.js.map → resizable-xcOu-0_w.js.map} +1 -1
- package/dist/{resizable_handle-BlKBiWnx.js → resizable_handle-BAZzCA_i.js} +3 -3
- package/dist/{resizable_handle-BlKBiWnx.js.map → resizable_handle-BAZzCA_i.js.map} +1 -1
- package/dist/{resizable_handle-RIKS8frB.cjs → resizable_handle-fjKg48eY.cjs} +2 -2
- package/dist/{resizable_handle-RIKS8frB.cjs.map → resizable_handle-fjKg48eY.cjs.map} +1 -1
- package/dist/{resizable_utils-DhuzXRdP.cjs → resizable_utils-BE4lK07_.cjs} +1 -1
- package/dist/{resizable_utils-DhuzXRdP.cjs.map → resizable_utils-BE4lK07_.cjs.map} +1 -1
- package/dist/{resizable_utils-BComtrMV.js → resizable_utils-DsKnGHKW.js} +1 -1
- package/dist/{resizable_utils-BComtrMV.js.map → resizable_utils-DsKnGHKW.js.map} +1 -1
- package/dist/{rich_text_editor-Ba67C4Uk.js → rich_text_editor-CEW74QNe.js} +637 -598
- package/dist/{rich_text_editor-Ba67C4Uk.js.map → rich_text_editor-CEW74QNe.js.map} +1 -1
- package/dist/rich_text_editor-immDiKq_.cjs +10 -0
- package/dist/{rich_text_editor-DMP5eTlf.cjs.map → rich_text_editor-immDiKq_.cjs.map} +1 -1
- package/dist/scroller-C15VLKNK.cjs +2 -0
- package/dist/scroller-C15VLKNK.cjs.map +1 -0
- package/dist/{scroller-BGVDh3sq.js → scroller-DPqcc_Wl.js} +6 -6
- package/dist/scroller-DPqcc_Wl.js.map +1 -0
- package/dist/shared/sr_only_close_button.cjs +1 -1
- package/dist/shared/sr_only_close_button.cjs.map +1 -1
- package/dist/shared/sr_only_close_button.js +1 -1
- package/dist/shared/sr_only_close_button.js.map +1 -1
- package/dist/toast-B1WZNMAm.cjs +2 -0
- package/dist/toast-B1WZNMAm.cjs.map +1 -0
- package/dist/{toast-DvPN-bCi.js → toast-DaH2KF7B.js} +52 -51
- package/dist/toast-DaH2KF7B.js.map +1 -0
- package/dist/{useResizableCalculations-DAajatT4.js → useResizableCalculations-2UpEXvfY.js} +2 -2
- package/dist/{useResizableCalculations-DAajatT4.js.map → useResizableCalculations-2UpEXvfY.js.map} +1 -1
- package/dist/{useResizableCalculations-BDITle3Q.cjs → useResizableCalculations-DPBjAFWQ.cjs} +2 -2
- package/dist/{useResizableCalculations-BDITle3Q.cjs.map → useResizableCalculations-DPBjAFWQ.cjs.map} +1 -1
- package/package.json +9 -7
- package/dist/attachment_carousel-BHxR7A76.cjs +0 -2
- package/dist/attachment_carousel-BHxR7A76.cjs.map +0 -1
- package/dist/attachment_carousel-CouFqFMw.js.map +0 -1
- package/dist/combobox-DgClbLOg.js.map +0 -1
- package/dist/combobox-DhjZxfUw.cjs +0 -3
- package/dist/combobox-DhjZxfUw.cjs.map +0 -1
- package/dist/components/split_button/split_button-alpha.vue.d.ts.map +0 -1
- package/dist/datepicker-DprRX9AH.cjs +0 -2
- package/dist/datepicker-DprRX9AH.cjs.map +0 -1
- package/dist/datepicker-LVDRC6Lf.js.map +0 -1
- package/dist/emoji_picker-Cl-T4BXK.cjs +0 -2
- package/dist/emoji_picker-Cl-T4BXK.cjs.map +0 -1
- package/dist/emoji_picker-tVHfpHDk.js.map +0 -1
- 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 -107
- 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/message_input-AWgvtwMV.cjs +0 -2
- package/dist/message_input-AWgvtwMV.cjs.map +0 -1
- package/dist/message_input-CHlTsBGK.js.map +0 -1
- package/dist/rich_text_editor-DMP5eTlf.cjs +0 -10
- package/dist/scroller-BGVDh3sq.js.map +0 -1
- package/dist/scroller-CjAsgjl9.cjs +0 -2
- package/dist/scroller-CjAsgjl9.cjs.map +0 -1
- package/dist/toast-DvPN-bCi.js.map +0 -1
- package/dist/toast-d8_zmgkL.cjs +0 -2
- package/dist/toast-d8_zmgkL.cjs.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../../common/constants/index.cjs`),t=require(`./focusgroup-utils.cjs`);var n={name:`dt-focusgroup-directive`,install(n){let r=new WeakMap;n.directive(`dt-focusgroup`,{mounted(e,n){let i=h(e,t.parseConfig(n.value));r.set(e,i)},updated(e,n){let i=t.parseConfig(n.value),a=r.get(e);if(a&&t.configsEqual(a.config,i))return;g(a,e);let o=h(e,i);r.set(e,o)},unmounted(e){g(r.get(e),e),r.delete(e)}});function i(e,t){return Array.from(e.querySelectorAll(t)).filter(t=>{if(t.hasAttribute(`data-dt-focusgroup-skip`)||t.closest(`[hidden]`))return!1;let n=t.closest(`[aria-hidden="true"]`);return!(n&&e.contains(n))})}function a(e){return e.disabled===!0||e.getAttribute(`aria-disabled`)===`true`}function o(e,t,n,r,i){let o=e.length,s=Math.max(0,Math.min(t,o-1));for(let c=1;c<=o;c++){let l=r?(t+c*n+o)%o:t+c*n;if(l<0||l>=o)return s;if(!(i&&a(e[l])))return l}return s}let s={[e.EVENT_KEYNAMES.arrowright]:[`horizontal`,1],[e.EVENT_KEYNAMES.arrowleft]:[`horizontal`,-1],[e.EVENT_KEYNAMES.arrowdown]:[`vertical`,1],[e.EVENT_KEYNAMES.arrowup]:[`vertical`,-1]};function c(e,t,n){let r=s[e];if(!r)return null;let[i,a]=r;return t===`both`||t===i?i===`horizontal`&&n?-a:a:null}function l(e,t){e.forEach((e,n)=>{e.setAttribute(`tabindex`,n===t?`0`:`-1`)})}function u(e,t,n,r,i){l(n,i),t._internalMove=!0,n[i].focus(),queueMicrotask(()=>{t._internalMove=!1}),t.lastFocusedIndex=i,e.dispatchEvent(new CustomEvent(`dt-focusgroup-move`,{bubbles:!0,detail:{item:n[i],index:i,previousItem:n[r],previousIndex:r}}))}function d(t,n,r){return t===e.EVENT_KEYNAMES.home?o(n,-1,1,!1,r):t===e.EVENT_KEYNAMES.end?o(n,n.length,-1,!1,r):null}function f(e,t,n){let r=i(t,n.selector);if(!r.length)return;let a=r.indexOf(document.activeElement);if(a===-1)return;let s=d(e.key,r,n.skipDisabled);if(s!==null){e.preventDefault(),s!==a&&u(t,n,r,a,s);return}let l=c(e.key,n.config.axis,n.isRTL);if(l===null)return;e.preventDefault();let f=o(r,a,l,n.config.loop,n.skipDisabled);f!==a&&u(t,n,r,a,f)}function p(e,t,n){if(n._internalMove)return;let r=i(t,n.selector),a=r.indexOf(e.target);a!==-1&&(n.lastFocusedIndex=a,l(r,a))}function m(e,t,n){if(n.config.memory||e.relatedTarget&&t.contains(e.relatedTarget))return;let r=i(t,n.selector);if(r.length){let e=0;if(n.skipDisabled){let t=r.findIndex(e=>!a(e));t!==-1&&(e=t)}l(r,e),n.lastFocusedIndex=e}}function h(e,n){let r=t.resolveSelector(e,n),o=t.resolveSkipDisabled(e,n),s={config:n,selector:r,skipDisabled:o,isRTL:getComputedStyle(e).direction===`rtl`||e.closest(`[dir]`)?.getAttribute(`dir`)===`rtl`,lastFocusedIndex:0,_internalMove:!1,onKeydown:null,onFocusin:null,onFocusout:null},c=i(e,r);if(!c.length&&process.env.NODE_ENV!==`production`){let t=e.getAttribute(`role`);console.warn(`[DtFocusgroupDirective] No items found for selector "${r}"`+(t?` (inferred from role="${t}")`:``)+`. Check that items match the selector, or provide an explicit selector via v-dt-focusgroup="{ selector: '...' }".`)}if(c.length){let e=0;if(o){let t=c.findIndex(e=>!a(e));t!==-1&&(e=t)}l(c,e)}return s.onKeydown=t=>f(t,e,s),s.onFocusin=t=>p(t,e,s),s.onFocusout=t=>m(t,e,s),e.addEventListener(`keydown`,s.onKeydown),e.addEventListener(`focusin`,s.onFocusin),e.addEventListener(`focusout`,s.onFocusout),s}function g(e,t){e&&(e.onKeydown&&t.removeEventListener(`keydown`,e.onKeydown),e.onFocusin&&t.removeEventListener(`focusin`,e.onFocusin),e.onFocusout&&t.removeEventListener(`focusout`,e.onFocusout),e.onKeydown=null,e.onFocusin=null,e.onFocusout=null)}}};exports.DtFocusgroupDirective=n,exports.default=n;
|
|
2
|
+
//# sourceMappingURL=focusgroup.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focusgroup.cjs","names":["parseConfig","configsEqual","EVENT_KEYNAMES","resolveSelector","resolveSkipDisabled"],"sources":["../../../directives/focusgroup_directive/focusgroup.js"],"sourcesContent":["import { EVENT_KEYNAMES } from '@/common/constants';\nimport {\n parseConfig,\n configsEqual,\n resolveSelector,\n resolveSkipDisabled,\n} from './focusgroup_utils.js';\n\n/**\n * v-dt-focusgroup directive — declarative roving tabindex for composite widgets.\n *\n * Implements the Open UI focusgroup pattern as a Vue custom directive.\n * Manages arrow-key navigation, tabindex, looping, memory, and disabled-item\n * handling. Focus only — activation/selection is the consumer's responsibility.\n *\n * @example\n * // Token syntax (Open UI style)\n * <div role=\"toolbar\" v-dt-focusgroup=\"'horizontal'\" aria-label=\"Formatting\">\n *\n * // Object syntax\n * <div role=\"listbox\" v-dt-focusgroup=\"{ axis: 'vertical', loop: false }\">\n *\n * // Selection follows focus via dt-focusgroup-move event\n * <div role=\"tablist\"\n * v-dt-focusgroup=\"'horizontal nomemory'\"\n * @dt-focusgroup-move=\"selectTab($event.detail.item)\">\n *\n * @see https://open-ui.org/components/scoped-focusgroup.explainer/\n */\nexport const DtFocusgroupDirective = {\n name: 'dt-focusgroup-directive',\n install (app) {\n const instances = new WeakMap();\n\n app.directive('dt-focusgroup', {\n mounted (el, binding) {\n const config = parseConfig(binding.value);\n const state = attach(el, config);\n instances.set(el, state);\n },\n\n updated (el, binding) {\n const newConfig = parseConfig(binding.value);\n const state = instances.get(el);\n if (state && configsEqual(state.config, newConfig)) return;\n cleanup(state, el);\n const freshState = attach(el, newConfig);\n instances.set(el, freshState);\n },\n\n unmounted (el) {\n cleanup(instances.get(el), el);\n instances.delete(el);\n },\n });\n\n // ── Item discovery ──────────────────────────────────────\n\n function getItems (el, selector) {\n return Array.from(el.querySelectorAll(selector))\n .filter(item => {\n if (item.hasAttribute('data-dt-focusgroup-skip')) return false;\n if (item.closest('[hidden]')) return false;\n // Exclude items inside collapsed containers (e.g., DtCollapsible),\n // but only if the aria-hidden ancestor is inside this focusgroup container\n const hiddenAncestor = item.closest('[aria-hidden=\"true\"]');\n if (hiddenAncestor && el.contains(hiddenAncestor)) return false;\n return true;\n });\n }\n\n function isDisabled (item) {\n return item.disabled === true ||\n item.getAttribute('aria-disabled') === 'true';\n }\n\n // ── Navigation ──────────────────────────────────────────\n\n function findNext (items, fromIndex, direction, loop, skipDisabled) {\n const len = items.length;\n // Clamp fallback to valid range (fromIndex can be -1 or len for Home/End)\n const fallback = Math.max(0, Math.min(fromIndex, len - 1));\n for (let i = 1; i <= len; i++) {\n const index = loop\n ? (fromIndex + i * direction + len) % len\n : fromIndex + i * direction;\n\n if (index < 0 || index >= len) return fallback;\n if (skipDisabled && isDisabled(items[index])) continue;\n return index;\n }\n return fallback;\n }\n\n // Maps arrow keys to [axis, ltr-direction]. RTL reverses horizontal direction.\n const ARROW_KEY_MAP = {\n [EVENT_KEYNAMES.arrowright]: ['horizontal', 1],\n [EVENT_KEYNAMES.arrowleft]: ['horizontal', -1],\n [EVENT_KEYNAMES.arrowdown]: ['vertical', 1],\n [EVENT_KEYNAMES.arrowup]: ['vertical', -1],\n };\n\n function resolveDirection (key, axis, isRTL) {\n const mapping = ARROW_KEY_MAP[key];\n if (!mapping) return null;\n\n const [keyAxis, ltrDir] = mapping;\n const axisAllowed = axis === 'both' || axis === keyAxis;\n if (!axisAllowed) return null;\n\n return (keyAxis === 'horizontal' && isRTL) ? -ltrDir : ltrDir;\n }\n\n // ── Tabindex management ─────────────────────────────────\n\n function setRovingTabindex (items, focusedIndex) {\n items.forEach((item, i) => {\n item.setAttribute('tabindex', i === focusedIndex ? '0' : '-1');\n });\n }\n\n // ── Focus movement ──────────────────────────────────────\n\n function moveTo (el, state, items, currentIndex, targetIndex) {\n setRovingTabindex(items, targetIndex);\n state._internalMove = true;\n items[targetIndex].focus();\n queueMicrotask(() => { state._internalMove = false; });\n state.lastFocusedIndex = targetIndex;\n el.dispatchEvent(new CustomEvent('dt-focusgroup-move', {\n bubbles: true,\n detail: {\n item: items[targetIndex],\n index: targetIndex,\n previousItem: items[currentIndex],\n previousIndex: currentIndex,\n },\n }));\n }\n\n // ── Core handlers ───────────────────────────────────────\n\n function resolveHomeEnd (key, items, skipDisabled) {\n if (key === EVENT_KEYNAMES.home) return findNext(items, -1, 1, false, skipDisabled);\n if (key === EVENT_KEYNAMES.end) return findNext(items, items.length, -1, false, skipDisabled);\n return null;\n }\n\n function handleKeydown (event, el, state) {\n const items = getItems(el, state.selector);\n if (!items.length) return;\n\n const currentIndex = items.indexOf(document.activeElement);\n if (currentIndex === -1) return;\n\n // Home / End — always preventDefault to avoid page scroll\n const homeEndIndex = resolveHomeEnd(event.key, items, state.skipDisabled);\n if (homeEndIndex !== null) {\n event.preventDefault();\n if (homeEndIndex !== currentIndex) moveTo(el, state, items, currentIndex, homeEndIndex);\n return;\n }\n\n // Arrow keys — always preventDefault when axis matches to prevent page scroll\n const direction = resolveDirection(event.key, state.config.axis, state.isRTL);\n if (direction === null) return;\n event.preventDefault();\n\n const nextIndex = findNext(items, currentIndex, direction, state.config.loop, state.skipDisabled);\n if (nextIndex !== currentIndex) {\n moveTo(el, state, items, currentIndex, nextIndex);\n }\n }\n\n function handleFocusin (event, el, state) {\n // Skip when focus was moved by the directive itself (avoid double work)\n if (state._internalMove) return;\n\n const items = getItems(el, state.selector);\n const index = items.indexOf(event.target);\n if (index !== -1) {\n state.lastFocusedIndex = index;\n setRovingTabindex(items, index);\n }\n }\n\n function handleFocusout (event, el, state) {\n if (state.config.memory) return;\n // relatedTarget is where focus is going — if still inside, ignore\n if (event.relatedTarget && el.contains(event.relatedTarget)) return;\n // Focus left the container — reset tabindex to first enabled item\n const items = getItems(el, state.selector);\n if (items.length) {\n let resetIndex = 0;\n if (state.skipDisabled) {\n const enabledIndex = items.findIndex(item => !isDisabled(item));\n if (enabledIndex !== -1) resetIndex = enabledIndex;\n }\n setRovingTabindex(items, resetIndex);\n state.lastFocusedIndex = resetIndex;\n }\n }\n\n // ── Lifecycle ───────────────────────────────────────────\n\n function attach (el, config) {\n const selector = resolveSelector(el, config);\n const skipDisabled = resolveSkipDisabled(el, config);\n // getComputedStyle is the source of truth; closest('[dir]') fallback for jsdom (which doesn't compute direction)\n const isRTL = getComputedStyle(el).direction === 'rtl' || el.closest('[dir]')?.getAttribute('dir') === 'rtl';\n\n const state = {\n config,\n selector,\n skipDisabled,\n isRTL,\n lastFocusedIndex: 0,\n _internalMove: false,\n onKeydown: null,\n onFocusin: null,\n onFocusout: null,\n };\n\n // Set initial tabindex\n const items = getItems(el, selector);\n if (!items.length && process.env.NODE_ENV !== 'production') {\n const role = el.getAttribute('role');\n // eslint-disable-next-line no-console\n console.warn(\n `[DtFocusgroupDirective] No items found for selector \"${selector}\"` +\n (role ? ` (inferred from role=\"${role}\")` : '') +\n '. Check that items match the selector, or provide an explicit selector via ' +\n 'v-dt-focusgroup=\"{ selector: \\'...\\' }\".',\n );\n }\n if (items.length) {\n let initialIndex = 0;\n if (skipDisabled) {\n const enabledIndex = items.findIndex(item => !isDisabled(item));\n if (enabledIndex !== -1) initialIndex = enabledIndex;\n }\n setRovingTabindex(items, initialIndex);\n }\n\n // Bind handlers\n state.onKeydown = (event) => handleKeydown(event, el, state);\n state.onFocusin = (event) => handleFocusin(event, el, state);\n state.onFocusout = (event) => handleFocusout(event, el, state);\n\n el.addEventListener('keydown', state.onKeydown);\n el.addEventListener('focusin', state.onFocusin);\n el.addEventListener('focusout', state.onFocusout);\n\n return state;\n }\n\n function cleanup (state, el) {\n if (!state) return;\n if (state.onKeydown) el.removeEventListener('keydown', state.onKeydown);\n if (state.onFocusin) el.removeEventListener('focusin', state.onFocusin);\n if (state.onFocusout) el.removeEventListener('focusout', state.onFocusout);\n state.onKeydown = null;\n state.onFocusin = null;\n state.onFocusout = null;\n }\n },\n};\n\nexport default DtFocusgroupDirective;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { EVENT_KEYNAMES as e } from "../../common/constants/index.js";
|
|
2
|
+
import { configsEqual as t, parseConfig as n, resolveSelector as r, resolveSkipDisabled as i } from "./focusgroup-utils.js";
|
|
3
|
+
//#region directives/focusgroup_directive/focusgroup.js
|
|
4
|
+
var a = {
|
|
5
|
+
name: "dt-focusgroup-directive",
|
|
6
|
+
install(a) {
|
|
7
|
+
let o = /* @__PURE__ */ new WeakMap();
|
|
8
|
+
a.directive("dt-focusgroup", {
|
|
9
|
+
mounted(e, t) {
|
|
10
|
+
let r = v(e, n(t.value));
|
|
11
|
+
o.set(e, r);
|
|
12
|
+
},
|
|
13
|
+
updated(e, r) {
|
|
14
|
+
let i = n(r.value), a = o.get(e);
|
|
15
|
+
if (a && t(a.config, i)) return;
|
|
16
|
+
y(a, e);
|
|
17
|
+
let s = v(e, i);
|
|
18
|
+
o.set(e, s);
|
|
19
|
+
},
|
|
20
|
+
unmounted(e) {
|
|
21
|
+
y(o.get(e), e), o.delete(e);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
function s(e, t) {
|
|
25
|
+
return Array.from(e.querySelectorAll(t)).filter((t) => {
|
|
26
|
+
if (t.hasAttribute("data-dt-focusgroup-skip") || t.closest("[hidden]")) return !1;
|
|
27
|
+
let n = t.closest("[aria-hidden=\"true\"]");
|
|
28
|
+
return !(n && e.contains(n));
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function c(e) {
|
|
32
|
+
return e.disabled === !0 || e.getAttribute("aria-disabled") === "true";
|
|
33
|
+
}
|
|
34
|
+
function l(e, t, n, r, i) {
|
|
35
|
+
let a = e.length, o = Math.max(0, Math.min(t, a - 1));
|
|
36
|
+
for (let s = 1; s <= a; s++) {
|
|
37
|
+
let l = r ? (t + s * n + a) % a : t + s * n;
|
|
38
|
+
if (l < 0 || l >= a) return o;
|
|
39
|
+
if (!(i && c(e[l]))) return l;
|
|
40
|
+
}
|
|
41
|
+
return o;
|
|
42
|
+
}
|
|
43
|
+
let u = {
|
|
44
|
+
[e.arrowright]: ["horizontal", 1],
|
|
45
|
+
[e.arrowleft]: ["horizontal", -1],
|
|
46
|
+
[e.arrowdown]: ["vertical", 1],
|
|
47
|
+
[e.arrowup]: ["vertical", -1]
|
|
48
|
+
};
|
|
49
|
+
function d(e, t, n) {
|
|
50
|
+
let r = u[e];
|
|
51
|
+
if (!r) return null;
|
|
52
|
+
let [i, a] = r;
|
|
53
|
+
return t === "both" || t === i ? i === "horizontal" && n ? -a : a : null;
|
|
54
|
+
}
|
|
55
|
+
function f(e, t) {
|
|
56
|
+
e.forEach((e, n) => {
|
|
57
|
+
e.setAttribute("tabindex", n === t ? "0" : "-1");
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function p(e, t, n, r, i) {
|
|
61
|
+
f(n, i), t._internalMove = !0, n[i].focus(), queueMicrotask(() => {
|
|
62
|
+
t._internalMove = !1;
|
|
63
|
+
}), t.lastFocusedIndex = i, e.dispatchEvent(new CustomEvent("dt-focusgroup-move", {
|
|
64
|
+
bubbles: !0,
|
|
65
|
+
detail: {
|
|
66
|
+
item: n[i],
|
|
67
|
+
index: i,
|
|
68
|
+
previousItem: n[r],
|
|
69
|
+
previousIndex: r
|
|
70
|
+
}
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
function m(t, n, r) {
|
|
74
|
+
return t === e.home ? l(n, -1, 1, !1, r) : t === e.end ? l(n, n.length, -1, !1, r) : null;
|
|
75
|
+
}
|
|
76
|
+
function h(e, t, n) {
|
|
77
|
+
let r = s(t, n.selector);
|
|
78
|
+
if (!r.length) return;
|
|
79
|
+
let i = r.indexOf(document.activeElement);
|
|
80
|
+
if (i === -1) return;
|
|
81
|
+
let a = m(e.key, r, n.skipDisabled);
|
|
82
|
+
if (a !== null) {
|
|
83
|
+
e.preventDefault(), a !== i && p(t, n, r, i, a);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
let o = d(e.key, n.config.axis, n.isRTL);
|
|
87
|
+
if (o === null) return;
|
|
88
|
+
e.preventDefault();
|
|
89
|
+
let c = l(r, i, o, n.config.loop, n.skipDisabled);
|
|
90
|
+
c !== i && p(t, n, r, i, c);
|
|
91
|
+
}
|
|
92
|
+
function g(e, t, n) {
|
|
93
|
+
if (n._internalMove) return;
|
|
94
|
+
let r = s(t, n.selector), i = r.indexOf(e.target);
|
|
95
|
+
i !== -1 && (n.lastFocusedIndex = i, f(r, i));
|
|
96
|
+
}
|
|
97
|
+
function _(e, t, n) {
|
|
98
|
+
if (n.config.memory || e.relatedTarget && t.contains(e.relatedTarget)) return;
|
|
99
|
+
let r = s(t, n.selector);
|
|
100
|
+
if (r.length) {
|
|
101
|
+
let e = 0;
|
|
102
|
+
if (n.skipDisabled) {
|
|
103
|
+
let t = r.findIndex((e) => !c(e));
|
|
104
|
+
t !== -1 && (e = t);
|
|
105
|
+
}
|
|
106
|
+
f(r, e), n.lastFocusedIndex = e;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
function v(e, t) {
|
|
110
|
+
let n = r(e, t), a = i(e, t), o = {
|
|
111
|
+
config: t,
|
|
112
|
+
selector: n,
|
|
113
|
+
skipDisabled: a,
|
|
114
|
+
isRTL: getComputedStyle(e).direction === "rtl" || e.closest("[dir]")?.getAttribute("dir") === "rtl",
|
|
115
|
+
lastFocusedIndex: 0,
|
|
116
|
+
_internalMove: !1,
|
|
117
|
+
onKeydown: null,
|
|
118
|
+
onFocusin: null,
|
|
119
|
+
onFocusout: null
|
|
120
|
+
}, l = s(e, n);
|
|
121
|
+
if (!l.length && process.env.NODE_ENV !== "production") {
|
|
122
|
+
let t = e.getAttribute("role");
|
|
123
|
+
console.warn(`[DtFocusgroupDirective] No items found for selector "${n}"` + (t ? ` (inferred from role="${t}")` : "") + ". Check that items match the selector, or provide an explicit selector via v-dt-focusgroup=\"{ selector: '...' }\".");
|
|
124
|
+
}
|
|
125
|
+
if (l.length) {
|
|
126
|
+
let e = 0;
|
|
127
|
+
if (a) {
|
|
128
|
+
let t = l.findIndex((e) => !c(e));
|
|
129
|
+
t !== -1 && (e = t);
|
|
130
|
+
}
|
|
131
|
+
f(l, e);
|
|
132
|
+
}
|
|
133
|
+
return o.onKeydown = (t) => h(t, e, o), o.onFocusin = (t) => g(t, e, o), o.onFocusout = (t) => _(t, e, o), e.addEventListener("keydown", o.onKeydown), e.addEventListener("focusin", o.onFocusin), e.addEventListener("focusout", o.onFocusout), o;
|
|
134
|
+
}
|
|
135
|
+
function y(e, t) {
|
|
136
|
+
e && (e.onKeydown && t.removeEventListener("keydown", e.onKeydown), e.onFocusin && t.removeEventListener("focusin", e.onFocusin), e.onFocusout && t.removeEventListener("focusout", e.onFocusout), e.onKeydown = null, e.onFocusin = null, e.onFocusout = null);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
//#endregion
|
|
141
|
+
export { a as DtFocusgroupDirective, a as default };
|
|
142
|
+
|
|
143
|
+
//# sourceMappingURL=focusgroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focusgroup.js","names":[],"sources":["../../../directives/focusgroup_directive/focusgroup.js"],"sourcesContent":["import { EVENT_KEYNAMES } from '@/common/constants';\nimport {\n parseConfig,\n configsEqual,\n resolveSelector,\n resolveSkipDisabled,\n} from './focusgroup_utils.js';\n\n/**\n * v-dt-focusgroup directive — declarative roving tabindex for composite widgets.\n *\n * Implements the Open UI focusgroup pattern as a Vue custom directive.\n * Manages arrow-key navigation, tabindex, looping, memory, and disabled-item\n * handling. Focus only — activation/selection is the consumer's responsibility.\n *\n * @example\n * // Token syntax (Open UI style)\n * <div role=\"toolbar\" v-dt-focusgroup=\"'horizontal'\" aria-label=\"Formatting\">\n *\n * // Object syntax\n * <div role=\"listbox\" v-dt-focusgroup=\"{ axis: 'vertical', loop: false }\">\n *\n * // Selection follows focus via dt-focusgroup-move event\n * <div role=\"tablist\"\n * v-dt-focusgroup=\"'horizontal nomemory'\"\n * @dt-focusgroup-move=\"selectTab($event.detail.item)\">\n *\n * @see https://open-ui.org/components/scoped-focusgroup.explainer/\n */\nexport const DtFocusgroupDirective = {\n name: 'dt-focusgroup-directive',\n install (app) {\n const instances = new WeakMap();\n\n app.directive('dt-focusgroup', {\n mounted (el, binding) {\n const config = parseConfig(binding.value);\n const state = attach(el, config);\n instances.set(el, state);\n },\n\n updated (el, binding) {\n const newConfig = parseConfig(binding.value);\n const state = instances.get(el);\n if (state && configsEqual(state.config, newConfig)) return;\n cleanup(state, el);\n const freshState = attach(el, newConfig);\n instances.set(el, freshState);\n },\n\n unmounted (el) {\n cleanup(instances.get(el), el);\n instances.delete(el);\n },\n });\n\n // ── Item discovery ──────────────────────────────────────\n\n function getItems (el, selector) {\n return Array.from(el.querySelectorAll(selector))\n .filter(item => {\n if (item.hasAttribute('data-dt-focusgroup-skip')) return false;\n if (item.closest('[hidden]')) return false;\n // Exclude items inside collapsed containers (e.g., DtCollapsible),\n // but only if the aria-hidden ancestor is inside this focusgroup container\n const hiddenAncestor = item.closest('[aria-hidden=\"true\"]');\n if (hiddenAncestor && el.contains(hiddenAncestor)) return false;\n return true;\n });\n }\n\n function isDisabled (item) {\n return item.disabled === true ||\n item.getAttribute('aria-disabled') === 'true';\n }\n\n // ── Navigation ──────────────────────────────────────────\n\n function findNext (items, fromIndex, direction, loop, skipDisabled) {\n const len = items.length;\n // Clamp fallback to valid range (fromIndex can be -1 or len for Home/End)\n const fallback = Math.max(0, Math.min(fromIndex, len - 1));\n for (let i = 1; i <= len; i++) {\n const index = loop\n ? (fromIndex + i * direction + len) % len\n : fromIndex + i * direction;\n\n if (index < 0 || index >= len) return fallback;\n if (skipDisabled && isDisabled(items[index])) continue;\n return index;\n }\n return fallback;\n }\n\n // Maps arrow keys to [axis, ltr-direction]. RTL reverses horizontal direction.\n const ARROW_KEY_MAP = {\n [EVENT_KEYNAMES.arrowright]: ['horizontal', 1],\n [EVENT_KEYNAMES.arrowleft]: ['horizontal', -1],\n [EVENT_KEYNAMES.arrowdown]: ['vertical', 1],\n [EVENT_KEYNAMES.arrowup]: ['vertical', -1],\n };\n\n function resolveDirection (key, axis, isRTL) {\n const mapping = ARROW_KEY_MAP[key];\n if (!mapping) return null;\n\n const [keyAxis, ltrDir] = mapping;\n const axisAllowed = axis === 'both' || axis === keyAxis;\n if (!axisAllowed) return null;\n\n return (keyAxis === 'horizontal' && isRTL) ? -ltrDir : ltrDir;\n }\n\n // ── Tabindex management ─────────────────────────────────\n\n function setRovingTabindex (items, focusedIndex) {\n items.forEach((item, i) => {\n item.setAttribute('tabindex', i === focusedIndex ? '0' : '-1');\n });\n }\n\n // ── Focus movement ──────────────────────────────────────\n\n function moveTo (el, state, items, currentIndex, targetIndex) {\n setRovingTabindex(items, targetIndex);\n state._internalMove = true;\n items[targetIndex].focus();\n queueMicrotask(() => { state._internalMove = false; });\n state.lastFocusedIndex = targetIndex;\n el.dispatchEvent(new CustomEvent('dt-focusgroup-move', {\n bubbles: true,\n detail: {\n item: items[targetIndex],\n index: targetIndex,\n previousItem: items[currentIndex],\n previousIndex: currentIndex,\n },\n }));\n }\n\n // ── Core handlers ───────────────────────────────────────\n\n function resolveHomeEnd (key, items, skipDisabled) {\n if (key === EVENT_KEYNAMES.home) return findNext(items, -1, 1, false, skipDisabled);\n if (key === EVENT_KEYNAMES.end) return findNext(items, items.length, -1, false, skipDisabled);\n return null;\n }\n\n function handleKeydown (event, el, state) {\n const items = getItems(el, state.selector);\n if (!items.length) return;\n\n const currentIndex = items.indexOf(document.activeElement);\n if (currentIndex === -1) return;\n\n // Home / End — always preventDefault to avoid page scroll\n const homeEndIndex = resolveHomeEnd(event.key, items, state.skipDisabled);\n if (homeEndIndex !== null) {\n event.preventDefault();\n if (homeEndIndex !== currentIndex) moveTo(el, state, items, currentIndex, homeEndIndex);\n return;\n }\n\n // Arrow keys — always preventDefault when axis matches to prevent page scroll\n const direction = resolveDirection(event.key, state.config.axis, state.isRTL);\n if (direction === null) return;\n event.preventDefault();\n\n const nextIndex = findNext(items, currentIndex, direction, state.config.loop, state.skipDisabled);\n if (nextIndex !== currentIndex) {\n moveTo(el, state, items, currentIndex, nextIndex);\n }\n }\n\n function handleFocusin (event, el, state) {\n // Skip when focus was moved by the directive itself (avoid double work)\n if (state._internalMove) return;\n\n const items = getItems(el, state.selector);\n const index = items.indexOf(event.target);\n if (index !== -1) {\n state.lastFocusedIndex = index;\n setRovingTabindex(items, index);\n }\n }\n\n function handleFocusout (event, el, state) {\n if (state.config.memory) return;\n // relatedTarget is where focus is going — if still inside, ignore\n if (event.relatedTarget && el.contains(event.relatedTarget)) return;\n // Focus left the container — reset tabindex to first enabled item\n const items = getItems(el, state.selector);\n if (items.length) {\n let resetIndex = 0;\n if (state.skipDisabled) {\n const enabledIndex = items.findIndex(item => !isDisabled(item));\n if (enabledIndex !== -1) resetIndex = enabledIndex;\n }\n setRovingTabindex(items, resetIndex);\n state.lastFocusedIndex = resetIndex;\n }\n }\n\n // ── Lifecycle ───────────────────────────────────────────\n\n function attach (el, config) {\n const selector = resolveSelector(el, config);\n const skipDisabled = resolveSkipDisabled(el, config);\n // getComputedStyle is the source of truth; closest('[dir]') fallback for jsdom (which doesn't compute direction)\n const isRTL = getComputedStyle(el).direction === 'rtl' || el.closest('[dir]')?.getAttribute('dir') === 'rtl';\n\n const state = {\n config,\n selector,\n skipDisabled,\n isRTL,\n lastFocusedIndex: 0,\n _internalMove: false,\n onKeydown: null,\n onFocusin: null,\n onFocusout: null,\n };\n\n // Set initial tabindex\n const items = getItems(el, selector);\n if (!items.length && process.env.NODE_ENV !== 'production') {\n const role = el.getAttribute('role');\n // eslint-disable-next-line no-console\n console.warn(\n `[DtFocusgroupDirective] No items found for selector \"${selector}\"` +\n (role ? ` (inferred from role=\"${role}\")` : '') +\n '. Check that items match the selector, or provide an explicit selector via ' +\n 'v-dt-focusgroup=\"{ selector: \\'...\\' }\".',\n );\n }\n if (items.length) {\n let initialIndex = 0;\n if (skipDisabled) {\n const enabledIndex = items.findIndex(item => !isDisabled(item));\n if (enabledIndex !== -1) initialIndex = enabledIndex;\n }\n setRovingTabindex(items, initialIndex);\n }\n\n // Bind handlers\n state.onKeydown = (event) => handleKeydown(event, el, state);\n state.onFocusin = (event) => handleFocusin(event, el, state);\n state.onFocusout = (event) => handleFocusout(event, el, state);\n\n el.addEventListener('keydown', state.onKeydown);\n el.addEventListener('focusin', state.onFocusin);\n el.addEventListener('focusout', state.onFocusout);\n\n return state;\n }\n\n function cleanup (state, el) {\n if (!state) return;\n if (state.onKeydown) el.removeEventListener('keydown', state.onKeydown);\n if (state.onFocusin) el.removeEventListener('focusin', state.onFocusin);\n if (state.onFocusout) el.removeEventListener('focusout', state.onFocusout);\n state.onKeydown = null;\n state.onFocusin = null;\n state.onFocusout = null;\n }\n },\n};\n\nexport default DtFocusgroupDirective;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./focusgroup.cjs`);exports.DtFocusgroupDirective=e.DtFocusgroupDirective;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focustrap-constants.cjs","names":[],"sources":["../../../directives/focustrap_directive/focustrap_constants.js"],"sourcesContent":["/**\n * Default configuration for v-dt-focustrap directive.\n */\nexport const FOCUSTRAP_DEFAULTS = Object.freeze({\n active: true,\n initialFocus: 'auto',\n restoreFocus: true,\n});\n\n/**\n * Key used to store directive state on the host element.\n * @type {symbol}\n */\nexport const FOCUSTRAP_STATE_KEY = Symbol('dtFocustrap');\n"],"mappings":"mEAGA,IAAa,EAAqB,OAAO,OAAO,CAC9C,OAAQ,GACR,aAAc,OACd,aAAc,GACf,CAAC,CAMW,EAAsB,OAAO,cAAc"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region directives/focustrap_directive/focustrap_constants.js
|
|
2
|
+
var e = Object.freeze({
|
|
3
|
+
active: !0,
|
|
4
|
+
initialFocus: "auto",
|
|
5
|
+
restoreFocus: !0
|
|
6
|
+
}), t = Symbol("dtFocustrap");
|
|
7
|
+
//#endregion
|
|
8
|
+
export { e as FOCUSTRAP_DEFAULTS, t as FOCUSTRAP_STATE_KEY };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=focustrap-constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focustrap-constants.js","names":[],"sources":["../../../directives/focustrap_directive/focustrap_constants.js"],"sourcesContent":["/**\n * Default configuration for v-dt-focustrap directive.\n */\nexport const FOCUSTRAP_DEFAULTS = Object.freeze({\n active: true,\n initialFocus: 'auto',\n restoreFocus: true,\n});\n\n/**\n * Key used to store directive state on the host element.\n * @type {symbol}\n */\nexport const FOCUSTRAP_STATE_KEY = Symbol('dtFocustrap');\n"],"mappings":";AAGA,IAAa,IAAqB,OAAO,OAAO;CAC9C,QAAQ;CACR,cAAc;CACd,cAAc;CACf,CAAC,EAMW,IAAsB,OAAO,cAAc"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=`:not(:disabled):not([aria-disabled="true"]):not([role="presentation"])`,t=`${e}:not([tabindex="-1"])`,n=`button,[href],input,select,textarea,details,[tabindex]`;function r(r,{includeNegativeTabIndex:i=!1}={}){if(!r)return[];let a=[...r.querySelectorAll(n)],o=i?e:t;return a.filter(e=>{let t=window.getComputedStyle(e);return t.getPropertyValue(`display`)!==`none`&&t.getPropertyValue(`visibility`)!==`hidden`&&e.matches(o)})}function i(e){if(!e.length)return;let t=e[0];return t.matches(`[type="radio"]:not(:checked)`)&&t.name&&e.find(e=>e.checked&&e.name===t.name)||t}exports.getFirstFocusCandidate=i,exports.getTabbableElements=r;
|
|
2
|
+
//# sourceMappingURL=focustrap-utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focustrap-utils.cjs","names":[],"sources":["../../../directives/focustrap_directive/focustrap_utils.js"],"sourcesContent":["/**\n * Focusable element discovery utilities for the v-dt-focustrap directive.\n *\n * Extracted from common/mixins/modal.js — the selectors and filtering logic\n * are battle-tested across DtModal, DtBanner, DtPopover, and DtImageViewer.\n */\n\nconst FOCUSABLE_ATTRS = ':not(:disabled):not([aria-disabled=\"true\"]):not([role=\"presentation\"])';\nconst TABBABLE_ATTRS = `${FOCUSABLE_ATTRS}:not([tabindex=\"-1\"])`;\nconst FOCUSABLE_ELEMENTS = 'button,[href],input,select,textarea,details,[tabindex]';\n\n/**\n * Returns all tabbable elements within a container, filtered by visibility and state.\n *\n * \"Tabbable\" means the element is focusable AND reachable via sequential Tab navigation\n * (excludes tabindex=\"-1\"). Elements hidden via display:none or visibility:hidden are excluded.\n *\n * @param {HTMLElement} container - DOM element to search within\n * @param {object} [options]\n * @param {boolean} [options.includeNegativeTabIndex=false] - Include tabindex=\"-1\" elements\n * @returns {HTMLElement[]}\n */\nexport function getTabbableElements (container, { includeNegativeTabIndex = false } = {}) {\n if (!container) return [];\n const candidates = [...container.querySelectorAll(FOCUSABLE_ELEMENTS)];\n const attrs = includeNegativeTabIndex ? FOCUSABLE_ATTRS : TABBABLE_ATTRS;\n return candidates.filter((el) => {\n const style = window.getComputedStyle(el);\n return style.getPropertyValue('display') !== 'none' &&\n style.getPropertyValue('visibility') !== 'hidden' &&\n el.matches(attrs);\n });\n}\n\n/**\n * Returns the best candidate for initial focus within a list of focusable elements.\n *\n * For radio buttons: if the first element is an unchecked radio, prefers\n * the checked radio with the same name (if one exists).\n *\n * @param {HTMLElement[]} elements - List of focusable elements\n * @returns {HTMLElement|undefined}\n */\nexport function getFirstFocusCandidate (elements) {\n if (!elements.length) return undefined;\n const first = elements[0];\n if (first.matches('[type=\"radio\"]:not(:checked)') && first.name) {\n return elements.find(el => el.checked && el.name === first.name) || first;\n }\n return first;\n}\n"],"mappings":"mEAOA,IAAM,EAAkB,yEAClB,EAAiB,GAAG,EAAgB,uBACpC,EAAqB,yDAa3B,SAAgB,EAAqB,EAAW,CAAE,0BAA0B,IAAU,EAAE,CAAE,CACxF,GAAI,CAAC,EAAW,MAAO,EAAE,CACzB,IAAM,EAAa,CAAC,GAAG,EAAU,iBAAiB,EAAmB,CAAC,CAChE,EAAQ,EAA0B,EAAkB,EAC1D,OAAO,EAAW,OAAQ,GAAO,CAC/B,IAAM,EAAQ,OAAO,iBAAiB,EAAG,CACzC,OAAO,EAAM,iBAAiB,UAAU,GAAK,QAC3C,EAAM,iBAAiB,aAAa,GAAK,UACzC,EAAG,QAAQ,EAAM,EACnB,CAYJ,SAAgB,EAAwB,EAAU,CAChD,GAAI,CAAC,EAAS,OAAQ,OACtB,IAAM,EAAQ,EAAS,GAIvB,OAHI,EAAM,QAAQ,+BAA+B,EAAI,EAAM,MAClD,EAAS,KAAK,GAAM,EAAG,SAAW,EAAG,OAAS,EAAM,KAAK,EAE3D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region directives/focustrap_directive/focustrap_utils.js
|
|
2
|
+
var e = ":not(:disabled):not([aria-disabled=\"true\"]):not([role=\"presentation\"])", t = `${e}:not([tabindex="-1"])`, n = "button,[href],input,select,textarea,details,[tabindex]";
|
|
3
|
+
function r(r, { includeNegativeTabIndex: i = !1 } = {}) {
|
|
4
|
+
if (!r) return [];
|
|
5
|
+
let a = [...r.querySelectorAll(n)], o = i ? e : t;
|
|
6
|
+
return a.filter((e) => {
|
|
7
|
+
let t = window.getComputedStyle(e);
|
|
8
|
+
return t.getPropertyValue("display") !== "none" && t.getPropertyValue("visibility") !== "hidden" && e.matches(o);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
function i(e) {
|
|
12
|
+
if (!e.length) return;
|
|
13
|
+
let t = e[0];
|
|
14
|
+
return t.matches("[type=\"radio\"]:not(:checked)") && t.name && e.find((e) => e.checked && e.name === t.name) || t;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { i as getFirstFocusCandidate, r as getTabbableElements };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=focustrap-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focustrap-utils.js","names":[],"sources":["../../../directives/focustrap_directive/focustrap_utils.js"],"sourcesContent":["/**\n * Focusable element discovery utilities for the v-dt-focustrap directive.\n *\n * Extracted from common/mixins/modal.js — the selectors and filtering logic\n * are battle-tested across DtModal, DtBanner, DtPopover, and DtImageViewer.\n */\n\nconst FOCUSABLE_ATTRS = ':not(:disabled):not([aria-disabled=\"true\"]):not([role=\"presentation\"])';\nconst TABBABLE_ATTRS = `${FOCUSABLE_ATTRS}:not([tabindex=\"-1\"])`;\nconst FOCUSABLE_ELEMENTS = 'button,[href],input,select,textarea,details,[tabindex]';\n\n/**\n * Returns all tabbable elements within a container, filtered by visibility and state.\n *\n * \"Tabbable\" means the element is focusable AND reachable via sequential Tab navigation\n * (excludes tabindex=\"-1\"). Elements hidden via display:none or visibility:hidden are excluded.\n *\n * @param {HTMLElement} container - DOM element to search within\n * @param {object} [options]\n * @param {boolean} [options.includeNegativeTabIndex=false] - Include tabindex=\"-1\" elements\n * @returns {HTMLElement[]}\n */\nexport function getTabbableElements (container, { includeNegativeTabIndex = false } = {}) {\n if (!container) return [];\n const candidates = [...container.querySelectorAll(FOCUSABLE_ELEMENTS)];\n const attrs = includeNegativeTabIndex ? FOCUSABLE_ATTRS : TABBABLE_ATTRS;\n return candidates.filter((el) => {\n const style = window.getComputedStyle(el);\n return style.getPropertyValue('display') !== 'none' &&\n style.getPropertyValue('visibility') !== 'hidden' &&\n el.matches(attrs);\n });\n}\n\n/**\n * Returns the best candidate for initial focus within a list of focusable elements.\n *\n * For radio buttons: if the first element is an unchecked radio, prefers\n * the checked radio with the same name (if one exists).\n *\n * @param {HTMLElement[]} elements - List of focusable elements\n * @returns {HTMLElement|undefined}\n */\nexport function getFirstFocusCandidate (elements) {\n if (!elements.length) return undefined;\n const first = elements[0];\n if (first.matches('[type=\"radio\"]:not(:checked)') && first.name) {\n return elements.find(el => el.checked && el.name === first.name) || first;\n }\n return first;\n}\n"],"mappings":";AAOA,IAAM,IAAkB,8EAClB,IAAiB,GAAG,EAAgB,wBACpC,IAAqB;AAa3B,SAAgB,EAAqB,GAAW,EAAE,6BAA0B,OAAU,EAAE,EAAE;AACxF,KAAI,CAAC,EAAW,QAAO,EAAE;CACzB,IAAM,IAAa,CAAC,GAAG,EAAU,iBAAiB,EAAmB,CAAC,EAChE,IAAQ,IAA0B,IAAkB;AAC1D,QAAO,EAAW,QAAQ,MAAO;EAC/B,IAAM,IAAQ,OAAO,iBAAiB,EAAG;AACzC,SAAO,EAAM,iBAAiB,UAAU,KAAK,UAC3C,EAAM,iBAAiB,aAAa,KAAK,YACzC,EAAG,QAAQ,EAAM;GACnB;;AAYJ,SAAgB,EAAwB,GAAU;AAChD,KAAI,CAAC,EAAS,OAAQ;CACtB,IAAM,IAAQ,EAAS;AAIvB,QAHI,EAAM,QAAQ,iCAA+B,IAAI,EAAM,QAClD,EAAS,MAAK,MAAM,EAAG,WAAW,EAAG,SAAS,EAAM,KAAK,IAE3D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./focustrap-utils.cjs`),t=require(`./focustrap-constants.cjs`);var n={name:`dt-focustrap-directive`,install(e){e.directive(`dt-focustrap`,{mounted(e,n){let o=r(n.value);e[t.FOCUSTRAP_STATE_KEY]=i(),o.active&&a(e,o)},updated(e,n){let i=r(n.oldValue),s=r(n.value);e[t.FOCUSTRAP_STATE_KEY]&&(!i.active&&s.active?a(e,s):i.active&&!s.active&&o(e))},unmounted(e){e[t.FOCUSTRAP_STATE_KEY]?.active&&o(e),s(e),delete e[t.FOCUSTRAP_STATE_KEY]}})}};function r(e){return e==null||e===!0?{...t.FOCUSTRAP_DEFAULTS,active:!0}:e===!1?{...t.FOCUSTRAP_DEFAULTS,active:!1}:typeof e==`object`?{...t.FOCUSTRAP_DEFAULTS,...e}:{...t.FOCUSTRAP_DEFAULTS,active:!!e}}function i(){return{active:!1,onKeydown:null,previousActiveElement:null,restoreFocus:!0,addedTabindex:!1}}function a(e,n){let r=e[t.FOCUSTRAP_STATE_KEY];!r||r.active||(r.active=!0,r.restoreFocus=n.restoreFocus,r.previousActiveElement=document.activeElement,r.onKeydown=t=>d(t,e),e.addEventListener(`keydown`,r.onKeydown),u(e,n))}function o(e){let n=e[t.FOCUSTRAP_STATE_KEY];if(!(!n||!n.active)){if(n.active=!1,s(e),n.restoreFocus&&n.previousActiveElement)try{n.previousActiveElement.focus({preventScroll:!0})}catch{}n.previousActiveElement=null}}function s(e){let n=e[t.FOCUSTRAP_STATE_KEY];n&&(n.onKeydown&&(e.removeEventListener(`keydown`,n.onKeydown),n.onKeydown=null),n.addedTabindex&&(e.removeAttribute(`tabindex`),n.addedTabindex=!1))}function c(t,n){return n===`auto`||n==null?e.getFirstFocusCandidate(e.getTabbableElements(t,{includeNegativeTabIndex:!0})):typeof n==`string`?t.querySelector(n):n instanceof HTMLElement?n:null}function l(e,n){if(n){n.focus({preventScroll:!0});return}if(!e.hasAttribute(`tabindex`)){e.setAttribute(`tabindex`,`-1`);let n=e[t.FOCUSTRAP_STATE_KEY];n&&(n.addedTabindex=!0)}e.focus({preventScroll:!0})}function u(e,n){n.initialFocus!==!1&&Promise.resolve().then(()=>{e[t.FOCUSTRAP_STATE_KEY]?.active&&l(e,c(e,n.initialFocus))})}function d(t,n){if(t.key!==`Tab`)return;let r=e.getTabbableElements(n);if(!r.length){t.preventDefault();return}let i=r[0],a=r[r.length-1];t.shiftKey?document.activeElement===i&&(a.focus({preventScroll:!0}),t.preventDefault()):document.activeElement===a&&(i.focus({preventScroll:!0}),t.preventDefault())}exports.DtFocustrapDirective=n,exports.default=n;
|
|
2
|
+
//# sourceMappingURL=focustrap.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focustrap.cjs","names":["FOCUSTRAP_STATE_KEY","FOCUSTRAP_DEFAULTS","getFirstFocusCandidate","getTabbableElements"],"sources":["../../../directives/focustrap_directive/focustrap.js"],"sourcesContent":["import { getTabbableElements, getFirstFocusCandidate } from './focustrap_utils.js';\nimport { FOCUSTRAP_DEFAULTS, FOCUSTRAP_STATE_KEY } from './focustrap_constants.js';\n\n/**\n * v-dt-focustrap directive — trap Tab/Shift+Tab within a container element.\n *\n * Manages initial focus, Tab boundary wrapping, and focus restoration.\n * Does NOT handle Escape or click-outside — that's the component's responsibility.\n *\n * @example\n * // Boolean binding — activate when truthy\n * <div role=\"dialog\" v-dt-focustrap=\"isOpen\" aria-label=\"Settings\">\n *\n * // Object binding — full configuration\n * <div role=\"dialog\" v-dt-focustrap=\"{ active: isOpen, initialFocus: '#name-input' }\">\n *\n * // Always active (no binding value)\n * <div role=\"alertdialog\" v-dt-focustrap aria-label=\"Confirm\">\n *\n * @see https://dialtone.dialpad.com/vue/next/?path=/docs/directives-focustrap--docs\n */\nexport const DtFocustrapDirective = {\n name: 'dt-focustrap-directive',\n\n install (app) {\n app.directive('dt-focustrap', {\n mounted (el, binding) {\n const config = resolveConfig(binding.value);\n el[FOCUSTRAP_STATE_KEY] = createState();\n\n if (config.active) {\n activate(el, config);\n }\n },\n\n updated (el, binding) {\n const prev = resolveConfig(binding.oldValue);\n const next = resolveConfig(binding.value);\n const state = el[FOCUSTRAP_STATE_KEY];\n\n if (!state) return;\n\n if (!prev.active && next.active) {\n activate(el, next);\n } else if (prev.active && !next.active) {\n deactivate(el);\n }\n },\n\n unmounted (el) {\n const state = el[FOCUSTRAP_STATE_KEY];\n if (state?.active) {\n deactivate(el);\n }\n cleanup(el);\n delete el[FOCUSTRAP_STATE_KEY];\n },\n });\n },\n};\n\n// ── Config resolution ───────────────────────────────────────\n\nfunction resolveConfig (value) {\n if (value == null || value === true) {\n return { ...FOCUSTRAP_DEFAULTS, active: true };\n }\n if (value === false) {\n return { ...FOCUSTRAP_DEFAULTS, active: false };\n }\n if (typeof value === 'object') {\n return { ...FOCUSTRAP_DEFAULTS, ...value };\n }\n return { ...FOCUSTRAP_DEFAULTS, active: Boolean(value) };\n}\n\n// ── State management ────────────────────────────────────────\n\nfunction createState () {\n return {\n active: false,\n onKeydown: null,\n previousActiveElement: null,\n restoreFocus: true,\n addedTabindex: false,\n };\n}\n\n// ── Activate / Deactivate ───────────────────────────────────\n\nfunction activate (el, config) {\n const state = el[FOCUSTRAP_STATE_KEY];\n if (!state || state.active) return;\n\n state.active = true;\n state.restoreFocus = config.restoreFocus;\n state.previousActiveElement = document.activeElement;\n\n // Bind Tab keydown handler\n state.onKeydown = (event) => handleKeydown(event, el);\n el.addEventListener('keydown', state.onKeydown);\n\n // Set initial focus\n setInitialFocus(el, config);\n}\n\nfunction deactivate (el) {\n const state = el[FOCUSTRAP_STATE_KEY];\n if (!state || !state.active) return;\n\n state.active = false;\n cleanup(el);\n\n // Restore focus using the config captured at activation time\n if (state.restoreFocus && state.previousActiveElement) {\n try {\n state.previousActiveElement.focus({ preventScroll: true });\n } catch {\n // Element no longer in DOM or not focusable\n }\n }\n state.previousActiveElement = null;\n}\n\nfunction cleanup (el) {\n const state = el[FOCUSTRAP_STATE_KEY];\n if (!state) return;\n if (state.onKeydown) {\n el.removeEventListener('keydown', state.onKeydown);\n state.onKeydown = null;\n }\n if (state.addedTabindex) {\n el.removeAttribute('tabindex');\n state.addedTabindex = false;\n }\n}\n\n// ── Initial focus ───────────────────────────────────────────\n\nfunction resolveInitialFocusTarget (el, initialFocus) {\n if (initialFocus === 'auto' || initialFocus == null) {\n const elements = getTabbableElements(el, { includeNegativeTabIndex: true });\n return getFirstFocusCandidate(elements);\n }\n if (typeof initialFocus === 'string') return el.querySelector(initialFocus);\n if (initialFocus instanceof HTMLElement) return initialFocus;\n return null;\n}\n\nfunction focusOrFallback (el, target) {\n if (target) {\n target.focus({ preventScroll: true });\n return;\n }\n if (!el.hasAttribute('tabindex')) {\n el.setAttribute('tabindex', '-1');\n const state = el[FOCUSTRAP_STATE_KEY];\n if (state) state.addedTabindex = true;\n }\n el.focus({ preventScroll: true });\n}\n\nfunction setInitialFocus (el, config) {\n if (config.initialFocus === false) return;\n\n // Delay to next microtask to avoid breaking transitions and unwanted scrolling\n Promise.resolve().then(() => {\n const state = el[FOCUSTRAP_STATE_KEY];\n if (!state?.active) return;\n focusOrFallback(el, resolveInitialFocusTarget(el, config.initialFocus));\n });\n}\n\n// ── Tab trapping ────────────────────────────────────────────\n\nfunction handleKeydown (event, el) {\n if (event.key !== 'Tab') return;\n\n const elements = getTabbableElements(el);\n\n if (!elements.length) {\n event.preventDefault();\n return;\n }\n\n // Tab boundaries use DOM order (elements[0] / elements[last]),\n // NOT getFirstFocusCandidate() — the radio-preference logic is for\n // initial focus only, not for Tab wrapping.\n const first = elements[0];\n const last = elements[elements.length - 1];\n\n if (event.shiftKey) {\n if (document.activeElement === first) {\n last.focus({ preventScroll: true });\n event.preventDefault();\n }\n } else {\n if (document.activeElement === last) {\n first.focus({ preventScroll: true });\n event.preventDefault();\n }\n }\n}\n\nexport default DtFocustrapDirective;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { getFirstFocusCandidate as e, getTabbableElements as t } from "./focustrap-utils.js";
|
|
2
|
+
import { FOCUSTRAP_DEFAULTS as n, FOCUSTRAP_STATE_KEY as r } from "./focustrap-constants.js";
|
|
3
|
+
//#region directives/focustrap_directive/focustrap.js
|
|
4
|
+
var i = {
|
|
5
|
+
name: "dt-focustrap-directive",
|
|
6
|
+
install(e) {
|
|
7
|
+
e.directive("dt-focustrap", {
|
|
8
|
+
mounted(e, t) {
|
|
9
|
+
let n = a(t.value);
|
|
10
|
+
e[r] = o(), n.active && s(e, n);
|
|
11
|
+
},
|
|
12
|
+
updated(e, t) {
|
|
13
|
+
let n = a(t.oldValue), i = a(t.value);
|
|
14
|
+
e[r] && (!n.active && i.active ? s(e, i) : n.active && !i.active && c(e));
|
|
15
|
+
},
|
|
16
|
+
unmounted(e) {
|
|
17
|
+
e[r]?.active && c(e), l(e), delete e[r];
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
function a(e) {
|
|
23
|
+
return e == null || e === !0 ? {
|
|
24
|
+
...n,
|
|
25
|
+
active: !0
|
|
26
|
+
} : e === !1 ? {
|
|
27
|
+
...n,
|
|
28
|
+
active: !1
|
|
29
|
+
} : typeof e == "object" ? {
|
|
30
|
+
...n,
|
|
31
|
+
...e
|
|
32
|
+
} : {
|
|
33
|
+
...n,
|
|
34
|
+
active: !!e
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function o() {
|
|
38
|
+
return {
|
|
39
|
+
active: !1,
|
|
40
|
+
onKeydown: null,
|
|
41
|
+
previousActiveElement: null,
|
|
42
|
+
restoreFocus: !0,
|
|
43
|
+
addedTabindex: !1
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function s(e, t) {
|
|
47
|
+
let n = e[r];
|
|
48
|
+
!n || n.active || (n.active = !0, n.restoreFocus = t.restoreFocus, n.previousActiveElement = document.activeElement, n.onKeydown = (t) => p(t, e), e.addEventListener("keydown", n.onKeydown), f(e, t));
|
|
49
|
+
}
|
|
50
|
+
function c(e) {
|
|
51
|
+
let t = e[r];
|
|
52
|
+
if (!(!t || !t.active)) {
|
|
53
|
+
if (t.active = !1, l(e), t.restoreFocus && t.previousActiveElement) try {
|
|
54
|
+
t.previousActiveElement.focus({ preventScroll: !0 });
|
|
55
|
+
} catch {}
|
|
56
|
+
t.previousActiveElement = null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function l(e) {
|
|
60
|
+
let t = e[r];
|
|
61
|
+
t && (t.onKeydown && (e.removeEventListener("keydown", t.onKeydown), t.onKeydown = null), t.addedTabindex && (e.removeAttribute("tabindex"), t.addedTabindex = !1));
|
|
62
|
+
}
|
|
63
|
+
function u(n, r) {
|
|
64
|
+
return r === "auto" || r == null ? e(t(n, { includeNegativeTabIndex: !0 })) : typeof r == "string" ? n.querySelector(r) : r instanceof HTMLElement ? r : null;
|
|
65
|
+
}
|
|
66
|
+
function d(e, t) {
|
|
67
|
+
if (t) {
|
|
68
|
+
t.focus({ preventScroll: !0 });
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (!e.hasAttribute("tabindex")) {
|
|
72
|
+
e.setAttribute("tabindex", "-1");
|
|
73
|
+
let t = e[r];
|
|
74
|
+
t && (t.addedTabindex = !0);
|
|
75
|
+
}
|
|
76
|
+
e.focus({ preventScroll: !0 });
|
|
77
|
+
}
|
|
78
|
+
function f(e, t) {
|
|
79
|
+
t.initialFocus !== !1 && Promise.resolve().then(() => {
|
|
80
|
+
e[r]?.active && d(e, u(e, t.initialFocus));
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function p(e, n) {
|
|
84
|
+
if (e.key !== "Tab") return;
|
|
85
|
+
let r = t(n);
|
|
86
|
+
if (!r.length) {
|
|
87
|
+
e.preventDefault();
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
let i = r[0], a = r[r.length - 1];
|
|
91
|
+
e.shiftKey ? document.activeElement === i && (a.focus({ preventScroll: !0 }), e.preventDefault()) : document.activeElement === a && (i.focus({ preventScroll: !0 }), e.preventDefault());
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
export { i as DtFocustrapDirective, i as default };
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=focustrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focustrap.js","names":[],"sources":["../../../directives/focustrap_directive/focustrap.js"],"sourcesContent":["import { getTabbableElements, getFirstFocusCandidate } from './focustrap_utils.js';\nimport { FOCUSTRAP_DEFAULTS, FOCUSTRAP_STATE_KEY } from './focustrap_constants.js';\n\n/**\n * v-dt-focustrap directive — trap Tab/Shift+Tab within a container element.\n *\n * Manages initial focus, Tab boundary wrapping, and focus restoration.\n * Does NOT handle Escape or click-outside — that's the component's responsibility.\n *\n * @example\n * // Boolean binding — activate when truthy\n * <div role=\"dialog\" v-dt-focustrap=\"isOpen\" aria-label=\"Settings\">\n *\n * // Object binding — full configuration\n * <div role=\"dialog\" v-dt-focustrap=\"{ active: isOpen, initialFocus: '#name-input' }\">\n *\n * // Always active (no binding value)\n * <div role=\"alertdialog\" v-dt-focustrap aria-label=\"Confirm\">\n *\n * @see https://dialtone.dialpad.com/vue/next/?path=/docs/directives-focustrap--docs\n */\nexport const DtFocustrapDirective = {\n name: 'dt-focustrap-directive',\n\n install (app) {\n app.directive('dt-focustrap', {\n mounted (el, binding) {\n const config = resolveConfig(binding.value);\n el[FOCUSTRAP_STATE_KEY] = createState();\n\n if (config.active) {\n activate(el, config);\n }\n },\n\n updated (el, binding) {\n const prev = resolveConfig(binding.oldValue);\n const next = resolveConfig(binding.value);\n const state = el[FOCUSTRAP_STATE_KEY];\n\n if (!state) return;\n\n if (!prev.active && next.active) {\n activate(el, next);\n } else if (prev.active && !next.active) {\n deactivate(el);\n }\n },\n\n unmounted (el) {\n const state = el[FOCUSTRAP_STATE_KEY];\n if (state?.active) {\n deactivate(el);\n }\n cleanup(el);\n delete el[FOCUSTRAP_STATE_KEY];\n },\n });\n },\n};\n\n// ── Config resolution ───────────────────────────────────────\n\nfunction resolveConfig (value) {\n if (value == null || value === true) {\n return { ...FOCUSTRAP_DEFAULTS, active: true };\n }\n if (value === false) {\n return { ...FOCUSTRAP_DEFAULTS, active: false };\n }\n if (typeof value === 'object') {\n return { ...FOCUSTRAP_DEFAULTS, ...value };\n }\n return { ...FOCUSTRAP_DEFAULTS, active: Boolean(value) };\n}\n\n// ── State management ────────────────────────────────────────\n\nfunction createState () {\n return {\n active: false,\n onKeydown: null,\n previousActiveElement: null,\n restoreFocus: true,\n addedTabindex: false,\n };\n}\n\n// ── Activate / Deactivate ───────────────────────────────────\n\nfunction activate (el, config) {\n const state = el[FOCUSTRAP_STATE_KEY];\n if (!state || state.active) return;\n\n state.active = true;\n state.restoreFocus = config.restoreFocus;\n state.previousActiveElement = document.activeElement;\n\n // Bind Tab keydown handler\n state.onKeydown = (event) => handleKeydown(event, el);\n el.addEventListener('keydown', state.onKeydown);\n\n // Set initial focus\n setInitialFocus(el, config);\n}\n\nfunction deactivate (el) {\n const state = el[FOCUSTRAP_STATE_KEY];\n if (!state || !state.active) return;\n\n state.active = false;\n cleanup(el);\n\n // Restore focus using the config captured at activation time\n if (state.restoreFocus && state.previousActiveElement) {\n try {\n state.previousActiveElement.focus({ preventScroll: true });\n } catch {\n // Element no longer in DOM or not focusable\n }\n }\n state.previousActiveElement = null;\n}\n\nfunction cleanup (el) {\n const state = el[FOCUSTRAP_STATE_KEY];\n if (!state) return;\n if (state.onKeydown) {\n el.removeEventListener('keydown', state.onKeydown);\n state.onKeydown = null;\n }\n if (state.addedTabindex) {\n el.removeAttribute('tabindex');\n state.addedTabindex = false;\n }\n}\n\n// ── Initial focus ───────────────────────────────────────────\n\nfunction resolveInitialFocusTarget (el, initialFocus) {\n if (initialFocus === 'auto' || initialFocus == null) {\n const elements = getTabbableElements(el, { includeNegativeTabIndex: true });\n return getFirstFocusCandidate(elements);\n }\n if (typeof initialFocus === 'string') return el.querySelector(initialFocus);\n if (initialFocus instanceof HTMLElement) return initialFocus;\n return null;\n}\n\nfunction focusOrFallback (el, target) {\n if (target) {\n target.focus({ preventScroll: true });\n return;\n }\n if (!el.hasAttribute('tabindex')) {\n el.setAttribute('tabindex', '-1');\n const state = el[FOCUSTRAP_STATE_KEY];\n if (state) state.addedTabindex = true;\n }\n el.focus({ preventScroll: true });\n}\n\nfunction setInitialFocus (el, config) {\n if (config.initialFocus === false) return;\n\n // Delay to next microtask to avoid breaking transitions and unwanted scrolling\n Promise.resolve().then(() => {\n const state = el[FOCUSTRAP_STATE_KEY];\n if (!state?.active) return;\n focusOrFallback(el, resolveInitialFocusTarget(el, config.initialFocus));\n });\n}\n\n// ── Tab trapping ────────────────────────────────────────────\n\nfunction handleKeydown (event, el) {\n if (event.key !== 'Tab') return;\n\n const elements = getTabbableElements(el);\n\n if (!elements.length) {\n event.preventDefault();\n return;\n }\n\n // Tab boundaries use DOM order (elements[0] / elements[last]),\n // NOT getFirstFocusCandidate() — the radio-preference logic is for\n // initial focus only, not for Tab wrapping.\n const first = elements[0];\n const last = elements[elements.length - 1];\n\n if (event.shiftKey) {\n if (document.activeElement === first) {\n last.focus({ preventScroll: true });\n event.preventDefault();\n }\n } else {\n if (document.activeElement === last) {\n first.focus({ preventScroll: true });\n event.preventDefault();\n }\n }\n}\n\nexport default DtFocustrapDirective;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./focustrap.cjs`);exports.DtFocustrapDirective=e.DtFocustrapDirective;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../common/utils/index.cjs`),t=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),n=require(`../badge/badge.cjs`),r=require(`../../localization/index.cjs`),i=require(`../button/button.cjs`),a=require(`../tooltip/tooltip.cjs`),o=require(`../emoji-text-wrapper/emoji-text-wrapper.cjs`),s=require(`./general-row-constants.cjs`),c=require(`./leftbar-general-row-icon.cjs`);let l=require(`vue`),u=require(`@dialpad/dialtone-icons/vue3`);var d={compatConfig:{MODE:3},name:`DtRecipeGeneralRow`,components:{DtEmojiTextWrapper:o.default,DtBadge:n.default,DtButton:i.default,DtTooltip:a.default,DtIconPhone:u.DtIconPhone,DtIconWaveform:u.DtIconWaveform,DtRecipeLeftbarGeneralRowIcon:c.default},inheritAttrs:!1,props:{type:{type:String,default:`inbox`,validator:e=>Object.values(s.LEFTBAR_GENERAL_ROW_TYPES).includes(e)},ariaLabel:{type:String,default:``},description:{type:String,required:!0},color:{type:String,default:null,validator:e=>Object.keys(s.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(e)},channelSetting:{type:String,default:null},hasUnreads:{type:Boolean,default:!1},unreadCount:{type:String,default:null},unreadMentionCount:{type:String,default:null},selected:{type:Boolean,default:!1},muted:{type:Boolean,default:!1},activeVoiceChat:{type:Boolean,default:!1},dndText:{type:String,default:``},hasCallButton:{type:Boolean,default:!1},isTyping:{type:Boolean,default:!1},iconSize:{type:String,default:`300`,validator:e=>s.LEFTBAR_GENERAL_ROW_ICON_SIZES.includes(e)}},emits:[`call`],data(){return{actionFocused:!1,labelWidth:`100%`,i18n:new r.DialtoneLocalization}},computed:{leftbarGeneralRowClasses(){return[`d-recipe-leftbar-row`,{"d-recipe-leftbar-row--no-action":!this.hasCallButton,"d-recipe-leftbar-row--has-unread":this.hasUnreads,"d-recipe-leftbar-row__unread-count":this.showUnreadCount||this.showUnreadMentionCount,"d-recipe-leftbar-row--selected":this.selected,"d-recipe-leftbar-row--muted":this.muted,"d-recipe-leftbar-row--action-focused":this.actionFocused}]},getIcon(){switch(this.type){case s.LEFTBAR_GENERAL_ROW_TYPES.CHANNELS:if(this.hasUnreads)return`channel unread`;break;case s.LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL:if(this.hasUnreads)return`locked channel unread`;break}return this.type},generalRowListeners(){return e.extractVueListeners(this.$attrs)},getAriaLabel(){return this.ariaLabel?this.ariaLabel:e.safeConcatStrings([this.typingTooltip,this.description,this.unreadCountTooltip,this.dndTextTooltip,this.activeVoiceChatTooltip])},hasActions(){return this.dndText||this.activeVoiceChat||this.showUnreadCount||this.hasCallButton||this.showUnreadMentionCount},showUnreadCount(){return!!this.unreadCount&&this.hasUnreads},showUnreadMentionCount(){return!!this.unreadMentionCount&&this.hasUnreads},hasUnreadCount(){return this.unreadCount!==null},hasUnreadMentionCount(){return this.unreadMentionCount!==null},shouldApplyCustomStyleForCountBadge(){return this.hasUnreadCount&&this.hasUnreadMentionCount},shouldApplyCustomStyleForMentionOnly(){return this.channelSetting===`always`&&!this.hasUnreadCount&&this.hasUnreadMentionCount},messageCount(){return isNaN(this.unreadCount)?this.unreadCount:Number(this.unreadCount)},mentionCount(){return isNaN(this.unreadMentionCount)?this.unreadMentionCount:Number(this.unreadMentionCount)},unreadCountTooltip(){return e.safeConcatStrings([this.unreadCount&&this.i18n.$t(`DIALTONE_UNREAD_MESSAGE_COUNT_TEXT`,{unreadCount:this.messageCount}),this.unreadMentionCount&&this.i18n.$t(`DIALTONE_UNREAD_MENTION_COUNT_TEXT`,{unreadCount:this.mentionCount})])},dndTextTooltip(){return this.dndText&&this.i18n.$t(`DIALTONE_GENERAL_ROW_DND_TEXT_TOOLTIP`)},activeVoiceChatTooltip(){return this.activeVoiceChat&&this.i18n.$t(`DIALTONE_GENERAL_ROW_ACTIVE_VOICE_CHAT_TEXT`)},callButtonTooltip(){return this.i18n.$t(`DIALTONE_GENERAL_ROW_CALL_BUTTON_TOOLTIP`)},typingTooltip(){return this.isTyping&&this.i18n.$t(`DIALTONE_TYPING_TEXT`)}},watch:{$props:{immediate:!0,deep:!0,async handler(){this.validateProps(),await this.$nextTick(),this.adjustLabelWidth()}}},mounted(){this.resizeObserver=new ResizeObserver(this.adjustLabelWidth),this.resizeObserver.observe(e.returnFirstEl(this.$el)),this.adjustLabelWidth()},beforeUnmount:function(){this.resizeObserver.disconnect()},methods:{removeClassStyleAttrs:e.removeClassStyleAttrs,addClassStyleAttrs:e.addClassStyleAttrs,validateProps(){this.type===s.LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER&&!Object.keys(s.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(this.color)&&console.error(s.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR)},adjustLabelWidth(){this.labelWidth=(e.returnFirstEl(this.$el)?.querySelector(`.d-recipe-leftbar-row__primary`)?.clientWidth||0)-((e.returnFirstEl(this.$el)?.querySelector(`.d-recipe-leftbar-row__omega`)?.clientWidth||0)+(e.returnFirstEl(this.$el)?.querySelector(`.d-recipe-leftbar-row__alpha`)?.clientWidth||0)+16)+`px`}}},f=[`data-qa`,`aria-label`,`title`,`href`],p={class:`d-recipe-leftbar-row__alpha`},m={key:0,class:`d-recipe-leftbar-row__is-typing`},h={key:0,class:`d-recipe-leftbar-row__omega`},g={key:1,class:`d-recipe-leftbar-row__active-voice`},_={key:3,class:`d-recipe-leftbar-row__action`,"data-qa":`dt-recipe-leftbar-row-action`};function v(e,t,n,r,i,a){let o=(0,l.resolveComponent)(`dt-recipe-leftbar-general-row-icon`),s=(0,l.resolveComponent)(`dt-emoji-text-wrapper`),c=(0,l.resolveComponent)(`dt-tooltip`),u=(0,l.resolveComponent)(`dt-icon-waveform`),d=(0,l.resolveComponent)(`dt-badge`),v=(0,l.resolveComponent)(`dt-icon-phone`),y=(0,l.resolveComponent)(`dt-button`),b=(0,l.resolveDirective)(`dt-tooltip`);return(0,l.openBlock)(),(0,l.createElementBlock)(`div`,(0,l.mergeProps)({class:a.leftbarGeneralRowClasses},a.addClassStyleAttrs(e.$attrs),{"data-qa":`dt-recipe-leftbar-row`}),[(0,l.createElementVNode)(`a`,(0,l.mergeProps)({class:`d-recipe-leftbar-row__primary`,"data-qa":`data-qa`in e.$attrs?e.$attrs[`data-qa`]:`d-recipe-leftbar-row-link`,"aria-label":a.getAriaLabel,title:n.description,href:`href`in e.$attrs?e.$attrs.href:`javascript:void(0)`},a.removeClassStyleAttrs(e.$attrs),(0,l.toHandlers)(a.generalRowListeners,!0)),[(0,l.createElementVNode)(`div`,p,[n.isTyping?(0,l.withDirectives)(((0,l.openBlock)(),(0,l.createElementBlock)(`div`,m,[...t[3]||(t[3]=[(0,l.createElementVNode)(`span`,null,null,-1),(0,l.createElementVNode)(`span`,null,null,-1),(0,l.createElementVNode)(`span`,null,null,-1)])])),[[b,a.typingTooltip]]):(0,l.renderSlot)(e.$slots,`left`,{key:1},()=>[(0,l.createVNode)(o,{type:a.getIcon,color:n.color,"icon-size":n.iconSize,"data-qa":`dt-recipe-leftbar-row-icon`},null,8,[`type`,`color`,`icon-size`])])]),(0,l.createElementVNode)(`div`,{class:`d-recipe-leftbar-row__label`,style:(0,l.normalizeStyle)(`flex-basis: ${i.labelWidth}`)},[(0,l.renderSlot)(e.$slots,`label`,{},()=>[(0,l.createVNode)(s,{class:`d-recipe-leftbar-row__description`,"data-qa":`dt-recipe-leftbar-row-description`,size:`200`},{default:(0,l.withCtx)(()=>[(0,l.createTextVNode)((0,l.toDisplayString)(n.description),1)]),_:1})])],4)],16,f),a.hasActions?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,h,[n.dndText?((0,l.openBlock)(),(0,l.createBlock)(c,{key:0,placement:`top`,message:a.dndTextTooltip},{anchor:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,{ref:`d-recipe-leftbar-row-dnd`,class:`d-recipe-leftbar-row__dnd`,"data-qa":`dt-recipe-leftbar-row-dnd`},(0,l.toDisplayString)(n.dndText),513)]),_:1},8,[`message`])):(0,l.createCommentVNode)(``,!0),n.activeVoiceChat?(0,l.withDirectives)(((0,l.openBlock)(),(0,l.createElementBlock)(`div`,g,[(0,l.createVNode)(u,{size:`300`})])),[[b,a.activeVoiceChatTooltip]]):a.showUnreadCount||a.showUnreadMentionCount?((0,l.openBlock)(),(0,l.createBlock)(c,{key:2,message:a.unreadCountTooltip,placement:`top`},{anchor:(0,l.withCtx)(()=>[a.showUnreadCount?((0,l.openBlock)(),(0,l.createBlock)(d,{key:0,kind:`count`,type:`bulletin`,"data-qa":`dt-recipe-leftbar-row-unread-badge`,class:(0,l.normalizeClass)([`d-recipe-leftbar-row__unread-badge`,{"d-recipe-leftbar-row__unread-count-badge":a.shouldApplyCustomStyleForCountBadge}])},{default:(0,l.withCtx)(()=>[(0,l.createTextVNode)((0,l.toDisplayString)(n.unreadCount),1)]),_:1},8,[`class`])):(0,l.createCommentVNode)(``,!0),a.showUnreadMentionCount?((0,l.openBlock)(),(0,l.createBlock)(d,{key:1,kind:`count`,type:`bulletin`,"data-qa":`dt-recipe-leftbar-row-unread-mention-badge`,class:(0,l.normalizeClass)([`d-recipe-leftbar-row__unread-badge`,{"d-recipe-leftbar-row__unread-mention-count-badge":a.shouldApplyCustomStyleForCountBadge},{"d-recipe-leftbar-row__unread-mention-only-count-badge":a.shouldApplyCustomStyleForMentionOnly}])},{default:(0,l.withCtx)(()=>[(0,l.createTextVNode)((0,l.toDisplayString)(n.unreadMentionCount),1)]),_:1},8,[`class`])):(0,l.createCommentVNode)(``,!0)]),_:1},8,[`message`])):(0,l.createCommentVNode)(``,!0),n.hasCallButton?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,_,[(0,l.createVNode)(c,{message:a.callButtonTooltip,placement:`top`},{anchor:(0,l.withCtx)(()=>[(0,l.createVNode)(y,{class:`d-recipe-leftbar-row__action-button`,"data-qa":`dt-recipe-leftbar-row-action-call-button`,circle:``,size:`xs`,kind:`inverted`,"aria-label":a.callButtonTooltip,onFocus:t[0]||(t[0]=e=>i.actionFocused=!0),onBlur:t[1]||(t[1]=e=>i.actionFocused=!1),onClick:t[2]||(t[2]=(0,l.withModifiers)(t=>e.$emit(`call`,t),[`stop`]))},{icon:(0,l.withCtx)(()=>[(0,l.createVNode)(v,{size:`200`})]),_:1},8,[`aria-label`])]),_:1},8,[`message`])])):(0,l.createCommentVNode)(``,!0)])):(0,l.createCommentVNode)(``,!0)],16)}var y=t.t(d,[[`render`,v]]);exports.default=y;
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../common/utils/index.cjs`),t=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),n=require(`../avatar/avatar.cjs`),r=require(`../badge/badge.cjs`),i=require(`../../localization/index.cjs`),a=require(`../button/button.cjs`),o=require(`../tooltip/tooltip.cjs`),s=require(`../emoji-text-wrapper/emoji-text-wrapper.cjs`),c=require(`./general-row-constants.cjs`),l=require(`./leftbar-general-row-icon.cjs`);let u=require(`vue`),d=require(`@dialpad/dialtone-icons/vue`);var f=new Map([[c.LEFTBAR_GENERAL_ROW_TYPES.INBOX,d.DtIconInbox],[c.LEFTBAR_GENERAL_ROW_TYPES.CONTACTS,d.DtIconContacts],[c.LEFTBAR_GENERAL_ROW_TYPES.CHANNELS,d.DtIconHash],[c.LEFTBAR_GENERAL_ROW_TYPES.THREADS,d.DtIconThread],[c.LEFTBAR_GENERAL_ROW_TYPES.LAUNCHPAD,d.DtIconLayoutTemplate],[c.LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL,d.DtIconLock],[c.LEFTBAR_GENERAL_ROW_TYPES.QUICK_START,d.DtIconSparkle],[c.LEFTBAR_GENERAL_ROW_TYPES.COACHING_GROUP,d.DtIconUsers],[c.LEFTBAR_GENERAL_ROW_TYPES.COACHING_CENTER,d.DtIconExternalLink],[`locked channel unread`,d.DtIconLockFilled],[`channel unread`,d.DtIconHashBold],[c.LEFTBAR_GENERAL_ROW_TYPES.ASSIGNED,d.DtIconAtSign],[c.LEFTBAR_GENERAL_ROW_TYPES.DIGITAL,d.DtIconLaptop2],[c.LEFTBAR_GENERAL_ROW_TYPES.SCHEDULED,d.DtIconCalendarClock]]),p={compatConfig:{MODE:3},name:`DtRecipeGeneralRow`,components:{DtEmojiTextWrapper:s.default,DtBadge:r.default,DtButton:a.default,DtTooltip:o.default,DtIconPhone:d.DtIconPhone,DtIconWaveform:d.DtIconWaveform,DtIconDialbot:d.DtIconDialbot,DtAvatar:n.default,DtRecipeLeftbarGeneralRowIcon:l.default},inheritAttrs:!1,props:{type:{type:String,default:`inbox`,validator:e=>Object.values(c.LEFTBAR_GENERAL_ROW_TYPES).includes(e)},ariaLabel:{type:String,default:``},description:{type:String,required:!0},color:{type:String,default:null,validator:e=>Object.keys(c.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(e)},channelSetting:{type:String,default:null},hasUnreads:{type:Boolean,default:!1},unreadCount:{type:String,default:null},unreadMentionCount:{type:String,default:null},selected:{type:Boolean,default:!1},muted:{type:Boolean,default:!1},activeVoiceChat:{type:Boolean,default:!1},dndText:{type:String,default:``},hasCallButton:{type:Boolean,default:!1},isTyping:{type:Boolean,default:!1},iconSize:{type:String,default:`300`,validator:e=>c.LEFTBAR_GENERAL_ROW_ICON_SIZES.includes(e)}},emits:[`call`],data(){return{actionFocused:!1,labelWidth:`100%`,i18n:new i.DialtoneLocalization}},computed:{leftbarGeneralRowClasses(){return[`d-recipe-leftbar-row`,{"d-recipe-leftbar-row--no-action":!this.hasCallButton,"d-recipe-leftbar-row--has-unread":this.hasUnreads,"d-recipe-leftbar-row__unread-count":this.showUnreadCount||this.showUnreadMentionCount,"d-recipe-leftbar-row--selected":this.selected,"d-recipe-leftbar-row--muted":this.muted,"d-recipe-leftbar-row--action-focused":this.actionFocused}]},getIcon(){switch(this.type){case c.LEFTBAR_GENERAL_ROW_TYPES.CHANNELS:if(this.hasUnreads)return`channel unread`;break;case c.LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL:if(this.hasUnreads)return`locked channel unread`;break}return this.type},getIconComponent(){return f.get(this.getIcon)},isDialbotType(){return this.type===c.LEFTBAR_GENERAL_ROW_TYPES.DIALBOT},isContactCenterType(){return this.type===c.LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER},contactCenterIconClasses(){return[`d-recipe-leftbar-row__icon-cc`,c.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS[this.color]]},avatarSize(){return this.iconSize},generalRowListeners(){return e.extractVueListeners(this.$attrs)},getAriaLabel(){return this.ariaLabel?this.ariaLabel:e.safeConcatStrings([this.typingTooltip,this.description,this.unreadCountTooltip,this.dndTextTooltip,this.activeVoiceChatTooltip])},hasActions(){return this.dndText||this.activeVoiceChat||this.showUnreadCount||this.hasCallButton||this.showUnreadMentionCount},showUnreadCount(){return!!this.unreadCount&&this.hasUnreads},showUnreadMentionCount(){return!!this.unreadMentionCount&&this.hasUnreads},hasUnreadCount(){return this.unreadCount!==null},hasUnreadMentionCount(){return this.unreadMentionCount!==null},shouldApplyCustomStyleForCountBadge(){return this.hasUnreadCount&&this.hasUnreadMentionCount},shouldApplyCustomStyleForMentionOnly(){return this.channelSetting===`always`&&!this.hasUnreadCount&&this.hasUnreadMentionCount},messageCount(){return isNaN(this.unreadCount)?this.unreadCount:Number(this.unreadCount)},mentionCount(){return isNaN(this.unreadMentionCount)?this.unreadMentionCount:Number(this.unreadMentionCount)},unreadCountTooltip(){return e.safeConcatStrings([this.unreadCount&&this.i18n.$t(`DIALTONE_UNREAD_MESSAGE_COUNT_TEXT`,{unreadCount:this.messageCount}),this.unreadMentionCount&&this.i18n.$t(`DIALTONE_UNREAD_MENTION_COUNT_TEXT`,{unreadCount:this.mentionCount})])},dndTextTooltip(){return this.dndText&&this.i18n.$t(`DIALTONE_GENERAL_ROW_DND_TEXT_TOOLTIP`)},activeVoiceChatTooltip(){return this.activeVoiceChat&&this.i18n.$t(`DIALTONE_GENERAL_ROW_ACTIVE_VOICE_CHAT_TEXT`)},callButtonTooltip(){return this.i18n.$t(`DIALTONE_GENERAL_ROW_CALL_BUTTON_TOOLTIP`)},typingTooltip(){return this.isTyping&&this.i18n.$t(`DIALTONE_TYPING_TEXT`)}},watch:{$props:{immediate:!0,deep:!0,async handler(){this.validateProps(),await this.$nextTick(),this.adjustLabelWidth()}}},mounted(){this.resizeObserver=new ResizeObserver(this.adjustLabelWidth),this.resizeObserver.observe(e.returnFirstEl(this.$el)),this.adjustLabelWidth()},beforeUnmount:function(){this.resizeObserver.disconnect()},methods:{removeClassStyleAttrs:e.removeClassStyleAttrs,validateProps(){this.type===c.LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER&&!Object.keys(c.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(this.color)&&console.error(c.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR)},adjustLabelWidth(){this.labelWidth=(e.returnFirstEl(this.$el)?.querySelector(`.d-recipe-leftbar-row__primary`)?.clientWidth||0)-((e.returnFirstEl(this.$el)?.querySelector(`.d-recipe-leftbar-row__omega`)?.clientWidth||0)+(e.returnFirstEl(this.$el)?.querySelector(`.d-recipe-leftbar-row__alpha`)?.clientWidth||0)+16)+`px`}}},m=[`data-qa`,`aria-label`,`title`,`href`],h={class:`d-recipe-leftbar-row__alpha`},g={key:0,class:`d-recipe-leftbar-row__is-typing`},_={key:0,class:`d-recipe-leftbar-general-row__icon`,"data-qa":`dt-recipe-leftbar-row-icon`},v={key:2,"data-qa":`dt-recipe-leftbar-row-icon`},y={key:0,class:`d-recipe-leftbar-row__omega`},b={key:1,class:`d-recipe-leftbar-row__active-voice`},x={key:3,class:`d-recipe-leftbar-row__action`,"data-qa":`dt-recipe-leftbar-row-action`};function S(e,t,n,r,i,a){let o=(0,u.resolveComponent)(`dt-icon-dialbot`),s=(0,u.resolveComponent)(`dt-avatar`),c=(0,u.resolveComponent)(`dt-emoji-text-wrapper`),l=(0,u.resolveComponent)(`dt-tooltip`),d=(0,u.resolveComponent)(`dt-icon-waveform`),f=(0,u.resolveComponent)(`dt-badge`),p=(0,u.resolveComponent)(`dt-icon-phone`),S=(0,u.resolveComponent)(`dt-button`),C=(0,u.resolveDirective)(`dt-tooltip`);return(0,u.openBlock)(),(0,u.createElementBlock)(`div`,{class:(0,u.normalizeClass)([a.leftbarGeneralRowClasses,e.$attrs.class]),style:(0,u.normalizeStyle)(e.$attrs.style),"data-qa":`dt-recipe-leftbar-row`},[(0,u.createElementVNode)(`a`,(0,u.mergeProps)({class:`d-recipe-leftbar-row__primary`,"data-qa":`data-qa`in e.$attrs?e.$attrs[`data-qa`]:`d-recipe-leftbar-row-link`,"aria-label":a.getAriaLabel,title:n.description,href:`href`in e.$attrs?e.$attrs.href:`javascript:void(0)`},a.removeClassStyleAttrs(e.$attrs),(0,u.toHandlers)(a.generalRowListeners,!0)),[(0,u.createElementVNode)(`div`,h,[n.isTyping?(0,u.withDirectives)(((0,u.openBlock)(),(0,u.createElementBlock)(`div`,g,[...t[3]||(t[3]=[(0,u.createElementVNode)(`span`,null,null,-1),(0,u.createElementVNode)(`span`,null,null,-1),(0,u.createElementVNode)(`span`,null,null,-1)])])),[[C,a.typingTooltip]]):e.$slots.start?(0,u.renderSlot)(e.$slots,`start`,{key:1}):e.$slots.left?(0,u.renderSlot)(e.$slots,`left`,{key:2}):((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:3},[a.isDialbotType?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,_,[(0,u.createVNode)(o,{size:`500`})])):a.isContactCenterType?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{key:1,class:(0,u.normalizeClass)(a.contactCenterIconClasses),"data-qa":`dt-recipe-leftbar-row-icon`},null,2)):((0,u.openBlock)(),(0,u.createElementBlock)(`div`,v,[(0,u.createVNode)(s,{"icon-only":``,size:a.avatarSize},{icon:(0,u.withCtx)(({iconSize:e})=>[((0,u.openBlock)(),(0,u.createBlock)((0,u.resolveDynamicComponent)(a.getIconComponent),{size:e},null,8,[`size`]))]),_:1},8,[`size`])]))],64))]),(0,u.createElementVNode)(`div`,{class:`d-recipe-leftbar-row__label`,style:(0,u.normalizeStyle)(`flex-basis: ${i.labelWidth}`)},[(0,u.renderSlot)(e.$slots,`label`,{},()=>[(0,u.createVNode)(c,{class:`d-recipe-leftbar-row__description`,"data-qa":`dt-recipe-leftbar-row-description`,size:`200`},{default:(0,u.withCtx)(()=>[(0,u.createTextVNode)((0,u.toDisplayString)(n.description),1)]),_:1})])],4)],16,m),a.hasActions?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,y,[n.dndText?((0,u.openBlock)(),(0,u.createBlock)(l,{key:0,placement:`top`,message:a.dndTextTooltip},{anchor:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref:`d-recipe-leftbar-row-dnd`,class:`d-recipe-leftbar-row__dnd`,"data-qa":`dt-recipe-leftbar-row-dnd`},(0,u.toDisplayString)(n.dndText),513)]),_:1},8,[`message`])):(0,u.createCommentVNode)(``,!0),n.activeVoiceChat?(0,u.withDirectives)(((0,u.openBlock)(),(0,u.createElementBlock)(`div`,b,[(0,u.createVNode)(d,{size:`300`})])),[[C,a.activeVoiceChatTooltip]]):a.showUnreadCount||a.showUnreadMentionCount?((0,u.openBlock)(),(0,u.createBlock)(l,{key:2,message:a.unreadCountTooltip,placement:`top`},{anchor:(0,u.withCtx)(()=>[a.showUnreadCount?((0,u.openBlock)(),(0,u.createBlock)(f,{key:0,kind:`count`,type:`bulletin`,"data-qa":`dt-recipe-leftbar-row-unread-badge`,class:(0,u.normalizeClass)([`d-recipe-leftbar-row__unread-badge`,{"d-recipe-leftbar-row__unread-count-badge":a.shouldApplyCustomStyleForCountBadge}])},{default:(0,u.withCtx)(()=>[(0,u.createTextVNode)((0,u.toDisplayString)(n.unreadCount),1)]),_:1},8,[`class`])):(0,u.createCommentVNode)(``,!0),a.showUnreadMentionCount?((0,u.openBlock)(),(0,u.createBlock)(f,{key:1,kind:`count`,type:`bulletin`,"data-qa":`dt-recipe-leftbar-row-unread-mention-badge`,class:(0,u.normalizeClass)([`d-recipe-leftbar-row__unread-badge`,{"d-recipe-leftbar-row__unread-mention-count-badge":a.shouldApplyCustomStyleForCountBadge},{"d-recipe-leftbar-row__unread-mention-only-count-badge":a.shouldApplyCustomStyleForMentionOnly}])},{default:(0,u.withCtx)(()=>[(0,u.createTextVNode)((0,u.toDisplayString)(n.unreadMentionCount),1)]),_:1},8,[`class`])):(0,u.createCommentVNode)(``,!0)]),_:1},8,[`message`])):(0,u.createCommentVNode)(``,!0),n.hasCallButton?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,x,[(0,u.createVNode)(l,{message:a.callButtonTooltip,placement:`top`},{anchor:(0,u.withCtx)(()=>[(0,u.createVNode)(S,{class:`d-recipe-leftbar-row__action-button`,"data-qa":`dt-recipe-leftbar-row-action-call-button`,circle:``,size:100,kind:`inverted`,"aria-label":a.callButtonTooltip,onFocus:t[0]||(t[0]=e=>i.actionFocused=!0),onBlur:t[1]||(t[1]=e=>i.actionFocused=!1),onClick:t[2]||(t[2]=(0,u.withModifiers)(t=>e.$emit(`call`,t),[`stop`]))},{icon:(0,u.withCtx)(()=>[(0,u.createVNode)(p,{size:`200`})]),_:1},8,[`aria-label`])]),_:1},8,[`message`])])):(0,u.createCommentVNode)(``,!0)])):(0,u.createCommentVNode)(``,!0)],6)}var C=t.t(p,[[`render`,S]]);exports.default=C;
|
|
2
2
|
//# sourceMappingURL=general-row.cjs.map
|