@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 @@
|
|
|
1
|
+
{"version":3,"file":"mode-island-constants.cjs","names":[],"sources":["../../../components/mode_island/mode_island_constants.js"],"sourcesContent":["export const DT_MODE_ISLAND_TYPES = {\n INVERTED: 'inverted',\n LIGHT: 'light',\n DARK: 'dark',\n};\n\nexport default {\n DT_MODE_ISLAND_TYPES,\n};"],"mappings":"+FAAA,IAAa,EAAuB,CAClC,SAAU,WACV,MAAO,QACP,KAAM,OACP,CAED,EAAe,CACb,uBACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region components/mode_island/mode_island_constants.js
|
|
2
|
+
var e = {
|
|
3
|
+
INVERTED: "inverted",
|
|
4
|
+
LIGHT: "light",
|
|
5
|
+
DARK: "dark"
|
|
6
|
+
}, t = { DT_MODE_ISLAND_TYPES: e };
|
|
7
|
+
//#endregion
|
|
8
|
+
export { e as DT_MODE_ISLAND_TYPES, t as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=mode-island-constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode-island-constants.js","names":[],"sources":["../../../components/mode_island/mode_island_constants.js"],"sourcesContent":["export const DT_MODE_ISLAND_TYPES = {\n INVERTED: 'inverted',\n LIGHT: 'light',\n DARK: 'dark',\n};\n\nexport default {\n DT_MODE_ISLAND_TYPES,\n};"],"mappings":";AAAA,IAAa,IAAuB;CAClC,UAAU;CACV,OAAO;CACP,MAAM;CACP,EAED,IAAe,EACb,yBACD"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),t=require(`./utils.cjs`),n=require(`./mode-island-constants.cjs`),r=require(`./validators.cjs`);let i=require(`vue`);var a={name:`DtModeIsland`,compatConfig:{MODE:3},provide(){return{dtModeIslandMode:()=>this.computedMode}},inject:{parentModeIslandMode:{from:`dtModeIslandMode`,default:null}},props:{as:{type:String,default:`div`},mode:{type:String,default:n.DT_MODE_ISLAND_TYPES.INVERTED,validator:r.modeValidator}},data(){return{currentContrast:t.getRootContrast(),contrastObserver:null,modeObserver:null,elementRef:null,calculatedMode:null}},computed:{isInverted(){return this.mode===n.DT_MODE_ISLAND_TYPES.INVERTED},invertedAttribute(){return this.isInverted?``:null},computedMode(){return this.mode===n.DT_MODE_ISLAND_TYPES.LIGHT||this.mode===n.DT_MODE_ISLAND_TYPES.DARK?this.mode:this.mode===n.DT_MODE_ISLAND_TYPES.INVERTED&&this.calculatedMode?this.calculatedMode:this.calculateInvertedMode()}},beforeCreate(){if(this.$attrs&&this.$attrs[`data-dt-brand`])throw Error(`[DtModeIsland] The data-dt-brand attribute is not allowed on mode islands. Brand should only be set at the root level.`)},mounted(){this.elementRef=this.$el,this.setupContrastObserver(),this.isInverted&&(this.calculatedMode=this.calculateInvertedMode(),this.setupModeObserver()),this.currentContrast=t.getRootContrast()},beforeUnmount(){this.contrastObserver&&(this.contrastObserver.disconnect(),this.contrastObserver=null),this.modeObserver&&(this.modeObserver.disconnect(),this.modeObserver=null)},methods:{calculateInvertedMode(){return this.parentModeIslandMode?t.getOppositeMode(typeof this.parentModeIslandMode==`function`?this.parentModeIslandMode():this.parentModeIslandMode):this.elementRef?t.getOppositeMode(t.findParentMode(this.elementRef)):t.getOppositeMode(t.getRootMode())},setupContrastObserver(){this.contrastObserver=new MutationObserver(e=>{for(let n of e)n.type===`attributes`&&n.attributeName===`data-dt-contrast`&&(this.currentContrast=t.getRootContrast())}),this.contrastObserver.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-dt-contrast`]})},setupModeObserver(){let e={attributes:!0,attributeFilter:[`data-dt-mode`],subtree:!1};this.modeObserver=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`data-dt-mode`&&(this.calculatedMode=this.calculateInvertedMode())}),this.modeObserver.observe(document.documentElement,e);let t=this.elementRef?.parentElement;for(;t;)t.hasAttribute(`data-dt-mode`)&&this.modeObserver.observe(t,e),t=t.parentElement}}};function o(e,t,n,r,a,o){return(0,i.openBlock)(),(0,i.createBlock)((0,i.resolveDynamicComponent)(n.as),{class:`d-mode-island`,"data-dt-mode":o.computedMode,"data-mode-island-inverted":o.invertedAttribute,"data-dt-contrast":a.currentContrast},{default:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`default`)]),_:3},8,[`data-dt-mode`,`data-mode-island-inverted`,`data-dt-contrast`])}var s=e.t(a,[[`render`,o]]);exports.default=s;
|
|
2
|
+
//# sourceMappingURL=mode-island.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode-island.cjs","names":[],"sources":["../../../components/mode_island/mode_island.vue"],"sourcesContent":["<template>\n <component\n :is=\"as\"\n class=\"d-mode-island\"\n :data-dt-mode=\"computedMode\"\n :data-mode-island-inverted=\"invertedAttribute\"\n :data-dt-contrast=\"currentContrast\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </component>\n</template>\n\n<script>\nimport { DT_MODE_ISLAND_TYPES } from './mode_island_constants';\nimport { modeValidator } from './validators';\nimport {\n getOppositeMode,\n getRootMode,\n getRootContrast,\n findParentMode,\n} from './utils';\n\nexport default {\n name: 'DtModeIsland',\n compatConfig: { MODE: 3 },\n\n provide () {\n return {\n dtModeIslandMode: () => this.computedMode,\n };\n },\n\n inject: {\n parentModeIslandMode: {\n from: 'dtModeIslandMode',\n default: null,\n },\n },\n\n props: {\n /**\n * Set this prop to render the mode island as a specific HTML element.\n * @type {String}\n * @values div, section, nav, article, aside, header, footer, main\n */\n as: {\n type: String,\n default: 'div',\n },\n\n /**\n * The mode to apply to the island.\n * - 'inverted': Opposite of parent or root mode\n * - 'light': Always light mode\n * - 'dark': Always dark mode\n * @type {String}\n * @values inverted, light, dark\n */\n mode: {\n type: String,\n default: DT_MODE_ISLAND_TYPES.INVERTED,\n validator: modeValidator,\n },\n },\n\n data () {\n return {\n currentContrast: getRootContrast(),\n contrastObserver: null,\n modeObserver: null,\n elementRef: null,\n calculatedMode: null, // Store calculated mode as reactive data\n };\n },\n\n computed: {\n isInverted () {\n return this.mode === DT_MODE_ISLAND_TYPES.INVERTED;\n },\n\n invertedAttribute () {\n return this.isInverted ? '' : null;\n },\n\n computedMode () {\n // If mode is explicitly light or dark, use it directly\n if (this.mode === DT_MODE_ISLAND_TYPES.LIGHT || this.mode === DT_MODE_ISLAND_TYPES.DARK) {\n return this.mode;\n }\n\n // If mode is inverted, use the calculated mode if available\n if (this.mode === DT_MODE_ISLAND_TYPES.INVERTED && this.calculatedMode) {\n return this.calculatedMode;\n }\n\n // Otherwise calculate it now\n return this.calculateInvertedMode();\n },\n },\n\n beforeCreate () {\n // Throw error if data-dt-brand is manually set\n if (this.$attrs && this.$attrs['data-dt-brand']) {\n throw new Error('[DtModeIsland] The data-dt-brand attribute is not allowed on mode islands. Brand should only be set at the root level.');\n }\n },\n\n mounted () {\n // Store element reference\n this.elementRef = this.$el;\n\n // Setup MutationObserver to watch for contrast changes on root\n this.setupContrastObserver();\n\n // Setup MutationObserver to watch for mode changes (only if inverted)\n if (this.isInverted) {\n // Initialize the calculated mode\n this.calculatedMode = this.calculateInvertedMode();\n this.setupModeObserver();\n }\n\n // Initial contrast value\n this.currentContrast = getRootContrast();\n },\n\n beforeUnmount () {\n // Cleanup observers\n if (this.contrastObserver) {\n this.contrastObserver.disconnect();\n this.contrastObserver = null;\n }\n if (this.modeObserver) {\n this.modeObserver.disconnect();\n this.modeObserver = null;\n }\n },\n\n methods: {\n calculateInvertedMode () {\n // First check if there's a parent mode island\n if (this.parentModeIslandMode) {\n const parentMode = typeof this.parentModeIslandMode === 'function'\n ? this.parentModeIslandMode()\n : this.parentModeIslandMode;\n return getOppositeMode(parentMode);\n }\n\n // Otherwise, find the nearest parent with data-dt-mode\n if (this.elementRef) {\n const parentMode = findParentMode(this.elementRef);\n return getOppositeMode(parentMode);\n }\n\n // Default fallback\n return getOppositeMode(getRootMode());\n },\n\n setupContrastObserver () {\n this.contrastObserver = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-dt-contrast') {\n this.currentContrast = getRootContrast();\n }\n }\n });\n\n this.contrastObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['data-dt-contrast'],\n });\n },\n\n setupModeObserver () {\n const config = {\n attributes: true,\n attributeFilter: ['data-dt-mode'],\n subtree: false,\n };\n\n this.modeObserver = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-dt-mode') {\n // Recalculate and update the reactive data property\n this.calculatedMode = this.calculateInvertedMode();\n }\n }\n });\n\n // Observe root element\n this.modeObserver.observe(document.documentElement, config);\n\n // Also observe all parent elements with data-dt-mode\n let parent = this.elementRef?.parentElement;\n while (parent) {\n if (parent.hasAttribute('data-dt-mode')) {\n this.modeObserver.observe(parent, config);\n }\n parent = parent.parentElement;\n }\n },\n },\n};\n</script>\n"],"mappings":"wTAuBA,IAAK,EAAU,CACb,KAAM,eACN,aAAc,CAAE,KAAM,EAAG,CAEzB,SAAW,CACT,MAAO,CACL,qBAAwB,KAAK,aAC9B,EAGH,OAAQ,CACN,qBAAsB,CACpB,KAAM,mBACN,QAAS,KACV,CACF,CAED,MAAO,CAML,GAAI,CACF,KAAM,OACN,QAAS,MACV,CAUD,KAAM,CACJ,KAAM,OACN,QAAS,EAAA,qBAAqB,SAC9B,UAAW,EAAA,cACZ,CACF,CAED,MAAQ,CACN,MAAO,CACL,gBAAiB,EAAA,iBAAiB,CAClC,iBAAkB,KAClB,aAAc,KACd,WAAY,KACZ,eAAgB,KACjB,EAGH,SAAU,CACR,YAAc,CACZ,OAAO,KAAK,OAAS,EAAA,qBAAqB,UAG5C,mBAAqB,CACnB,OAAO,KAAK,WAAa,GAAK,MAGhC,cAAgB,CAYd,OAVI,KAAK,OAAS,EAAA,qBAAqB,OAAS,KAAK,OAAS,EAAA,qBAAqB,KAC1E,KAAK,KAIV,KAAK,OAAS,EAAA,qBAAqB,UAAY,KAAK,eAC/C,KAAK,eAIP,KAAK,uBAAuB,EAEtC,CAED,cAAgB,CAEd,GAAI,KAAK,QAAU,KAAK,OAAO,iBAC7B,MAAU,MAAM,yHAAyH,EAI7I,SAAW,CAET,KAAK,WAAa,KAAK,IAGvB,KAAK,uBAAuB,CAGxB,KAAK,aAEP,KAAK,eAAiB,KAAK,uBAAuB,CAClD,KAAK,mBAAmB,EAI1B,KAAK,gBAAkB,EAAA,iBAAiB,EAG1C,eAAiB,CAEX,KAAK,mBACP,KAAK,iBAAiB,YAAY,CAClC,KAAK,iBAAmB,MAEtB,KAAK,eACP,KAAK,aAAa,YAAY,CAC9B,KAAK,aAAe,OAIxB,QAAS,CACP,uBAAyB,CAgBvB,OAdI,KAAK,qBAIA,EAAA,gBAHY,OAAO,KAAK,sBAAyB,WACpD,KAAK,sBAAqB,CAC1B,KAAK,qBACyB,CAIhC,KAAK,WAEA,EAAA,gBADY,EAAA,eAAe,KAAK,WAAW,CAChB,CAI7B,EAAA,gBAAgB,EAAA,aAAa,CAAC,EAGvC,uBAAyB,CACvB,KAAK,iBAAmB,IAAI,iBAAkB,GAAkB,CAC9D,IAAK,IAAM,KAAY,EACjB,EAAS,OAAS,cAAgB,EAAS,gBAAkB,qBAC/D,KAAK,gBAAkB,EAAA,iBAAiB,GAG5C,CAEF,KAAK,iBAAiB,QAAQ,SAAS,gBAAiB,CACtD,WAAY,GACZ,gBAAiB,CAAC,mBAAmB,CACtC,CAAC,EAGJ,mBAAqB,CACnB,IAAM,EAAS,CACb,WAAY,GACZ,gBAAiB,CAAC,eAAe,CACjC,QAAS,GACV,CAED,KAAK,aAAe,IAAI,iBAAkB,GAAkB,CAC1D,IAAK,IAAM,KAAY,EACjB,EAAS,OAAS,cAAgB,EAAS,gBAAkB,iBAE/D,KAAK,eAAiB,KAAK,uBAAuB,GAGtD,CAGF,KAAK,aAAa,QAAQ,SAAS,gBAAiB,EAAO,CAG3D,IAAI,EAAS,KAAK,YAAY,cAC9B,KAAO,GACD,EAAO,aAAa,eAAe,EACrC,KAAK,aAAa,QAAQ,EAAQ,EAAO,CAE3C,EAAS,EAAO,eAGrB,CACF,iGAxMQ,EAAA,GAAE,CAAA,CACP,MAAM,gBACL,eAAc,EAAA,aACd,4BAA2B,EAAA,kBAC3B,mBAAkB,EAAA,4CAGX,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { t as e } from "../../_plugin-vue_export-helper-BTgDAbhb.js";
|
|
2
|
+
import { findParentMode as t, getOppositeMode as n, getRootContrast as r, getRootMode as i } from "./utils.js";
|
|
3
|
+
import { DT_MODE_ISLAND_TYPES as a } from "./mode-island-constants.js";
|
|
4
|
+
import { modeValidator as o } from "./validators.js";
|
|
5
|
+
import { createBlock as s, openBlock as c, renderSlot as l, resolveDynamicComponent as u, withCtx as d } from "vue";
|
|
6
|
+
//#region components/mode_island/mode_island.vue
|
|
7
|
+
var f = {
|
|
8
|
+
name: "DtModeIsland",
|
|
9
|
+
compatConfig: { MODE: 3 },
|
|
10
|
+
provide() {
|
|
11
|
+
return { dtModeIslandMode: () => this.computedMode };
|
|
12
|
+
},
|
|
13
|
+
inject: { parentModeIslandMode: {
|
|
14
|
+
from: "dtModeIslandMode",
|
|
15
|
+
default: null
|
|
16
|
+
} },
|
|
17
|
+
props: {
|
|
18
|
+
as: {
|
|
19
|
+
type: String,
|
|
20
|
+
default: "div"
|
|
21
|
+
},
|
|
22
|
+
mode: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: a.INVERTED,
|
|
25
|
+
validator: o
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
data() {
|
|
29
|
+
return {
|
|
30
|
+
currentContrast: r(),
|
|
31
|
+
contrastObserver: null,
|
|
32
|
+
modeObserver: null,
|
|
33
|
+
elementRef: null,
|
|
34
|
+
calculatedMode: null
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
computed: {
|
|
38
|
+
isInverted() {
|
|
39
|
+
return this.mode === a.INVERTED;
|
|
40
|
+
},
|
|
41
|
+
invertedAttribute() {
|
|
42
|
+
return this.isInverted ? "" : null;
|
|
43
|
+
},
|
|
44
|
+
computedMode() {
|
|
45
|
+
return this.mode === a.LIGHT || this.mode === a.DARK ? this.mode : this.mode === a.INVERTED && this.calculatedMode ? this.calculatedMode : this.calculateInvertedMode();
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
beforeCreate() {
|
|
49
|
+
if (this.$attrs && this.$attrs["data-dt-brand"]) throw Error("[DtModeIsland] The data-dt-brand attribute is not allowed on mode islands. Brand should only be set at the root level.");
|
|
50
|
+
},
|
|
51
|
+
mounted() {
|
|
52
|
+
this.elementRef = this.$el, this.setupContrastObserver(), this.isInverted && (this.calculatedMode = this.calculateInvertedMode(), this.setupModeObserver()), this.currentContrast = r();
|
|
53
|
+
},
|
|
54
|
+
beforeUnmount() {
|
|
55
|
+
this.contrastObserver && (this.contrastObserver.disconnect(), this.contrastObserver = null), this.modeObserver && (this.modeObserver.disconnect(), this.modeObserver = null);
|
|
56
|
+
},
|
|
57
|
+
methods: {
|
|
58
|
+
calculateInvertedMode() {
|
|
59
|
+
return this.parentModeIslandMode ? n(typeof this.parentModeIslandMode == "function" ? this.parentModeIslandMode() : this.parentModeIslandMode) : this.elementRef ? n(t(this.elementRef)) : n(i());
|
|
60
|
+
},
|
|
61
|
+
setupContrastObserver() {
|
|
62
|
+
this.contrastObserver = new MutationObserver((e) => {
|
|
63
|
+
for (let t of e) t.type === "attributes" && t.attributeName === "data-dt-contrast" && (this.currentContrast = r());
|
|
64
|
+
}), this.contrastObserver.observe(document.documentElement, {
|
|
65
|
+
attributes: !0,
|
|
66
|
+
attributeFilter: ["data-dt-contrast"]
|
|
67
|
+
});
|
|
68
|
+
},
|
|
69
|
+
setupModeObserver() {
|
|
70
|
+
let e = {
|
|
71
|
+
attributes: !0,
|
|
72
|
+
attributeFilter: ["data-dt-mode"],
|
|
73
|
+
subtree: !1
|
|
74
|
+
};
|
|
75
|
+
this.modeObserver = new MutationObserver((e) => {
|
|
76
|
+
for (let t of e) t.type === "attributes" && t.attributeName === "data-dt-mode" && (this.calculatedMode = this.calculateInvertedMode());
|
|
77
|
+
}), this.modeObserver.observe(document.documentElement, e);
|
|
78
|
+
let t = this.elementRef?.parentElement;
|
|
79
|
+
for (; t;) t.hasAttribute("data-dt-mode") && this.modeObserver.observe(t, e), t = t.parentElement;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
function p(e, t, n, r, i, a) {
|
|
84
|
+
return c(), s(u(n.as), {
|
|
85
|
+
class: "d-mode-island",
|
|
86
|
+
"data-dt-mode": a.computedMode,
|
|
87
|
+
"data-mode-island-inverted": a.invertedAttribute,
|
|
88
|
+
"data-dt-contrast": i.currentContrast
|
|
89
|
+
}, {
|
|
90
|
+
default: d(() => [l(e.$slots, "default")]),
|
|
91
|
+
_: 3
|
|
92
|
+
}, 8, [
|
|
93
|
+
"data-dt-mode",
|
|
94
|
+
"data-mode-island-inverted",
|
|
95
|
+
"data-dt-contrast"
|
|
96
|
+
]);
|
|
97
|
+
}
|
|
98
|
+
var m = /* @__PURE__ */ e(f, [["render", p]]);
|
|
99
|
+
//#endregion
|
|
100
|
+
export { m as default };
|
|
101
|
+
|
|
102
|
+
//# sourceMappingURL=mode-island.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode-island.js","names":[],"sources":["../../../components/mode_island/mode_island.vue"],"sourcesContent":["<template>\n <component\n :is=\"as\"\n class=\"d-mode-island\"\n :data-dt-mode=\"computedMode\"\n :data-mode-island-inverted=\"invertedAttribute\"\n :data-dt-contrast=\"currentContrast\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </component>\n</template>\n\n<script>\nimport { DT_MODE_ISLAND_TYPES } from './mode_island_constants';\nimport { modeValidator } from './validators';\nimport {\n getOppositeMode,\n getRootMode,\n getRootContrast,\n findParentMode,\n} from './utils';\n\nexport default {\n name: 'DtModeIsland',\n compatConfig: { MODE: 3 },\n\n provide () {\n return {\n dtModeIslandMode: () => this.computedMode,\n };\n },\n\n inject: {\n parentModeIslandMode: {\n from: 'dtModeIslandMode',\n default: null,\n },\n },\n\n props: {\n /**\n * Set this prop to render the mode island as a specific HTML element.\n * @type {String}\n * @values div, section, nav, article, aside, header, footer, main\n */\n as: {\n type: String,\n default: 'div',\n },\n\n /**\n * The mode to apply to the island.\n * - 'inverted': Opposite of parent or root mode\n * - 'light': Always light mode\n * - 'dark': Always dark mode\n * @type {String}\n * @values inverted, light, dark\n */\n mode: {\n type: String,\n default: DT_MODE_ISLAND_TYPES.INVERTED,\n validator: modeValidator,\n },\n },\n\n data () {\n return {\n currentContrast: getRootContrast(),\n contrastObserver: null,\n modeObserver: null,\n elementRef: null,\n calculatedMode: null, // Store calculated mode as reactive data\n };\n },\n\n computed: {\n isInverted () {\n return this.mode === DT_MODE_ISLAND_TYPES.INVERTED;\n },\n\n invertedAttribute () {\n return this.isInverted ? '' : null;\n },\n\n computedMode () {\n // If mode is explicitly light or dark, use it directly\n if (this.mode === DT_MODE_ISLAND_TYPES.LIGHT || this.mode === DT_MODE_ISLAND_TYPES.DARK) {\n return this.mode;\n }\n\n // If mode is inverted, use the calculated mode if available\n if (this.mode === DT_MODE_ISLAND_TYPES.INVERTED && this.calculatedMode) {\n return this.calculatedMode;\n }\n\n // Otherwise calculate it now\n return this.calculateInvertedMode();\n },\n },\n\n beforeCreate () {\n // Throw error if data-dt-brand is manually set\n if (this.$attrs && this.$attrs['data-dt-brand']) {\n throw new Error('[DtModeIsland] The data-dt-brand attribute is not allowed on mode islands. Brand should only be set at the root level.');\n }\n },\n\n mounted () {\n // Store element reference\n this.elementRef = this.$el;\n\n // Setup MutationObserver to watch for contrast changes on root\n this.setupContrastObserver();\n\n // Setup MutationObserver to watch for mode changes (only if inverted)\n if (this.isInverted) {\n // Initialize the calculated mode\n this.calculatedMode = this.calculateInvertedMode();\n this.setupModeObserver();\n }\n\n // Initial contrast value\n this.currentContrast = getRootContrast();\n },\n\n beforeUnmount () {\n // Cleanup observers\n if (this.contrastObserver) {\n this.contrastObserver.disconnect();\n this.contrastObserver = null;\n }\n if (this.modeObserver) {\n this.modeObserver.disconnect();\n this.modeObserver = null;\n }\n },\n\n methods: {\n calculateInvertedMode () {\n // First check if there's a parent mode island\n if (this.parentModeIslandMode) {\n const parentMode = typeof this.parentModeIslandMode === 'function'\n ? this.parentModeIslandMode()\n : this.parentModeIslandMode;\n return getOppositeMode(parentMode);\n }\n\n // Otherwise, find the nearest parent with data-dt-mode\n if (this.elementRef) {\n const parentMode = findParentMode(this.elementRef);\n return getOppositeMode(parentMode);\n }\n\n // Default fallback\n return getOppositeMode(getRootMode());\n },\n\n setupContrastObserver () {\n this.contrastObserver = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-dt-contrast') {\n this.currentContrast = getRootContrast();\n }\n }\n });\n\n this.contrastObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['data-dt-contrast'],\n });\n },\n\n setupModeObserver () {\n const config = {\n attributes: true,\n attributeFilter: ['data-dt-mode'],\n subtree: false,\n };\n\n this.modeObserver = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-dt-mode') {\n // Recalculate and update the reactive data property\n this.calculatedMode = this.calculateInvertedMode();\n }\n }\n });\n\n // Observe root element\n this.modeObserver.observe(document.documentElement, config);\n\n // Also observe all parent elements with data-dt-mode\n let parent = this.elementRef?.parentElement;\n while (parent) {\n if (parent.hasAttribute('data-dt-mode')) {\n this.modeObserver.observe(parent, config);\n }\n parent = parent.parentElement;\n }\n },\n },\n};\n</script>\n"],"mappings":";;;;;;AAuBA,IAAK,IAAU;CACb,MAAM;CACN,cAAc,EAAE,MAAM,GAAG;CAEzB,UAAW;AACT,SAAO,EACL,wBAAwB,KAAK,cAC9B;;CAGH,QAAQ,EACN,sBAAsB;EACpB,MAAM;EACN,SAAS;EACV,EACF;CAED,OAAO;EAML,IAAI;GACF,MAAM;GACN,SAAS;GACV;EAUD,MAAM;GACJ,MAAM;GACN,SAAS,EAAqB;GAC9B,WAAW;GACZ;EACF;CAED,OAAQ;AACN,SAAO;GACL,iBAAiB,GAAiB;GAClC,kBAAkB;GAClB,cAAc;GACd,YAAY;GACZ,gBAAgB;GACjB;;CAGH,UAAU;EACR,aAAc;AACZ,UAAO,KAAK,SAAS,EAAqB;;EAG5C,oBAAqB;AACnB,UAAO,KAAK,aAAa,KAAK;;EAGhC,eAAgB;AAYd,UAVI,KAAK,SAAS,EAAqB,SAAS,KAAK,SAAS,EAAqB,OAC1E,KAAK,OAIV,KAAK,SAAS,EAAqB,YAAY,KAAK,iBAC/C,KAAK,iBAIP,KAAK,uBAAuB;;EAEtC;CAED,eAAgB;AAEd,MAAI,KAAK,UAAU,KAAK,OAAO,iBAC7B,OAAU,MAAM,yHAAyH;;CAI7I,UAAW;AAeT,EAbA,KAAK,aAAa,KAAK,KAGvB,KAAK,uBAAuB,EAGxB,KAAK,eAEP,KAAK,iBAAiB,KAAK,uBAAuB,EAClD,KAAK,mBAAmB,GAI1B,KAAK,kBAAkB,GAAiB;;CAG1C,gBAAiB;AAMf,EAJI,KAAK,qBACP,KAAK,iBAAiB,YAAY,EAClC,KAAK,mBAAmB,OAEtB,KAAK,iBACP,KAAK,aAAa,YAAY,EAC9B,KAAK,eAAe;;CAIxB,SAAS;EACP,wBAAyB;AAgBvB,UAdI,KAAK,uBAIA,EAHY,OAAO,KAAK,wBAAyB,aACpD,KAAK,sBAAqB,GAC1B,KAAK,qBACyB,GAIhC,KAAK,aAEA,EADY,EAAe,KAAK,WAAW,CAChB,GAI7B,EAAgB,GAAa,CAAC;;EAGvC,wBAAyB;AASvB,GARA,KAAK,mBAAmB,IAAI,kBAAkB,MAAkB;AAC9D,SAAK,IAAM,KAAY,EACrB,CAAI,EAAS,SAAS,gBAAgB,EAAS,kBAAkB,uBAC/D,KAAK,kBAAkB,GAAiB;KAG5C,EAEF,KAAK,iBAAiB,QAAQ,SAAS,iBAAiB;IACtD,YAAY;IACZ,iBAAiB,CAAC,mBAAmB;IACtC,CAAC;;EAGJ,oBAAqB;GACnB,IAAM,IAAS;IACb,YAAY;IACZ,iBAAiB,CAAC,eAAe;IACjC,SAAS;IACV;AAYD,GAVA,KAAK,eAAe,IAAI,kBAAkB,MAAkB;AAC1D,SAAK,IAAM,KAAY,EACrB,CAAI,EAAS,SAAS,gBAAgB,EAAS,kBAAkB,mBAE/D,KAAK,iBAAiB,KAAK,uBAAuB;KAGtD,EAGF,KAAK,aAAa,QAAQ,SAAS,iBAAiB,EAAO;GAG3D,IAAI,IAAS,KAAK,YAAY;AAC9B,UAAO,GAIL,CAHI,EAAO,aAAa,eAAe,IACrC,KAAK,aAAa,QAAQ,GAAQ,EAAO,EAE3C,IAAS,EAAO;;EAGrB;CACF;;aAzMC,EASY,EARL,EAAA,GAAE,EAAA;EACP,OAAM;EACL,gBAAc,EAAA;EACd,6BAA2B,EAAA;EAC3B,oBAAkB,EAAA;;mBAGX,CAAR,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});function e(e){return e===`light`?`dark`:`light`}function t(){return document.documentElement.getAttribute(`data-dt-mode`)||`light`}function n(){return document.documentElement.getAttribute(`data-dt-contrast`)||`default`}function r(e){let n=e?.parentElement;for(;n&&n!==document.documentElement;){if(n.hasAttribute(`data-dt-mode`))return n.getAttribute(`data-dt-mode`);n=n.parentElement}return t()}var i={getOppositeMode:e,getRootMode:t,getRootContrast:n,findParentMode:r};exports.default=i,exports.findParentMode=r,exports.getOppositeMode=e,exports.getRootContrast=n,exports.getRootMode=t;
|
|
2
|
+
//# sourceMappingURL=utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.cjs","names":[],"sources":["../../../components/mode_island/utils.js"],"sourcesContent":["/**\n * Get the opposite mode (light <-> dark)\n * @param {string} currentMode - The current mode\n * @returns {string} The opposite mode\n */\nexport function getOppositeMode (currentMode) {\n return currentMode === 'light' ? 'dark' : 'light';\n}\n\n/**\n * Get the mode from the root HTML element\n * @returns {string} The root mode or 'light' as default\n */\nexport function getRootMode () {\n const rootMode = document.documentElement.getAttribute('data-dt-mode');\n return rootMode || 'light';\n}\n\n/**\n * Get the contrast from the root HTML element\n * @returns {string} The root contrast or 'default' as default\n */\nexport function getRootContrast () {\n const rootContrast = document.documentElement.getAttribute('data-dt-contrast');\n return rootContrast || 'default';\n}\n\n/**\n * Find the mode from the nearest parent element with data-dt-mode attribute\n * @param {HTMLElement} el - The starting element\n * @returns {string} The parent mode or root mode\n */\nexport function findParentMode (el) {\n let parent = el?.parentElement;\n while (parent && parent !== document.documentElement) {\n if (parent.hasAttribute('data-dt-mode')) {\n return parent.getAttribute('data-dt-mode');\n }\n parent = parent.parentElement;\n }\n return getRootMode();\n}\n\nexport default {\n getOppositeMode,\n getRootMode,\n getRootContrast,\n findParentMode,\n};"],"mappings":"+FAKA,SAAgB,EAAiB,EAAa,CAC5C,OAAO,IAAgB,QAAU,OAAS,QAO5C,SAAgB,GAAe,CAE7B,OADiB,SAAS,gBAAgB,aAAa,eAAe,EACnD,QAOrB,SAAgB,GAAmB,CAEjC,OADqB,SAAS,gBAAgB,aAAa,mBAAmB,EACvD,UAQzB,SAAgB,EAAgB,EAAI,CAClC,IAAI,EAAS,GAAI,cACjB,KAAO,GAAU,IAAW,SAAS,iBAAiB,CACpD,GAAI,EAAO,aAAa,eAAe,CACrC,OAAO,EAAO,aAAa,eAAe,CAE5C,EAAS,EAAO,cAElB,OAAO,GAAa,CAGtB,IAAA,EAAe,CACb,kBACA,cACA,kBACA,iBACD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
//#region components/mode_island/utils.js
|
|
2
|
+
function e(e) {
|
|
3
|
+
return e === "light" ? "dark" : "light";
|
|
4
|
+
}
|
|
5
|
+
function t() {
|
|
6
|
+
return document.documentElement.getAttribute("data-dt-mode") || "light";
|
|
7
|
+
}
|
|
8
|
+
function n() {
|
|
9
|
+
return document.documentElement.getAttribute("data-dt-contrast") || "default";
|
|
10
|
+
}
|
|
11
|
+
function r(e) {
|
|
12
|
+
let n = e?.parentElement;
|
|
13
|
+
for (; n && n !== document.documentElement;) {
|
|
14
|
+
if (n.hasAttribute("data-dt-mode")) return n.getAttribute("data-dt-mode");
|
|
15
|
+
n = n.parentElement;
|
|
16
|
+
}
|
|
17
|
+
return t();
|
|
18
|
+
}
|
|
19
|
+
var i = {
|
|
20
|
+
getOppositeMode: e,
|
|
21
|
+
getRootMode: t,
|
|
22
|
+
getRootContrast: n,
|
|
23
|
+
findParentMode: r
|
|
24
|
+
};
|
|
25
|
+
//#endregion
|
|
26
|
+
export { i as default, r as findParentMode, e as getOppositeMode, n as getRootContrast, t as getRootMode };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../../components/mode_island/utils.js"],"sourcesContent":["/**\n * Get the opposite mode (light <-> dark)\n * @param {string} currentMode - The current mode\n * @returns {string} The opposite mode\n */\nexport function getOppositeMode (currentMode) {\n return currentMode === 'light' ? 'dark' : 'light';\n}\n\n/**\n * Get the mode from the root HTML element\n * @returns {string} The root mode or 'light' as default\n */\nexport function getRootMode () {\n const rootMode = document.documentElement.getAttribute('data-dt-mode');\n return rootMode || 'light';\n}\n\n/**\n * Get the contrast from the root HTML element\n * @returns {string} The root contrast or 'default' as default\n */\nexport function getRootContrast () {\n const rootContrast = document.documentElement.getAttribute('data-dt-contrast');\n return rootContrast || 'default';\n}\n\n/**\n * Find the mode from the nearest parent element with data-dt-mode attribute\n * @param {HTMLElement} el - The starting element\n * @returns {string} The parent mode or root mode\n */\nexport function findParentMode (el) {\n let parent = el?.parentElement;\n while (parent && parent !== document.documentElement) {\n if (parent.hasAttribute('data-dt-mode')) {\n return parent.getAttribute('data-dt-mode');\n }\n parent = parent.parentElement;\n }\n return getRootMode();\n}\n\nexport default {\n getOppositeMode,\n getRootMode,\n getRootContrast,\n findParentMode,\n};"],"mappings":";AAKA,SAAgB,EAAiB,GAAa;AAC5C,QAAO,MAAgB,UAAU,SAAS;;AAO5C,SAAgB,IAAe;AAE7B,QADiB,SAAS,gBAAgB,aAAa,eAAe,IACnD;;AAOrB,SAAgB,IAAmB;AAEjC,QADqB,SAAS,gBAAgB,aAAa,mBAAmB,IACvD;;AAQzB,SAAgB,EAAgB,GAAI;CAClC,IAAI,IAAS,GAAI;AACjB,QAAO,KAAU,MAAW,SAAS,kBAAiB;AACpD,MAAI,EAAO,aAAa,eAAe,CACrC,QAAO,EAAO,aAAa,eAAe;AAE5C,MAAS,EAAO;;AAElB,QAAO,GAAa;;AAGtB,IAAA,IAAe;CACb;CACA;CACA;CACA;CACD"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./mode-island-constants.cjs`);function t(t){return Object.values(e.DT_MODE_ISLAND_TYPES).includes(t)}var n={modeValidator:t};exports.default=n,exports.modeValidator=t;
|
|
2
|
+
//# sourceMappingURL=validators.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.cjs","names":["DT_MODE_ISLAND_TYPES"],"sources":["../../../components/mode_island/validators.js"],"sourcesContent":["import { DT_MODE_ISLAND_TYPES } from './mode_island_constants';\n\nexport function modeValidator (mode) {\n return Object.values(DT_MODE_ISLAND_TYPES).includes(mode);\n}\n\nexport default {\n modeValidator,\n};"],"mappings":"8IAEA,SAAgB,EAAe,EAAM,CACnC,OAAO,OAAO,OAAOA,EAAAA,qBAAqB,CAAC,SAAS,EAAK,CAG3D,IAAA,EAAe,CACb,gBACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DT_MODE_ISLAND_TYPES as e } from "./mode-island-constants.js";
|
|
2
|
+
//#region components/mode_island/validators.js
|
|
3
|
+
function t(t) {
|
|
4
|
+
return Object.values(e).includes(t);
|
|
5
|
+
}
|
|
6
|
+
var n = { modeValidator: t };
|
|
7
|
+
//#endregion
|
|
8
|
+
export { n as default, t as modeValidator };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","names":[],"sources":["../../../components/mode_island/validators.js"],"sourcesContent":["import { DT_MODE_ISLAND_TYPES } from './mode_island_constants';\n\nexport function modeValidator (mode) {\n return Object.values(DT_MODE_ISLAND_TYPES).includes(mode);\n}\n\nexport default {\n modeValidator,\n};"],"mappings":";;AAEA,SAAgB,EAAe,GAAM;AACnC,QAAO,OAAO,OAAO,EAAqB,CAAC,SAAS,EAAK;;AAG3D,IAAA,IAAe,EACb,kBACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e=[`gradient-in`,`fade-in`,`slide-in`,`gradient-sweep`,`shimmer`,`none`],t=[`
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e=[`gradient-in`,`fade-in`,`slide-in`,`gradient-sweep`,`shimmer`,`none`],t=[`100`,`200`,`300`,`400`,`500`],n={100:{characterDelay:10,wordDelay:15,duration:300},200:{characterDelay:20,wordDelay:30,duration:600},300:{characterDelay:30,wordDelay:50,duration:1e3},400:{characterDelay:50,wordDelay:100,duration:1500},500:{characterDelay:80,wordDelay:180,duration:2100}},r={MOTION_TEXT_ANIMATION_MODES:e,MOTION_TEXT_SPEEDS:t,MOTION_TEXT_TIMING_PRESETS:n};exports.MOTION_TEXT_ANIMATION_MODES=e,exports.MOTION_TEXT_SPEEDS=t,exports.MOTION_TEXT_TIMING_PRESETS=n,exports.default=r;
|
|
2
2
|
//# sourceMappingURL=motion-text-constants.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion-text-constants.cjs","names":[],"sources":["../../../components/motion_text/motion_text_constants.js"],"sourcesContent":["// Animation mode options\nexport const MOTION_TEXT_ANIMATION_MODES = [\n 'gradient-in',\n 'fade-in',\n 'slide-in',\n 'gradient-sweep',\n 'shimmer',\n 'none',\n];\n\n// Speed options
|
|
1
|
+
{"version":3,"file":"motion-text-constants.cjs","names":[],"sources":["../../../components/motion_text/motion_text_constants.js"],"sourcesContent":["// Animation mode options\nexport const MOTION_TEXT_ANIMATION_MODES = [\n 'gradient-in',\n 'fade-in',\n 'slide-in',\n 'gradient-sweep',\n 'shimmer',\n 'none',\n];\n\n// Speed options\nexport const MOTION_TEXT_SPEEDS = ['100', '200', '300', '400', '500'];\n\n// Timing presets based on speed\nexport const MOTION_TEXT_TIMING_PRESETS = {\n 100: {\n characterDelay: 10,\n wordDelay: 15,\n duration: 300,\n },\n 200: {\n characterDelay: 20,\n wordDelay: 30,\n duration: 600,\n },\n 300: {\n characterDelay: 30,\n wordDelay: 50,\n duration: 1000,\n },\n 400: {\n characterDelay: 50,\n wordDelay: 100,\n duration: 1500,\n },\n 500: {\n characterDelay: 80,\n wordDelay: 180,\n duration: 2100,\n },\n};\n\nexport default {\n MOTION_TEXT_ANIMATION_MODES,\n MOTION_TEXT_SPEEDS,\n MOTION_TEXT_TIMING_PRESETS,\n};\n"],"mappings":"+FACA,IAAa,EAA8B,CACzC,cACA,UACA,WACA,iBACA,UACA,OACD,CAGY,EAAqB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAM,CAGxD,EAA6B,CACxC,IAAK,CACH,eAAgB,GAChB,UAAW,GACX,SAAU,IACX,CACD,IAAK,CACH,eAAgB,GAChB,UAAW,GACX,SAAU,IACX,CACD,IAAK,CACH,eAAgB,GAChB,UAAW,GACX,SAAU,IACX,CACD,IAAK,CACH,eAAgB,GAChB,UAAW,IACX,SAAU,KACX,CACD,IAAK,CACH,eAAgB,GAChB,UAAW,IACX,SAAU,KACX,CACF,CAED,EAAe,CACb,8BACA,qBACA,6BACD"}
|
|
@@ -7,24 +7,36 @@ var e = [
|
|
|
7
7
|
"shimmer",
|
|
8
8
|
"none"
|
|
9
9
|
], t = [
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
10
|
+
"100",
|
|
11
|
+
"200",
|
|
12
|
+
"300",
|
|
13
|
+
"400",
|
|
14
|
+
"500"
|
|
13
15
|
], n = {
|
|
14
|
-
|
|
16
|
+
100: {
|
|
17
|
+
characterDelay: 10,
|
|
18
|
+
wordDelay: 15,
|
|
19
|
+
duration: 300
|
|
20
|
+
},
|
|
21
|
+
200: {
|
|
15
22
|
characterDelay: 20,
|
|
16
23
|
wordDelay: 30,
|
|
17
24
|
duration: 600
|
|
18
25
|
},
|
|
19
|
-
|
|
26
|
+
300: {
|
|
20
27
|
characterDelay: 30,
|
|
21
28
|
wordDelay: 50,
|
|
22
29
|
duration: 1e3
|
|
23
30
|
},
|
|
24
|
-
|
|
31
|
+
400: {
|
|
25
32
|
characterDelay: 50,
|
|
26
33
|
wordDelay: 100,
|
|
27
34
|
duration: 1500
|
|
35
|
+
},
|
|
36
|
+
500: {
|
|
37
|
+
characterDelay: 80,
|
|
38
|
+
wordDelay: 180,
|
|
39
|
+
duration: 2100
|
|
28
40
|
}
|
|
29
41
|
}, r = {
|
|
30
42
|
MOTION_TEXT_ANIMATION_MODES: e,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion-text-constants.js","names":[],"sources":["../../../components/motion_text/motion_text_constants.js"],"sourcesContent":["// Animation mode options\nexport const MOTION_TEXT_ANIMATION_MODES = [\n 'gradient-in',\n 'fade-in',\n 'slide-in',\n 'gradient-sweep',\n 'shimmer',\n 'none',\n];\n\n// Speed options
|
|
1
|
+
{"version":3,"file":"motion-text-constants.js","names":[],"sources":["../../../components/motion_text/motion_text_constants.js"],"sourcesContent":["// Animation mode options\nexport const MOTION_TEXT_ANIMATION_MODES = [\n 'gradient-in',\n 'fade-in',\n 'slide-in',\n 'gradient-sweep',\n 'shimmer',\n 'none',\n];\n\n// Speed options\nexport const MOTION_TEXT_SPEEDS = ['100', '200', '300', '400', '500'];\n\n// Timing presets based on speed\nexport const MOTION_TEXT_TIMING_PRESETS = {\n 100: {\n characterDelay: 10,\n wordDelay: 15,\n duration: 300,\n },\n 200: {\n characterDelay: 20,\n wordDelay: 30,\n duration: 600,\n },\n 300: {\n characterDelay: 30,\n wordDelay: 50,\n duration: 1000,\n },\n 400: {\n characterDelay: 50,\n wordDelay: 100,\n duration: 1500,\n },\n 500: {\n characterDelay: 80,\n wordDelay: 180,\n duration: 2100,\n },\n};\n\nexport default {\n MOTION_TEXT_ANIMATION_MODES,\n MOTION_TEXT_SPEEDS,\n MOTION_TEXT_TIMING_PRESETS,\n};\n"],"mappings":";AACA,IAAa,IAA8B;CACzC;CACA;CACA;CACA;CACA;CACA;CACD,EAGY,IAAqB;CAAC;CAAO;CAAO;CAAO;CAAO;CAAM,EAGxD,IAA6B;CACxC,KAAK;EACH,gBAAgB;EAChB,WAAW;EACX,UAAU;EACX;CACD,KAAK;EACH,gBAAgB;EAChB,WAAW;EACX,UAAU;EACX;CACD,KAAK;EACH,gBAAgB;EAChB,WAAW;EACX,UAAU;EACX;CACD,KAAK;EACH,gBAAgB;EAChB,WAAW;EACX,UAAU;EACX;CACD,KAAK;EACH,gBAAgB;EAChB,WAAW;EACX,UAAU;EACX;CACF,EAED,IAAe;CACb;CACA;CACA;CACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),t=require(`./motion-text-constants.cjs`);let n=require(`vue`);var r={compatConfig:{MODE:3},name:`DtMotionText`,
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),t=require(`./motion-text-constants.cjs`);let n=require(`vue`);var r={compatConfig:{MODE:3},name:`DtMotionText`,props:{text:{type:String,default:``},animationMode:{type:String,default:`gradient-in`,validator:e=>t.MOTION_TEXT_ANIMATION_MODES.includes(e)},speed:{type:[String,Number],default:300,validator:e=>t.MOTION_TEXT_SPEEDS.includes(String(e))},autoStart:{type:Boolean,default:!0},loop:{type:Boolean,default:!1},respectsReducedMotion:{type:Boolean,default:!0},screenReaderText:{type:String,default:``}},emits:[`start`,`complete`,`progress`,`pause`,`resume`],data(){return{words:[],visibleWordCount:0,visibleCharsPerWord:[],isAnimating:!1,isPaused:!1,isLooped:!1,animationTimeouts:[],prefersReducedMotion:!1,animationKey:0}},computed:{timing(){return t.MOTION_TEXT_TIMING_PRESETS[String(this.speed)]},componentStyles(){return{"--d-motion-text-duration":`${this.timing.duration}ms`,"--d-motion-text-char-duration":`${this.timing.duration}ms`,"--d-motion-text-word-duration":`${this.timing.duration*2}ms`}},isStaticAnimationMode(){return this.animationMode===`gradient-sweep`||this.animationMode===`shimmer`},motionTextClasses(){return[`d-motion-text`,`d-motion-text--${this.animationMode}`,{"d-motion-text--animating":this.isAnimating,"d-motion-text--paused":this.isPaused,"d-motion-text--looped":this.isLooped}]}},watch:{text(){this.reset(),this.initializeContent()},loop:{handler(e){this.isLooped=e},immediate:!0}},mounted(){this.checkReducedMotion(),this.initializeContent()},beforeUnmount(){this.clearTimeouts()},methods:{processTextToChars(e){let t=[],n=(e,r=0)=>{if(e.nodeType===Node.TEXT_NODE){let n=e.textContent?.match(/\S+\s*/g)||[];return t.push(...n.map((e,t)=>({text:e,chars:e.split(``),index:r+t}))),r+n.length}else if(e.nodeType===Node.ELEMENT_NODE){let t=r;return Array.from(e.childNodes).forEach(e=>{t=n(e,t)}),t}return r};return n(e),t},processDirectText(e){return e?(e.match(/\S+\s*/g)||[]).map((e,t)=>({text:e,chars:e.split(``),index:t})):[]},checkReducedMotion(){typeof window<`u`&&window.matchMedia&&(this.prefersReducedMotion=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)},clearTimeouts(){this.animationTimeouts.forEach(e=>clearTimeout(e)),this.animationTimeouts=[]},start(){if(!this.isAnimating){if(this.isAnimating=!0,this.isPaused=!1,this.$emit(`start`),this.respectsReducedMotion&&this.prefersReducedMotion){this.showAllContent();return}if(this.animationMode===`none`){this.showAllContent();return}this.isStaticAnimationMode||this.showNextWord()}},pause(){!this.isAnimating||this.isPaused||(this.isPaused=!0,this.clearTimeouts(),this.$emit(`pause`))},resume(){this.isPaused&&(this.isPaused=!1,this.$emit(`resume`),this.showNextWord())},reset(){this.clearTimeouts(),this.isAnimating=!1,this.isPaused=!1,this.visibleWordCount=0,this.visibleCharsPerWord=Array(this.words.length).fill(0),this.animationKey++},skipToEnd(){this.showAllContent()},showAllContent(){this.visibleWordCount=this.words.length,this.visibleCharsPerWord=this.words.map(e=>e.chars.length),setTimeout(()=>{this.isAnimating=!1,this.$emit(`complete`)},0)},showNextWord(){if(this.isPaused||this.visibleWordCount>=this.words.length){this.visibleWordCount>=this.words.length&&this.completeAnimation();return}let e=setTimeout(()=>{this.visibleWordCount++,this.$emit(`progress`,{wordsComplete:this.visibleWordCount,totalWords:this.words.length,progress:this.visibleWordCount/this.words.length}),this.animateCharsForWord(this.visibleWordCount-1)},this.timing.wordDelay);this.animationTimeouts.push(e)},animateCharsForWord(e){if(this.isPaused||e>=this.words.length)return;this.visibleCharsPerWord[e]=0;let t=this.words[e].chars.length,n=()=>{if(this.isPaused||this.visibleCharsPerWord[e]>=t){this.visibleCharsPerWord[e]>=t&&this.showNextWord();return}this.visibleCharsPerWord[e]++;let r=setTimeout(n,this.timing.characterDelay);this.animationTimeouts.push(r)};n()},completeAnimation(){if(this.isAnimating=!1,this.clearTimeouts(),this.$emit(`complete`),this.loop){let e=setTimeout(()=>{this.reset(),this.$nextTick(()=>{this.start()})},500);this.animationTimeouts.push(e)}},initializeContent(){if(this.isStaticAnimationMode){this.autoStart&&this.$nextTick(()=>this.start());return}this.text?this.words=this.processDirectText(this.text):this.$refs.contentRef&&(this.words=this.processTextToChars(this.$refs.contentRef)),this.visibleCharsPerWord=Array(this.words.length).fill(0),this.visibleWordCount=0,this.autoStart&&this.words.length>0&&this.$nextTick(()=>this.start())}}},i=[`data-text-content`,`aria-live`,`aria-label`],a={key:0,class:`d-motion-text__sr-only`},o=[`aria-hidden`],s=[`data-text-content`],c={key:3,class:`d-motion-text__fallback`};function l(e,t,r,l,u,d){return(0,n.openBlock)(),(0,n.createElementBlock)(`span`,{ref:`contentRef`,class:(0,n.normalizeClass)(d.motionTextClasses),style:(0,n.normalizeStyle)(d.componentStyles),"data-text-content":d.isStaticAnimationMode?r.text:void 0,"aria-live":u.isAnimating?`polite`:`off`,"aria-label":r.screenReaderText||void 0},[r.screenReaderText?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,a,(0,n.toDisplayString)(r.screenReaderText),1)):(0,n.createCommentVNode)(``,!0),d.isStaticAnimationMode?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createTextVNode)((0,n.toDisplayString)(r.text)+` `,1),r.text?(0,n.createCommentVNode)(``,!0):(0,n.renderSlot)(e.$slots,`default`,{key:0})],64)):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:u.animationKey,class:`d-motion-text__content`,"aria-hidden":u.isAnimating},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(u.words,(e,t)=>((0,n.openBlock)(),(0,n.createBlock)(n.Transition,{key:`${u.animationKey}-${t}`,name:`d-motion-text-word-${r.animationMode}`},{default:(0,n.withCtx)(()=>[t<u.visibleWordCount?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:0,class:`d-motion-text__word`,"data-text-content":e.text,style:(0,n.normalizeStyle)({"--word-index":t})},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.chars,(e,i)=>((0,n.openBlock)(),(0,n.createBlock)(n.Transition,{key:`${u.animationKey}-${t}-${i}`,name:`d-motion-text-char-${r.animationMode}`},{default:(0,n.withCtx)(()=>[i<u.visibleCharsPerWord[t]?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:0,class:`d-motion-text__char`,style:(0,n.normalizeStyle)({"--char-index":i,"--char-delay":`${i*d.timing.characterDelay}ms`})},(0,n.toDisplayString)(e),5)):(0,n.createCommentVNode)(``,!0)]),_:2},1032,[`name`]))),128))],12,s)):(0,n.createCommentVNode)(``,!0)]),_:2},1032,[`name`]))),128))],8,o)),!u.words.length&&!r.text&&!d.isStaticAnimationMode?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,c,[(0,n.renderSlot)(e.$slots,`default`)])):(0,n.createCommentVNode)(``,!0)],14,i)}var u=e.t(r,[[`render`,l]]);exports.default=u;
|
|
2
2
|
//# sourceMappingURL=motion-text.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion-text.cjs","names":[],"sources":["../../../components/motion_text/motion_text.vue"],"sourcesContent":["<template>\n <span\n ref=\"contentRef\"\n :class=\"motionTextClasses\"\n :style=\"componentStyles\"\n :data-text-content=\"isStaticAnimationMode ? text : undefined\"\n :aria-live=\"isAnimating ? 'polite' : 'off'\"\n :aria-label=\"screenReaderText || undefined\"\n >\n <!-- Screen reader content -->\n <span\n v-if=\"screenReaderText\"\n class=\"d-motion-text__sr-only\"\n >\n {{ screenReaderText }}\n </span>\n\n <!-- Gradient-sweep and shimmer modes: Simple static text with gradient animation -->\n <template v-if=\"isStaticAnimationMode\">\n {{ text }}\n <slot v-if=\"!text\" />\n </template>\n\n <!-- Character-by-character animated content for other modes -->\n <span\n v-else\n :key=\"animationKey\"\n class=\"d-motion-text__content\"\n :aria-hidden=\"isAnimating\"\n >\n <template\n v-for=\"(word, wordIdx) in words\"\n :key=\"`${animationKey}-${wordIdx}`\"\n >\n <Transition\n :name=\"`d-motion-text-word-${animationMode}`\"\n >\n <span\n v-if=\"wordIdx < visibleWordCount\"\n class=\"d-motion-text__word\"\n :data-text-content=\"word.text\"\n :style=\"{ '--word-index': wordIdx }\"\n >\n <template\n v-for=\"(char, charIdx) in word.chars\"\n :key=\"`${animationKey}-${wordIdx}-${charIdx}`\"\n >\n <Transition\n :name=\"`d-motion-text-char-${animationMode}`\"\n >\n <span\n v-if=\"charIdx < visibleCharsPerWord[wordIdx]\"\n class=\"d-motion-text__char\"\n :style=\"{\n '--char-index': charIdx,\n '--char-delay': `${charIdx * timing.characterDelay}ms`,\n }\"\n >{{ char }}</span>\n </Transition>\n </template>\n </span>\n </Transition>\n </template>\n </span>\n\n <!-- Fallback slot content -->\n <span\n v-if=\"!words.length && !text && !isStaticAnimationMode\"\n class=\"d-motion-text__fallback\"\n >\n <slot />\n </span>\n </span>\n</template>\n\n<script>\nimport { MOTION_TEXT_ANIMATION_MODES, MOTION_TEXT_SPEEDS, MOTION_TEXT_TIMING_PRESETS } from './motion_text_constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtMotionText',\n\n inheritAttrs: false,\n\n props: {\n /**\n * The text content to animate.\n * @type {string}\n */\n text: {\n type: String,\n default: '',\n },\n\n /**\n * The animation mode to use for the text reveal.\n * @values gradient-in, fade-in, slide-in, gradient-sweep, shimmer, none\n */\n animationMode: {\n type: String,\n default: 'gradient-in',\n validator: (value) => MOTION_TEXT_ANIMATION_MODES.includes(value),\n },\n\n /**\n * Animation speed using t-shirt sizing.\n * @values sm, md, lg\n */\n speed: {\n type: String,\n default: 'md',\n validator: (value) => MOTION_TEXT_SPEEDS.includes(value),\n },\n\n /**\n * Whether to start animation automatically when component is mounted.\n * @values true, false\n */\n autoStart: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to loop the animation continuously.\n * @values true, false\n */\n loop: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to respect the user's prefers-reduced-motion system setting.\n * @values true, false\n */\n respectsReducedMotion: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Alternative text for screen readers. If provided, this will be announced\n * instead of the animated text.\n * @type {string}\n */\n screenReaderText: {\n type: String,\n default: '',\n },\n },\n\n emits: [\n /**\n * Emitted when the animation starts.\n * @event start\n */\n 'start',\n\n /**\n * Emitted when the animation completes.\n * @event complete\n */\n 'complete',\n\n /**\n * Emitted during animation progress.\n * @event progress\n * @type {{ wordsComplete: number, totalWords: number, progress: number }}\n */\n 'progress',\n\n /**\n * Emitted when the animation is paused.\n * @event pause\n */\n 'pause',\n\n /**\n * Emitted when the animation resumes.\n * @event resume\n */\n 'resume',\n ],\n\n data () {\n return {\n words: [],\n visibleWordCount: 0,\n visibleCharsPerWord: [],\n isAnimating: false,\n isPaused: false,\n isLooped: false,\n animationTimeouts: [],\n prefersReducedMotion: false,\n animationKey: 0,\n };\n },\n\n computed: {\n /**\n * Get timing preset based on speed prop\n */\n timing () {\n return MOTION_TEXT_TIMING_PRESETS[this.speed];\n },\n\n /**\n * Computed styles with timing CSS variables\n */\n componentStyles () {\n return {\n '--d-motion-text-duration': `${this.timing.duration}ms`,\n '--d-motion-text-char-duration': `${this.timing.duration}ms`,\n '--d-motion-text-word-duration': `${this.timing.duration * 2}ms`,\n };\n },\n\n /**\n * Check if current animation mode is static (gradient-sweep or shimmer)\n */\n isStaticAnimationMode () {\n return this.animationMode === 'gradient-sweep' || this.animationMode === 'shimmer';\n },\n\n /**\n * Computed classes for the motion text element\n */\n motionTextClasses () {\n return [\n 'd-motion-text',\n `d-motion-text--${this.animationMode}`,\n {\n 'd-motion-text--animating': this.isAnimating,\n 'd-motion-text--paused': this.isPaused,\n 'd-motion-text--looped': this.isLooped,\n },\n this.$attrs.class,\n ];\n },\n },\n\n watch: {\n text () {\n this.reset();\n this.initializeContent();\n },\n\n loop: {\n handler (newVal) {\n this.isLooped = newVal;\n },\n\n immediate: true,\n },\n },\n\n mounted () {\n this.checkReducedMotion();\n this.initializeContent();\n },\n\n beforeUnmount () {\n this.clearTimeouts();\n },\n\n methods: {\n /**\n * Self-contained text processing from DOM nodes\n */\n processTextToChars (node) {\n const words = [];\n\n const processNode = (node, index = 0) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const matches = node.textContent?.match(/\\S+\\s*/g) || [];\n words.push(...matches.map((text, i) => ({\n text,\n chars: text.split(''),\n index: index + i,\n })));\n return index + matches.length;\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n let currentIdx = index;\n Array.from(node.childNodes).forEach(child => {\n currentIdx = processNode(child, currentIdx);\n });\n return currentIdx;\n }\n return index;\n };\n\n processNode(node);\n return words;\n },\n\n /**\n * Process direct text prop into word/character data\n */\n processDirectText (text) {\n if (!text) return [];\n\n const matches = text.match(/\\S+\\s*/g) || [];\n return matches.map((wordText, i) => ({\n text: wordText,\n chars: wordText.split(''),\n index: i,\n }));\n },\n\n /**\n * Check for reduced motion preference\n */\n checkReducedMotion () {\n if (typeof window !== 'undefined' && window.matchMedia) {\n this.prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n },\n\n /**\n * Clear all animation timeouts\n */\n clearTimeouts () {\n this.animationTimeouts.forEach(timeout => clearTimeout(timeout));\n this.animationTimeouts = [];\n },\n\n /**\n * Start the animation\n * @public\n */\n start () {\n if (this.isAnimating) return;\n\n this.isAnimating = true;\n this.isPaused = false;\n this.$emit('start');\n\n // Skip animation if reduced motion is preferred and enabled\n if (this.respectsReducedMotion && this.prefersReducedMotion) {\n this.showAllContent();\n return;\n }\n\n if (this.animationMode === 'none') {\n this.showAllContent();\n return;\n }\n\n // For gradient-sweep and shimmer modes, just mark as animating (CSS handles the animation)\n if (this.isStaticAnimationMode) {\n return;\n }\n\n // Start the word-by-word animation for \"-in\" modes\n this.showNextWord();\n },\n\n /**\n * Pause the animation\n * @public\n */\n pause () {\n if (!this.isAnimating || this.isPaused) return;\n\n this.isPaused = true;\n this.clearTimeouts();\n this.$emit('pause');\n },\n\n /**\n * Resume the animation\n * @public\n */\n resume () {\n if (!this.isPaused) return;\n\n this.isPaused = false;\n this.$emit('resume');\n this.showNextWord();\n },\n\n /**\n * Reset the animation to initial state\n * @public\n */\n reset () {\n this.clearTimeouts();\n this.isAnimating = false;\n this.isPaused = false;\n this.visibleWordCount = 0;\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.animationKey++;\n },\n\n /**\n * Skip to the end of the animation\n * @public\n */\n skipToEnd () {\n this.showAllContent();\n },\n\n /**\n * Show all content immediately\n */\n showAllContent () {\n this.visibleWordCount = this.words.length;\n this.visibleCharsPerWord = this.words.map(word => word.chars.length);\n setTimeout(() => {\n this.isAnimating = false;\n this.$emit('complete');\n }, 0);\n },\n\n /**\n * Show next word in sequence\n */\n showNextWord () {\n if (this.isPaused || this.visibleWordCount >= this.words.length) {\n if (this.visibleWordCount >= this.words.length) {\n this.completeAnimation();\n }\n return;\n }\n\n const timeout = setTimeout(() => {\n this.visibleWordCount++;\n this.$emit('progress', {\n wordsComplete: this.visibleWordCount,\n totalWords: this.words.length,\n progress: this.visibleWordCount / this.words.length,\n });\n\n this.animateCharsForWord(this.visibleWordCount - 1);\n }, this.timing.wordDelay);\n\n this.animationTimeouts.push(timeout);\n },\n\n /**\n * Animate characters for a specific word\n */\n animateCharsForWord (wordIdx) {\n if (this.isPaused || wordIdx >= this.words.length) return;\n\n this.visibleCharsPerWord[wordIdx] = 0;\n const chars = this.words[wordIdx].chars.length;\n\n const revealChar = () => {\n if (this.isPaused || this.visibleCharsPerWord[wordIdx] >= chars) {\n if (this.visibleCharsPerWord[wordIdx] >= chars) {\n this.showNextWord();\n }\n return;\n }\n\n this.visibleCharsPerWord[wordIdx]++;\n const timeout = setTimeout(revealChar, this.timing.characterDelay);\n this.animationTimeouts.push(timeout);\n };\n\n revealChar();\n },\n\n /**\n * Complete the animation\n */\n completeAnimation () {\n this.isAnimating = false;\n this.clearTimeouts();\n\n this.$emit('complete');\n\n if (this.loop) {\n const timeout = setTimeout(() => {\n this.reset();\n this.$nextTick(() => {\n this.start();\n });\n }, 500);\n\n this.animationTimeouts.push(timeout);\n }\n },\n\n /**\n * Initialize content based on text prop or slot content\n */\n initializeContent () {\n // For gradient-sweep and shimmer modes, skip word/character processing\n if (this.isStaticAnimationMode) {\n if (this.autoStart) {\n this.$nextTick(() => this.start());\n }\n return;\n }\n\n if (this.text) {\n this.words = this.processDirectText(this.text);\n } else if (this.$refs.contentRef) {\n this.words = this.processTextToChars(this.$refs.contentRef);\n }\n\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.visibleWordCount = 0;\n\n if (this.autoStart && this.words.length > 0) {\n this.$nextTick(() => this.start());\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"motion-text.cjs","names":[],"sources":["../../../components/motion_text/motion_text.vue"],"sourcesContent":["<template>\n <span\n ref=\"contentRef\"\n :class=\"motionTextClasses\"\n :style=\"componentStyles\"\n :data-text-content=\"isStaticAnimationMode ? text : undefined\"\n :aria-live=\"isAnimating ? 'polite' : 'off'\"\n :aria-label=\"screenReaderText || undefined\"\n >\n <!-- Screen reader content -->\n <span\n v-if=\"screenReaderText\"\n class=\"d-motion-text__sr-only\"\n >\n {{ screenReaderText }}\n </span>\n\n <!-- Gradient-sweep and shimmer modes: Simple static text with gradient animation -->\n <template v-if=\"isStaticAnimationMode\">\n {{ text }}\n <slot v-if=\"!text\" />\n </template>\n\n <!-- Character-by-character animated content for other modes -->\n <span\n v-else\n :key=\"animationKey\"\n class=\"d-motion-text__content\"\n :aria-hidden=\"isAnimating\"\n >\n <template\n v-for=\"(word, wordIdx) in words\"\n :key=\"`${animationKey}-${wordIdx}`\"\n >\n <Transition\n :name=\"`d-motion-text-word-${animationMode}`\"\n >\n <span\n v-if=\"wordIdx < visibleWordCount\"\n class=\"d-motion-text__word\"\n :data-text-content=\"word.text\"\n :style=\"{ '--word-index': wordIdx }\"\n >\n <template\n v-for=\"(char, charIdx) in word.chars\"\n :key=\"`${animationKey}-${wordIdx}-${charIdx}`\"\n >\n <Transition\n :name=\"`d-motion-text-char-${animationMode}`\"\n >\n <span\n v-if=\"charIdx < visibleCharsPerWord[wordIdx]\"\n class=\"d-motion-text__char\"\n :style=\"{\n '--char-index': charIdx,\n '--char-delay': `${charIdx * timing.characterDelay}ms`,\n }\"\n >{{ char }}</span>\n </Transition>\n </template>\n </span>\n </Transition>\n </template>\n </span>\n\n <!-- Fallback slot content -->\n <span\n v-if=\"!words.length && !text && !isStaticAnimationMode\"\n class=\"d-motion-text__fallback\"\n >\n <slot />\n </span>\n </span>\n</template>\n\n<script>\nimport { MOTION_TEXT_ANIMATION_MODES, MOTION_TEXT_SPEEDS, MOTION_TEXT_TIMING_PRESETS } from './motion_text_constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtMotionText',\n\n props: {\n /**\n * The text content to animate.\n * @type {string}\n */\n text: {\n type: String,\n default: '',\n },\n\n /**\n * The animation mode to use for the text reveal.\n * @values gradient-in, fade-in, slide-in, gradient-sweep, shimmer, none\n */\n animationMode: {\n type: String,\n default: 'gradient-in',\n validator: (value) => MOTION_TEXT_ANIMATION_MODES.includes(value),\n },\n\n /**\n * Animation speed.\n * @values 100, 200, 300, 400, 500\n */\n speed: {\n type: [String, Number],\n default: 300,\n validator: (value) => MOTION_TEXT_SPEEDS.includes(String(value)),\n },\n\n /**\n * Whether to start animation automatically when component is mounted.\n * @values true, false\n */\n autoStart: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to loop the animation continuously.\n * @values true, false\n */\n loop: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to respect the user's prefers-reduced-motion system setting.\n * @values true, false\n */\n respectsReducedMotion: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Alternative text for screen readers. If provided, this will be announced\n * instead of the animated text.\n * @type {string}\n */\n screenReaderText: {\n type: String,\n default: '',\n },\n },\n\n emits: [\n /**\n * Emitted when the animation starts.\n * @event start\n */\n 'start',\n\n /**\n * Emitted when the animation completes.\n * @event complete\n */\n 'complete',\n\n /**\n * Emitted during animation progress.\n * @event progress\n * @type {{ wordsComplete: number, totalWords: number, progress: number }}\n */\n 'progress',\n\n /**\n * Emitted when the animation is paused.\n * @event pause\n */\n 'pause',\n\n /**\n * Emitted when the animation resumes.\n * @event resume\n */\n 'resume',\n ],\n\n data () {\n return {\n words: [],\n visibleWordCount: 0,\n visibleCharsPerWord: [],\n isAnimating: false,\n isPaused: false,\n isLooped: false,\n animationTimeouts: [],\n prefersReducedMotion: false,\n animationKey: 0,\n };\n },\n\n computed: {\n /**\n * Get timing preset based on speed prop\n */\n timing () {\n return MOTION_TEXT_TIMING_PRESETS[String(this.speed)];\n },\n\n /**\n * Computed styles with timing CSS variables\n */\n componentStyles () {\n return {\n '--d-motion-text-duration': `${this.timing.duration}ms`,\n '--d-motion-text-char-duration': `${this.timing.duration}ms`,\n '--d-motion-text-word-duration': `${this.timing.duration * 2}ms`,\n };\n },\n\n /**\n * Check if current animation mode is static (gradient-sweep or shimmer)\n */\n isStaticAnimationMode () {\n return this.animationMode === 'gradient-sweep' || this.animationMode === 'shimmer';\n },\n\n /**\n * Computed classes for the motion text element\n */\n motionTextClasses () {\n return [\n 'd-motion-text',\n `d-motion-text--${this.animationMode}`,\n {\n 'd-motion-text--animating': this.isAnimating,\n 'd-motion-text--paused': this.isPaused,\n 'd-motion-text--looped': this.isLooped,\n },\n ];\n },\n },\n\n watch: {\n text () {\n this.reset();\n this.initializeContent();\n },\n\n loop: {\n handler (newVal) {\n this.isLooped = newVal;\n },\n\n immediate: true,\n },\n },\n\n mounted () {\n this.checkReducedMotion();\n this.initializeContent();\n },\n\n beforeUnmount () {\n this.clearTimeouts();\n },\n\n methods: {\n /**\n * Self-contained text processing from DOM nodes\n */\n processTextToChars (node) {\n const words = [];\n\n const processNode = (node, index = 0) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const matches = node.textContent?.match(/\\S+\\s*/g) || [];\n words.push(...matches.map((text, i) => ({\n text,\n chars: text.split(''),\n index: index + i,\n })));\n return index + matches.length;\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n let currentIdx = index;\n Array.from(node.childNodes).forEach(child => {\n currentIdx = processNode(child, currentIdx);\n });\n return currentIdx;\n }\n return index;\n };\n\n processNode(node);\n return words;\n },\n\n /**\n * Process direct text prop into word/character data\n */\n processDirectText (text) {\n if (!text) return [];\n\n const matches = text.match(/\\S+\\s*/g) || [];\n return matches.map((wordText, i) => ({\n text: wordText,\n chars: wordText.split(''),\n index: i,\n }));\n },\n\n /**\n * Check for reduced motion preference\n */\n checkReducedMotion () {\n if (typeof window !== 'undefined' && window.matchMedia) {\n this.prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n },\n\n /**\n * Clear all animation timeouts\n */\n clearTimeouts () {\n this.animationTimeouts.forEach(timeout => clearTimeout(timeout));\n this.animationTimeouts = [];\n },\n\n /**\n * Start the animation\n * @public\n */\n start () {\n if (this.isAnimating) return;\n\n this.isAnimating = true;\n this.isPaused = false;\n this.$emit('start');\n\n // Skip animation if reduced motion is preferred and enabled\n if (this.respectsReducedMotion && this.prefersReducedMotion) {\n this.showAllContent();\n return;\n }\n\n if (this.animationMode === 'none') {\n this.showAllContent();\n return;\n }\n\n // For gradient-sweep and shimmer modes, just mark as animating (CSS handles the animation)\n if (this.isStaticAnimationMode) {\n return;\n }\n\n // Start the word-by-word animation for \"-in\" modes\n this.showNextWord();\n },\n\n /**\n * Pause the animation\n * @public\n */\n pause () {\n if (!this.isAnimating || this.isPaused) return;\n\n this.isPaused = true;\n this.clearTimeouts();\n this.$emit('pause');\n },\n\n /**\n * Resume the animation\n * @public\n */\n resume () {\n if (!this.isPaused) return;\n\n this.isPaused = false;\n this.$emit('resume');\n this.showNextWord();\n },\n\n /**\n * Reset the animation to initial state\n * @public\n */\n reset () {\n this.clearTimeouts();\n this.isAnimating = false;\n this.isPaused = false;\n this.visibleWordCount = 0;\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.animationKey++;\n },\n\n /**\n * Skip to the end of the animation\n * @public\n */\n skipToEnd () {\n this.showAllContent();\n },\n\n /**\n * Show all content immediately\n */\n showAllContent () {\n this.visibleWordCount = this.words.length;\n this.visibleCharsPerWord = this.words.map(word => word.chars.length);\n setTimeout(() => {\n this.isAnimating = false;\n this.$emit('complete');\n }, 0);\n },\n\n /**\n * Show next word in sequence\n */\n showNextWord () {\n if (this.isPaused || this.visibleWordCount >= this.words.length) {\n if (this.visibleWordCount >= this.words.length) {\n this.completeAnimation();\n }\n return;\n }\n\n const timeout = setTimeout(() => {\n this.visibleWordCount++;\n this.$emit('progress', {\n wordsComplete: this.visibleWordCount,\n totalWords: this.words.length,\n progress: this.visibleWordCount / this.words.length,\n });\n\n this.animateCharsForWord(this.visibleWordCount - 1);\n }, this.timing.wordDelay);\n\n this.animationTimeouts.push(timeout);\n },\n\n /**\n * Animate characters for a specific word\n */\n animateCharsForWord (wordIdx) {\n if (this.isPaused || wordIdx >= this.words.length) return;\n\n this.visibleCharsPerWord[wordIdx] = 0;\n const chars = this.words[wordIdx].chars.length;\n\n const revealChar = () => {\n if (this.isPaused || this.visibleCharsPerWord[wordIdx] >= chars) {\n if (this.visibleCharsPerWord[wordIdx] >= chars) {\n this.showNextWord();\n }\n return;\n }\n\n this.visibleCharsPerWord[wordIdx]++;\n const timeout = setTimeout(revealChar, this.timing.characterDelay);\n this.animationTimeouts.push(timeout);\n };\n\n revealChar();\n },\n\n /**\n * Complete the animation\n */\n completeAnimation () {\n this.isAnimating = false;\n this.clearTimeouts();\n\n this.$emit('complete');\n\n if (this.loop) {\n const timeout = setTimeout(() => {\n this.reset();\n this.$nextTick(() => {\n this.start();\n });\n }, 500);\n\n this.animationTimeouts.push(timeout);\n }\n },\n\n /**\n * Initialize content based on text prop or slot content\n */\n initializeContent () {\n // For gradient-sweep and shimmer modes, skip word/character processing\n if (this.isStaticAnimationMode) {\n if (this.autoStart) {\n this.$nextTick(() => this.start());\n }\n return;\n }\n\n if (this.text) {\n this.words = this.processDirectText(this.text);\n } else if (this.$refs.contentRef) {\n this.words = this.processTextToChars(this.$refs.contentRef);\n }\n\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.visibleWordCount = 0;\n\n if (this.autoStart && this.words.length > 0) {\n this.$nextTick(() => this.start());\n }\n },\n },\n};\n</script>\n"],"mappings":"iQA8EA,IAAK,EAAU,CACb,aAAc,CAAE,KAAM,EAAG,CACzB,KAAM,eAEN,MAAO,CAKL,KAAM,CACJ,KAAM,OACN,QAAS,GACV,CAMD,cAAe,CACb,KAAM,OACN,QAAS,cACT,UAAY,GAAU,EAAA,4BAA4B,SAAS,EAAM,CAClE,CAMD,MAAO,CACL,KAAM,CAAC,OAAQ,OAAO,CACtB,QAAS,IACT,UAAY,GAAU,EAAA,mBAAmB,SAAS,OAAO,EAAM,CAAC,CACjE,CAMD,UAAW,CACT,KAAM,QACN,QAAS,GACV,CAMD,KAAM,CACJ,KAAM,QACN,QAAS,GACV,CAMD,sBAAuB,CACrB,KAAM,QACN,QAAS,GACV,CAOD,iBAAkB,CAChB,KAAM,OACN,QAAS,GACV,CACF,CAED,MAAO,CAKL,QAMA,WAOA,WAMA,QAMA,SACD,CAED,MAAQ,CACN,MAAO,CACL,MAAO,EAAE,CACT,iBAAkB,EAClB,oBAAqB,EAAE,CACvB,YAAa,GACb,SAAU,GACV,SAAU,GACV,kBAAmB,EAAE,CACrB,qBAAsB,GACtB,aAAc,EACf,EAGH,SAAU,CAIR,QAAU,CACR,OAAO,EAAA,2BAA2B,OAAO,KAAK,MAAM,GAMtD,iBAAmB,CACjB,MAAO,CACL,2BAA4B,GAAG,KAAK,OAAO,SAAS,IACpD,gCAAiC,GAAG,KAAK,OAAO,SAAS,IACzD,gCAAiC,GAAG,KAAK,OAAO,SAAW,EAAE,IAC9D,EAMH,uBAAyB,CACvB,OAAO,KAAK,gBAAkB,kBAAoB,KAAK,gBAAkB,WAM3E,mBAAqB,CACnB,MAAO,CACL,gBACA,kBAAkB,KAAK,gBACvB,CACE,2BAA4B,KAAK,YACjC,wBAAyB,KAAK,SAC9B,wBAAyB,KAAK,SAC/B,CACF,EAEJ,CAED,MAAO,CACL,MAAQ,CACN,KAAK,OAAO,CACZ,KAAK,mBAAmB,EAG1B,KAAM,CACJ,QAAS,EAAQ,CACf,KAAK,SAAW,GAGlB,UAAW,GACZ,CACF,CAED,SAAW,CACT,KAAK,oBAAoB,CACzB,KAAK,mBAAmB,EAG1B,eAAiB,CACf,KAAK,eAAe,EAGtB,QAAS,CAIP,mBAAoB,EAAM,CACxB,IAAM,EAAQ,EAAE,CAEV,GAAe,EAAM,EAAQ,IAAM,CACvC,GAAI,EAAK,WAAa,KAAK,UAAW,CACpC,IAAM,EAAU,EAAK,aAAa,MAAM,UAAS,EAAK,EAAE,CAMxD,OALA,EAAM,KAAK,GAAG,EAAQ,KAAK,EAAM,KAAO,CACtC,OACA,MAAO,EAAK,MAAM,GAAG,CACrB,MAAO,EAAQ,EAChB,EAAE,CAAC,CACG,EAAQ,EAAQ,eACd,EAAK,WAAa,KAAK,aAAc,CAC9C,IAAI,EAAa,EAIjB,OAHA,MAAM,KAAK,EAAK,WAAW,CAAC,QAAQ,GAAS,CAC3C,EAAa,EAAY,EAAO,EAAW,EAC3C,CACK,EAET,OAAO,GAIT,OADA,EAAY,EAAK,CACV,GAMT,kBAAmB,EAAM,CAIvB,OAHK,GAEW,EAAK,MAAM,UAAS,EAAK,EAAE,EAC5B,KAAK,EAAU,KAAO,CACnC,KAAM,EACN,MAAO,EAAS,MAAM,GAAG,CACzB,MAAO,EACR,EAAE,CAPe,EAAE,EAatB,oBAAsB,CAChB,OAAO,OAAW,KAAe,OAAO,aAC1C,KAAK,qBAAuB,OAAO,WAAW,mCAAmC,CAAC,UAOtF,eAAiB,CACf,KAAK,kBAAkB,QAAQ,GAAW,aAAa,EAAQ,CAAC,CAChE,KAAK,kBAAoB,EAAE,EAO7B,OAAS,CACH,SAAK,YAOT,IALA,KAAK,YAAc,GACnB,KAAK,SAAW,GAChB,KAAK,MAAM,QAAQ,CAGf,KAAK,uBAAyB,KAAK,qBAAsB,CAC3D,KAAK,gBAAgB,CACrB,OAGF,GAAI,KAAK,gBAAkB,OAAQ,CACjC,KAAK,gBAAgB,CACrB,OAIE,KAAK,uBAKT,KAAK,cAAc,GAOrB,OAAS,CACH,CAAC,KAAK,aAAe,KAAK,WAE9B,KAAK,SAAW,GAChB,KAAK,eAAe,CACpB,KAAK,MAAM,QAAQ,GAOrB,QAAU,CACH,KAAK,WAEV,KAAK,SAAW,GAChB,KAAK,MAAM,SAAS,CACpB,KAAK,cAAc,GAOrB,OAAS,CACP,KAAK,eAAe,CACpB,KAAK,YAAc,GACnB,KAAK,SAAW,GAChB,KAAK,iBAAmB,EACxB,KAAK,oBAAsB,MAAM,KAAK,MAAM,OAAO,CAAC,KAAK,EAAE,CAC3D,KAAK,gBAOP,WAAa,CACX,KAAK,gBAAgB,EAMvB,gBAAkB,CAChB,KAAK,iBAAmB,KAAK,MAAM,OACnC,KAAK,oBAAsB,KAAK,MAAM,IAAI,GAAQ,EAAK,MAAM,OAAO,CACpE,eAAiB,CACf,KAAK,YAAc,GACnB,KAAK,MAAM,WAAW,EACrB,EAAE,EAMP,cAAgB,CACd,GAAI,KAAK,UAAY,KAAK,kBAAoB,KAAK,MAAM,OAAQ,CAC3D,KAAK,kBAAoB,KAAK,MAAM,QACtC,KAAK,mBAAmB,CAE1B,OAGF,IAAM,EAAU,eAAiB,CAC/B,KAAK,mBACL,KAAK,MAAM,WAAY,CACrB,cAAe,KAAK,iBACpB,WAAY,KAAK,MAAM,OACvB,SAAU,KAAK,iBAAmB,KAAK,MAAM,OAC9C,CAAC,CAEF,KAAK,oBAAoB,KAAK,iBAAmB,EAAE,EAClD,KAAK,OAAO,UAAU,CAEzB,KAAK,kBAAkB,KAAK,EAAQ,EAMtC,oBAAqB,EAAS,CAC5B,GAAI,KAAK,UAAY,GAAW,KAAK,MAAM,OAAQ,OAEnD,KAAK,oBAAoB,GAAW,EACpC,IAAM,EAAQ,KAAK,MAAM,GAAS,MAAM,OAElC,MAAmB,CACvB,GAAI,KAAK,UAAY,KAAK,oBAAoB,IAAY,EAAO,CAC3D,KAAK,oBAAoB,IAAY,GACvC,KAAK,cAAc,CAErB,OAGF,KAAK,oBAAoB,KACzB,IAAM,EAAU,WAAW,EAAY,KAAK,OAAO,eAAe,CAClE,KAAK,kBAAkB,KAAK,EAAQ,EAGtC,GAAY,EAMd,mBAAqB,CAMnB,GALA,KAAK,YAAc,GACnB,KAAK,eAAe,CAEpB,KAAK,MAAM,WAAW,CAElB,KAAK,KAAM,CACb,IAAM,EAAU,eAAiB,CAC/B,KAAK,OAAO,CACZ,KAAK,cAAgB,CACnB,KAAK,OAAO,EACZ,EACD,IAAI,CAEP,KAAK,kBAAkB,KAAK,EAAQ,GAOxC,mBAAqB,CAEnB,GAAI,KAAK,sBAAuB,CAC1B,KAAK,WACP,KAAK,cAAgB,KAAK,OAAO,CAAC,CAEpC,OAGE,KAAK,KACP,KAAK,MAAQ,KAAK,kBAAkB,KAAK,KAAK,CACrC,KAAK,MAAM,aACpB,KAAK,MAAQ,KAAK,mBAAmB,KAAK,MAAM,WAAW,EAG7D,KAAK,oBAAsB,MAAM,KAAK,MAAM,OAAO,CAAC,KAAK,EAAE,CAC3D,KAAK,iBAAmB,EAEpB,KAAK,WAAa,KAAK,MAAM,OAAS,GACxC,KAAK,cAAgB,KAAK,OAAO,CAAC,EAGvC,CACF,2DAjfK,MAAM,6EAwDN,MAAM,oGAIH,OAAA,CAtEL,IAAI,aACH,OAAA,EAAA,EAAA,gBAAO,EAAA,kBAAiB,CACxB,OAAA,EAAA,EAAA,gBAAO,EAAA,gBAAe,CACtB,oBAAmB,EAAA,sBAAwB,EAAA,KAAO,IAAA,GAClD,YAAW,EAAA,YAAW,SAAA,MACtB,aAAY,EAAA,kBAAoB,IAAA,KAIzB,EAAA,mBAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAID,OALP,GAAA,EAAA,EAAA,iBAIK,EAAA,iBAAgB,CAAA,EAAA,GAAA,EAAA,EAAA,oBAAA,GAAA,GAAA,CAIL,EAAA,wBAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAGL,EAAA,SAAA,CAAA,IAAA,EAAA,CAAA,EAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAFN,EAAA,KAAI,CAAG,IACV,EAAA,CAAa,EAAA,MAAQ,EAAA,EAAA,oBAAA,GAAA,GAAA,EAAR,EAAA,EAAA,YAAQ,EAAA,OAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CAAA,CAAA,GAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBA2ChB,OAAA,CArCJ,IAAK,EAAA,aACN,MAAM,yBACL,cAAa,EAAA,4DAkCH,EAAA,SAAA,MAAA,EAAA,EAAA,YA/BiB,EAAA,OAAlB,EAAM,yCA8BD,EAAA,WAAA,QA7BJ,EAAA,aAAY,GAAI,IAGtB,KAAI,sBAAwB,EAAA,4CAyBtB,CAtBC,EAAU,EAAA,mBAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAsBX,OAAA,OArBL,MAAM,sBACL,oBAAmB,EAAK,KACxB,OAAA,EAAA,EAAA,gBAAK,CAAA,eAAoB,EAAO,CAAA,iDAkBtB,EAAA,SAAA,MAAA,EAAA,EAAA,YAfiB,EAAK,OAAvB,EAAM,yCAcD,EAAA,WAAA,QAbJ,EAAA,aAAY,GAAI,EAAO,GAAI,IAGjC,KAAI,sBAAwB,EAAA,4CASX,CANV,EAAU,EAAA,oBAAoB,KAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAMpB,OAAA,OALhB,MAAM,sBACL,OAAA,EAAA,EAAA,gBAAK,gBAAwC,oBAAgD,EAAU,EAAA,OAAO,eAAc,6BAI3H,EAAI,CAAA,EAAA,GAAA,EAAA,EAAA,oBAAA,GAAA,GAAA,CAAA,CAAA,2GAUX,EAAA,MAAM,QAAM,CAAK,EAAA,MAAI,CAAK,EAAA,wBAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAI5B,OALP,EAKO,EAAA,EAAA,EAAA,YADG,EAAA,OAAA,UAAA,CAAA,CAAA,GAAA,EAAA,EAAA,oBAAA,GAAA,GAAA"}
|
|
@@ -5,7 +5,6 @@ import { Fragment as i, Transition as a, createBlock as o, createCommentVNode as
|
|
|
5
5
|
var _ = {
|
|
6
6
|
compatConfig: { MODE: 3 },
|
|
7
7
|
name: "DtMotionText",
|
|
8
|
-
inheritAttrs: !1,
|
|
9
8
|
props: {
|
|
10
9
|
text: {
|
|
11
10
|
type: String,
|
|
@@ -17,9 +16,9 @@ var _ = {
|
|
|
17
16
|
validator: (e) => t.includes(e)
|
|
18
17
|
},
|
|
19
18
|
speed: {
|
|
20
|
-
type: String,
|
|
21
|
-
default:
|
|
22
|
-
validator: (e) => n.includes(e)
|
|
19
|
+
type: [String, Number],
|
|
20
|
+
default: 300,
|
|
21
|
+
validator: (e) => n.includes(String(e))
|
|
23
22
|
},
|
|
24
23
|
autoStart: {
|
|
25
24
|
type: Boolean,
|
|
@@ -60,7 +59,7 @@ var _ = {
|
|
|
60
59
|
},
|
|
61
60
|
computed: {
|
|
62
61
|
timing() {
|
|
63
|
-
return r[this.speed];
|
|
62
|
+
return r[String(this.speed)];
|
|
64
63
|
},
|
|
65
64
|
componentStyles() {
|
|
66
65
|
return {
|
|
@@ -80,8 +79,7 @@ var _ = {
|
|
|
80
79
|
"d-motion-text--animating": this.isAnimating,
|
|
81
80
|
"d-motion-text--paused": this.isPaused,
|
|
82
81
|
"d-motion-text--looped": this.isLooped
|
|
83
|
-
}
|
|
84
|
-
this.$attrs.class
|
|
82
|
+
}
|
|
85
83
|
];
|
|
86
84
|
}
|
|
87
85
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion-text.js","names":[],"sources":["../../../components/motion_text/motion_text.vue"],"sourcesContent":["<template>\n <span\n ref=\"contentRef\"\n :class=\"motionTextClasses\"\n :style=\"componentStyles\"\n :data-text-content=\"isStaticAnimationMode ? text : undefined\"\n :aria-live=\"isAnimating ? 'polite' : 'off'\"\n :aria-label=\"screenReaderText || undefined\"\n >\n <!-- Screen reader content -->\n <span\n v-if=\"screenReaderText\"\n class=\"d-motion-text__sr-only\"\n >\n {{ screenReaderText }}\n </span>\n\n <!-- Gradient-sweep and shimmer modes: Simple static text with gradient animation -->\n <template v-if=\"isStaticAnimationMode\">\n {{ text }}\n <slot v-if=\"!text\" />\n </template>\n\n <!-- Character-by-character animated content for other modes -->\n <span\n v-else\n :key=\"animationKey\"\n class=\"d-motion-text__content\"\n :aria-hidden=\"isAnimating\"\n >\n <template\n v-for=\"(word, wordIdx) in words\"\n :key=\"`${animationKey}-${wordIdx}`\"\n >\n <Transition\n :name=\"`d-motion-text-word-${animationMode}`\"\n >\n <span\n v-if=\"wordIdx < visibleWordCount\"\n class=\"d-motion-text__word\"\n :data-text-content=\"word.text\"\n :style=\"{ '--word-index': wordIdx }\"\n >\n <template\n v-for=\"(char, charIdx) in word.chars\"\n :key=\"`${animationKey}-${wordIdx}-${charIdx}`\"\n >\n <Transition\n :name=\"`d-motion-text-char-${animationMode}`\"\n >\n <span\n v-if=\"charIdx < visibleCharsPerWord[wordIdx]\"\n class=\"d-motion-text__char\"\n :style=\"{\n '--char-index': charIdx,\n '--char-delay': `${charIdx * timing.characterDelay}ms`,\n }\"\n >{{ char }}</span>\n </Transition>\n </template>\n </span>\n </Transition>\n </template>\n </span>\n\n <!-- Fallback slot content -->\n <span\n v-if=\"!words.length && !text && !isStaticAnimationMode\"\n class=\"d-motion-text__fallback\"\n >\n <slot />\n </span>\n </span>\n</template>\n\n<script>\nimport { MOTION_TEXT_ANIMATION_MODES, MOTION_TEXT_SPEEDS, MOTION_TEXT_TIMING_PRESETS } from './motion_text_constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtMotionText',\n\n inheritAttrs: false,\n\n props: {\n /**\n * The text content to animate.\n * @type {string}\n */\n text: {\n type: String,\n default: '',\n },\n\n /**\n * The animation mode to use for the text reveal.\n * @values gradient-in, fade-in, slide-in, gradient-sweep, shimmer, none\n */\n animationMode: {\n type: String,\n default: 'gradient-in',\n validator: (value) => MOTION_TEXT_ANIMATION_MODES.includes(value),\n },\n\n /**\n * Animation speed using t-shirt sizing.\n * @values sm, md, lg\n */\n speed: {\n type: String,\n default: 'md',\n validator: (value) => MOTION_TEXT_SPEEDS.includes(value),\n },\n\n /**\n * Whether to start animation automatically when component is mounted.\n * @values true, false\n */\n autoStart: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to loop the animation continuously.\n * @values true, false\n */\n loop: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to respect the user's prefers-reduced-motion system setting.\n * @values true, false\n */\n respectsReducedMotion: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Alternative text for screen readers. If provided, this will be announced\n * instead of the animated text.\n * @type {string}\n */\n screenReaderText: {\n type: String,\n default: '',\n },\n },\n\n emits: [\n /**\n * Emitted when the animation starts.\n * @event start\n */\n 'start',\n\n /**\n * Emitted when the animation completes.\n * @event complete\n */\n 'complete',\n\n /**\n * Emitted during animation progress.\n * @event progress\n * @type {{ wordsComplete: number, totalWords: number, progress: number }}\n */\n 'progress',\n\n /**\n * Emitted when the animation is paused.\n * @event pause\n */\n 'pause',\n\n /**\n * Emitted when the animation resumes.\n * @event resume\n */\n 'resume',\n ],\n\n data () {\n return {\n words: [],\n visibleWordCount: 0,\n visibleCharsPerWord: [],\n isAnimating: false,\n isPaused: false,\n isLooped: false,\n animationTimeouts: [],\n prefersReducedMotion: false,\n animationKey: 0,\n };\n },\n\n computed: {\n /**\n * Get timing preset based on speed prop\n */\n timing () {\n return MOTION_TEXT_TIMING_PRESETS[this.speed];\n },\n\n /**\n * Computed styles with timing CSS variables\n */\n componentStyles () {\n return {\n '--d-motion-text-duration': `${this.timing.duration}ms`,\n '--d-motion-text-char-duration': `${this.timing.duration}ms`,\n '--d-motion-text-word-duration': `${this.timing.duration * 2}ms`,\n };\n },\n\n /**\n * Check if current animation mode is static (gradient-sweep or shimmer)\n */\n isStaticAnimationMode () {\n return this.animationMode === 'gradient-sweep' || this.animationMode === 'shimmer';\n },\n\n /**\n * Computed classes for the motion text element\n */\n motionTextClasses () {\n return [\n 'd-motion-text',\n `d-motion-text--${this.animationMode}`,\n {\n 'd-motion-text--animating': this.isAnimating,\n 'd-motion-text--paused': this.isPaused,\n 'd-motion-text--looped': this.isLooped,\n },\n this.$attrs.class,\n ];\n },\n },\n\n watch: {\n text () {\n this.reset();\n this.initializeContent();\n },\n\n loop: {\n handler (newVal) {\n this.isLooped = newVal;\n },\n\n immediate: true,\n },\n },\n\n mounted () {\n this.checkReducedMotion();\n this.initializeContent();\n },\n\n beforeUnmount () {\n this.clearTimeouts();\n },\n\n methods: {\n /**\n * Self-contained text processing from DOM nodes\n */\n processTextToChars (node) {\n const words = [];\n\n const processNode = (node, index = 0) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const matches = node.textContent?.match(/\\S+\\s*/g) || [];\n words.push(...matches.map((text, i) => ({\n text,\n chars: text.split(''),\n index: index + i,\n })));\n return index + matches.length;\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n let currentIdx = index;\n Array.from(node.childNodes).forEach(child => {\n currentIdx = processNode(child, currentIdx);\n });\n return currentIdx;\n }\n return index;\n };\n\n processNode(node);\n return words;\n },\n\n /**\n * Process direct text prop into word/character data\n */\n processDirectText (text) {\n if (!text) return [];\n\n const matches = text.match(/\\S+\\s*/g) || [];\n return matches.map((wordText, i) => ({\n text: wordText,\n chars: wordText.split(''),\n index: i,\n }));\n },\n\n /**\n * Check for reduced motion preference\n */\n checkReducedMotion () {\n if (typeof window !== 'undefined' && window.matchMedia) {\n this.prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n },\n\n /**\n * Clear all animation timeouts\n */\n clearTimeouts () {\n this.animationTimeouts.forEach(timeout => clearTimeout(timeout));\n this.animationTimeouts = [];\n },\n\n /**\n * Start the animation\n * @public\n */\n start () {\n if (this.isAnimating) return;\n\n this.isAnimating = true;\n this.isPaused = false;\n this.$emit('start');\n\n // Skip animation if reduced motion is preferred and enabled\n if (this.respectsReducedMotion && this.prefersReducedMotion) {\n this.showAllContent();\n return;\n }\n\n if (this.animationMode === 'none') {\n this.showAllContent();\n return;\n }\n\n // For gradient-sweep and shimmer modes, just mark as animating (CSS handles the animation)\n if (this.isStaticAnimationMode) {\n return;\n }\n\n // Start the word-by-word animation for \"-in\" modes\n this.showNextWord();\n },\n\n /**\n * Pause the animation\n * @public\n */\n pause () {\n if (!this.isAnimating || this.isPaused) return;\n\n this.isPaused = true;\n this.clearTimeouts();\n this.$emit('pause');\n },\n\n /**\n * Resume the animation\n * @public\n */\n resume () {\n if (!this.isPaused) return;\n\n this.isPaused = false;\n this.$emit('resume');\n this.showNextWord();\n },\n\n /**\n * Reset the animation to initial state\n * @public\n */\n reset () {\n this.clearTimeouts();\n this.isAnimating = false;\n this.isPaused = false;\n this.visibleWordCount = 0;\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.animationKey++;\n },\n\n /**\n * Skip to the end of the animation\n * @public\n */\n skipToEnd () {\n this.showAllContent();\n },\n\n /**\n * Show all content immediately\n */\n showAllContent () {\n this.visibleWordCount = this.words.length;\n this.visibleCharsPerWord = this.words.map(word => word.chars.length);\n setTimeout(() => {\n this.isAnimating = false;\n this.$emit('complete');\n }, 0);\n },\n\n /**\n * Show next word in sequence\n */\n showNextWord () {\n if (this.isPaused || this.visibleWordCount >= this.words.length) {\n if (this.visibleWordCount >= this.words.length) {\n this.completeAnimation();\n }\n return;\n }\n\n const timeout = setTimeout(() => {\n this.visibleWordCount++;\n this.$emit('progress', {\n wordsComplete: this.visibleWordCount,\n totalWords: this.words.length,\n progress: this.visibleWordCount / this.words.length,\n });\n\n this.animateCharsForWord(this.visibleWordCount - 1);\n }, this.timing.wordDelay);\n\n this.animationTimeouts.push(timeout);\n },\n\n /**\n * Animate characters for a specific word\n */\n animateCharsForWord (wordIdx) {\n if (this.isPaused || wordIdx >= this.words.length) return;\n\n this.visibleCharsPerWord[wordIdx] = 0;\n const chars = this.words[wordIdx].chars.length;\n\n const revealChar = () => {\n if (this.isPaused || this.visibleCharsPerWord[wordIdx] >= chars) {\n if (this.visibleCharsPerWord[wordIdx] >= chars) {\n this.showNextWord();\n }\n return;\n }\n\n this.visibleCharsPerWord[wordIdx]++;\n const timeout = setTimeout(revealChar, this.timing.characterDelay);\n this.animationTimeouts.push(timeout);\n };\n\n revealChar();\n },\n\n /**\n * Complete the animation\n */\n completeAnimation () {\n this.isAnimating = false;\n this.clearTimeouts();\n\n this.$emit('complete');\n\n if (this.loop) {\n const timeout = setTimeout(() => {\n this.reset();\n this.$nextTick(() => {\n this.start();\n });\n }, 500);\n\n this.animationTimeouts.push(timeout);\n }\n },\n\n /**\n * Initialize content based on text prop or slot content\n */\n initializeContent () {\n // For gradient-sweep and shimmer modes, skip word/character processing\n if (this.isStaticAnimationMode) {\n if (this.autoStart) {\n this.$nextTick(() => this.start());\n }\n return;\n }\n\n if (this.text) {\n this.words = this.processDirectText(this.text);\n } else if (this.$refs.contentRef) {\n this.words = this.processTextToChars(this.$refs.contentRef);\n }\n\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.visibleWordCount = 0;\n\n if (this.autoStart && this.words.length > 0) {\n this.$nextTick(() => this.start());\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"motion-text.js","names":[],"sources":["../../../components/motion_text/motion_text.vue"],"sourcesContent":["<template>\n <span\n ref=\"contentRef\"\n :class=\"motionTextClasses\"\n :style=\"componentStyles\"\n :data-text-content=\"isStaticAnimationMode ? text : undefined\"\n :aria-live=\"isAnimating ? 'polite' : 'off'\"\n :aria-label=\"screenReaderText || undefined\"\n >\n <!-- Screen reader content -->\n <span\n v-if=\"screenReaderText\"\n class=\"d-motion-text__sr-only\"\n >\n {{ screenReaderText }}\n </span>\n\n <!-- Gradient-sweep and shimmer modes: Simple static text with gradient animation -->\n <template v-if=\"isStaticAnimationMode\">\n {{ text }}\n <slot v-if=\"!text\" />\n </template>\n\n <!-- Character-by-character animated content for other modes -->\n <span\n v-else\n :key=\"animationKey\"\n class=\"d-motion-text__content\"\n :aria-hidden=\"isAnimating\"\n >\n <template\n v-for=\"(word, wordIdx) in words\"\n :key=\"`${animationKey}-${wordIdx}`\"\n >\n <Transition\n :name=\"`d-motion-text-word-${animationMode}`\"\n >\n <span\n v-if=\"wordIdx < visibleWordCount\"\n class=\"d-motion-text__word\"\n :data-text-content=\"word.text\"\n :style=\"{ '--word-index': wordIdx }\"\n >\n <template\n v-for=\"(char, charIdx) in word.chars\"\n :key=\"`${animationKey}-${wordIdx}-${charIdx}`\"\n >\n <Transition\n :name=\"`d-motion-text-char-${animationMode}`\"\n >\n <span\n v-if=\"charIdx < visibleCharsPerWord[wordIdx]\"\n class=\"d-motion-text__char\"\n :style=\"{\n '--char-index': charIdx,\n '--char-delay': `${charIdx * timing.characterDelay}ms`,\n }\"\n >{{ char }}</span>\n </Transition>\n </template>\n </span>\n </Transition>\n </template>\n </span>\n\n <!-- Fallback slot content -->\n <span\n v-if=\"!words.length && !text && !isStaticAnimationMode\"\n class=\"d-motion-text__fallback\"\n >\n <slot />\n </span>\n </span>\n</template>\n\n<script>\nimport { MOTION_TEXT_ANIMATION_MODES, MOTION_TEXT_SPEEDS, MOTION_TEXT_TIMING_PRESETS } from './motion_text_constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtMotionText',\n\n props: {\n /**\n * The text content to animate.\n * @type {string}\n */\n text: {\n type: String,\n default: '',\n },\n\n /**\n * The animation mode to use for the text reveal.\n * @values gradient-in, fade-in, slide-in, gradient-sweep, shimmer, none\n */\n animationMode: {\n type: String,\n default: 'gradient-in',\n validator: (value) => MOTION_TEXT_ANIMATION_MODES.includes(value),\n },\n\n /**\n * Animation speed.\n * @values 100, 200, 300, 400, 500\n */\n speed: {\n type: [String, Number],\n default: 300,\n validator: (value) => MOTION_TEXT_SPEEDS.includes(String(value)),\n },\n\n /**\n * Whether to start animation automatically when component is mounted.\n * @values true, false\n */\n autoStart: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to loop the animation continuously.\n * @values true, false\n */\n loop: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to respect the user's prefers-reduced-motion system setting.\n * @values true, false\n */\n respectsReducedMotion: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Alternative text for screen readers. If provided, this will be announced\n * instead of the animated text.\n * @type {string}\n */\n screenReaderText: {\n type: String,\n default: '',\n },\n },\n\n emits: [\n /**\n * Emitted when the animation starts.\n * @event start\n */\n 'start',\n\n /**\n * Emitted when the animation completes.\n * @event complete\n */\n 'complete',\n\n /**\n * Emitted during animation progress.\n * @event progress\n * @type {{ wordsComplete: number, totalWords: number, progress: number }}\n */\n 'progress',\n\n /**\n * Emitted when the animation is paused.\n * @event pause\n */\n 'pause',\n\n /**\n * Emitted when the animation resumes.\n * @event resume\n */\n 'resume',\n ],\n\n data () {\n return {\n words: [],\n visibleWordCount: 0,\n visibleCharsPerWord: [],\n isAnimating: false,\n isPaused: false,\n isLooped: false,\n animationTimeouts: [],\n prefersReducedMotion: false,\n animationKey: 0,\n };\n },\n\n computed: {\n /**\n * Get timing preset based on speed prop\n */\n timing () {\n return MOTION_TEXT_TIMING_PRESETS[String(this.speed)];\n },\n\n /**\n * Computed styles with timing CSS variables\n */\n componentStyles () {\n return {\n '--d-motion-text-duration': `${this.timing.duration}ms`,\n '--d-motion-text-char-duration': `${this.timing.duration}ms`,\n '--d-motion-text-word-duration': `${this.timing.duration * 2}ms`,\n };\n },\n\n /**\n * Check if current animation mode is static (gradient-sweep or shimmer)\n */\n isStaticAnimationMode () {\n return this.animationMode === 'gradient-sweep' || this.animationMode === 'shimmer';\n },\n\n /**\n * Computed classes for the motion text element\n */\n motionTextClasses () {\n return [\n 'd-motion-text',\n `d-motion-text--${this.animationMode}`,\n {\n 'd-motion-text--animating': this.isAnimating,\n 'd-motion-text--paused': this.isPaused,\n 'd-motion-text--looped': this.isLooped,\n },\n ];\n },\n },\n\n watch: {\n text () {\n this.reset();\n this.initializeContent();\n },\n\n loop: {\n handler (newVal) {\n this.isLooped = newVal;\n },\n\n immediate: true,\n },\n },\n\n mounted () {\n this.checkReducedMotion();\n this.initializeContent();\n },\n\n beforeUnmount () {\n this.clearTimeouts();\n },\n\n methods: {\n /**\n * Self-contained text processing from DOM nodes\n */\n processTextToChars (node) {\n const words = [];\n\n const processNode = (node, index = 0) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const matches = node.textContent?.match(/\\S+\\s*/g) || [];\n words.push(...matches.map((text, i) => ({\n text,\n chars: text.split(''),\n index: index + i,\n })));\n return index + matches.length;\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n let currentIdx = index;\n Array.from(node.childNodes).forEach(child => {\n currentIdx = processNode(child, currentIdx);\n });\n return currentIdx;\n }\n return index;\n };\n\n processNode(node);\n return words;\n },\n\n /**\n * Process direct text prop into word/character data\n */\n processDirectText (text) {\n if (!text) return [];\n\n const matches = text.match(/\\S+\\s*/g) || [];\n return matches.map((wordText, i) => ({\n text: wordText,\n chars: wordText.split(''),\n index: i,\n }));\n },\n\n /**\n * Check for reduced motion preference\n */\n checkReducedMotion () {\n if (typeof window !== 'undefined' && window.matchMedia) {\n this.prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n },\n\n /**\n * Clear all animation timeouts\n */\n clearTimeouts () {\n this.animationTimeouts.forEach(timeout => clearTimeout(timeout));\n this.animationTimeouts = [];\n },\n\n /**\n * Start the animation\n * @public\n */\n start () {\n if (this.isAnimating) return;\n\n this.isAnimating = true;\n this.isPaused = false;\n this.$emit('start');\n\n // Skip animation if reduced motion is preferred and enabled\n if (this.respectsReducedMotion && this.prefersReducedMotion) {\n this.showAllContent();\n return;\n }\n\n if (this.animationMode === 'none') {\n this.showAllContent();\n return;\n }\n\n // For gradient-sweep and shimmer modes, just mark as animating (CSS handles the animation)\n if (this.isStaticAnimationMode) {\n return;\n }\n\n // Start the word-by-word animation for \"-in\" modes\n this.showNextWord();\n },\n\n /**\n * Pause the animation\n * @public\n */\n pause () {\n if (!this.isAnimating || this.isPaused) return;\n\n this.isPaused = true;\n this.clearTimeouts();\n this.$emit('pause');\n },\n\n /**\n * Resume the animation\n * @public\n */\n resume () {\n if (!this.isPaused) return;\n\n this.isPaused = false;\n this.$emit('resume');\n this.showNextWord();\n },\n\n /**\n * Reset the animation to initial state\n * @public\n */\n reset () {\n this.clearTimeouts();\n this.isAnimating = false;\n this.isPaused = false;\n this.visibleWordCount = 0;\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.animationKey++;\n },\n\n /**\n * Skip to the end of the animation\n * @public\n */\n skipToEnd () {\n this.showAllContent();\n },\n\n /**\n * Show all content immediately\n */\n showAllContent () {\n this.visibleWordCount = this.words.length;\n this.visibleCharsPerWord = this.words.map(word => word.chars.length);\n setTimeout(() => {\n this.isAnimating = false;\n this.$emit('complete');\n }, 0);\n },\n\n /**\n * Show next word in sequence\n */\n showNextWord () {\n if (this.isPaused || this.visibleWordCount >= this.words.length) {\n if (this.visibleWordCount >= this.words.length) {\n this.completeAnimation();\n }\n return;\n }\n\n const timeout = setTimeout(() => {\n this.visibleWordCount++;\n this.$emit('progress', {\n wordsComplete: this.visibleWordCount,\n totalWords: this.words.length,\n progress: this.visibleWordCount / this.words.length,\n });\n\n this.animateCharsForWord(this.visibleWordCount - 1);\n }, this.timing.wordDelay);\n\n this.animationTimeouts.push(timeout);\n },\n\n /**\n * Animate characters for a specific word\n */\n animateCharsForWord (wordIdx) {\n if (this.isPaused || wordIdx >= this.words.length) return;\n\n this.visibleCharsPerWord[wordIdx] = 0;\n const chars = this.words[wordIdx].chars.length;\n\n const revealChar = () => {\n if (this.isPaused || this.visibleCharsPerWord[wordIdx] >= chars) {\n if (this.visibleCharsPerWord[wordIdx] >= chars) {\n this.showNextWord();\n }\n return;\n }\n\n this.visibleCharsPerWord[wordIdx]++;\n const timeout = setTimeout(revealChar, this.timing.characterDelay);\n this.animationTimeouts.push(timeout);\n };\n\n revealChar();\n },\n\n /**\n * Complete the animation\n */\n completeAnimation () {\n this.isAnimating = false;\n this.clearTimeouts();\n\n this.$emit('complete');\n\n if (this.loop) {\n const timeout = setTimeout(() => {\n this.reset();\n this.$nextTick(() => {\n this.start();\n });\n }, 500);\n\n this.animationTimeouts.push(timeout);\n }\n },\n\n /**\n * Initialize content based on text prop or slot content\n */\n initializeContent () {\n // For gradient-sweep and shimmer modes, skip word/character processing\n if (this.isStaticAnimationMode) {\n if (this.autoStart) {\n this.$nextTick(() => this.start());\n }\n return;\n }\n\n if (this.text) {\n this.words = this.processDirectText(this.text);\n } else if (this.$refs.contentRef) {\n this.words = this.processTextToChars(this.$refs.contentRef);\n }\n\n this.visibleCharsPerWord = Array(this.words.length).fill(0);\n this.visibleWordCount = 0;\n\n if (this.autoStart && this.words.length > 0) {\n this.$nextTick(() => this.start());\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),t=require(`../../localization/index.cjs`),n=require(`../button/button.cjs`),r=require(`../../shared/sr_only_close_button.cjs`);let i=require(`vue`);var a={compatConfig:{MODE:3},name:`DtNoticeAction`,components:{DtIconClose:require(`@dialpad/dialtone-icons/
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),t=require(`../../localization/index.cjs`),n=require(`../button/button.cjs`),r=require(`../../shared/sr_only_close_button.cjs`);let i=require(`vue`);var a={compatConfig:{MODE:3},name:`DtNoticeAction`,components:{DtIconClose:require(`@dialpad/dialtone-icons/vue`).DtIconClose,DtButton:n.default,SrOnlyCloseButton:r.default},props:{showClose:{type:Boolean,default:!0},showAction:{type:Boolean,default:!0}},emits:[`close`],data(){return{i18n:new t.DialtoneLocalization}},computed:{closeButtonTitle(){return this.i18n.$t(`DIALTONE_CLOSE_BUTTON`)}},mounted(){this.showClose&&(this.lastFocusedElement=document.activeElement)},beforeUnmount(){this.lastFocusedElement?.focus()},methods:{close(){this.$emit(`close`)}}},o={class:`d-notice__actions`,"data-qa":`notice-content-actions`};function s(e,t,n,r,a,s){let c=(0,i.resolveComponent)(`dt-icon-close`),l=(0,i.resolveComponent)(`dt-button`),u=(0,i.resolveComponent)(`sr-only-close-button`);return(0,i.openBlock)(),(0,i.createElementBlock)(`div`,o,[n.showAction?(0,i.renderSlot)(e.$slots,`default`,{key:0}):(0,i.createCommentVNode)(``,!0),n.showClose?((0,i.openBlock)(),(0,i.createBlock)(l,{key:1,ref:`closeButton`,"data-qa":`dt-notice-action-close-button`,importance:`clear`,kind:`muted`,size:200,"aria-label":s.closeButtonTitle,title:s.closeButtonTitle,onClick:s.close},{startIcon:(0,i.withCtx)(()=>[(0,i.createVNode)(c,{size:`200`})]),_:1},8,[`aria-label`,`title`,`onClick`])):((0,i.openBlock)(),(0,i.createBlock)(u,{key:2,onClose:s.close},null,8,[`onClose`]))])}var c=e.t(a,[[`render`,s]]);exports.default=c;
|
|
2
2
|
//# sourceMappingURL=notice-action.cjs.map
|