@dialpad/dialtone-vue 4.5.0 → 4.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/{RichTextEditor-DaOHmXD_.js → RichTextEditor-D8DfONFm.js} +7 -7
  2. package/dist/{RichTextEditor-DaOHmXD_.js.map → RichTextEditor-D8DfONFm.js.map} +1 -1
  3. package/dist/{RichTextEditor-7eY8gy9u.cjs → RichTextEditor-DMUDJKVn.cjs} +2 -2
  4. package/dist/{RichTextEditor-7eY8gy9u.cjs.map → RichTextEditor-DMUDJKVn.cjs.map} +1 -1
  5. package/dist/common/sr_only_close_button.vue.d.ts +18 -1
  6. package/dist/component-documentation.json +1 -1
  7. package/dist/components/Avatar/Avatar.vue.d.ts +12 -8
  8. package/dist/components/Avatar/Avatar.vue.d.ts.map +1 -1
  9. package/dist/components/Badge/Badge.vue.d.ts +1 -2
  10. package/dist/components/Banner/Banner.vue.d.ts +36 -2
  11. package/dist/components/Banner/Banner.vue.d.ts.map +1 -1
  12. package/dist/components/Button/Button.vue.d.ts +18 -1
  13. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  14. package/dist/components/Chip/Chip.vue.d.ts +18 -1
  15. package/dist/components/Chip/Chip.vue.d.ts.map +1 -1
  16. package/dist/components/Collapsible/Collapsible.vue.d.ts +18 -1
  17. package/dist/components/Collapsible/Collapsible.vue.d.ts.map +1 -1
  18. package/dist/components/ComboboxWithPopover/ComboboxWithPopover.vue.d.ts +36 -2
  19. package/dist/components/ComboboxWithPopover/ComboboxWithPopover.vue.d.ts.map +1 -1
  20. package/dist/components/Dropdown/Dropdown.vue.d.ts +36 -2
  21. package/dist/components/Dropdown/Dropdown.vue.d.ts.map +1 -1
  22. package/dist/components/FilterPill/FilterPill.vue.d.ts +90 -5
  23. package/dist/components/FilterPill/FilterPill.vue.d.ts.map +1 -1
  24. package/dist/components/Hovercard/Hovercard.vue.d.ts +72 -4
  25. package/dist/components/Hovercard/Hovercard.vue.d.ts.map +1 -1
  26. package/dist/components/ImageViewer/ImageViewer.vue.d.ts +36 -2
  27. package/dist/components/ImageViewer/ImageViewer.vue.d.ts.map +1 -1
  28. package/dist/components/Loader/Loader.vue.d.ts +18 -1
  29. package/dist/components/Loader/Loader.vue.d.ts.map +1 -1
  30. package/dist/components/Loader/LoaderConstants.d.ts +5 -0
  31. package/dist/components/Loader/LoaderConstants.d.ts.map +1 -0
  32. package/dist/components/Loader/index.d.ts +1 -0
  33. package/dist/components/Modal/Modal.vue.d.ts +37 -3
  34. package/dist/components/Modal/Modal.vue.d.ts.map +1 -1
  35. package/dist/components/Notice/Notice.vue.d.ts +36 -2
  36. package/dist/components/Notice/Notice.vue.d.ts.map +1 -1
  37. package/dist/components/Notice/NoticeAction.vue.d.ts +36 -2
  38. package/dist/components/Notice/NoticeAction.vue.d.ts.map +1 -1
  39. package/dist/components/Pagination/Pagination.vue.d.ts +18 -1
  40. package/dist/components/Pagination/Pagination.vue.d.ts.map +1 -1
  41. package/dist/components/Popover/Popover.vue.d.ts +36 -2
  42. package/dist/components/Popover/Popover.vue.d.ts.map +1 -1
  43. package/dist/components/Popover/PopoverHeaderFooter.vue.d.ts +18 -1
  44. package/dist/components/Popover/PopoverHeaderFooter.vue.d.ts.map +1 -1
  45. package/dist/components/RichTextEditor/Extensions/Mentions/MentionSuggestion.vue.d.ts +12 -8
  46. package/dist/components/RichTextEditor/Extensions/Variable/VariableComponent.vue.d.ts +55 -5
  47. package/dist/components/RichTextEditor/Extensions/Variable/VariableComponent.vue.d.ts.map +1 -1
  48. package/dist/components/SegmentedControl/SegmentedControlItem.vue.d.ts.map +1 -1
  49. package/dist/components/SplitButton/SplitButton.vue.d.ts +72 -4
  50. package/dist/components/SplitButton/SplitButton.vue.d.ts.map +1 -1
  51. package/dist/components/SplitButton/SplitButtonEnd.vue.d.ts +18 -1
  52. package/dist/components/SplitButton/SplitButtonEnd.vue.d.ts.map +1 -1
  53. package/dist/components/SplitButton/SplitButtonStart.vue.d.ts +18 -1
  54. package/dist/components/Tab/Tab.vue.d.ts +18 -1
  55. package/dist/components/Toast/Layouts/ToastLayoutAlternate.vue.d.ts +36 -2
  56. package/dist/components/Toast/Layouts/ToastLayoutAlternate.vue.d.ts.map +1 -1
  57. package/dist/components/Toast/Layouts/ToastLayoutDefault.vue.d.ts +36 -2
  58. package/dist/components/Toast/Layouts/ToastLayoutDefault.vue.d.ts.map +1 -1
  59. package/dist/components/Toast/Toast.vue.d.ts +144 -8
  60. package/dist/components/Toast/Toast.vue.d.ts.map +1 -1
  61. package/dist/dialtone-vue.cjs +1 -1
  62. package/dist/dialtone-vue.js +116 -115
  63. package/dist/lib/avatar/avatar.cjs +1 -1
  64. package/dist/lib/avatar/avatar.cjs.map +1 -1
  65. package/dist/lib/avatar/avatar.js +50 -47
  66. package/dist/lib/avatar/avatar.js.map +1 -1
  67. package/dist/lib/badge/badge.cjs +1 -1
  68. package/dist/lib/badge/badge.cjs.map +1 -1
  69. package/dist/lib/badge/badge.js +12 -14
  70. package/dist/lib/badge/badge.js.map +1 -1
  71. package/dist/lib/button/button.cjs +1 -1
  72. package/dist/lib/button/button.js +21 -21
  73. package/dist/lib/dropdown/dropdown.cjs.map +1 -1
  74. package/dist/lib/dropdown/dropdown.js.map +1 -1
  75. package/dist/lib/filter-pill/filter-pill.cjs +1 -1
  76. package/dist/lib/filter-pill/filter-pill.js +5 -5
  77. package/dist/lib/loader/index.cjs +1 -1
  78. package/dist/lib/loader/index.js +3 -2
  79. package/dist/lib/loader/loader-constants.cjs +2 -0
  80. package/dist/lib/loader/loader-constants.cjs.map +1 -0
  81. package/dist/lib/loader/loader-constants.js +9 -0
  82. package/dist/lib/loader/loader-constants.js.map +1 -0
  83. package/dist/lib/loader/loader.cjs +21 -21
  84. package/dist/lib/loader/loader.cjs.map +1 -1
  85. package/dist/lib/loader/loader.js +77 -14
  86. package/dist/lib/loader/loader.js.map +1 -1
  87. package/dist/lib/modal/modal.cjs +1 -1
  88. package/dist/lib/modal/modal.cjs.map +1 -1
  89. package/dist/lib/modal/modal.js +6 -5
  90. package/dist/lib/modal/modal.js.map +1 -1
  91. package/dist/lib/rich-text-editor/index.cjs +1 -1
  92. package/dist/lib/rich-text-editor/index.js +1 -1
  93. package/dist/lib/rich-text-editor/rich-text-editor.cjs +1 -1
  94. package/dist/lib/rich-text-editor/rich-text-editor.js +1 -1
  95. package/dist/lib/segmented-control/segmented-control-item.cjs.map +1 -1
  96. package/dist/lib/segmented-control/segmented-control-item.js.map +1 -1
  97. package/dist/lib/text/text.cjs.map +1 -1
  98. package/dist/lib/text/text.js.map +1 -1
  99. package/dist/localization/index.cjs +1 -1
  100. package/dist/localization/index.cjs.map +1 -1
  101. package/dist/localization/index.js +50 -33
  102. package/dist/localization/index.js.map +1 -1
  103. package/package.json +5 -5
@@ -27,164 +27,165 @@ import st from "./lib/notice/notice-icon.js";
27
27
  import { TEXT_ALIGN_MODIFIERS as ct, TEXT_BOX_TRIM_MODIFIERS as lt, TEXT_DENSITY_MODIFIERS as ut, TEXT_FAMILY_MODIFIERS as dt, TEXT_FONT_SIZE_MODIFIERS as ft, TEXT_HEADLINE_ONLY_SIZES as pt, TEXT_ITALIC_CLASS as mt, TEXT_KIND_MODIFIERS as ht, TEXT_LINE_CLAMP_CLASS as gt, TEXT_NUMERIC_CLASS as _t, TEXT_SIZE_MODIFIERS as vt, TEXT_STRENGTH_MODIFIERS as yt, TEXT_TONE_MODIFIERS as bt, TEXT_TRUNCATE_CLASS as xt, TEXT_VARIANT_MODIFIERS as St, TEXT_WRAP_MODIFIERS as Ct } from "./lib/text/text-constants.js";
28
28
  import wt from "./lib/text/text.js";
29
29
  import Tt from "./lib/notice/notice-content.js";
30
- import Et from "./lib/loader/loader.js";
31
- import { BUTTON_ICON_SIZES as Dt, BUTTON_IMPORTANCE_MODIFIERS as Ot, BUTTON_KIND_MODIFIERS as kt, BUTTON_SIZE_MODIFIERS as At, BUTTON_TYPES as jt, ICON_POSITION_MODIFIERS as Mt, INVALID_COMBINATION as Nt } from "./lib/button/button-constants.js";
32
- import { CRITICAL as Pt, LINK_KIND_MODIFIERS as Ft, LINK_VARIANTS as It, MENTION as Lt, MUTED as Rt, POSITIVE as zt, WARNING as Bt, getLinkKindModifier as Vt } from "./lib/link/link-constants.js";
33
- import Ht from "./lib/link/link.js";
34
- import { DialtoneLocalization as Ut } from "./localization/index.js";
35
- import Wt from "./lib/button/button.js";
36
- import Gt from "./lib/notice/notice-action.js";
37
- import Kt from "./lib/notice/notice.js";
38
- import qt from "./lib/banner/banner.js";
30
+ import { LOADER_KIND_MODIFIERS as Et } from "./lib/loader/loader-constants.js";
31
+ import { DialtoneLocalization as Dt } from "./localization/index.js";
32
+ import Ot from "./lib/loader/loader.js";
33
+ import { BUTTON_ICON_SIZES as kt, BUTTON_IMPORTANCE_MODIFIERS as At, BUTTON_KIND_MODIFIERS as jt, BUTTON_SIZE_MODIFIERS as Mt, BUTTON_TYPES as Nt, ICON_POSITION_MODIFIERS as Pt, INVALID_COMBINATION as Ft } from "./lib/button/button-constants.js";
34
+ import { CRITICAL as It, LINK_KIND_MODIFIERS as Lt, LINK_VARIANTS as Rt, MENTION as zt, MUTED as Bt, POSITIVE as Vt, WARNING as Ht, getLinkKindModifier as Ut } from "./lib/link/link-constants.js";
35
+ import Wt from "./lib/link/link.js";
36
+ import Gt from "./lib/button/button.js";
37
+ import Kt from "./lib/notice/notice-action.js";
38
+ import qt from "./lib/notice/notice.js";
39
+ import Jt from "./lib/banner/banner.js";
39
40
  import "./lib/banner/index.js";
40
- import { DT_BOX_AS_VALUES as Jt, DT_BOX_BORDER_COLOR_VALUES as Yt, DT_BOX_BORDER_RADIUS_VALUES as Xt, DT_BOX_BORDER_WIDTH_VALUES as Zt, DT_BOX_INSET_SIDE_VALUES as Qt, DT_BOX_INSET_VALUES as $t, DT_BOX_LAYOUT_VALUES as en, DT_BOX_OVERFLOW_VALUES as tn, DT_BOX_POSITION_VALUES as nn, DT_BOX_SCROLLBAR_VALUES as rn, DT_BOX_SHADOW_VALUES as an, DT_BOX_SPACING_VALUES as on, DT_BOX_SURFACE_VALUES as sn, DT_BOX_Z_INDEX_VALUES as cn } from "./lib/box/box-constants.js";
41
- import ln from "./lib/box/box.js";
41
+ import { DT_BOX_AS_VALUES as Yt, DT_BOX_BORDER_COLOR_VALUES as Xt, DT_BOX_BORDER_RADIUS_VALUES as Zt, DT_BOX_BORDER_WIDTH_VALUES as Qt, DT_BOX_INSET_SIDE_VALUES as $t, DT_BOX_INSET_VALUES as en, DT_BOX_LAYOUT_VALUES as tn, DT_BOX_OVERFLOW_VALUES as nn, DT_BOX_POSITION_VALUES as rn, DT_BOX_SCROLLBAR_VALUES as an, DT_BOX_SHADOW_VALUES as on, DT_BOX_SPACING_VALUES as sn, DT_BOX_SURFACE_VALUES as cn, DT_BOX_Z_INDEX_VALUES as ln } from "./lib/box/box-constants.js";
42
+ import un from "./lib/box/box.js";
42
43
  import "./lib/box/index.js";
43
- import { BREADCRUMBS_INVERTED_MODIFIER as un, BREADCRUMB_ITEM_SELECTED_MODIFIER as dn } from "./lib/breadcrumbs/breadcrumbs-constants.js";
44
- import fn from "./lib/breadcrumbs/breadcrumb-item.js";
45
- import pn from "./lib/breadcrumbs/breadcrumbs.js";
44
+ import { BREADCRUMBS_INVERTED_MODIFIER as dn, BREADCRUMB_ITEM_SELECTED_MODIFIER as fn } from "./lib/breadcrumbs/breadcrumbs-constants.js";
45
+ import pn from "./lib/breadcrumbs/breadcrumb-item.js";
46
+ import mn from "./lib/breadcrumbs/breadcrumbs.js";
46
47
  import "./lib/breadcrumbs/index.js";
47
- import { BUTTON_GROUP_ALIGNMENT as mn } from "./lib/button-group/button-group-constants.js";
48
- import hn from "./lib/button-group/button-group.js";
48
+ import { BUTTON_GROUP_ALIGNMENT as hn } from "./lib/button-group/button-group-constants.js";
49
+ import gn from "./lib/button-group/button-group.js";
49
50
  import "./lib/button-group/index.js";
50
- import gn from "./lib/card/card.js";
51
+ import _n from "./lib/card/card.js";
51
52
  import "./lib/card/index.js";
52
- import _n from "./lib/checkbox/checkbox.js";
53
- import vn from "./lib/input-group/input-group.js";
54
- import yn from "./lib/checkbox-group/checkbox-group.js";
55
- import { CHIP_CLOSE_BUTTON_SIZE_MODIFIERS as bn, CHIP_ICON_SIZES as xn, CHIP_SIZE_MODIFIERS as Sn } from "./lib/chip/chip-constants.js";
56
- import Cn from "./lib/chip/chip.js";
53
+ import vn from "./lib/checkbox/checkbox.js";
54
+ import yn from "./lib/input-group/input-group.js";
55
+ import bn from "./lib/checkbox-group/checkbox-group.js";
56
+ import { CHIP_CLOSE_BUTTON_SIZE_MODIFIERS as xn, CHIP_ICON_SIZES as Sn, CHIP_SIZE_MODIFIERS as Cn } from "./lib/chip/chip-constants.js";
57
+ import wn from "./lib/chip/chip.js";
57
58
  import "./lib/chip/index.js";
58
- import wn from "./lib/codeblock/codeblock.js";
59
+ import Tn from "./lib/codeblock/codeblock.js";
59
60
  import "./lib/codeblock/index.js";
60
- import Tn from "./lib/collapsible/collapsible.js";
61
+ import En from "./lib/collapsible/collapsible.js";
61
62
  import "./lib/collapsible/index.js";
62
- import { LIST_ITEM_NAVIGATION_TYPES as En, LIST_ITEM_TYPES as Dn } from "./lib/list-item/list-item-constants.js";
63
- import On from "./lib/item-layout/item-layout.js";
64
- import kn from "./lib/list-item/list-item.js";
65
- import An from "./lib/skeleton/skeleton-shape.js";
66
- import jn from "./lib/skeleton/skeleton-text.js";
67
- import Mn from "./lib/skeleton/skeleton-paragraph.js";
68
- import Nn from "./lib/skeleton/skeleton-list-item.js";
69
- import Pn from "./lib/skeleton/skeleton.js";
70
- import { t as Fn } from "./Combobox-WsLvegw6.js";
71
- import { COMBOBOX_LABEL_SIZES as In } from "./lib/combobox/combobox-constants.js";
72
- import { DT_STACK_DIRECTION as Ln, DT_STACK_GAP as Rn, DT_STACK_RESPONSIVE_BREAKPOINTS as zn } from "./lib/stack/stack-constants.js";
73
- import Bn from "./lib/stack/stack.js";
74
- import { TOOLTIP_DELAY_MS as Vn, TOOLTIP_DIRECTIONS as Hn, TOOLTIP_HIDE_ON_CLICK_VARIANTS as Un, TOOLTIP_KIND_MODIFIERS as Wn, TOOLTIP_STICKY_VALUES as Gn } from "./lib/tooltip/tooltip-constants.js";
75
- import { POPOVER_APPEND_TO_VALUES as Kn, POPOVER_CONTENT_WIDTHS as qn, POPOVER_DIRECTIONS as Jn, POPOVER_HEADER_FOOTER_PADDING_CLASSES as Yn, POPOVER_INITIAL_FOCUS_STRINGS as Xn, POPOVER_PADDING_CLASSES as Zn, POPOVER_ROLES as Qn, POPOVER_STICKY_VALUES as $n } from "./lib/popover/popover-constants.js";
76
- import er from "./lib/tooltip/tooltip.js";
77
- import { t as tr } from "./Datepicker-D-Lgvthq.js";
78
- import { formatLong as nr, formatMedium as rr, formatNoYear as ir, formatNumerical as ar, formatShort as or } from "./lib/datepicker/format-utils.js";
63
+ import { LIST_ITEM_NAVIGATION_TYPES as Dn, LIST_ITEM_TYPES as On } from "./lib/list-item/list-item-constants.js";
64
+ import kn from "./lib/item-layout/item-layout.js";
65
+ import An from "./lib/list-item/list-item.js";
66
+ import jn from "./lib/skeleton/skeleton-shape.js";
67
+ import Mn from "./lib/skeleton/skeleton-text.js";
68
+ import Nn from "./lib/skeleton/skeleton-paragraph.js";
69
+ import Pn from "./lib/skeleton/skeleton-list-item.js";
70
+ import Fn from "./lib/skeleton/skeleton.js";
71
+ import { t as In } from "./Combobox-WsLvegw6.js";
72
+ import { COMBOBOX_LABEL_SIZES as Ln } from "./lib/combobox/combobox-constants.js";
73
+ import { DT_STACK_DIRECTION as Rn, DT_STACK_GAP as zn, DT_STACK_RESPONSIVE_BREAKPOINTS as Bn } from "./lib/stack/stack-constants.js";
74
+ import Vn from "./lib/stack/stack.js";
75
+ import { TOOLTIP_DELAY_MS as Hn, TOOLTIP_DIRECTIONS as Un, TOOLTIP_HIDE_ON_CLICK_VARIANTS as Wn, TOOLTIP_KIND_MODIFIERS as Gn, TOOLTIP_STICKY_VALUES as Kn } from "./lib/tooltip/tooltip-constants.js";
76
+ import { POPOVER_APPEND_TO_VALUES as qn, POPOVER_CONTENT_WIDTHS as Jn, POPOVER_DIRECTIONS as Yn, POPOVER_HEADER_FOOTER_PADDING_CLASSES as Xn, POPOVER_INITIAL_FOCUS_STRINGS as Zn, POPOVER_PADDING_CLASSES as Qn, POPOVER_ROLES as $n, POPOVER_STICKY_VALUES as er } from "./lib/popover/popover-constants.js";
77
+ import tr from "./lib/tooltip/tooltip.js";
78
+ import { t as nr } from "./Datepicker-D-Lgvthq.js";
79
+ import { formatLong as rr, formatMedium as ir, formatNoYear as ar, formatNumerical as or, formatShort as sr } from "./lib/datepicker/format-utils.js";
79
80
  import "./lib/datepicker/index.js";
80
- import { DT_DESCRIPTION_LIST_DIRECTION as sr } from "./lib/description-list/description-list-constants.js";
81
- import cr from "./lib/description-list/description-list.js";
81
+ import { DT_DESCRIPTION_LIST_DIRECTION as cr } from "./lib/description-list/description-list-constants.js";
82
+ import lr from "./lib/description-list/description-list.js";
82
83
  import "./lib/description-list/index.js";
83
- import lr from "./lib/lazy-show/lazy-show.js";
84
- import ur from "./lib/popover/popover.js";
85
- import { DROPDOWN_PADDING_CLASSES as dr } from "./lib/dropdown/dropdown-constants.js";
86
- import fr from "./lib/dropdown/dropdown.js";
87
- import pr from "./lib/dropdown/dropdown-separator.js";
88
- import mr from "./lib/emoji/emoji.js";
89
- import { INPUT_SIZES as hr, INPUT_TYPES as gr } from "./lib/input/input-constants.js";
90
- import _r from "./lib/input/input.js";
91
- import { t as vr } from "./EmojiPicker-D46lLRMp.js";
92
- import { TAB_ACTIVATION_MODES as yr, TAB_GROUP_KINDS as br, TAB_LIST_IMPORTANCE_MODIFIERS as xr, TAB_LIST_KIND_MODIFIERS as Sr, TAB_LIST_SIZES as Cr, TAB_LIST_SIZE_MODIFIERS as wr, TAB_SPREADS as Tr } from "./lib/tab/tabs-constants.js";
93
- import Er from "./lib/tab/tab-group.js";
94
- import Dr from "./lib/tab/tab.js";
95
- import Or from "./lib/tab/tab-panel.js";
96
- import { ARROW_KEYS as kr, CDN_URL as Ar, EMOJIS_PER_ROW as jr, EMOJI_PICKER_SKIN_TONE_MODIFIERS as Mr } from "./lib/emoji-picker/emoji-picker-constants.js";
84
+ import ur from "./lib/lazy-show/lazy-show.js";
85
+ import dr from "./lib/popover/popover.js";
86
+ import { DROPDOWN_PADDING_CLASSES as fr } from "./lib/dropdown/dropdown-constants.js";
87
+ import pr from "./lib/dropdown/dropdown.js";
88
+ import mr from "./lib/dropdown/dropdown-separator.js";
89
+ import hr from "./lib/emoji/emoji.js";
90
+ import { INPUT_SIZES as gr, INPUT_TYPES as _r } from "./lib/input/input-constants.js";
91
+ import vr from "./lib/input/input.js";
92
+ import { t as yr } from "./EmojiPicker-D46lLRMp.js";
93
+ import { TAB_ACTIVATION_MODES as br, TAB_GROUP_KINDS as xr, TAB_LIST_IMPORTANCE_MODIFIERS as Sr, TAB_LIST_KIND_MODIFIERS as Cr, TAB_LIST_SIZES as wr, TAB_LIST_SIZE_MODIFIERS as Tr, TAB_SPREADS as Er } from "./lib/tab/tabs-constants.js";
94
+ import Dr from "./lib/tab/tab-group.js";
95
+ import Or from "./lib/tab/tab.js";
96
+ import kr from "./lib/tab/tab-panel.js";
97
+ import { ARROW_KEYS as Ar, CDN_URL as jr, EMOJIS_PER_ROW as Mr, EMOJI_PICKER_SKIN_TONE_MODIFIERS as Nr } from "./lib/emoji-picker/emoji-picker-constants.js";
97
98
  import "./lib/emoji-picker/index.js";
98
- import Nr from "./lib/emoji-text-wrapper/emoji-text-wrapper.js";
99
+ import Pr from "./lib/emoji-text-wrapper/emoji-text-wrapper.js";
99
100
  import "./lib/emoji-text-wrapper/index.js";
100
- import { EMPTY_STATE_SIZE_MODIFIERS as Pr } from "./lib/empty-state/empty-state-constants.js";
101
- import Fr from "./lib/empty-state/empty-state.js";
101
+ import { EMPTY_STATE_SIZE_MODIFIERS as Fr } from "./lib/empty-state/empty-state-constants.js";
102
+ import Ir from "./lib/empty-state/empty-state.js";
102
103
  import "./lib/empty-state/index.js";
103
- import Ir from "./lib/filter-pill/filter-pill.js";
104
+ import Lr from "./lib/filter-pill/filter-pill.js";
104
105
  import "./lib/filter-pill/index.js";
105
- import Lr from "./lib/hovercard/hovercard.js";
106
+ import Rr from "./lib/hovercard/hovercard.js";
106
107
  import "./lib/hovercard/index.js";
107
- import { ILLUSTRATION_NAMES as Rr } from "./lib/illustration/illustration-constants.js";
108
- import zr from "./lib/illustration/illustration.js";
108
+ import { ILLUSTRATION_NAMES as zr } from "./lib/illustration/illustration-constants.js";
109
+ import Br from "./lib/illustration/illustration.js";
109
110
  import "./lib/illustration/index.js";
110
- import Br from "./lib/image-viewer/image-viewer.js";
111
+ import Vr from "./lib/image-viewer/image-viewer.js";
111
112
  import "./lib/image-viewer/index.js";
112
- import Vr from "./lib/keyboard-shortcut/keyboard-shortcut.js";
113
- import { SHORTCUTS_ALIASES_LIST as Hr } from "./lib/keyboard-shortcut/keyboard-shortcut-constants.js";
113
+ import Hr from "./lib/keyboard-shortcut/keyboard-shortcut.js";
114
+ import { SHORTCUTS_ALIASES_LIST as Ur } from "./lib/keyboard-shortcut/keyboard-shortcut-constants.js";
114
115
  import "./lib/keyboard-shortcut/index.js";
115
- import Ur from "./lib/list-item-group/list-item-group.js";
116
+ import Wr from "./lib/list-item-group/list-item-group.js";
116
117
  import "./lib/list-item-group/index.js";
117
118
  import "./lib/loader/index.js";
118
- import { MODAL_BANNER_KINDS as Wr, MODAL_KIND_MODIFIERS as Gr } from "./lib/modal/modal-constants.js";
119
- import Kr from "./lib/modal/modal.js";
119
+ import { MODAL_BANNER_KINDS as Gr, MODAL_KIND_MODIFIERS as Kr } from "./lib/modal/modal-constants.js";
120
+ import qr from "./lib/modal/modal.js";
120
121
  import "./lib/modal/index.js";
121
- import { DT_MODE_ISLAND_TYPES as qr } from "./lib/mode-island/mode-island-constants.js";
122
- import Jr from "./lib/mode-island/mode-island.js";
122
+ import { DT_MODE_ISLAND_TYPES as Jr } from "./lib/mode-island/mode-island-constants.js";
123
+ import Yr from "./lib/mode-island/mode-island.js";
123
124
  import "./lib/mode-island/index.js";
124
- import Yr from "./lib/pagination/pagination.js";
125
+ import Xr from "./lib/pagination/pagination.js";
125
126
  import "./lib/pagination/index.js";
126
- import { PROGRESS_CIRCLE_KINDS as Xr, PROGRESS_CIRCLE_KIND_DEFAULT as Zr, PROGRESS_CIRCLE_SIZES as Qr, PROGRESS_CIRCLE_SIZE_DEFAULT as $r } from "./lib/progress-circle/progress-circle-constants.js";
127
- import ei from "./lib/progress-circle/progress-circle.js";
127
+ import { PROGRESS_CIRCLE_KINDS as Zr, PROGRESS_CIRCLE_KIND_DEFAULT as Qr, PROGRESS_CIRCLE_SIZES as $r, PROGRESS_CIRCLE_SIZE_DEFAULT as ei } from "./lib/progress-circle/progress-circle-constants.js";
128
+ import ti from "./lib/progress-circle/progress-circle.js";
128
129
  import "./lib/progress-circle/index.js";
129
- import { PROSE_ALLOWED_ATTRIBUTES as ti, PROSE_DENSITY_MODIFIERS as ni, PROSE_DISALLOWED_ELEMENTS as ri, PROSE_SIZE_MODIFIERS as ii } from "./lib/prose/prose-constants.js";
130
- import ai from "./lib/prose/prose.js";
130
+ import { PROSE_ALLOWED_ATTRIBUTES as ni, PROSE_DENSITY_MODIFIERS as ri, PROSE_DISALLOWED_ELEMENTS as ii, PROSE_SIZE_MODIFIERS as ai } from "./lib/prose/prose-constants.js";
131
+ import oi from "./lib/prose/prose.js";
131
132
  import "./lib/prose/index.js";
132
- import { RADIO_INPUT_VALIDATION_CLASSES as oi } from "./lib/radio/radio-constants.js";
133
- import si from "./lib/radio/radio.js";
133
+ import { RADIO_INPUT_VALIDATION_CLASSES as si } from "./lib/radio/radio-constants.js";
134
+ import ci from "./lib/radio/radio.js";
134
135
  import "./lib/radio/index.js";
135
- import ci from "./lib/radio-group/radio-group.js";
136
+ import li from "./lib/radio-group/radio-group.js";
136
137
  import "./lib/radio-group/index.js";
137
- import { a as li, c as ui, d as di, f as fi, i as pi, l as mi, n as hi, o as gi, p as _i, r as vi, s as yi, t as bi, u as xi } from "./ResizableUtils-C9qEZRN5.js";
138
- import { t as Si } from "./Resizable-EY7mWluI.js";
139
- import { t as Ci } from "./ResizableHandle-v-oU-sj-.js";
140
- import wi from "./lib/resizable/resizable-panel.js";
138
+ import { a as ui, c as di, d as fi, f as pi, i as mi, l as hi, n as gi, o as _i, p as vi, r as yi, s as bi, t as xi, u as Si } from "./ResizableUtils-C9qEZRN5.js";
139
+ import { t as Ci } from "./Resizable-EY7mWluI.js";
140
+ import { t as wi } from "./ResizableHandle-v-oU-sj-.js";
141
+ import Ti from "./lib/resizable/resizable-panel.js";
141
142
  import "./lib/resizable/index.js";
142
- import { t as Ti } from "./RichTextEditor-DaOHmXD_.js";
143
- import { RICH_TEXT_EDITOR_AUTOFOCUS_TYPES as Ei, RICH_TEXT_EDITOR_OUTPUT_FORMATS as Di } from "./lib/rich-text-editor/rich-text-editor-constants.js";
143
+ import { t as Ei } from "./RichTextEditor-D8DfONFm.js";
144
+ import { RICH_TEXT_EDITOR_AUTOFOCUS_TYPES as Di, RICH_TEXT_EDITOR_OUTPUT_FORMATS as Oi } from "./lib/rich-text-editor/rich-text-editor-constants.js";
144
145
  import "./lib/rich-text-editor/index.js";
145
- import { ROOT_LAYOUT_RESPONSIVE_BREAKPOINTS as Oi, ROOT_LAYOUT_SIDEBAR_POSITIONS as ki } from "./lib/root-layout/root-layout-constants.js";
146
- import Ai from "./lib/root-layout/root-layout.js";
146
+ import { ROOT_LAYOUT_RESPONSIVE_BREAKPOINTS as ki, ROOT_LAYOUT_SIDEBAR_POSITIONS as Ai } from "./lib/root-layout/root-layout-constants.js";
147
+ import ji from "./lib/root-layout/root-layout.js";
147
148
  import "./lib/root-layout/index.js";
148
- import { t as ji } from "./Scroller-B1xwv6TG.js";
149
+ import { t as Mi } from "./Scroller-B1xwv6TG.js";
149
150
  import "./lib/scroller/index.js";
150
- import { SEGMENTED_CONTROL_ACTIVATION_MODES as Mi, SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT as Ni, SEGMENTED_CONTROL_CONTEXT_KEY as Pi, SEGMENTED_CONTROL_FOCUS_KEY as Fi, SEGMENTED_CONTROL_ORIENTATIONS as Ii, SEGMENTED_CONTROL_ORIENTATION_DEFAULT as Li, SEGMENTED_CONTROL_SELECT_KEY as Ri, SEGMENTED_CONTROL_SIZES as zi, SEGMENTED_CONTROL_SIZE_DEFAULT as Bi, SEGMENTED_CONTROL_SIZE_MODIFIERS as Vi, SEGMENTED_CONTROL_SPREADS as Hi, SEGMENTED_CONTROL_SPREAD_DEFAULT as Ui } from "./lib/segmented-control/segmented-control-constants.js";
151
- import Wi from "./lib/segmented-control/segmented-control.js";
152
- import Gi from "./lib/segmented-control/segmented-control-item.js";
151
+ import { SEGMENTED_CONTROL_ACTIVATION_MODES as Ni, SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT as Pi, SEGMENTED_CONTROL_CONTEXT_KEY as Fi, SEGMENTED_CONTROL_FOCUS_KEY as Ii, SEGMENTED_CONTROL_ORIENTATIONS as Li, SEGMENTED_CONTROL_ORIENTATION_DEFAULT as Ri, SEGMENTED_CONTROL_SELECT_KEY as zi, SEGMENTED_CONTROL_SIZES as Bi, SEGMENTED_CONTROL_SIZE_DEFAULT as Vi, SEGMENTED_CONTROL_SIZE_MODIFIERS as Hi, SEGMENTED_CONTROL_SPREADS as Ui, SEGMENTED_CONTROL_SPREAD_DEFAULT as Wi } from "./lib/segmented-control/segmented-control-constants.js";
152
+ import Gi from "./lib/segmented-control/segmented-control.js";
153
+ import Ki from "./lib/segmented-control/segmented-control-item.js";
153
154
  import "./lib/segmented-control/index.js";
154
- import { SELECT_SIZE_MODIFIERS as Ki, SELECT_STATE_MODIFIERS as qi } from "./lib/select-menu/select-menu-constants.js";
155
- import Ji from "./lib/select-menu/select-menu.js";
155
+ import { SELECT_SIZE_MODIFIERS as qi, SELECT_STATE_MODIFIERS as Ji } from "./lib/select-menu/select-menu-constants.js";
156
+ import Yi from "./lib/select-menu/select-menu.js";
156
157
  import "./lib/select-menu/index.js";
157
- import { a as Yi, i as Xi, n as Zi, o as Qi, r as $i, s as ea, t as ta } from "./Slider-Du45PVLU.js";
158
+ import { a as Xi, i as Zi, n as Qi, o as $i, r as ea, s as ta, t as na } from "./Slider-Du45PVLU.js";
158
159
  import "./lib/slider/index.js";
159
- import { SPLIT_BUTTON_ICON_SIZES as na } from "./lib/split-button/split-button-constants.js";
160
- import ra from "./lib/split-button/split-button.js";
160
+ import { SPLIT_BUTTON_ICON_SIZES as ra } from "./lib/split-button/split-button-constants.js";
161
+ import ia from "./lib/split-button/split-button.js";
161
162
  import "./lib/split-button/index.js";
162
- import { DT_TEXT_LIST_DEFAULT_TYPE as ia, DT_TEXT_LIST_GAP as aa, DT_TEXT_LIST_MARKERS as oa, DT_TEXT_LIST_MARKER_TONES as sa, DT_TEXT_LIST_ORDERED_MARKERS as ca, DT_TEXT_LIST_TYPES as la, DT_TEXT_LIST_UNORDERED_MARKERS as ua } from "./lib/text-list/text-list-constants.js";
163
- import { t as da } from "./TextList-7RwngSie.js";
164
- import { t as fa } from "./TextListItem-D0UmIR_q.js";
163
+ import { DT_TEXT_LIST_DEFAULT_TYPE as aa, DT_TEXT_LIST_GAP as oa, DT_TEXT_LIST_MARKERS as sa, DT_TEXT_LIST_MARKER_TONES as ca, DT_TEXT_LIST_ORDERED_MARKERS as la, DT_TEXT_LIST_TYPES as ua, DT_TEXT_LIST_UNORDERED_MARKERS as da } from "./lib/text-list/text-list-constants.js";
164
+ import { t as fa } from "./TextList-7RwngSie.js";
165
+ import { t as pa } from "./TextListItem-D0UmIR_q.js";
165
166
  import "./lib/text-list/index.js";
166
- import { TOAST_MIN_DURATION as pa, TOAST_ROLES as ma } from "./lib/toast/toast-constants.js";
167
- import { t as ha } from "./Toast-BNhGD6l8.js";
167
+ import { TOAST_MIN_DURATION as ma, TOAST_ROLES as ha } from "./lib/toast/toast-constants.js";
168
+ import { t as ga } from "./Toast-BNhGD6l8.js";
168
169
  import "./lib/toast/index.js";
169
- import { TOGGLE_CHECKED_VALUES as ga, TOGGLE_SIZE_MODIFIERS as _a } from "./lib/toggle/toggle-constants.js";
170
- import va from "./lib/toggle/toggle.js";
170
+ import { TOGGLE_CHECKED_VALUES as _a, TOGGLE_SIZE_MODIFIERS as va } from "./lib/toggle/toggle-constants.js";
171
+ import ya from "./lib/toggle/toggle.js";
171
172
  import "./lib/toggle/index.js";
172
- import ya from "./lib/combobox-with-popover/combobox-with-popover.js";
173
- import { CHIP_SIZES as ba, CHIP_TOP_POSITION as xa, MULTI_SELECT_SIZES as Sa } from "./lib/combobox-multi-select/combobox-multi-select-constants.js";
174
- import Ca from "./lib/combobox-multi-select/combobox-multi-select.js";
173
+ import ba from "./lib/combobox-with-popover/combobox-with-popover.js";
174
+ import { CHIP_SIZES as xa, CHIP_TOP_POSITION as Sa, MULTI_SELECT_SIZES as Ca } from "./lib/combobox-multi-select/combobox-multi-select-constants.js";
175
+ import wa from "./lib/combobox-multi-select/combobox-multi-select.js";
175
176
  import "./lib/combobox-multi-select/index.js";
176
177
  import "./lib/combobox-with-popover/index.js";
177
- import { DtTooltipDirective as wa } from "./lib/tooltip-directive/tooltip.js";
178
+ import { DtTooltipDirective as Ta } from "./lib/tooltip-directive/tooltip.js";
178
179
  import "./lib/tooltip-directive/index.js";
179
- import { DtScrollbarDirective as Ta } from "./lib/scrollbar-directive/scrollbar.js";
180
+ import { DtScrollbarDirective as Ea } from "./lib/scrollbar-directive/scrollbar.js";
180
181
  import "./lib/scrollbar-directive/index.js";
181
- import { DtModeDirective as Ea } from "./lib/mode-directive/mode.js";
182
+ import { DtModeDirective as Da } from "./lib/mode-directive/mode.js";
182
183
  import "./lib/mode-directive/index.js";
183
- import { DtFocusgroupDirective as Da } from "./lib/focusgroup-directive/focusgroup.js";
184
+ import { DtFocusgroupDirective as Oa } from "./lib/focusgroup-directive/focusgroup.js";
184
185
  import "./lib/focusgroup-directive/index.js";
185
- import { DtFocustrapDirective as Oa } from "./lib/focustrap-directive/focustrap.js";
186
+ import { DtFocustrapDirective as ka } from "./lib/focustrap-directive/focustrap.js";
186
187
  import "./lib/focustrap-directive/index.js";
187
- import { MOTION_TEXT_ANIMATION_MODES as ka, MOTION_TEXT_MODE_SETTINGS as Aa, MOTION_TEXT_SPEEDS as ja, MOTION_TEXT_TIMING_PRESETS as Ma, MOTION_TEXT_TRACKS as Na } from "./lib/motion-text/motion-text-constants.js";
188
- import Pa from "./lib/motion-text/motion-text.js";
188
+ import { MOTION_TEXT_ANIMATION_MODES as Aa, MOTION_TEXT_MODE_SETTINGS as ja, MOTION_TEXT_SPEEDS as Ma, MOTION_TEXT_TIMING_PRESETS as Na, MOTION_TEXT_TRACKS as Pa } from "./lib/motion-text/motion-text-constants.js";
189
+ import Fa from "./lib/motion-text/motion-text.js";
189
190
  import "./lib/motion-text/index.js";
190
- export { kr as ARROW_KEYS, Le as AVATAR_CHROMA, Re as AVATAR_FAMILY_COUNT, ze as AVATAR_GROUP_VALIDATOR, Be as AVATAR_HUE_OFFSETS, Ve as AVATAR_ICON_SIZES, He as AVATAR_KIND_MODIFIERS, Ue as AVATAR_LIGHTNESS, We as AVATAR_PRESENCE_SIZE_MODIFIERS, Ge as AVATAR_PRESENCE_STATES, Ke as AVATAR_SIZE_MODIFIERS, qe as AVATAR_VARIANT_COUNT, Qe as BADGE_DECORATION_MODIFIERS, $e as BADGE_KIND_MODIFIERS, et as BADGE_TYPE_MODIFIERS, un as BREADCRUMBS_INVERTED_MODIFIER, dn as BREADCRUMB_ITEM_SELECTED_MODIFIER, mn as BUTTON_GROUP_ALIGNMENT, Dt as BUTTON_ICON_SIZES, Ot as BUTTON_IMPORTANCE_MODIFIERS, kt as BUTTON_KIND_MODIFIERS, At as BUTTON_SIZE_MODIFIERS, jt as BUTTON_TYPES, Ar as CDN_URL, bn as CHIP_CLOSE_BUTTON_SIZE_MODIFIERS, xn as CHIP_ICON_SIZES, ba as CHIP_SIZES, Sn as CHIP_SIZE_MODIFIERS, xa as CHIP_TOP_POSITION, In as COMBOBOX_LABEL_SIZES, t as COMPONENT_SIZES, Pt as CRITICAL, mi as DEFAULT_PANEL_SIZE, o as DEFAULT_PREFIX, s as DEFAULT_VALIDATION_MESSAGE_TYPE, c as DESCRIPTION_SIZE_MODIFIERS, l as DESCRIPTION_SIZE_TYPES, dr as DROPDOWN_PADDING_CLASSES, Jt as DT_BOX_AS_VALUES, Yt as DT_BOX_BORDER_COLOR_VALUES, Xt as DT_BOX_BORDER_RADIUS_VALUES, Zt as DT_BOX_BORDER_WIDTH_VALUES, Qt as DT_BOX_INSET_SIDE_VALUES, $t as DT_BOX_INSET_VALUES, en as DT_BOX_LAYOUT_VALUES, tn as DT_BOX_OVERFLOW_VALUES, nn as DT_BOX_POSITION_VALUES, rn as DT_BOX_SCROLLBAR_VALUES, an as DT_BOX_SHADOW_VALUES, on as DT_BOX_SPACING_VALUES, sn as DT_BOX_SURFACE_VALUES, cn as DT_BOX_Z_INDEX_VALUES, sr as DT_DESCRIPTION_LIST_DIRECTION, qr as DT_MODE_ISLAND_TYPES, Ln as DT_STACK_DIRECTION, Rn as DT_STACK_GAP, zn as DT_STACK_RESPONSIVE_BREAKPOINTS, ia as DT_TEXT_LIST_DEFAULT_TYPE, aa as DT_TEXT_LIST_GAP, oa as DT_TEXT_LIST_MARKERS, sa as DT_TEXT_LIST_MARKER_TONES, ca as DT_TEXT_LIST_ORDERED_MARKERS, la as DT_TEXT_LIST_TYPES, ua as DT_TEXT_LIST_UNORDERED_MARKERS, Ut as DialtoneLocalization, Ze as DtAvatar, it as DtBadge, qt as DtBanner, ln as DtBox, fn as DtBreadcrumbItem, pn as DtBreadcrumbs, Wt as DtButton, hn as DtButtonGroup, gn as DtCard, K as DtCheckableInputMixin, _n as DtCheckbox, yn as DtCheckboxGroup, Cn as DtChip, wn as DtCodeblock, Tn as DtCollapsible, Fn as DtCombobox, Ca as DtComboboxMultiSelect, ya as DtComboboxWithPopover, e as DtDOMMixin, tr as DtDatepicker, cr as DtDescriptionList, fr as DtDropdown, pr as DtDropdownSeparator, mr as DtEmoji, vr as DtEmojiPicker, Nr as DtEmojiTextWrapper, Fr as DtEmptyState, Ir as DtFilterPill, Da as DtFocusgroupDirective, Oa as DtFocustrapDirective, q as DtGroupableInputMixin, Lr as DtHovercard, rt as DtIcon, zr as DtIllustration, Br as DtImageViewer, _r as DtInput, vn as DtInputGroup, X as DtInputGroupMixin, J as DtInputMixin, On as DtItemLayout, Z as DtKeyboardListNavigationMixin, Vr as DtKeyboardShortcut, lr as DtLazyShow, Ht as DtLink, kn as DtListItem, Ur as DtListItemGroup, Et as DtLoader, Kr as DtModal, Q as DtModalMixin, Ea as DtModeDirective, Jr as DtModeIsland, ae as DtModeMixin, Pa as DtMotionText, Kt as DtNotice, Gt as DtNoticeAction, Tt as DtNoticeContent, st as DtNoticeIcon, Yr as DtPagination, ur as DtPopover, Ie as DtPresence, ei as DtProgressCircle, ai as DtProse, si as DtRadio, ci as DtRadioGroup, Si as DtResizable, Ci as DtResizableHandle, wi as DtResizablePanel, Ti as DtRichTextEditor, Ai as DtRootLayout, Ta as DtScrollbarDirective, ji as DtScroller, Wi as DtSegmentedControl, Gi as DtSegmentedControlItem, Ji as DtSelectMenu, Pn as DtSkeleton, Nn as DtSkeletonListItem, ie as DtSkeletonMixin, Mn as DtSkeletonParagraph, An as DtSkeletonShape, jn as DtSkeletonText, ta as DtSlider, ra as DtSplitButton, Bn as DtStack, Dr as DtTab, Er as DtTabGroup, Or as DtTabPanel, wt as DtText, da as DtTextList, fa as DtTextListItem, ha as DtToast, va as DtToggle, er as DtTooltip, wa as DtTooltipDirective, Y as DtValidationMessages, jr as EMOJIS_PER_ROW, Mr as EMOJI_PICKER_SKIN_TONE_MODIFIERS, Pr as EMPTY_STATE_SIZE_MODIFIERS, u as EVENT_KEYNAMES, d as HTML_ELEMENT_TYPE, tt as ICON_NAMES, Mt as ICON_POSITION_MODIFIERS, nt as ICON_SIZE_MODIFIERS, Rr as ILLUSTRATION_NAMES, hr as INPUT_SIZES, gr as INPUT_TYPES, Nt as INVALID_COMBINATION, f as LABEL_SIZE_MODIFIERS, r as LAYOUT_PERCENT_VALUES, i as LAYOUT_SIZE_VALUES, a as LAYOUT_VALUES, Ft as LINK_KIND_MODIFIERS, It as LINK_VARIANTS, En as LIST_ITEM_NAVIGATION_TYPES, Dn as LIST_ITEM_TYPES, Lt as MENTION, xi as MIN_PANEL_SIZE_PX, Wr as MODAL_BANNER_KINDS, Gr as MODAL_KIND_MODIFIERS, ka as MOTION_TEXT_ANIMATION_MODES, Aa as MOTION_TEXT_MODE_SETTINGS, ja as MOTION_TEXT_SPEEDS, Ma as MOTION_TEXT_TIMING_PRESETS, Na as MOTION_TEXT_TRACKS, Sa as MULTI_SELECT_SIZES, Rt as MUTED, at as NOTICE_KINDS, ot as NOTICE_ROLES, Kn as POPOVER_APPEND_TO_VALUES, qn as POPOVER_CONTENT_WIDTHS, Jn as POPOVER_DIRECTIONS, Yn as POPOVER_HEADER_FOOTER_PADDING_CLASSES, Xn as POPOVER_INITIAL_FOCUS_STRINGS, Zn as POPOVER_PADDING_CLASSES, Qn as POPOVER_ROLES, $n as POPOVER_STICKY_VALUES, zt as POSITIVE, Pe as PRESENCE_STATES, Fe as PRESENCE_STATES_LIST, Xr as PROGRESS_CIRCLE_KINDS, Zr as PROGRESS_CIRCLE_KIND_DEFAULT, Qr as PROGRESS_CIRCLE_SIZES, $r as PROGRESS_CIRCLE_SIZE_DEFAULT, ti as PROSE_ALLOWED_ATTRIBUTES, ni as PROSE_DENSITY_MODIFIERS, ri as PROSE_DISALLOWED_ELEMENTS, ii as PROSE_SIZE_MODIFIERS, oi as RADIO_INPUT_VALIDATION_CLASSES, di as RESIZABLE_CONTEXT_KEY, fi as RESIZABLE_HANDLE_CENTER_OFFSET_PX, Ei as RICH_TEXT_EDITOR_AUTOFOCUS_TYPES, Di as RICH_TEXT_EDITOR_OUTPUT_FORMATS, Oi as ROOT_LAYOUT_RESPONSIVE_BREAKPOINTS, ki as ROOT_LAYOUT_SIDEBAR_POSITIONS, Mi as SEGMENTED_CONTROL_ACTIVATION_MODES, Ni as SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT, Pi as SEGMENTED_CONTROL_CONTEXT_KEY, Fi as SEGMENTED_CONTROL_FOCUS_KEY, Ii as SEGMENTED_CONTROL_ORIENTATIONS, Li as SEGMENTED_CONTROL_ORIENTATION_DEFAULT, Ri as SEGMENTED_CONTROL_SELECT_KEY, zi as SEGMENTED_CONTROL_SIZES, Bi as SEGMENTED_CONTROL_SIZE_DEFAULT, Vi as SEGMENTED_CONTROL_SIZE_MODIFIERS, Hi as SEGMENTED_CONTROL_SPREADS, Ui as SEGMENTED_CONTROL_SPREAD_DEFAULT, Ki as SELECT_SIZE_MODIFIERS, qi as SELECT_STATE_MODIFIERS, Hr as SHORTCUTS_ALIASES_LIST, $ as SKELETON_HEADING_HEIGHTS, ee as SKELETON_RIPPLE_DURATION, te as SKELETON_SHAPES, ne as SKELETON_SHAPE_SIZES, re as SKELETON_TEXT_TYPES, Zi as SLIDER_DEFAULT_LARGE_STEP, $i as SLIDER_EDGE_CLAMP_TOLERANCE_PX, Xi as SLIDER_FILL_ORIGINS, Yi as SLIDER_ORIENTATIONS, Qi as SLIDER_READOUT_EDGE_CLAMP_TOLERANCE_PX, ea as SLIDER_READOUT_MODES, na as SPLIT_BUTTON_ICON_SIZES, yr as TAB_ACTIVATION_MODES, br as TAB_GROUP_KINDS, xr as TAB_LIST_IMPORTANCE_MODIFIERS, Sr as TAB_LIST_KIND_MODIFIERS, Cr as TAB_LIST_SIZES, wr as TAB_LIST_SIZE_MODIFIERS, Tr as TAB_SPREADS, ct as TEXT_ALIGN_MODIFIERS, lt as TEXT_BOX_TRIM_MODIFIERS, ut as TEXT_DENSITY_MODIFIERS, dt as TEXT_FAMILY_MODIFIERS, ft as TEXT_FONT_SIZE_MODIFIERS, pt as TEXT_HEADLINE_ONLY_SIZES, n as TEXT_HEADLINE_SIZES, mt as TEXT_ITALIC_CLASS, ht as TEXT_KIND_MODIFIERS, gt as TEXT_LINE_CLAMP_CLASS, _t as TEXT_NUMERIC_CLASS, vt as TEXT_SIZE_MODIFIERS, yt as TEXT_STRENGTH_MODIFIERS, bt as TEXT_TONE_MODIFIERS, xt as TEXT_TRUNCATE_CLASS, St as TEXT_VARIANT_MODIFIERS, Ct as TEXT_WRAP_MODIFIERS, pa as TOAST_MIN_DURATION, ma as TOAST_ROLES, ga as TOGGLE_CHECKED_VALUES, _a as TOGGLE_SIZE_MODIFIERS, Vn as TOOLTIP_DELAY_MS, Hn as TOOLTIP_DIRECTIONS, Un as TOOLTIP_HIDE_ON_CLICK_VARIANTS, Wn as TOOLTIP_KIND_MODIFIERS, Gn as TOOLTIP_STICKY_VALUES, p as VALIDATION_MESSAGE_TYPES, Bt as WARNING, _i as buildHandleId, h as capitalizeFirstLetter, ue as codeToEmojiData, Je as colorToFamilyVariant, Ye as computeAvatarHex, de as customEmojiAssetUrl, g as debounce, fe as defaultEmojiAssetUrl, _ as disableRootScrolling, oe as durationInHHMM, pe as emojiFileExtensionLarge, me as emojiFileExtensionSmall, he as emojiImageUrlLarge, ge as emojiImageUrlSmall, _e as emojiJson, ve as emojiRegex, ye as emojiShortCodeRegex, be as emojiVersion, v as enableRootScrolling, y as extractNonListeners, b as extractVueListeners, x as filterFormattedMessages, xe as filterValidShortCodes, Se as findEmojis, S as findFirstFocusableNode, Ce as findShortCodes, C as flushPromises, nr as formatLong, rr as formatMedium, w as formatMessages, ir as formatNoYear, ar as formatNumerical, or as formatShort, se as getDateMedium, we as getEmojiData, Te as getEmojiShortCode, Vt as getLinkKindModifier, T as getPhoneNumberRegex, E as getRandomElement, Xe as getRandomFamilyVariant, D as getRandomInt, O as getUniqueString, k as getValidationState, A as hasFormattedMessageOfType, bi as hasPercentageMinSize, j as hasSlotContent, M as htmlFragment, hi as invalidateTokenCache, vi as isCSSValue, N as isEmailAddress, P as isOutOfViewPort, pi as isPercentageValue, F as isPhoneNumber, I as isURL, li as isValidSizing, L as javaHashCode, R as kebabCaseToPascalCase, z as linkRegex, gi as parseSizeToPixels, B as pascalCaseToKebabCase, yi as pixelsToPercentage, ce as relativeDate, V as removeClassStyleAttrs, H as returnFirstEl, U as safeConcatStrings, Ee as setCustomEmojiJson, De as setCustomEmojiUrl, le as setDateLocale, Oe as setEmojiAssetUrlLarge, ke as setEmojiAssetUrlSmall, Ae as shortcodeToEmojiData, je as stringToUnicode, W as toFluentKeyString, Me as unicodeToString, ui as validateContainerSize, Ne as validateCustomEmojiJson, m as validationMessageValidator, G as warnIfUnmounted };
191
+ export { Ar as ARROW_KEYS, Le as AVATAR_CHROMA, Re as AVATAR_FAMILY_COUNT, ze as AVATAR_GROUP_VALIDATOR, Be as AVATAR_HUE_OFFSETS, Ve as AVATAR_ICON_SIZES, He as AVATAR_KIND_MODIFIERS, Ue as AVATAR_LIGHTNESS, We as AVATAR_PRESENCE_SIZE_MODIFIERS, Ge as AVATAR_PRESENCE_STATES, Ke as AVATAR_SIZE_MODIFIERS, qe as AVATAR_VARIANT_COUNT, Qe as BADGE_DECORATION_MODIFIERS, $e as BADGE_KIND_MODIFIERS, et as BADGE_TYPE_MODIFIERS, dn as BREADCRUMBS_INVERTED_MODIFIER, fn as BREADCRUMB_ITEM_SELECTED_MODIFIER, hn as BUTTON_GROUP_ALIGNMENT, kt as BUTTON_ICON_SIZES, At as BUTTON_IMPORTANCE_MODIFIERS, jt as BUTTON_KIND_MODIFIERS, Mt as BUTTON_SIZE_MODIFIERS, Nt as BUTTON_TYPES, jr as CDN_URL, xn as CHIP_CLOSE_BUTTON_SIZE_MODIFIERS, Sn as CHIP_ICON_SIZES, xa as CHIP_SIZES, Cn as CHIP_SIZE_MODIFIERS, Sa as CHIP_TOP_POSITION, Ln as COMBOBOX_LABEL_SIZES, t as COMPONENT_SIZES, It as CRITICAL, hi as DEFAULT_PANEL_SIZE, o as DEFAULT_PREFIX, s as DEFAULT_VALIDATION_MESSAGE_TYPE, c as DESCRIPTION_SIZE_MODIFIERS, l as DESCRIPTION_SIZE_TYPES, fr as DROPDOWN_PADDING_CLASSES, Yt as DT_BOX_AS_VALUES, Xt as DT_BOX_BORDER_COLOR_VALUES, Zt as DT_BOX_BORDER_RADIUS_VALUES, Qt as DT_BOX_BORDER_WIDTH_VALUES, $t as DT_BOX_INSET_SIDE_VALUES, en as DT_BOX_INSET_VALUES, tn as DT_BOX_LAYOUT_VALUES, nn as DT_BOX_OVERFLOW_VALUES, rn as DT_BOX_POSITION_VALUES, an as DT_BOX_SCROLLBAR_VALUES, on as DT_BOX_SHADOW_VALUES, sn as DT_BOX_SPACING_VALUES, cn as DT_BOX_SURFACE_VALUES, ln as DT_BOX_Z_INDEX_VALUES, cr as DT_DESCRIPTION_LIST_DIRECTION, Jr as DT_MODE_ISLAND_TYPES, Rn as DT_STACK_DIRECTION, zn as DT_STACK_GAP, Bn as DT_STACK_RESPONSIVE_BREAKPOINTS, aa as DT_TEXT_LIST_DEFAULT_TYPE, oa as DT_TEXT_LIST_GAP, sa as DT_TEXT_LIST_MARKERS, ca as DT_TEXT_LIST_MARKER_TONES, la as DT_TEXT_LIST_ORDERED_MARKERS, ua as DT_TEXT_LIST_TYPES, da as DT_TEXT_LIST_UNORDERED_MARKERS, Dt as DialtoneLocalization, Ze as DtAvatar, it as DtBadge, Jt as DtBanner, un as DtBox, pn as DtBreadcrumbItem, mn as DtBreadcrumbs, Gt as DtButton, gn as DtButtonGroup, _n as DtCard, K as DtCheckableInputMixin, vn as DtCheckbox, bn as DtCheckboxGroup, wn as DtChip, Tn as DtCodeblock, En as DtCollapsible, In as DtCombobox, wa as DtComboboxMultiSelect, ba as DtComboboxWithPopover, e as DtDOMMixin, nr as DtDatepicker, lr as DtDescriptionList, pr as DtDropdown, mr as DtDropdownSeparator, hr as DtEmoji, yr as DtEmojiPicker, Pr as DtEmojiTextWrapper, Ir as DtEmptyState, Lr as DtFilterPill, Oa as DtFocusgroupDirective, ka as DtFocustrapDirective, q as DtGroupableInputMixin, Rr as DtHovercard, rt as DtIcon, Br as DtIllustration, Vr as DtImageViewer, vr as DtInput, yn as DtInputGroup, X as DtInputGroupMixin, J as DtInputMixin, kn as DtItemLayout, Z as DtKeyboardListNavigationMixin, Hr as DtKeyboardShortcut, ur as DtLazyShow, Wt as DtLink, An as DtListItem, Wr as DtListItemGroup, Ot as DtLoader, qr as DtModal, Q as DtModalMixin, Da as DtModeDirective, Yr as DtModeIsland, ae as DtModeMixin, Fa as DtMotionText, qt as DtNotice, Kt as DtNoticeAction, Tt as DtNoticeContent, st as DtNoticeIcon, Xr as DtPagination, dr as DtPopover, Ie as DtPresence, ti as DtProgressCircle, oi as DtProse, ci as DtRadio, li as DtRadioGroup, Ci as DtResizable, wi as DtResizableHandle, Ti as DtResizablePanel, Ei as DtRichTextEditor, ji as DtRootLayout, Ea as DtScrollbarDirective, Mi as DtScroller, Gi as DtSegmentedControl, Ki as DtSegmentedControlItem, Yi as DtSelectMenu, Fn as DtSkeleton, Pn as DtSkeletonListItem, ie as DtSkeletonMixin, Nn as DtSkeletonParagraph, jn as DtSkeletonShape, Mn as DtSkeletonText, na as DtSlider, ia as DtSplitButton, Vn as DtStack, Or as DtTab, Dr as DtTabGroup, kr as DtTabPanel, wt as DtText, fa as DtTextList, pa as DtTextListItem, ga as DtToast, ya as DtToggle, tr as DtTooltip, Ta as DtTooltipDirective, Y as DtValidationMessages, Mr as EMOJIS_PER_ROW, Nr as EMOJI_PICKER_SKIN_TONE_MODIFIERS, Fr as EMPTY_STATE_SIZE_MODIFIERS, u as EVENT_KEYNAMES, d as HTML_ELEMENT_TYPE, tt as ICON_NAMES, Pt as ICON_POSITION_MODIFIERS, nt as ICON_SIZE_MODIFIERS, zr as ILLUSTRATION_NAMES, gr as INPUT_SIZES, _r as INPUT_TYPES, Ft as INVALID_COMBINATION, f as LABEL_SIZE_MODIFIERS, r as LAYOUT_PERCENT_VALUES, i as LAYOUT_SIZE_VALUES, a as LAYOUT_VALUES, Lt as LINK_KIND_MODIFIERS, Rt as LINK_VARIANTS, Dn as LIST_ITEM_NAVIGATION_TYPES, On as LIST_ITEM_TYPES, Et as LOADER_KIND_MODIFIERS, zt as MENTION, Si as MIN_PANEL_SIZE_PX, Gr as MODAL_BANNER_KINDS, Kr as MODAL_KIND_MODIFIERS, Aa as MOTION_TEXT_ANIMATION_MODES, ja as MOTION_TEXT_MODE_SETTINGS, Ma as MOTION_TEXT_SPEEDS, Na as MOTION_TEXT_TIMING_PRESETS, Pa as MOTION_TEXT_TRACKS, Ca as MULTI_SELECT_SIZES, Bt as MUTED, at as NOTICE_KINDS, ot as NOTICE_ROLES, qn as POPOVER_APPEND_TO_VALUES, Jn as POPOVER_CONTENT_WIDTHS, Yn as POPOVER_DIRECTIONS, Xn as POPOVER_HEADER_FOOTER_PADDING_CLASSES, Zn as POPOVER_INITIAL_FOCUS_STRINGS, Qn as POPOVER_PADDING_CLASSES, $n as POPOVER_ROLES, er as POPOVER_STICKY_VALUES, Vt as POSITIVE, Pe as PRESENCE_STATES, Fe as PRESENCE_STATES_LIST, Zr as PROGRESS_CIRCLE_KINDS, Qr as PROGRESS_CIRCLE_KIND_DEFAULT, $r as PROGRESS_CIRCLE_SIZES, ei as PROGRESS_CIRCLE_SIZE_DEFAULT, ni as PROSE_ALLOWED_ATTRIBUTES, ri as PROSE_DENSITY_MODIFIERS, ii as PROSE_DISALLOWED_ELEMENTS, ai as PROSE_SIZE_MODIFIERS, si as RADIO_INPUT_VALIDATION_CLASSES, fi as RESIZABLE_CONTEXT_KEY, pi as RESIZABLE_HANDLE_CENTER_OFFSET_PX, Di as RICH_TEXT_EDITOR_AUTOFOCUS_TYPES, Oi as RICH_TEXT_EDITOR_OUTPUT_FORMATS, ki as ROOT_LAYOUT_RESPONSIVE_BREAKPOINTS, Ai as ROOT_LAYOUT_SIDEBAR_POSITIONS, Ni as SEGMENTED_CONTROL_ACTIVATION_MODES, Pi as SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT, Fi as SEGMENTED_CONTROL_CONTEXT_KEY, Ii as SEGMENTED_CONTROL_FOCUS_KEY, Li as SEGMENTED_CONTROL_ORIENTATIONS, Ri as SEGMENTED_CONTROL_ORIENTATION_DEFAULT, zi as SEGMENTED_CONTROL_SELECT_KEY, Bi as SEGMENTED_CONTROL_SIZES, Vi as SEGMENTED_CONTROL_SIZE_DEFAULT, Hi as SEGMENTED_CONTROL_SIZE_MODIFIERS, Ui as SEGMENTED_CONTROL_SPREADS, Wi as SEGMENTED_CONTROL_SPREAD_DEFAULT, qi as SELECT_SIZE_MODIFIERS, Ji as SELECT_STATE_MODIFIERS, Ur as SHORTCUTS_ALIASES_LIST, $ as SKELETON_HEADING_HEIGHTS, ee as SKELETON_RIPPLE_DURATION, te as SKELETON_SHAPES, ne as SKELETON_SHAPE_SIZES, re as SKELETON_TEXT_TYPES, Qi as SLIDER_DEFAULT_LARGE_STEP, ea as SLIDER_EDGE_CLAMP_TOLERANCE_PX, Zi as SLIDER_FILL_ORIGINS, Xi as SLIDER_ORIENTATIONS, $i as SLIDER_READOUT_EDGE_CLAMP_TOLERANCE_PX, ta as SLIDER_READOUT_MODES, ra as SPLIT_BUTTON_ICON_SIZES, br as TAB_ACTIVATION_MODES, xr as TAB_GROUP_KINDS, Sr as TAB_LIST_IMPORTANCE_MODIFIERS, Cr as TAB_LIST_KIND_MODIFIERS, wr as TAB_LIST_SIZES, Tr as TAB_LIST_SIZE_MODIFIERS, Er as TAB_SPREADS, ct as TEXT_ALIGN_MODIFIERS, lt as TEXT_BOX_TRIM_MODIFIERS, ut as TEXT_DENSITY_MODIFIERS, dt as TEXT_FAMILY_MODIFIERS, ft as TEXT_FONT_SIZE_MODIFIERS, pt as TEXT_HEADLINE_ONLY_SIZES, n as TEXT_HEADLINE_SIZES, mt as TEXT_ITALIC_CLASS, ht as TEXT_KIND_MODIFIERS, gt as TEXT_LINE_CLAMP_CLASS, _t as TEXT_NUMERIC_CLASS, vt as TEXT_SIZE_MODIFIERS, yt as TEXT_STRENGTH_MODIFIERS, bt as TEXT_TONE_MODIFIERS, xt as TEXT_TRUNCATE_CLASS, St as TEXT_VARIANT_MODIFIERS, Ct as TEXT_WRAP_MODIFIERS, ma as TOAST_MIN_DURATION, ha as TOAST_ROLES, _a as TOGGLE_CHECKED_VALUES, va as TOGGLE_SIZE_MODIFIERS, Hn as TOOLTIP_DELAY_MS, Un as TOOLTIP_DIRECTIONS, Wn as TOOLTIP_HIDE_ON_CLICK_VARIANTS, Gn as TOOLTIP_KIND_MODIFIERS, Kn as TOOLTIP_STICKY_VALUES, p as VALIDATION_MESSAGE_TYPES, Ht as WARNING, vi as buildHandleId, h as capitalizeFirstLetter, ue as codeToEmojiData, Je as colorToFamilyVariant, Ye as computeAvatarHex, de as customEmojiAssetUrl, g as debounce, fe as defaultEmojiAssetUrl, _ as disableRootScrolling, oe as durationInHHMM, pe as emojiFileExtensionLarge, me as emojiFileExtensionSmall, he as emojiImageUrlLarge, ge as emojiImageUrlSmall, _e as emojiJson, ve as emojiRegex, ye as emojiShortCodeRegex, be as emojiVersion, v as enableRootScrolling, y as extractNonListeners, b as extractVueListeners, x as filterFormattedMessages, xe as filterValidShortCodes, Se as findEmojis, S as findFirstFocusableNode, Ce as findShortCodes, C as flushPromises, rr as formatLong, ir as formatMedium, w as formatMessages, ar as formatNoYear, or as formatNumerical, sr as formatShort, se as getDateMedium, we as getEmojiData, Te as getEmojiShortCode, Ut as getLinkKindModifier, T as getPhoneNumberRegex, E as getRandomElement, Xe as getRandomFamilyVariant, D as getRandomInt, O as getUniqueString, k as getValidationState, A as hasFormattedMessageOfType, xi as hasPercentageMinSize, j as hasSlotContent, M as htmlFragment, gi as invalidateTokenCache, yi as isCSSValue, N as isEmailAddress, P as isOutOfViewPort, mi as isPercentageValue, F as isPhoneNumber, I as isURL, ui as isValidSizing, L as javaHashCode, R as kebabCaseToPascalCase, z as linkRegex, _i as parseSizeToPixels, B as pascalCaseToKebabCase, bi as pixelsToPercentage, ce as relativeDate, V as removeClassStyleAttrs, H as returnFirstEl, U as safeConcatStrings, Ee as setCustomEmojiJson, De as setCustomEmojiUrl, le as setDateLocale, Oe as setEmojiAssetUrlLarge, ke as setEmojiAssetUrlSmall, Ae as shortcodeToEmojiData, je as stringToUnicode, W as toFluentKeyString, Me as unicodeToString, di as validateContainerSize, Ne as validateCustomEmojiJson, m as validationMessageValidator, G as warnIfUnmounted };
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../common/validators/index.cjs`),t=require(`../../common/utils/index.cjs`),n=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),r=require(`../../Presence-DLM3JR-n.cjs`),i=require(`./avatar-constants.cjs`),a=require(`./utils.cjs`);let o=require(`vue`);var s=typeof CSS<`u`&&CSS.supports?.(`background`,`oklch(0.5 0.1 0)`),c={name:`DtAvatar`,components:{DtPresence:r.t},props:{id:{type:String,default(){return t.getUniqueString()}},seed:{type:String,default:void 0},family:{type:Number,default:void 0,validator:e=>e>=1&&e<=12},variant:{type:Number,default:void 0,validator:e=>e>=0&&e<10},color:{type:String,default:void 0},size:{type:[String,Number],default:300,validator:e.ordinalSizeValidator(i.AVATAR_SIZE_MODIFIERS)},avatarClass:{type:[String,Array,Object],default:``},canvasClass:{type:[String,Array,Object],default:``},iconClass:{type:[String,Array,Object],default:``},presence:{type:String,default:i.AVATAR_PRESENCE_STATES.NONE,validator:e=>Object.values(i.AVATAR_PRESENCE_STATES).includes(e)},presenceProps:{type:Object,default:()=>({})},group:{type:Number,default:void 0,validator:e=>i.AVATAR_GROUP_VALIDATOR(e)},overlayText:{type:String,default:``},overlayClass:{type:[String,Array,Object],default:``},imageSrc:{type:String,default:``},imageAlt:{type:String,default:void 0},fullName:{type:String,default:``},interactive:{type:Boolean,default:!1},clickable:{type:Boolean,default:null},iconAriaLabel:{type:String,default:void 0},iconOnly:{type:Boolean,default:!1},deactivated:{type:Boolean,default:!1}},emits:[`click`],data(){return{AVATAR_SIZE_MODIFIERS:i.AVATAR_SIZE_MODIFIERS,AVATAR_KIND_MODIFIERS:i.AVATAR_KIND_MODIFIERS,AVATAR_PRESENCE_SIZE_MODIFIERS:i.AVATAR_PRESENCE_SIZE_MODIFIERS,imageLoadedSuccessfully:null,formattedInitials:``,initializing:!1,hasSlotContent:t.hasSlotContent,anchorHue:0}},computed:{resolvedInteractive(){return this.clickable??this.interactive},hasOverlayIcon(){return t.hasSlotContent(this.$slots.overlayIcon)},isIconType(){return t.hasSlotContent(this.$slots.icon)},iconDataQa(){return`dt-avatar-icon`},computedFamily(){if(!this.isIconType){if(this.family!==void 0)return this.family;if(this.color!==void 0){let e=i.colorToFamilyVariant(this.color);if(e)return e.family}return i.getRandomFamilyVariant(this.seed).family}},computedVariant(){if(!this.isIconType){if(this.variant!==void 0)return this.variant;if(this.color!==void 0){let e=i.colorToFamilyVariant(this.color);if(e)return e.variant}return i.getRandomFamilyVariant(this.seed).variant}},avatarClasses(){return[`d-avatar`,i.AVATAR_SIZE_MODIFIERS[this.validatedSize],this.avatarClass,{"d-avatar--group":this.showGroup,"d-avatar--group-digits-2":this.showGroup&&String(this.formattedGroup).length===2,"d-avatar--group-digits-3":this.showGroup&&String(this.formattedGroup).length>=3,"d-avatar--clickable":this.resolvedInteractive,"d-avatar--presence":this.presence&&!this.showGroup,"d-avatar--icon-only":this.iconOnly,"d-avatar--deactivated":this.deactivated}]},avatarStyles(){let e=[];if(!s&&!this.isIconType&&this.computedFamily&&this.computedVariant!==void 0){let t=i.computeAvatarHex(this.computedFamily,this.computedVariant,this.anchorHue);e.push({"--avatar-color-background":t})}return e.length>0?e:void 0},overlayClasses(){return[`d-avatar__overlay`,this.overlayClass,{"d-avatar__overlay-icon":this.hasOverlayIcon}]},showGroup(){return i.AVATAR_GROUP_VALIDATOR(this.group)},formattedGroup(){let e=String(this.validatedSize);return([`xs`,`100`,`150`,`200`,`250`].includes(e)?2:3)==2?this.group>9?`9+`:this.group:this.group>99?`99+`:this.group},validatedSize(){return this.size},showImage(){return this.imageLoadedSuccessfully!==!1&&this.imageSrc}},watch:{fullName:{immediate:!0,handler(){this.formatInitials()}},size:{immediate:!0,handler(){this.formatInitials()}},group:{immediate:!0,handler(){this.formatInitials()}},imageSrc(e){this.imageLoadedSuccessfully=null,e&&(this.validateProps(),this.setImageListeners())}},mounted(){this.validateProps(),this.setImageListeners(),s||this.readAnchorHue()},methods:{async setImageListeners(){await this.$nextTick();let e=this.$refs.avatarImage;e&&(e.addEventListener(`load`,()=>this._loadedImageEventHandler(e),{once:!0}),e.addEventListener(`error`,()=>this._erroredImageEventHandler(e),{once:!0}))},formatInitials(){let e=a.extractInitialsFromName(this.fullName),t=String(this.validatedSize);t===`xs`||t===`100`?this.formattedInitials=``:t===`sm`||t===`150`||t===`200`?this.formattedInitials=e[0]:this.formattedInitials=e},readAnchorHue(){try{let e=getComputedStyle(document.documentElement).getPropertyValue(`--dt-avatar-anchor-hue`).trim();this.anchorHue=parseFloat(e)||0}catch{this.anchorHue=0}},_loadedImageEventHandler(e){this.imageLoadedSuccessfully=!0,e.classList.remove(`d-d-none`)},_erroredImageEventHandler(e){this.imageLoadedSuccessfully=!1,e.classList.add(`d-d-none`)},validateProps(){this.imageSrc&&this.imageAlt===void 0&&console.error(`image-alt required if image-src is provided. Can be set to "" (empty string) if the image is described in text nearby`)},handleClick(e){this.resolvedInteractive&&this.$emit(`click`,e)}}},l={class:`d-avatar__canvas-inner`},u=[`src`,`alt`],d=[`aria-label`,`data-qa`],f={key:1,class:`d-avatar__overlay-text`},p=[`aria-label`];function m(e,t,n,r,i,a){let s=(0,o.resolveComponent)(`dt-presence`);return(0,o.openBlock)(),(0,o.createBlock)((0,o.resolveDynamicComponent)(a.resolvedInteractive?`button`:`div`),{id:n.id,class:(0,o.normalizeClass)(a.avatarClasses),style:(0,o.normalizeStyle)(a.avatarStyles),"data-avatar-family":n.iconOnly?void 0:a.computedFamily,"data-avatar-variant":n.iconOnly?void 0:a.computedVariant,"data-qa":`dt-avatar`,type:a.resolvedInteractive?`button`:void 0,onClick:a.handleClick},{default:(0,o.withCtx)(()=>[(0,o.createElementVNode)(`div`,{ref:`canvas`,class:(0,o.normalizeClass)([n.canvasClass,`d-avatar__canvas`,{"d-avatar--image-loaded":i.imageLoadedSuccessfully}])},[(0,o.createElementVNode)(`div`,l,[a.showImage?((0,o.openBlock)(),(0,o.createElementBlock)(`img`,{key:0,ref:`avatarImage`,class:`d-avatar__image`,"data-qa":`dt-avatar-image`,src:n.imageSrc,alt:n.imageAlt},null,8,u)):a.isIconType?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:1,class:(0,o.normalizeClass)([n.iconClass,i.AVATAR_KIND_MODIFIERS.icon]),"aria-label":a.resolvedInteractive?n.iconAriaLabel:``,"data-qa":a.iconDataQa},[(0,o.renderSlot)(e.$slots,`icon`)],10,d)):((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:2,class:(0,o.normalizeClass)([i.AVATAR_KIND_MODIFIERS.initials])},(0,o.toDisplayString)(i.formattedInitials),3))])],2),a.hasOverlayIcon||n.overlayText?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:0,class:(0,o.normalizeClass)(a.overlayClasses)},[a.hasOverlayIcon?(0,o.renderSlot)(e.$slots,`overlayIcon`,{key:0}):n.overlayText?((0,o.openBlock)(),(0,o.createElementBlock)(`p`,f,(0,o.toDisplayString)(n.overlayText),1)):(0,o.createCommentVNode)(``,!0)],2)):(0,o.createCommentVNode)(``,!0),a.showGroup?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:1,class:`d-avatar__count`,"data-qa":`dt-avatar-count`,role:`img`,"aria-label":`${n.group} participants`},(0,o.toDisplayString)(a.formattedGroup),9,p)):(0,o.createCommentVNode)(``,!0),n.presence&&!a.showGroup&&i.AVATAR_PRESENCE_SIZE_MODIFIERS[n.size]?((0,o.openBlock)(),(0,o.createBlock)(s,(0,o.mergeProps)({key:2,presence:n.presence,class:[`d-avatar__presence`,i.AVATAR_PRESENCE_SIZE_MODIFIERS[n.size]]},n.presenceProps,{"data-qa":`dt-presence`}),null,16,[`presence`,`class`])):(0,o.createCommentVNode)(``,!0)]),_:3},8,[`id`,`class`,`style`,`data-avatar-family`,`data-avatar-variant`,`type`,`onClick`])}var h=n.t(c,[[`render`,m]]);exports.default=h;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../common/validators/index.cjs`),t=require(`../../common/utils/index.cjs`),n=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),r=require(`../../Presence-DLM3JR-n.cjs`),i=require(`./avatar-constants.cjs`),a=require(`./utils.cjs`);let o=require(`vue`);var s=typeof CSS<`u`&&CSS.supports?.(`background`,`oklch(0.5 0.1 0)`),c={name:`DtAvatar`,components:{DtPresence:r.t},props:{id:{type:String,default(){return t.getUniqueString()}},seed:{type:String,default:void 0},family:{type:Number,default:void 0,validator:e=>e>=1&&e<=12},variant:{type:Number,default:void 0,validator:e=>e>=0&&e<10},color:{type:String,default:void 0},size:{type:[String,Number],default:300,validator:e.ordinalSizeValidator(i.AVATAR_SIZE_MODIFIERS)},avatarClass:{type:[String,Array,Object],default:``},canvasClass:{type:[String,Array,Object],default:``},iconClass:{type:[String,Array,Object],default:``},presence:{type:String,default:i.AVATAR_PRESENCE_STATES.NONE,validator:e=>Object.values(i.AVATAR_PRESENCE_STATES).includes(e)},presenceProps:{type:Object,default:()=>({})},group:{type:Number,default:void 0,validator:e=>i.AVATAR_GROUP_VALIDATOR(e)},overlayText:{type:String,default:``},overlayClass:{type:[String,Array,Object],default:``},imageSrc:{type:String,default:``},imageAlt:{type:String,default:void 0},fullName:{type:String,default:``},interactive:{type:Boolean,default:!1},clickable:{type:Boolean,default:null},iconAriaLabel:{type:String,default:void 0},iconOnly:{type:Boolean,default:!1},deactivated:{type:Boolean,default:!1}},emits:[`click`],data(){return{AVATAR_SIZE_MODIFIERS:i.AVATAR_SIZE_MODIFIERS,AVATAR_KIND_MODIFIERS:i.AVATAR_KIND_MODIFIERS,AVATAR_PRESENCE_SIZE_MODIFIERS:i.AVATAR_PRESENCE_SIZE_MODIFIERS,imageLoadedSuccessfully:null,formattedInitials:``,initializing:!1,hasSlotContent:t.hasSlotContent,anchorHue:0}},computed:{resolvedInteractive(){return this.clickable??this.interactive},randomFamilyVariant(){return i.getRandomFamilyVariant(this.seed)},iconDataQa(){return`dt-avatar-icon`},avatarClasses(){return[`d-avatar`,i.AVATAR_SIZE_MODIFIERS[this.validatedSize],this.avatarClass,{"d-avatar--group":this.showGroup,"d-avatar--group-digits-2":this.showGroup&&String(this.formattedGroup).length===2,"d-avatar--group-digits-3":this.showGroup&&String(this.formattedGroup).length>=3,"d-avatar--clickable":this.resolvedInteractive,"d-avatar--presence":this.presence&&!this.showGroup,"d-avatar--icon-only":this.iconOnly,"d-avatar--deactivated":this.deactivated}]},showGroup(){return i.AVATAR_GROUP_VALIDATOR(this.group)},formattedGroup(){let e=String(this.validatedSize);return([`xs`,`100`,`150`,`200`,`250`].includes(e)?2:3)==2?this.group>9?`9+`:this.group:this.group>99?`99+`:this.group},validatedSize(){return this.size},showImage(){return this.imageLoadedSuccessfully!==!1&&this.imageSrc}},watch:{fullName:{immediate:!0,handler(){this.formatInitials()}},size:{immediate:!0,handler(){this.formatInitials()}},group:{immediate:!0,handler(){this.formatInitials()}},imageSrc(e){this.imageLoadedSuccessfully=null,e&&(this.validateProps(),this.setImageListeners())}},mounted(){this.validateProps(),this.setImageListeners(),s||this.readAnchorHue()},methods:{hasOverlayIcon(){return t.hasSlotContent(this.$slots.overlayIcon)},isIconType(){return t.hasSlotContent(this.$slots.icon)},getFamily(){if(!this.isIconType()){if(this.family!==void 0)return this.family;if(this.color!==void 0){let e=i.colorToFamilyVariant(this.color);if(e)return e.family}return this.randomFamilyVariant.family}},getVariant(){if(!this.isIconType()){if(this.variant!==void 0)return this.variant;if(this.color!==void 0){let e=i.colorToFamilyVariant(this.color);if(e)return e.variant}return this.randomFamilyVariant.variant}},avatarStyles(){let e=[];if(!s&&!this.isIconType()&&this.getFamily()&&this.getVariant()!==void 0){let t=i.computeAvatarHex(this.getFamily(),this.getVariant(),this.anchorHue);e.push({"--avatar-color-background":t})}return e.length>0?e:void 0},overlayClasses(){return[`d-avatar__overlay`,this.overlayClass,{"d-avatar__overlay-icon":this.hasOverlayIcon()}]},async setImageListeners(){await this.$nextTick();let e=this.$refs.avatarImage;e&&(e.addEventListener(`load`,()=>this._loadedImageEventHandler(e),{once:!0}),e.addEventListener(`error`,()=>this._erroredImageEventHandler(e),{once:!0}))},formatInitials(){let e=a.extractInitialsFromName(this.fullName),t=String(this.validatedSize);t===`xs`||t===`100`?this.formattedInitials=``:t===`sm`||t===`150`||t===`200`?this.formattedInitials=e[0]:this.formattedInitials=e},readAnchorHue(){try{let e=getComputedStyle(document.documentElement).getPropertyValue(`--dt-avatar-anchor-hue`).trim();this.anchorHue=parseFloat(e)||0}catch{this.anchorHue=0}},_loadedImageEventHandler(e){this.imageLoadedSuccessfully=!0,e.classList.remove(`d-d-none`)},_erroredImageEventHandler(e){this.imageLoadedSuccessfully=!1,e.classList.add(`d-d-none`)},validateProps(){this.imageSrc&&this.imageAlt===void 0&&console.error(`image-alt required if image-src is provided. Can be set to "" (empty string) if the image is described in text nearby`)},handleClick(e){this.resolvedInteractive&&this.$emit(`click`,e)}}},l={class:`d-avatar__canvas-inner`},u=[`src`,`alt`],d=[`aria-label`,`data-qa`],f={key:1,class:`d-avatar__overlay-text`},p=[`aria-label`];function m(e,t,n,r,i,a){let s=(0,o.resolveComponent)(`dt-presence`);return(0,o.openBlock)(),(0,o.createBlock)((0,o.resolveDynamicComponent)(a.resolvedInteractive?`button`:`div`),{id:n.id,class:(0,o.normalizeClass)(a.avatarClasses),style:(0,o.normalizeStyle)(a.avatarStyles()),"data-avatar-family":n.iconOnly?void 0:a.getFamily(),"data-avatar-variant":n.iconOnly?void 0:a.getVariant(),"data-qa":`dt-avatar`,type:a.resolvedInteractive?`button`:void 0,onClick:a.handleClick},{default:(0,o.withCtx)(()=>[(0,o.createElementVNode)(`div`,{ref:`canvas`,class:(0,o.normalizeClass)([n.canvasClass,`d-avatar__canvas`,{"d-avatar--image-loaded":i.imageLoadedSuccessfully}])},[(0,o.createElementVNode)(`div`,l,[a.showImage?((0,o.openBlock)(),(0,o.createElementBlock)(`img`,{key:0,ref:`avatarImage`,class:`d-avatar__image`,"data-qa":`dt-avatar-image`,src:n.imageSrc,alt:n.imageAlt},null,8,u)):a.isIconType()?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:1,class:(0,o.normalizeClass)([n.iconClass,i.AVATAR_KIND_MODIFIERS.icon]),"aria-label":a.resolvedInteractive?n.iconAriaLabel:``,"data-qa":a.iconDataQa},[(0,o.renderSlot)(e.$slots,`icon`)],10,d)):((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:2,class:(0,o.normalizeClass)([i.AVATAR_KIND_MODIFIERS.initials])},(0,o.toDisplayString)(i.formattedInitials),3))])],2),a.hasOverlayIcon()||n.overlayText?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:0,class:(0,o.normalizeClass)(a.overlayClasses())},[a.hasOverlayIcon()?(0,o.renderSlot)(e.$slots,`overlayIcon`,{key:0}):n.overlayText?((0,o.openBlock)(),(0,o.createElementBlock)(`p`,f,(0,o.toDisplayString)(n.overlayText),1)):(0,o.createCommentVNode)(``,!0)],2)):(0,o.createCommentVNode)(``,!0),a.showGroup?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{key:1,class:`d-avatar__count`,"data-qa":`dt-avatar-count`,role:`img`,"aria-label":`${n.group} participants`},(0,o.toDisplayString)(a.formattedGroup),9,p)):(0,o.createCommentVNode)(``,!0),n.presence&&!a.showGroup&&i.AVATAR_PRESENCE_SIZE_MODIFIERS[n.size]?((0,o.openBlock)(),(0,o.createBlock)(s,(0,o.mergeProps)({key:2,presence:n.presence,class:[`d-avatar__presence`,i.AVATAR_PRESENCE_SIZE_MODIFIERS[n.size]]},n.presenceProps,{"data-qa":`dt-presence`}),null,16,[`presence`,`class`])):(0,o.createCommentVNode)(``,!0)]),_:3},8,[`id`,`class`,`style`,`data-avatar-family`,`data-avatar-variant`,`type`,`onClick`])}var h=n.t(c,[[`render`,m]]);exports.default=h;
2
2
  //# sourceMappingURL=avatar.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.cjs","names":[],"sources":["../../../components/Avatar/Avatar.vue"],"sourcesContent":["<template>\n <component\n :is=\"resolvedInteractive ? 'button' : 'div'\"\n :id=\"id\"\n :class=\"avatarClasses\"\n :style=\"avatarStyles\"\n :data-avatar-family=\"!iconOnly ? computedFamily : undefined\"\n :data-avatar-variant=\"!iconOnly ? computedVariant : undefined\"\n data-qa=\"dt-avatar\"\n :type=\"resolvedInteractive ? 'button' : undefined\"\n @click=\"handleClick\"\n >\n <div\n ref=\"canvas\"\n :class=\"[\n canvasClass,\n 'd-avatar__canvas',\n { 'd-avatar--image-loaded': imageLoadedSuccessfully },\n ]\"\n >\n <div class=\"d-avatar__canvas-inner\">\n <img\n v-if=\"showImage\"\n ref=\"avatarImage\"\n class=\"d-avatar__image\"\n data-qa=\"dt-avatar-image\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n <div\n v-else-if=\"isIconType\"\n :class=\"[iconClass, AVATAR_KIND_MODIFIERS.icon]\"\n :aria-label=\"resolvedInteractive ? iconAriaLabel : ''\"\n :data-qa=\"iconDataQa\"\n >\n <!-- @slot Slot for avatar icon. It will display if no imageSrc is provided -->\n <slot name=\"icon\" />\n </div>\n <span\n v-else\n :class=\"[AVATAR_KIND_MODIFIERS.initials]\"\n >\n {{ formattedInitials }}\n </span>\n </div>\n </div>\n <div\n v-if=\"hasOverlayIcon || overlayText\"\n :class=\"overlayClasses\"\n >\n <!-- @slot Slot for overlay icon. -->\n <slot\n v-if=\"hasOverlayIcon\"\n name=\"overlayIcon\"\n />\n <p\n v-else-if=\"overlayText\"\n class=\"d-avatar__overlay-text\"\n >\n {{ overlayText }}\n </p>\n </div>\n <span\n v-if=\"showGroup\"\n class=\"d-avatar__count\"\n data-qa=\"dt-avatar-count\"\n role=\"img\"\n :aria-label=\"`${group} participants`\"\n >{{ formattedGroup }}</span>\n <dt-presence\n v-if=\"presence && !showGroup && AVATAR_PRESENCE_SIZE_MODIFIERS[size]\"\n :presence=\"presence\"\n :class=\"[\n 'd-avatar__presence',\n AVATAR_PRESENCE_SIZE_MODIFIERS[size],\n ]\"\n v-bind=\"presenceProps\"\n data-qa=\"dt-presence\"\n />\n </component>\n</template>\n\n<script>\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { ordinalSizeValidator } from '@/common/validators';\nimport { DtPresence } from '../Presence';\nimport {\n AVATAR_KIND_MODIFIERS,\n AVATAR_SIZE_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_PRESENCE_STATES,\n AVATAR_GROUP_VALIDATOR,\n AVATAR_FAMILY_COUNT,\n AVATAR_VARIANT_COUNT,\n colorToFamilyVariant,\n getRandomFamilyVariant,\n computeAvatarHex,\n} from './AvatarConstants';\nimport { extractInitialsFromName } from './Utils';\n\n// Check if browser supports oklch() - only compute hex fallback if not\nconst supportsOklch = typeof CSS !== 'undefined' && CSS.supports?.('background', 'oklch(0.5 0.1 0)');\n\n/**\n * An avatar is a visual representation of a user or object.\n * @see https://dialtone.dialpad.com/components/avatar.html\n */\nexport default {\n name: 'DtAvatar',\n components: { DtPresence },\n\n props: {\n /**\n * Id of the avatar content wrapper element\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * **Recommended.** Pass a unique identifier (e.g., user ID) to generate consistent,\n * deterministic colors for this avatar. The same seed always produces the same color.\n * This is the preferred approach for most use cases.\n */\n seed: {\n type: String,\n default: undefined,\n },\n\n /**\n * **Advanced.** Avatar color family (1-12). Each family represents a different hue\n * offset from the theme's anchor. Only use this if you need explicit control over\n * the color. For most cases, use `seed` instead.\n * Families: 1=Red, 2=Orange, 3=Amber, 4=Yellow-Green, 5=Green, 6=Teal, 7=Cyan,\n * 8=Blue, 9=Indigo, 10=Purple, 11=Magenta, 12=Pink\n * @values 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12\n */\n family: {\n type: Number,\n default: undefined,\n validator: (val) => val >= 1 && val <= AVATAR_FAMILY_COUNT,\n },\n\n /**\n * **Advanced.** Avatar color variant (0-9). Controls lightness/chroma within the family.\n * Only use this if you need explicit control over the color. For most cases, use `seed` instead.\n * 0 = darkest, 9 = lightest. Variants 0-5 have light text, 6-9 have dark text.\n * @values 0, 1, 2, 3, 4, 5, 6, 7, 8, 9\n */\n variant: {\n type: Number,\n default: undefined,\n validator: (val) => val >= 0 && val < AVATAR_VARIANT_COUNT,\n },\n\n /**\n * Avatar color code for backward compatibility. Converted internally\n * to family/variant. For new code, use `seed` (recommended) or `family`/`variant`.\n * Format: family (1-12) * 100 + variant (0-9) * 10, e.g., '540' = family 5, variant 4.\n * @deprecated Use seed or family/variant instead.\n */\n color: {\n type: String,\n default: undefined,\n },\n\n /**\n * The size of the avatar.\n * T-shirt sizes (xs, sm, md, lg, xl) are deprecated and will be removed in the next major version.\n * Please use the numeric scale instead.\n * @values 100, 150, 200, 250, 300, 400, 500, 600, 700, 800, 900\n */\n size: {\n type: [String, Number],\n default: 300,\n validator: ordinalSizeValidator(AVATAR_SIZE_MODIFIERS),\n },\n\n /**\n * Used to customize the avatar container\n */\n avatarClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Set classes on the avatar canvas. Wrapper around the core avatar image.\n */\n canvasClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through classes. Used to customize the avatar icon\n */\n iconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * 'active', or 'dnd'. By default, it's null and nothing is shown.\n * @values null, busy, away, offline, active, dnd\n */\n presence: {\n type: String,\n default: AVATAR_PRESENCE_STATES.NONE,\n validator: (state) => {\n return Object.values(AVATAR_PRESENCE_STATES).includes(state);\n },\n },\n\n /**\n * A set of props to be passed into the presence component.\n */\n presenceProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Determines whether to show a group avatar.\n * Limit to 2 digits max, more than 99 will be rendered as \"99+\".\n * if the number is 1 or less it would just show the regular avatar as if group had not been set.\n */\n group: {\n type: Number,\n default: undefined,\n validator: (group) => AVATAR_GROUP_VALIDATOR(group),\n },\n\n /**\n * The text that overlays the avatar\n */\n overlayText: {\n type: String,\n default: '',\n },\n\n /**\n * Used to customize the avatar overlay\n */\n overlayClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Source of the image\n */\n imageSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Alt attribute of the image, required if imageSrc is provided.\n * Can be set to '' (empty string) if the image is described\n * in text nearby\n */\n imageAlt: {\n type: String,\n default: undefined,\n },\n\n /**\n * Full name used to extract initials.\n */\n fullName: {\n type: String,\n default: '',\n },\n\n /**\n * Makes the avatar focusable and interactive,\n * emits a click event when clicked.\n */\n interactive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * @deprecated Use interactive instead.\n */\n clickable: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Descriptive label for the icon.\n * To avoid a11y issues, set this prop if clickable and iconName are set.\n */\n iconAriaLabel: {\n type: String,\n default: undefined,\n },\n\n /**\n * When true, renders the avatar with a transparent background and no color.\n * Useful for displaying icons that should not have a colored background,\n * such as channel or navigation icons.\n */\n iconOnly: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When true, renders the avatar in a desaturated/washed-out state.\n * Use this to indicate that a user is deactivated or inactive.\n */\n deactivated: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Avatar click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n AVATAR_SIZE_MODIFIERS,\n AVATAR_KIND_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n imageLoadedSuccessfully: null,\n formattedInitials: '',\n initializing: false,\n hasSlotContent,\n anchorHue: 0,\n };\n },\n\n computed: {\n resolvedInteractive () {\n return this.clickable ?? this.interactive;\n },\n\n hasOverlayIcon () {\n return hasSlotContent(this.$slots.overlayIcon);\n },\n\n isIconType () {\n return hasSlotContent(this.$slots.icon);\n },\n\n iconDataQa () {\n return 'dt-avatar-icon';\n },\n\n /**\n * Compute family from props, color prop, or random\n */\n computedFamily () {\n // Icon-type avatars don't use color\n if (this.isIconType) return undefined;\n\n // Explicit family prop takes precedence\n if (this.family !== undefined) return this.family;\n\n // Color prop (converted to family/variant)\n if (this.color !== undefined) {\n const parsed = colorToFamilyVariant(this.color);\n if (parsed) return parsed.family;\n }\n\n // Random based on seed\n const random = getRandomFamilyVariant(this.seed);\n return random.family;\n },\n\n /**\n * Compute variant from props, color prop, or random\n */\n computedVariant () {\n // Icon-type avatars don't use color\n if (this.isIconType) return undefined;\n\n // Explicit variant prop takes precedence\n if (this.variant !== undefined) return this.variant;\n\n // Color prop (converted to family/variant)\n if (this.color !== undefined) {\n const parsed = colorToFamilyVariant(this.color);\n if (parsed) return parsed.variant;\n }\n\n // Random based on seed\n const random = getRandomFamilyVariant(this.seed);\n return random.variant;\n },\n\n avatarClasses () {\n return [\n 'd-avatar',\n AVATAR_SIZE_MODIFIERS[this.validatedSize],\n this.avatarClass,\n {\n 'd-avatar--group': this.showGroup,\n 'd-avatar--group-digits-2': this.showGroup && String(this.formattedGroup).length === 2,\n 'd-avatar--group-digits-3': this.showGroup && String(this.formattedGroup).length >= 3,\n 'd-avatar--clickable': this.resolvedInteractive,\n 'd-avatar--presence': this.presence && !this.showGroup,\n 'd-avatar--icon-only': this.iconOnly,\n 'd-avatar--deactivated': this.deactivated,\n },\n ];\n },\n\n /**\n * Compute inline styles for fallback color in browsers that don't support oklch()\n */\n avatarStyles () {\n const baseStyles = [];\n\n // Only compute hex fallback for browsers that don't support oklch()\n if (!supportsOklch && !this.isIconType && this.computedFamily && this.computedVariant !== undefined) {\n const fallbackHex = computeAvatarHex(this.computedFamily, this.computedVariant, this.anchorHue);\n baseStyles.push({ '--avatar-color-background': fallbackHex });\n }\n\n return baseStyles.length > 0 ? baseStyles : undefined;\n },\n\n overlayClasses () {\n return [\n 'd-avatar__overlay',\n this.overlayClass,\n { 'd-avatar__overlay-icon': this.hasOverlayIcon },\n ];\n },\n\n showGroup () {\n return AVATAR_GROUP_VALIDATOR(this.group);\n },\n\n formattedGroup () {\n const size = String(this.validatedSize);\n // Sizes 100-250 cap at 2 digits — too small for 3\n const smallSizes = ['xs', '100', '150', '200', '250'];\n const maxDigits = smallSizes.includes(size) ? 2 : 3;\n if (maxDigits === 2) {\n return this.group > 9 ? '9+' : this.group;\n }\n return this.group > 99 ? '99+' : this.group;\n },\n\n validatedSize () {\n return this.size;\n },\n\n showImage () {\n return this.imageLoadedSuccessfully !== false && this.imageSrc;\n },\n },\n\n watch: {\n fullName: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n size: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n group: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n imageSrc (newSrc) {\n this.imageLoadedSuccessfully = null;\n if (!newSrc) return;\n\n this.validateProps();\n this.setImageListeners();\n },\n },\n\n mounted () {\n this.validateProps();\n this.setImageListeners();\n // Only read anchor hue for fallback computation in browsers without oklch() support\n if (!supportsOklch) {\n this.readAnchorHue();\n }\n },\n\n methods: {\n async setImageListeners () {\n await this.$nextTick();\n const el = this.$refs.avatarImage;\n if (!el) return;\n\n el.addEventListener('load', () => this._loadedImageEventHandler(el), { once: true });\n el.addEventListener('error', () => this._erroredImageEventHandler(el), { once: true });\n },\n\n formatInitials () {\n const initials = extractInitialsFromName(this.fullName);\n const size = String(this.validatedSize);\n\n // xs/100 are too small for initials\n if (size === 'xs' || size === '100') {\n this.formattedInitials = '';\n // sm/150/200 show single initial\n } else if (size === 'sm' || size === '150' || size === '200') {\n this.formattedInitials = initials[0];\n } else {\n this.formattedInitials = initials;\n }\n },\n\n /**\n * Read the anchor hue from CSS custom property for fallback computation\n */\n readAnchorHue () {\n try {\n const hueValue = getComputedStyle(document.documentElement)\n .getPropertyValue('--dt-avatar-anchor-hue')\n .trim();\n this.anchorHue = parseFloat(hueValue) || 0;\n } catch {\n this.anchorHue = 0;\n }\n },\n\n _loadedImageEventHandler (el) {\n this.imageLoadedSuccessfully = true;\n el.classList.remove('d-d-none');\n },\n\n _erroredImageEventHandler (el) {\n this.imageLoadedSuccessfully = false;\n el.classList.add('d-d-none');\n },\n\n validateProps () {\n if (this.imageSrc && this.imageAlt === undefined) {\n console.error('image-alt required if image-src is provided. Can be set to \"\" (empty string) if the image is described in text nearby');\n }\n },\n\n handleClick (e) {\n if (!this.resolvedInteractive) return;\n this.$emit('click', e);\n },\n },\n};\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"avatar.cjs","names":[],"sources":["../../../components/Avatar/Avatar.vue"],"sourcesContent":["<template>\n <component\n :is=\"resolvedInteractive ? 'button' : 'div'\"\n :id=\"id\"\n :class=\"avatarClasses\"\n :style=\"avatarStyles()\"\n :data-avatar-family=\"!iconOnly ? getFamily() : undefined\"\n :data-avatar-variant=\"!iconOnly ? getVariant() : undefined\"\n data-qa=\"dt-avatar\"\n :type=\"resolvedInteractive ? 'button' : undefined\"\n @click=\"handleClick\"\n >\n <div\n ref=\"canvas\"\n :class=\"[\n canvasClass,\n 'd-avatar__canvas',\n { 'd-avatar--image-loaded': imageLoadedSuccessfully },\n ]\"\n >\n <div class=\"d-avatar__canvas-inner\">\n <img\n v-if=\"showImage\"\n ref=\"avatarImage\"\n class=\"d-avatar__image\"\n data-qa=\"dt-avatar-image\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n <div\n v-else-if=\"isIconType()\"\n :class=\"[iconClass, AVATAR_KIND_MODIFIERS.icon]\"\n :aria-label=\"resolvedInteractive ? iconAriaLabel : ''\"\n :data-qa=\"iconDataQa\"\n >\n <!-- @slot Slot for avatar icon. It will display if no imageSrc is provided -->\n <slot name=\"icon\" />\n </div>\n <span\n v-else\n :class=\"[AVATAR_KIND_MODIFIERS.initials]\"\n >\n {{ formattedInitials }}\n </span>\n </div>\n </div>\n <div\n v-if=\"hasOverlayIcon() || overlayText\"\n :class=\"overlayClasses()\"\n >\n <!-- @slot Slot for overlay icon. -->\n <slot\n v-if=\"hasOverlayIcon()\"\n name=\"overlayIcon\"\n />\n <p\n v-else-if=\"overlayText\"\n class=\"d-avatar__overlay-text\"\n >\n {{ overlayText }}\n </p>\n </div>\n <span\n v-if=\"showGroup\"\n class=\"d-avatar__count\"\n data-qa=\"dt-avatar-count\"\n role=\"img\"\n :aria-label=\"`${group} participants`\"\n >{{ formattedGroup }}</span>\n <dt-presence\n v-if=\"presence && !showGroup && AVATAR_PRESENCE_SIZE_MODIFIERS[size]\"\n :presence=\"presence\"\n :class=\"[\n 'd-avatar__presence',\n AVATAR_PRESENCE_SIZE_MODIFIERS[size],\n ]\"\n v-bind=\"presenceProps\"\n data-qa=\"dt-presence\"\n />\n </component>\n</template>\n\n<script>\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { ordinalSizeValidator } from '@/common/validators';\nimport { DtPresence } from '../Presence';\nimport {\n AVATAR_KIND_MODIFIERS,\n AVATAR_SIZE_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_PRESENCE_STATES,\n AVATAR_GROUP_VALIDATOR,\n AVATAR_FAMILY_COUNT,\n AVATAR_VARIANT_COUNT,\n colorToFamilyVariant,\n getRandomFamilyVariant,\n computeAvatarHex,\n} from './AvatarConstants';\nimport { extractInitialsFromName } from './Utils';\n\n// Check if browser supports oklch() - only compute hex fallback if not\nconst supportsOklch = typeof CSS !== 'undefined' && CSS.supports?.('background', 'oklch(0.5 0.1 0)');\n\n/**\n * An avatar is a visual representation of a user or object.\n * @see https://dialtone.dialpad.com/components/avatar.html\n */\nexport default {\n name: 'DtAvatar',\n components: { DtPresence },\n\n props: {\n /**\n * Id of the avatar content wrapper element\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * **Recommended.** Pass a unique identifier (e.g., user ID) to generate consistent,\n * deterministic colors for this avatar. The same seed always produces the same color.\n * This is the preferred approach for most use cases.\n */\n seed: {\n type: String,\n default: undefined,\n },\n\n /**\n * **Advanced.** Avatar color family (1-12). Each family represents a different hue\n * offset from the theme's anchor. Only use this if you need explicit control over\n * the color. For most cases, use `seed` instead.\n * Families: 1=Red, 2=Orange, 3=Amber, 4=Yellow-Green, 5=Green, 6=Teal, 7=Cyan,\n * 8=Blue, 9=Indigo, 10=Purple, 11=Magenta, 12=Pink\n * @values 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12\n */\n family: {\n type: Number,\n default: undefined,\n validator: (val) => val >= 1 && val <= AVATAR_FAMILY_COUNT,\n },\n\n /**\n * **Advanced.** Avatar color variant (0-9). Controls lightness/chroma within the family.\n * Only use this if you need explicit control over the color. For most cases, use `seed` instead.\n * 0 = darkest, 9 = lightest. Variants 0-5 have light text, 6-9 have dark text.\n * @values 0, 1, 2, 3, 4, 5, 6, 7, 8, 9\n */\n variant: {\n type: Number,\n default: undefined,\n validator: (val) => val >= 0 && val < AVATAR_VARIANT_COUNT,\n },\n\n /**\n * Avatar color code for backward compatibility. Converted internally\n * to family/variant. For new code, use `seed` (recommended) or `family`/`variant`.\n * Format: family (1-12) * 100 + variant (0-9) * 10, e.g., '540' = family 5, variant 4.\n * @deprecated Use seed or family/variant instead.\n */\n color: {\n type: String,\n default: undefined,\n },\n\n /**\n * The size of the avatar.\n * T-shirt sizes (xs, sm, md, lg, xl) are deprecated and will be removed in the next major version.\n * Please use the numeric scale instead.\n * @values 100, 150, 200, 250, 300, 400, 500, 600, 700, 800, 900\n */\n size: {\n type: [String, Number],\n default: 300,\n validator: ordinalSizeValidator(AVATAR_SIZE_MODIFIERS),\n },\n\n /**\n * Used to customize the avatar container\n */\n avatarClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Set classes on the avatar canvas. Wrapper around the core avatar image.\n */\n canvasClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through classes. Used to customize the avatar icon\n */\n iconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * 'active', or 'dnd'. By default, it's null and nothing is shown.\n * @values null, busy, away, offline, active, dnd\n */\n presence: {\n type: String,\n default: AVATAR_PRESENCE_STATES.NONE,\n validator: (state) => {\n return Object.values(AVATAR_PRESENCE_STATES).includes(state);\n },\n },\n\n /**\n * A set of props to be passed into the presence component.\n */\n presenceProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Determines whether to show a group avatar.\n * Limit to 2 digits max, more than 99 will be rendered as \"99+\".\n * if the number is 1 or less it would just show the regular avatar as if group had not been set.\n */\n group: {\n type: Number,\n default: undefined,\n validator: (group) => AVATAR_GROUP_VALIDATOR(group),\n },\n\n /**\n * The text that overlays the avatar\n */\n overlayText: {\n type: String,\n default: '',\n },\n\n /**\n * Used to customize the avatar overlay\n */\n overlayClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Source of the image\n */\n imageSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Alt attribute of the image, required if imageSrc is provided.\n * Can be set to '' (empty string) if the image is described\n * in text nearby\n */\n imageAlt: {\n type: String,\n default: undefined,\n },\n\n /**\n * Full name used to extract initials.\n */\n fullName: {\n type: String,\n default: '',\n },\n\n /**\n * Makes the avatar focusable and interactive,\n * emits a click event when clicked.\n */\n interactive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * @deprecated Use interactive instead.\n */\n clickable: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Descriptive label for the icon.\n * To avoid a11y issues, set this prop if clickable and iconName are set.\n */\n iconAriaLabel: {\n type: String,\n default: undefined,\n },\n\n /**\n * When true, renders the avatar with a transparent background and no color.\n * Useful for displaying icons that should not have a colored background,\n * such as channel or navigation icons.\n */\n iconOnly: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When true, renders the avatar in a desaturated/washed-out state.\n * Use this to indicate that a user is deactivated or inactive.\n */\n deactivated: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Avatar click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n AVATAR_SIZE_MODIFIERS,\n AVATAR_KIND_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n imageLoadedSuccessfully: null,\n formattedInitials: '',\n initializing: false,\n hasSlotContent,\n anchorHue: 0,\n };\n },\n\n computed: {\n resolvedInteractive () {\n return this.clickable ?? this.interactive;\n },\n\n /**\n * Random family/variant, cached so unseeded avatars keep one color\n * instead of re-rolling on every render. Recomputes only when seed changes.\n */\n randomFamilyVariant () {\n return getRandomFamilyVariant(this.seed);\n },\n\n iconDataQa () {\n return 'dt-avatar-icon';\n },\n\n avatarClasses () {\n return [\n 'd-avatar',\n AVATAR_SIZE_MODIFIERS[this.validatedSize],\n this.avatarClass,\n {\n 'd-avatar--group': this.showGroup,\n 'd-avatar--group-digits-2': this.showGroup && String(this.formattedGroup).length === 2,\n 'd-avatar--group-digits-3': this.showGroup && String(this.formattedGroup).length >= 3,\n 'd-avatar--clickable': this.resolvedInteractive,\n 'd-avatar--presence': this.presence && !this.showGroup,\n 'd-avatar--icon-only': this.iconOnly,\n 'd-avatar--deactivated': this.deactivated,\n },\n ];\n },\n\n showGroup () {\n return AVATAR_GROUP_VALIDATOR(this.group);\n },\n\n formattedGroup () {\n const size = String(this.validatedSize);\n // Sizes 100-250 cap at 2 digits — too small for 3\n const smallSizes = ['xs', '100', '150', '200', '250'];\n const maxDigits = smallSizes.includes(size) ? 2 : 3;\n if (maxDigits === 2) {\n return this.group > 9 ? '9+' : this.group;\n }\n return this.group > 99 ? '99+' : this.group;\n },\n\n validatedSize () {\n return this.size;\n },\n\n showImage () {\n return this.imageLoadedSuccessfully !== false && this.imageSrc;\n },\n },\n\n watch: {\n fullName: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n size: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n group: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n imageSrc (newSrc) {\n this.imageLoadedSuccessfully = null;\n if (!newSrc) return;\n\n this.validateProps();\n this.setImageListeners();\n },\n },\n\n mounted () {\n this.validateProps();\n this.setImageListeners();\n // Only read anchor hue for fallback computation in browsers without oklch() support\n if (!supportsOklch) {\n this.readAnchorHue();\n }\n },\n\n methods: {\n // These read $slots, which is not reactive, so they must not be cached as computeds.\n hasOverlayIcon () {\n return hasSlotContent(this.$slots.overlayIcon);\n },\n\n isIconType () {\n return hasSlotContent(this.$slots.icon);\n },\n\n /**\n * Compute family from props, color prop, or random\n */\n getFamily () {\n // Icon-type avatars don't use color\n if (this.isIconType()) return undefined;\n\n // Explicit family prop takes precedence\n if (this.family !== undefined) return this.family;\n\n // Color prop (converted to family/variant)\n if (this.color !== undefined) {\n const parsed = colorToFamilyVariant(this.color);\n if (parsed) return parsed.family;\n }\n\n // Random based on seed\n const random = this.randomFamilyVariant;\n return random.family;\n },\n\n /**\n * Compute variant from props, color prop, or random\n */\n getVariant () {\n // Icon-type avatars don't use color\n if (this.isIconType()) return undefined;\n\n // Explicit variant prop takes precedence\n if (this.variant !== undefined) return this.variant;\n\n // Color prop (converted to family/variant)\n if (this.color !== undefined) {\n const parsed = colorToFamilyVariant(this.color);\n if (parsed) return parsed.variant;\n }\n\n // Random based on seed\n const random = this.randomFamilyVariant;\n return random.variant;\n },\n\n /**\n * Compute inline styles for fallback color in browsers that don't support oklch()\n */\n avatarStyles () {\n const baseStyles = [];\n\n // Only compute hex fallback for browsers that don't support oklch()\n if (!supportsOklch && !this.isIconType() && this.getFamily() && this.getVariant() !== undefined) {\n const fallbackHex = computeAvatarHex(this.getFamily(), this.getVariant(), this.anchorHue);\n baseStyles.push({ '--avatar-color-background': fallbackHex });\n }\n\n return baseStyles.length > 0 ? baseStyles : undefined;\n },\n\n overlayClasses () {\n return [\n 'd-avatar__overlay',\n this.overlayClass,\n { 'd-avatar__overlay-icon': this.hasOverlayIcon() },\n ];\n },\n\n async setImageListeners () {\n await this.$nextTick();\n const el = this.$refs.avatarImage;\n if (!el) return;\n\n el.addEventListener('load', () => this._loadedImageEventHandler(el), { once: true });\n el.addEventListener('error', () => this._erroredImageEventHandler(el), { once: true });\n },\n\n formatInitials () {\n const initials = extractInitialsFromName(this.fullName);\n const size = String(this.validatedSize);\n\n // xs/100 are too small for initials\n if (size === 'xs' || size === '100') {\n this.formattedInitials = '';\n // sm/150/200 show single initial\n } else if (size === 'sm' || size === '150' || size === '200') {\n this.formattedInitials = initials[0];\n } else {\n this.formattedInitials = initials;\n }\n },\n\n /**\n * Read the anchor hue from CSS custom property for fallback computation\n */\n readAnchorHue () {\n try {\n const hueValue = getComputedStyle(document.documentElement)\n .getPropertyValue('--dt-avatar-anchor-hue')\n .trim();\n this.anchorHue = parseFloat(hueValue) || 0;\n } catch {\n this.anchorHue = 0;\n }\n },\n\n _loadedImageEventHandler (el) {\n this.imageLoadedSuccessfully = true;\n el.classList.remove('d-d-none');\n },\n\n _erroredImageEventHandler (el) {\n this.imageLoadedSuccessfully = false;\n el.classList.add('d-d-none');\n },\n\n validateProps () {\n if (this.imageSrc && this.imageAlt === undefined) {\n console.error('image-alt required if image-src is provided. Can be set to \"\" (empty string) if the image is described in text nearby');\n }\n },\n\n handleClick (e) {\n if (!this.resolvedInteractive) return;\n this.$emit('click', e);\n },\n },\n};\n</script>\n"],"mappings":"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"}