@astryx-vue/core 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/dist/AppShell/index.js +1 -1
  2. package/dist/{AppShell-EiGyPFbA.js → AppShell-1wNIEtK_.js} +2 -2
  3. package/dist/Avatar/index.d.ts +1 -1
  4. package/dist/Avatar/index.js +1 -1
  5. package/dist/Avatar-jmHInHwj.js +244 -0
  6. package/dist/AvatarGroup/index.d.ts +1 -1
  7. package/dist/AvatarGroup/index.js +1 -1
  8. package/dist/{AvatarGroup-CZcgAMjM.js → AvatarGroup-QyzSrpYA.js} +8 -7
  9. package/dist/Badge/index.d.ts +1 -1
  10. package/dist/Badge/index.js +1 -1
  11. package/dist/Badge-CjDQPF5g.js +30 -0
  12. package/dist/Banner/index.d.ts +1 -1
  13. package/dist/Breadcrumbs/index.d.ts +2 -2
  14. package/dist/Breadcrumbs/index.js +1 -1
  15. package/dist/{Breadcrumbs-C3YZFQ9w.js → Breadcrumbs-C97HmjkC.js} +45 -11
  16. package/dist/Button/index.d.ts +1 -1
  17. package/dist/ButtonGroup/index.d.ts +1 -1
  18. package/dist/Calendar/index.d.ts +2 -2
  19. package/dist/Calendar/index.js +1 -1
  20. package/dist/Calendar-DqC3EDN1.js +352 -0
  21. package/dist/Card/index.d.ts +1 -1
  22. package/dist/Carousel/index.js +1 -1
  23. package/dist/{Carousel-BTtHkKea.js → Carousel-BGUnskjo.js} +2 -2
  24. package/dist/Chat/index.js +1 -1
  25. package/dist/{Chat-DjNxw5gv.js → Chat-DCjXRiOF.js} +8 -8
  26. package/dist/CheckboxInput/index.d.ts +1 -1
  27. package/dist/CheckboxList/index.d.ts +1 -1
  28. package/dist/CheckboxList/index.js +1 -1
  29. package/dist/Citation/index.js +1 -1
  30. package/dist/{Citation-DijdbUUu.js → Citation-DunoAqVH.js} +2 -2
  31. package/dist/ClickableCard/index.d.ts +1 -1
  32. package/dist/Code/index.js +1 -1
  33. package/dist/{CodeBlock-CxTb6j9_.js → CodeBlock-CAF-VJnh.js} +1 -1
  34. package/dist/Collapsible/index.js +1 -1
  35. package/dist/{Collapsible-9MC08X39.js → Collapsible-DvMiYJp7.js} +1 -1
  36. package/dist/CommandPalette/index.js +1 -1
  37. package/dist/{CommandPalette-BD2iODF5.js → CommandPalette-xfm9ldUI.js} +1 -1
  38. package/dist/ComplexSelector/index.d.ts +1 -1
  39. package/dist/ComplexSelector/index.js +1 -1
  40. package/dist/{ComplexSelector-D9iXd5cH.js → ComplexSelector-B6lBTRhP.js} +2 -2
  41. package/dist/ContextMenu/index.d.ts +2 -2
  42. package/dist/ContextMenu/index.js +1 -1
  43. package/dist/{ContextMenu-HS_WqYIg.js → ContextMenu-DUkED3Z3.js} +101 -63
  44. package/dist/DateInput/index.d.ts +2 -2
  45. package/dist/DateInput/index.js +1 -1
  46. package/dist/DateInput-Crcg-CCj.js +376 -0
  47. package/dist/DateRangeInput/index.d.ts +1 -1
  48. package/dist/DateRangeInput/index.js +1 -1
  49. package/dist/{DateRangeInput-1bhPGG2s.js → DateRangeInput-e9KSxBBK.js} +2 -2
  50. package/dist/DateTimeInput/index.d.ts +1 -1
  51. package/dist/DateTimeInput/index.js +1 -1
  52. package/dist/{DateTimeInput-SnPdgk6P.js → DateTimeInput-fSOfuLex.js} +5 -3
  53. package/dist/Divider/index.d.ts +1 -1
  54. package/dist/DropdownMenu/index.d.ts +3 -2
  55. package/dist/DropdownMenu/index.js +3 -2
  56. package/dist/{DropdownMenu-UJGych6v.js → DropdownMenu-8G0B1UND.js} +63 -16
  57. package/dist/DropdownMenu-XvW4BJob.js +164 -0
  58. package/dist/FileInput/index.d.ts +1 -1
  59. package/dist/FileInput/index.js +1 -1
  60. package/dist/{FileInput-BQiwE-GB.js → FileInput-D-fchyQH.js} +2 -2
  61. package/dist/Icon/index.d.ts +4 -3
  62. package/dist/Icon/index.js +3 -2
  63. package/dist/Icon/plugin.d.ts +45 -0
  64. package/dist/Icon/plugin.js +177 -0
  65. package/dist/Icon-Bku25g_K.js +193 -0
  66. package/dist/Lightbox/index.js +1 -1
  67. package/dist/{Lightbox-CshKoB0r.js → Lightbox-uuVGgHxW.js} +2 -2
  68. package/dist/Link/index.d.ts +1 -1
  69. package/dist/Link/index.js +1 -1
  70. package/dist/Link-DqdQZ37C.js +141 -0
  71. package/dist/List/index.d.ts +1 -1
  72. package/dist/Markdown/index.js +1 -1
  73. package/dist/{Markdown-D-Ua055V.js → Markdown-DLICa3db.js} +3 -3
  74. package/dist/MetadataList/index.d.ts +1 -1
  75. package/dist/MetadataList/index.js +1 -1
  76. package/dist/{MetadataList-sYph_d8Q.js → MetadataList-h492rqEN.js} +1 -1
  77. package/dist/MobileNav/index.js +1 -1
  78. package/dist/{MobileNavToggle-DD9D01aj.js → MobileNavToggle-BMj3Wtuq.js} +1 -1
  79. package/dist/MoreMenu/index.d.ts +1 -1
  80. package/dist/MoreMenu/index.js +1 -1
  81. package/dist/{MoreMenu-BVrK5kkk.js → MoreMenu-DkYi5az5.js} +2 -2
  82. package/dist/MultiSelector/index.d.ts +1 -1
  83. package/dist/MultiSelector/index.js +1 -1
  84. package/dist/{MultiSelector-DiYov9sF.js → MultiSelector-C2IS-EaU.js} +2 -2
  85. package/dist/NavItem/index.d.ts +1 -1
  86. package/dist/NumberInput/index.d.ts +2 -2
  87. package/dist/NumberInput/index.js +1 -1
  88. package/dist/NumberInput-CjfAsFwj.js +210 -0
  89. package/dist/Outline/index.js +1 -1
  90. package/dist/{Outline-DQfEBxlc.js → Outline-BTmrtvXR.js} +1 -1
  91. package/dist/OverflowList/index.d.ts +1 -1
  92. package/dist/OverflowList/index.js +1 -1
  93. package/dist/{OverflowList-BU5VCntl.js → OverflowList-CRE8BE7V.js} +1 -1
  94. package/dist/Overlay/index.d.ts +1 -1
  95. package/dist/Pagination/index.d.ts +2 -2
  96. package/dist/Pagination/index.js +1 -1
  97. package/dist/{Pagination-HdhtykeF.js → Pagination-BpGXPmc7.js} +76 -22
  98. package/dist/ProgressBar/index.d.ts +1 -1
  99. package/dist/ProgressBar/index.js +1 -1
  100. package/dist/{ProgressBar-ChDp-7oe.js → ProgressBar-DO9Chic6.js} +31 -11
  101. package/dist/Radio/index.d.ts +1 -1
  102. package/dist/RadioList/index.d.ts +1 -1
  103. package/dist/Resizable/index.js +1 -1
  104. package/dist/{Resizable-BhSMfO5B.js → Resizable-CE8XQDL2.js} +1 -1
  105. package/dist/ScrollableArea/index.d.ts +1 -1
  106. package/dist/SegmentedControl/index.d.ts +1 -1
  107. package/dist/SelectableCard/index.d.ts +1 -1
  108. package/dist/Selector/index.d.ts +2 -2
  109. package/dist/Selector/index.js +1 -1
  110. package/dist/Selector-DkJOLZSR.js +468 -0
  111. package/dist/SideNav/index.d.ts +1 -1
  112. package/dist/SideNav/index.js +1 -1
  113. package/dist/{SideNav-B-Om6Bz3.js → SideNav-DcDWBnXJ.js} +17 -17
  114. package/dist/Stepper/index.d.ts +1 -1
  115. package/dist/Stepper/index.js +1 -1
  116. package/dist/{Stepper-BZ_8SEZt.js → Stepper-DZKaqEoz.js} +1 -1
  117. package/dist/Switch/index.d.ts +1 -1
  118. package/dist/TabList/index.d.ts +1 -1
  119. package/dist/TabList/index.js +1 -1
  120. package/dist/{TabList-Cnc2Hs1H.js → TabList-hm06QPiW.js} +10 -3
  121. package/dist/Table/index.js +1 -1
  122. package/dist/{Table-D-LhAy_J.js → Table-DwehtMap.js} +4 -4
  123. package/dist/TextArea/index.d.ts +1 -1
  124. package/dist/TextArea/index.js +1 -1
  125. package/dist/{TextArea-Cv9UVbzS.js → TextArea-CPwSytdO.js} +12 -6
  126. package/dist/TextInput/index.d.ts +1 -1
  127. package/dist/Thumbnail/index.js +1 -1
  128. package/dist/{Thumbnail-Dc1UpykG.js → Thumbnail-CAOYds8t.js} +11 -11
  129. package/dist/{TimeField-C7t9Knq9.js → TimeField-BGbxCoKU.js} +2 -2
  130. package/dist/TimeInput/index.d.ts +1 -1
  131. package/dist/TimeInput/index.js +1 -1
  132. package/dist/{TimeInput-BXxCOY98.js → TimeInput-DJP3l4ZS.js} +1 -1
  133. package/dist/Timestamp/index.d.ts +1 -1
  134. package/dist/Timestamp/index.js +2 -1
  135. package/dist/{Timestamp-DlZSmgCJ.js → Timestamp-BzRp8uWc.js} +4 -121
  136. package/dist/Toast/index.d.ts +2 -2
  137. package/dist/Toast/index.js +1 -1
  138. package/dist/{Toast-BKXPvEMp.js → Toast-C2ML-bmi.js} +37 -7
  139. package/dist/ToggleButton/index.d.ts +1 -1
  140. package/dist/Token/index.js +1 -1
  141. package/dist/{Token-wt4e80IM.js → Token-CjocuhzE.js} +1 -1
  142. package/dist/Tokenizer/index.js +1 -1
  143. package/dist/{Tokenizer-nmTqdS9n.js → Tokenizer-mYES5SPM.js} +2 -2
  144. package/dist/Toolbar/index.d.ts +1 -1
  145. package/dist/TopNav/index.d.ts +1 -1
  146. package/dist/TopNav/index.js +1 -1
  147. package/dist/{TopNav-notp-mJx.js → TopNav-C2t6JkZb.js} +3 -3
  148. package/dist/TreeList/index.d.ts +1 -1
  149. package/dist/TreeList/index.js +1 -1
  150. package/dist/{TreeList-s1xBQ0qq.js → TreeList-THJ0KamE.js} +3 -3
  151. package/dist/Typeahead/index.js +1 -1
  152. package/dist/{Typeahead-VAuiCurV.js → Typeahead-D7VnvRpK.js} +2 -2
  153. package/dist/{context-Dbo22sck.js → context-DzcK4T_C.js} +4 -2
  154. package/dist/formatInstant-BDWUIxS7.js +119 -0
  155. package/dist/{index-Bainr_3n.d.ts → index-3p2BDVHq.d.ts} +1 -1
  156. package/dist/{index-BuubzuE8.d.ts → index-BDZCJ9ri.d.ts} +2 -2
  157. package/dist/{index-CTolyeii.d.ts → index-BLOEjvaM.d.ts} +16 -2
  158. package/dist/{index-z4p2k9VR.d.ts → index-Bgv4ZmBl.d.ts} +20 -2
  159. package/dist/{index-BoRIw-bP.d.ts → index-Bt7ewoz2.d.ts} +32 -2
  160. package/dist/{index-uQrLBZfF.d.ts → index-Bu3oXIIS.d.ts} +24 -0
  161. package/dist/{index-HV6W3xCx.d.ts → index-Byar3h1e.d.ts} +1 -1
  162. package/dist/{index-C59PdX9L.d.ts → index-CBym0hSq.d.ts} +1 -1
  163. package/dist/index-CJlBAXwj.d.ts +100 -0
  164. package/dist/{index-DT9S92sh.d.ts → index-CNjbOgty.d.ts} +15 -0
  165. package/dist/{index-gW0HW02U.d.ts → index-COxy6LEW.d.ts} +1 -1
  166. package/dist/{index-DoFCm2Q2.d.ts → index-Clmz00IK.d.ts} +2 -0
  167. package/dist/{index-DRmb-oUa.d.ts → index-CuFLztiI.d.ts} +6 -1
  168. package/dist/{index-fa72tWIU.d.ts → index-D2bSSSBP.d.ts} +1 -1
  169. package/dist/{index-NzLDrOkk.d.ts → index-DAiGhkNZ.d.ts} +15 -2
  170. package/dist/{index-DOUEn7V0.d.ts → index-DQAnGHu7.d.ts} +2 -2
  171. package/dist/{index-BfOtLyNH.d.ts → index-D_nYxnNv.d.ts} +1 -1
  172. package/dist/{index-C6iJwTL0.d.ts → index-DeOftUMq.d.ts} +181 -72
  173. package/dist/{index-Bn_odHQ9.d.ts → index-Dg3ZmwEg.d.ts} +12 -1
  174. package/dist/{index-BiMGXtD-.d.ts → index-DimuSES0.d.ts} +14 -1
  175. package/dist/{index-C_2Z65Rp.d.ts → index-DnEh-HA0.d.ts} +1 -1
  176. package/dist/{index-D-ZuubCK.d.ts → index-DnSrjbjP.d.ts} +1 -1
  177. package/dist/{index-BtPZKO20.d.ts → index-I4J7gwa1.d.ts} +49 -7
  178. package/dist/{index-utZGF4GR.d.ts → index-NOXYEdOI.d.ts} +1 -1
  179. package/dist/{index-C7mxUcDR.d.ts → index-Z_onS2lR.d.ts} +2 -2
  180. package/dist/{index-CVn0GBdB.d.ts → index-cG1E0U2s.d.ts} +1 -1
  181. package/dist/{index-DEeJowZf.d.ts → index-cGagYM1g.d.ts} +15 -2
  182. package/dist/{index-Ck8qy6Rf.d.ts → index-c_TaW8mM.d.ts} +24 -2
  183. package/dist/index.d.ts +68 -67
  184. package/dist/index.js +98 -95
  185. package/dist/locale/index.d.ts +1 -1
  186. package/dist/locale/index.js +1 -1
  187. package/dist/registry-B1ObuP--.d.ts +45 -0
  188. package/dist/registry-C7OZb0PJ.js +135 -0
  189. package/dist/{types-DZoEm_DG.d.ts → types-BKcxXW--.d.ts} +22 -5
  190. package/dist/{index-B8MbfMwV.d.ts → types-DDAAT1Xd.d.ts} +36 -82
  191. package/package.json +6 -1
  192. package/styles/avatar.css +14 -0
  193. package/styles/badge.css +8 -0
  194. package/styles/breadcrumbs.css +6 -1
  195. package/styles/button.css +13 -0
  196. package/styles/calendar.css +16 -0
  197. package/styles/card.css +2 -0
  198. package/styles/chat.css +5 -2
  199. package/styles/dropdown-menu.css +11 -0
  200. package/styles/icon.css +38 -8
  201. package/styles/link.css +5 -0
  202. package/styles/number-input.css +22 -0
  203. package/styles/pagination.css +45 -1
  204. package/styles/progress-bar.css +4 -0
  205. package/styles/selector.css +58 -0
  206. package/styles/tab-list.css +15 -0
  207. package/styles/text-area.css +17 -0
  208. package/styles/text-input.css +5 -0
  209. package/styles/toast.css +7 -0
  210. package/styles/toolbar.css +11 -0
  211. package/dist/Avatar-5s3HSrtN.js +0 -136
  212. package/dist/Badge-Ba0EwsTj.js +0 -19
  213. package/dist/Calendar-BG7wEsro.js +0 -277
  214. package/dist/DateInput-DE2TN1Rq.js +0 -250
  215. package/dist/Icon-Dfr4k6-S.js +0 -86
  216. package/dist/Link-CprjOuTI.js +0 -92
  217. package/dist/NumberInput-CTYiQxHq.js +0 -147
  218. package/dist/Selector-Da-2BO3q.js +0 -325
  219. package/dist/index-DtjAdYEc.d.ts +0 -68
  220. package/dist/{CheckboxList-EsIEXjK_.js → CheckboxList-BbCPiend.js} +1 -1
@@ -0,0 +1,468 @@
1
+ import { t as useCombobox } from "./useCombobox-CTo5C-gc.js";
2
+ import { t as useDismiss } from "./useDismiss-CAiHU6QD.js";
3
+ import { a as useAstryxMessages } from "./context-DzcK4T_C.js";
4
+ import { t as usePositionedLayer } from "./usePositionedLayer-C1NBOsVT.js";
5
+ import { t as _sfc_main$1 } from "./BottomSheet-Dg95HB1s.js";
6
+ import { t as _sfc_main$2 } from "./Field-8zRxzDHE.js";
7
+ import { Fragment, Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, nextTick, normalizeClass, normalizeStyle, onMounted, openBlock, ref, renderList, renderSlot, toDisplayString, unref, useId, useSlots, useTemplateRef, vShow, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
8
+ import "../styles/visually-hidden-utility.css";
9
+ import "../styles/selector.css";
10
+ //#region src/Selector/Selector.vue
11
+ const _hoisted_1 = [
12
+ "disabled",
13
+ "aria-expanded",
14
+ "aria-label",
15
+ "aria-activedescendant",
16
+ "title"
17
+ ];
18
+ const _hoisted_2 = ["aria-label"];
19
+ const _hoisted_3 = { class: "astryx-selector-sheet-title" };
20
+ const _hoisted_4 = ["data-placement"];
21
+ const _hoisted_5 = {
22
+ key: 0,
23
+ class: "astryx-selector-search"
24
+ };
25
+ const _hoisted_6 = [
26
+ "id",
27
+ "aria-label",
28
+ "placeholder",
29
+ "value"
30
+ ];
31
+ const _hoisted_7 = {
32
+ key: 1,
33
+ class: "astryx-selector-options"
34
+ };
35
+ const _hoisted_8 = {
36
+ key: 0,
37
+ class: "astryx-selector-section",
38
+ role: "presentation"
39
+ };
40
+ const _hoisted_9 = [
41
+ "id",
42
+ "aria-selected",
43
+ "aria-disabled",
44
+ "onClick",
45
+ "onKeydown"
46
+ ];
47
+ const _hoisted_10 = { class: "astryx-selector-option-label" };
48
+ const _hoisted_11 = {
49
+ key: 1,
50
+ class: "astryx-selector-option-description"
51
+ };
52
+ const _hoisted_12 = {
53
+ key: 2,
54
+ class: "astryx-selector-empty"
55
+ };
56
+ const _hoisted_13 = [
57
+ "id",
58
+ "name",
59
+ "value",
60
+ "aria-label"
61
+ ];
62
+ const _hoisted_14 = ["value"];
63
+ const _sfc_main = /*@__PURE__*/ defineComponent({
64
+ name: "AstryxSelector",
65
+ inheritAttrs: false,
66
+ __name: "Selector",
67
+ props: {
68
+ modelValue: { default: null },
69
+ options: {},
70
+ placeholder: {},
71
+ disabled: {
72
+ type: Boolean,
73
+ default: false
74
+ },
75
+ disabledReason: {},
76
+ status: { default: "default" },
77
+ statusMessage: {},
78
+ statusVariant: { default: "attached" },
79
+ size: { default: "md" },
80
+ variant: { default: "default" },
81
+ presentation: { default: "popover" },
82
+ searchable: {
83
+ type: Boolean,
84
+ default: false
85
+ },
86
+ searchPlaceholder: {},
87
+ clearable: {
88
+ type: Boolean,
89
+ default: false
90
+ },
91
+ clearLabel: {},
92
+ emptyText: {},
93
+ label: {},
94
+ isLabelHidden: {
95
+ type: Boolean,
96
+ default: false
97
+ },
98
+ description: {},
99
+ width: {},
100
+ name: {}
101
+ },
102
+ emits: [
103
+ "update:modelValue",
104
+ "change",
105
+ "search"
106
+ ],
107
+ setup(__props, { emit: __emit }) {
108
+ const props = __props;
109
+ const emit = __emit;
110
+ const slots = useSlots();
111
+ const selectorId = `astryx-selector-${useId()}`;
112
+ const listboxId = `${selectorId}-listbox`;
113
+ const messages = useAstryxMessages();
114
+ const resolvedPlaceholder = computed(() => props.placeholder ?? messages.value.selector.placeholder);
115
+ const resolvedSearchPlaceholder = computed(() => props.searchPlaceholder ?? messages.value.selector.search);
116
+ const resolvedClearLabel = computed(() => props.clearLabel ?? messages.value.selector.clear);
117
+ const resolvedEmptyText = computed(() => props.emptyText ?? messages.value.selector.empty);
118
+ const fieldRef = useTemplateRef("fieldRef");
119
+ const listboxRef = useTemplateRef("listboxRef");
120
+ const searchInputRef = useTemplateRef("searchInputRef");
121
+ const sheetSlot = useTemplateRef("sheetSlot");
122
+ const isSheet = computed(() => props.presentation === "bottom-sheet");
123
+ const sheetLabel = computed(() => props.label || resolvedPlaceholder.value);
124
+ const isEnabled = computed(() => !props.disabled);
125
+ const isSearchable = computed(() => props.searchable);
126
+ function isSection(entry) {
127
+ return typeof entry === "object" && entry !== null && "type" in entry && entry.type === "section";
128
+ }
129
+ function asOption(entry) {
130
+ if (typeof entry === "string") return {
131
+ value: entry,
132
+ label: entry
133
+ };
134
+ return entry;
135
+ }
136
+ const normalizedEntries = computed(() => props.options.map((entry) => {
137
+ if (isSection(entry)) return {
138
+ ...entry,
139
+ options: entry.options.map(asOption)
140
+ };
141
+ return asOption(entry);
142
+ }));
143
+ const flatOptions = computed(() => normalizedEntries.value.flatMap((entry) => isSection(entry) ? entry.options : [entry]));
144
+ const comboboxOptions = computed(() => flatOptions.value.map((opt) => ({
145
+ value: opt.value,
146
+ label: opt.label,
147
+ disabled: opt.disabled ?? false
148
+ })));
149
+ const modelValueRef = computed({
150
+ get: () => props.modelValue,
151
+ set: (value) => {
152
+ emit("update:modelValue", value);
153
+ emit("change", value);
154
+ }
155
+ });
156
+ const combobox = useCombobox({
157
+ options: comboboxOptions,
158
+ modelValue: modelValueRef,
159
+ isEnabled,
160
+ isSearchable,
161
+ onChange: (value) => {
162
+ modelValueRef.value = value;
163
+ },
164
+ onOpenChange: (isOpen) => {
165
+ if (isOpen && props.searchable) nextTick(() => {
166
+ searchInputRef.value?.focus();
167
+ });
168
+ }
169
+ });
170
+ const sheetOpen = computed({
171
+ get: () => isSheet.value && combobox.isOpen.value,
172
+ set: (open) => {
173
+ if (!open && combobox.isOpen.value) combobox.close();
174
+ }
175
+ });
176
+ const popoverOpen = computed(() => combobox.isOpen.value && !isSheet.value);
177
+ const listboxTarget = computed(() => isSheet.value && sheetSlot.value ? sheetSlot.value : "body");
178
+ const { position } = usePositionedLayer({
179
+ anchor: fieldRef,
180
+ layer: listboxRef,
181
+ isOpen: popoverOpen,
182
+ placement: computed(() => "below"),
183
+ alignment: computed(() => "start"),
184
+ gap: 4
185
+ });
186
+ useDismiss({
187
+ container: listboxRef,
188
+ trigger: fieldRef,
189
+ isEnabled: popoverOpen,
190
+ enableEscape: ref(true),
191
+ onDismiss: () => {
192
+ combobox.close();
193
+ }
194
+ });
195
+ const selectedOption = computed(() => {
196
+ if (props.modelValue == null) return null;
197
+ return flatOptions.value.find((opt) => opt.value === props.modelValue) ?? null;
198
+ });
199
+ const fieldLabel = computed(() => props.label || resolvedPlaceholder.value);
200
+ const hideLabel = computed(() => props.isLabelHidden || !props.label);
201
+ const statusType = computed(() => {
202
+ const status = props.status;
203
+ if (status == null || status === "default") return "default";
204
+ if (typeof status === "string") return status;
205
+ return status.type;
206
+ });
207
+ const fieldStatus = computed(() => {
208
+ const status = props.status;
209
+ if (status && typeof status === "object") return status;
210
+ if (!props.statusMessage || statusType.value === "default") return void 0;
211
+ return {
212
+ type: statusType.value,
213
+ message: props.statusMessage
214
+ };
215
+ });
216
+ const displayRows = computed(() => {
217
+ const indexByValue = new Map(combobox.filteredOptions.value.map((option, index) => [option.value, index]));
218
+ const rows = [];
219
+ for (const entry of normalizedEntries.value) {
220
+ if (isSection(entry)) {
221
+ const children = entry.options.filter((option) => indexByValue.has(option.value));
222
+ if (children.length === 0) continue;
223
+ rows.push({
224
+ kind: "section",
225
+ title: entry.title
226
+ });
227
+ for (const option of children) rows.push({
228
+ kind: "option",
229
+ option,
230
+ index: indexByValue.get(option.value)
231
+ });
232
+ continue;
233
+ }
234
+ if (!indexByValue.has(entry.value)) continue;
235
+ rows.push({
236
+ kind: "option",
237
+ option: entry,
238
+ index: indexByValue.get(entry.value)
239
+ });
240
+ }
241
+ return rows;
242
+ });
243
+ const displayText = computed(() => {
244
+ return selectedOption.value?.label ?? resolvedPlaceholder.value;
245
+ });
246
+ const isEmpty = computed(() => {
247
+ return combobox.filteredOptions.value.length === 0;
248
+ });
249
+ function onTriggerClick() {
250
+ if (isEnabled.value) combobox.toggle();
251
+ }
252
+ function onTriggerKeyDown(event) {
253
+ combobox.onKeyDown(event);
254
+ }
255
+ function onOptionClick(option) {
256
+ if (!option.disabled) combobox.select(option.value);
257
+ }
258
+ function onClear(event) {
259
+ event.stopPropagation();
260
+ modelValueRef.value = null;
261
+ combobox.close();
262
+ }
263
+ function onSearchInput(event) {
264
+ const target = event.target;
265
+ combobox.setSearchQuery(target.value);
266
+ emit("search", target.value);
267
+ }
268
+ function getOptionId(index) {
269
+ return `${listboxId}-option-${index}`;
270
+ }
271
+ const anchorWidth = ref(0);
272
+ function syncAnchorWidth() {
273
+ anchorWidth.value = fieldRef.value?.getBoundingClientRect().width ?? 0;
274
+ }
275
+ const listboxStyle = computed(() => isSheet.value ? void 0 : {
276
+ top: `${position.value.top}px`,
277
+ left: `${position.value.left}px`,
278
+ minWidth: anchorWidth.value > 0 ? `${anchorWidth.value}px` : void 0
279
+ });
280
+ watch(combobox.isOpen, (open) => {
281
+ if (open) syncAnchorWidth();
282
+ }, { flush: "pre" });
283
+ onMounted(syncAnchorWidth);
284
+ watch(() => combobox.activeIndex.value, (index) => {
285
+ if (index >= 0 && combobox.isOpen.value) nextTick(() => {
286
+ const listbox = listboxRef.value;
287
+ const optionEl = listbox?.querySelector(`#${getOptionId(index)}`);
288
+ if (!listbox || !optionEl) return;
289
+ const listboxRect = listbox.getBoundingClientRect();
290
+ const optionRect = optionEl.getBoundingClientRect();
291
+ if (optionRect.top < listboxRect.top) listbox.scrollTop -= listboxRect.top - optionRect.top;
292
+ else if (optionRect.bottom > listboxRect.bottom) listbox.scrollTop += optionRect.bottom - listboxRect.bottom;
293
+ });
294
+ });
295
+ return (_ctx, _cache) => {
296
+ return openBlock(), createBlock(_sfc_main$2, {
297
+ class: normalizeClass(["astryx-selector", [
298
+ `size-${props.size}`,
299
+ `status-${statusType.value}`,
300
+ `variant-${props.variant}`
301
+ ]]),
302
+ label: fieldLabel.value,
303
+ "input-id": selectorId,
304
+ description: props.description,
305
+ "is-label-hidden": hideLabel.value,
306
+ "is-disabled": props.disabled,
307
+ status: fieldStatus.value,
308
+ "status-variant": props.statusVariant,
309
+ width: props.width
310
+ }, {
311
+ default: withCtx(() => [
312
+ createElementVNode("div", {
313
+ ref_key: "fieldRef",
314
+ ref: fieldRef,
315
+ class: normalizeClass(["astryx-selector-field", {
316
+ "is-open": unref(combobox).isOpen.value,
317
+ "is-disabled": props.disabled,
318
+ "is-ghost": props.variant === "ghost"
319
+ }])
320
+ }, [createElementVNode("button", {
321
+ id: selectorId,
322
+ type: "button",
323
+ class: normalizeClass(["astryx-selector-trigger", {
324
+ "is-open": unref(combobox).isOpen.value,
325
+ "is-disabled": props.disabled
326
+ }]),
327
+ disabled: props.disabled,
328
+ "aria-haspopup": "listbox",
329
+ "aria-expanded": unref(combobox).isOpen.value,
330
+ "aria-controls": listboxId,
331
+ "aria-label": props.label,
332
+ "aria-activedescendant": unref(combobox).activeIndex.value >= 0 ? getOptionId(unref(combobox).activeIndex.value) : void 0,
333
+ title: props.disabledReason,
334
+ onClick: onTriggerClick,
335
+ onKeydown: onTriggerKeyDown
336
+ }, [createElementVNode("span", { class: normalizeClass(["astryx-selector-value", {
337
+ "is-placeholder": !selectedOption.value,
338
+ "is-rich": unref(slots).selected
339
+ }]) }, [unref(slots).selected ? renderSlot(_ctx.$slots, "selected", { option: selectedOption.value }, void 0, void 0, 0) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(displayText.value), 1)], 64))], 2), _cache[1] || (_cache[1] = createElementVNode("span", {
340
+ class: "astryx-selector-icon",
341
+ "aria-hidden": "true"
342
+ }, [createElementVNode("svg", {
343
+ width: "16",
344
+ height: "16",
345
+ viewBox: "0 0 16 16",
346
+ fill: "none"
347
+ }, [createElementVNode("path", {
348
+ d: "M4 6L8 10L12 6",
349
+ stroke: "currentColor",
350
+ "stroke-width": "1.5",
351
+ "stroke-linecap": "round",
352
+ "stroke-linejoin": "round"
353
+ })])], -1))], 42, _hoisted_1), props.clearable && selectedOption.value ? (openBlock(), createElementBlock("button", {
354
+ key: 0,
355
+ type: "button",
356
+ class: "astryx-selector-clear",
357
+ "aria-label": resolvedClearLabel.value,
358
+ onClick: onClear
359
+ }, [..._cache[2] || (_cache[2] = [createElementVNode("svg", {
360
+ width: "16",
361
+ height: "16",
362
+ viewBox: "0 0 16 16",
363
+ fill: "none"
364
+ }, [createElementVNode("path", {
365
+ d: "M12 4L4 12M4 4L12 12",
366
+ stroke: "currentColor",
367
+ "stroke-width": "1.5",
368
+ "stroke-linecap": "round"
369
+ })], -1)])], 8, _hoisted_2)) : createCommentVNode("v-if", true)], 2),
370
+ isSheet.value ? (openBlock(), createBlock(_sfc_main$1, {
371
+ key: 0,
372
+ "is-open": sheetOpen.value,
373
+ "onUpdate:isOpen": _cache[0] || (_cache[0] = ($event) => sheetOpen.value = $event),
374
+ height: "hug",
375
+ label: sheetLabel.value,
376
+ padding: 2
377
+ }, {
378
+ default: withCtx(() => [createElementVNode("div", {
379
+ ref_key: "sheetSlot",
380
+ ref: sheetSlot,
381
+ class: "astryx-selector-sheet"
382
+ }, [createElementVNode("div", _hoisted_3, toDisplayString(sheetLabel.value), 1)], 512)]),
383
+ _: 1
384
+ }, 8, ["is-open", "label"])) : createCommentVNode("v-if", true),
385
+ (openBlock(), createBlock(Teleport, { to: listboxTarget.value }, [withDirectives(createElementVNode("div", {
386
+ id: listboxId,
387
+ ref_key: "listboxRef",
388
+ ref: listboxRef,
389
+ role: "listbox",
390
+ class: normalizeClass(["astryx-selector-listbox", { "is-sheet": isSheet.value }]),
391
+ "data-placement": isSheet.value ? void 0 : unref(position).placement,
392
+ style: normalizeStyle(listboxStyle.value),
393
+ tabindex: "-1"
394
+ }, [props.searchable ? (openBlock(), createElementBlock("div", _hoisted_5, [createElementVNode("input", {
395
+ id: `${selectorId}-search`,
396
+ ref_key: "searchInputRef",
397
+ ref: searchInputRef,
398
+ type: "text",
399
+ class: "astryx-selector-search-input",
400
+ "aria-label": resolvedSearchPlaceholder.value,
401
+ placeholder: resolvedSearchPlaceholder.value,
402
+ value: unref(combobox).searchQuery.value,
403
+ onInput: onSearchInput
404
+ }, null, 40, _hoisted_6)])) : createCommentVNode("v-if", true), !isEmpty.value ? (openBlock(), createElementBlock("div", _hoisted_7, [(openBlock(true), createElementBlock(Fragment, null, renderList(displayRows.value, (row, rowIndex) => {
405
+ return openBlock(), createElementBlock(Fragment, { key: row.kind === "section" ? `section-${rowIndex}` : row.option?.value }, [row.kind === "section" ? (openBlock(), createElementBlock("div", _hoisted_8, toDisplayString(row.title), 1)) : row.option && row.index != null ? (openBlock(), createElementBlock("div", {
406
+ key: 1,
407
+ id: getOptionId(row.index),
408
+ role: "option",
409
+ tabindex: "0",
410
+ class: normalizeClass(["astryx-selector-option", {
411
+ "is-active": row.index === unref(combobox).activeIndex.value,
412
+ "is-selected": row.option.value === props.modelValue,
413
+ "is-disabled": row.option.disabled
414
+ }]),
415
+ "aria-selected": row.option.value === props.modelValue,
416
+ "aria-disabled": row.option.disabled,
417
+ onClick: ($event) => onOptionClick(row.option),
418
+ onKeydown: [withKeys(($event) => onOptionClick(row.option), ["enter"]), withKeys(withModifiers(($event) => onOptionClick(row.option), ["prevent"]), ["space"])]
419
+ }, [unref(slots).option ? renderSlot(_ctx.$slots, "option", {
420
+ option: row.option,
421
+ isActive: row.index === unref(combobox).activeIndex.value,
422
+ isSelected: row.option.value === props.modelValue
423
+ }, void 0, void 0, 0) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
424
+ row.option.icon ? (openBlock(), createElementBlock("span", {
425
+ key: 0,
426
+ class: normalizeClass(["astryx-selector-option-icon", row.option.icon]),
427
+ "aria-hidden": "true"
428
+ }, null, 2)) : createCommentVNode("v-if", true),
429
+ createElementVNode("span", _hoisted_10, toDisplayString(row.option.label), 1),
430
+ row.option.description ? (openBlock(), createElementBlock("span", _hoisted_11, toDisplayString(row.option.description), 1)) : createCommentVNode("v-if", true)
431
+ ], 64))], 42, _hoisted_9)) : createCommentVNode("v-if", true)], 64);
432
+ }), 128))])) : (openBlock(), createElementBlock("div", _hoisted_12, [unref(slots).empty ? renderSlot(_ctx.$slots, "empty", {}, void 0, void 0, 0) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(resolvedEmptyText.value), 1)], 64))]))], 14, _hoisted_4), [[vShow, unref(combobox).isOpen.value]])], 8, ["to"])),
433
+ props.name ? (openBlock(), createElementBlock("select", {
434
+ key: 1,
435
+ id: `${selectorId}-hidden-select`,
436
+ name: props.name,
437
+ value: props.modelValue ?? "",
438
+ "aria-label": props.label || resolvedPlaceholder.value,
439
+ tabindex: "-1",
440
+ style: {
441
+ "position": "absolute",
442
+ "left": "-9999px",
443
+ "width": "1px",
444
+ "height": "1px"
445
+ }
446
+ }, [_cache[3] || (_cache[3] = createElementVNode("option", { value: "" }, null, -1)), (openBlock(true), createElementBlock(Fragment, null, renderList(flatOptions.value, (option) => {
447
+ return openBlock(), createElementBlock("option", {
448
+ key: option.value,
449
+ value: option.value
450
+ }, toDisplayString(option.label), 9, _hoisted_14);
451
+ }), 128))], 8, _hoisted_13)) : createCommentVNode("v-if", true)
452
+ ]),
453
+ _: 3
454
+ }, 8, [
455
+ "class",
456
+ "label",
457
+ "description",
458
+ "is-label-hidden",
459
+ "is-disabled",
460
+ "status",
461
+ "status-variant",
462
+ "width"
463
+ ]);
464
+ };
465
+ }
466
+ });
467
+ //#endregion
468
+ export { _sfc_main as t };
@@ -1,2 +1,2 @@
1
- import { Bt as _default$1, Gt as SideNavHeadingProps, Ht as SideNavCollapseButtonProps, Jt as SideNavProps, Kt as SideNavItemEmits, Lt as _default$4, Rt as _default$3, Ut as SideNavCollapsible, Vt as _default, Wt as SideNavEmits, Xt as SideNavCollapseContext, Yt as SideNavSectionProps, Zt as useSideNavCollapse, qt as SideNavItemProps, zt as _default$2 } from "../index-C6iJwTL0.js";
1
+ import { Bt as _default$1, Gt as SideNavHeadingProps, Ht as SideNavCollapseButtonProps, Jt as SideNavProps, Kt as SideNavItemEmits, Lt as _default$4, Rt as _default$3, Ut as SideNavCollapsible, Vt as _default, Wt as SideNavEmits, Xt as SideNavCollapseContext, Yt as SideNavSectionProps, Zt as useSideNavCollapse, qt as SideNavItemProps, zt as _default$2 } from "../index-DeOftUMq.js";
2
2
  export { _default as SideNav, _default$1 as SideNavCollapseButton, type SideNavCollapseButtonProps, type SideNavCollapseContext, type SideNavCollapsible, type SideNavEmits, _default$2 as SideNavHeading, type SideNavHeadingProps, _default$3 as SideNavItem, type SideNavItemEmits, type SideNavItemProps, type SideNavProps, _default$4 as SideNavSection, type SideNavSectionProps, useSideNavCollapse };
@@ -1,3 +1,3 @@
1
1
  import { r as useSideNavCollapse } from "../context-BjNya0v8.js";
2
- import { a as _sfc_main$1, i as _sfc_main, n as _sfc_main$3, r as _sfc_main$2, t as _sfc_main$4 } from "../SideNav-B-Om6Bz3.js";
2
+ import { a as _sfc_main$1, i as _sfc_main, n as _sfc_main$3, r as _sfc_main$2, t as _sfc_main$4 } from "../SideNav-DcDWBnXJ.js";
3
3
  export { _sfc_main as SideNav, _sfc_main$1 as SideNavCollapseButton, _sfc_main$2 as SideNavHeading, _sfc_main$3 as SideNavItem, _sfc_main$4 as SideNavSection, useSideNavCollapse };
@@ -1,11 +1,11 @@
1
1
  import { t as useHotkeys } from "./useHotkeys-dABSK1o9.js";
2
- import { a as useAstryxMessages } from "./context-Dbo22sck.js";
2
+ import { a as useAstryxMessages } from "./context-DzcK4T_C.js";
3
3
  import { i as useSideNavRenderMode, r as useSideNavCollapse, t as sideNavCollapseKey } from "./context-BjNya0v8.js";
4
- import { t as _sfc_main$5 } from "./Icon-Dfr4k6-S.js";
4
+ import { t as _sfc_main$5 } from "./Tooltip-mp0NMh_Y.js";
5
+ import { t as _sfc_main$6 } from "./Icon-Bku25g_K.js";
5
6
  import { n as resolveNavRoot } from "./link-CdcUSxAj.js";
6
- import { t as _sfc_main$6 } from "./NavItem-FFOisITc.js";
7
- import { t as _sfc_main$7 } from "./NavDisclosure-DHrSNRDR.js";
8
- import { t as _sfc_main$8 } from "./Tooltip-mp0NMh_Y.js";
7
+ import { t as _sfc_main$7 } from "./NavItem-FFOisITc.js";
8
+ import { t as _sfc_main$8 } from "./NavDisclosure-DHrSNRDR.js";
9
9
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, getCurrentInstance, normalizeClass, openBlock, provide, ref, renderSlot, resolveDynamicComponent, toDisplayString, unref, useId, useSlots, watch, withCtx, withModifiers } from "vue";
10
10
  import "../styles/visually-hidden.css";
11
11
  import "../styles/side-nav.css";
@@ -55,7 +55,7 @@ const _sfc_main$4 = /*@__PURE__*/ defineComponent({
55
55
  "aria-expanded": collapsed.value ? "false" : "true",
56
56
  "aria-controls": unref(collapse).navId || void 0,
57
57
  onClick
58
- }, [createElementVNode("span", _hoisted_2$4, [createVNode(_sfc_main$5, {
58
+ }, [createElementVNode("span", _hoisted_2$4, [createVNode(_sfc_main$6, {
59
59
  icon: "chevronLeft",
60
60
  size: "sm",
61
61
  class: normalizeClass(["astryx-side-nav-collapse__chevron", { "astryx-side-nav-collapse__chevron--collapsed": collapsed.value }])
@@ -307,12 +307,12 @@ const _sfc_main$2 = /*@__PURE__*/ defineComponent({
307
307
  const wholeLink = computed(() => Boolean(props.headingHref) && !hasMenu.value && !props.superheadingHref && !props.subheadingHref);
308
308
  const linkRoot = computed(() => resolveNavRoot(props.headingHref, false, props.as));
309
309
  return (_ctx, _cache) => {
310
- return collapsed.value && hasIcon.value ? (openBlock(), createBlock(_sfc_main$8, {
310
+ return collapsed.value && hasIcon.value ? (openBlock(), createBlock(_sfc_main$5, {
311
311
  key: 0,
312
312
  content: __props.heading,
313
313
  placement: "end"
314
314
  }, {
315
- default: withCtx(() => [hasMenu.value ? (openBlock(), createBlock(_sfc_main$7, {
315
+ default: withCtx(() => [hasMenu.value ? (openBlock(), createBlock(_sfc_main$8, {
316
316
  key: 0,
317
317
  hover: "",
318
318
  placement: "end",
@@ -359,7 +359,7 @@ const _sfc_main$2 = /*@__PURE__*/ defineComponent({
359
359
  _ctx.$slots.end ? (openBlock(), createElementBlock("span", _hoisted_12, [renderSlot(_ctx.$slots, "end")])) : createCommentVNode("v-if", true)
360
360
  ]),
361
361
  _: 3
362
- }, 8, ["href", "to"])) : !collapsed.value && hasMenu.value ? (openBlock(), createBlock(_sfc_main$7, {
362
+ }, 8, ["href", "to"])) : !collapsed.value && hasMenu.value ? (openBlock(), createBlock(_sfc_main$8, {
363
363
  key: 2,
364
364
  hover: "",
365
365
  label: __props.heading
@@ -407,7 +407,7 @@ const _sfc_main$2 = /*@__PURE__*/ defineComponent({
407
407
  "aria-expanded": isOpen ? "true" : "false",
408
408
  "aria-controls": panelId,
409
409
  "aria-haspopup": "menu"
410
- }, [createVNode(_sfc_main$5, {
410
+ }, [createVNode(_sfc_main$6, {
411
411
  icon: "chevronDown",
412
412
  size: "sm",
413
413
  class: normalizeClass({ "astryx-side-nav-heading__chevron-icon--open": isOpen })
@@ -571,12 +571,12 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
571
571
  }
572
572
  const toggleLabel = computed(() => nestedCollapsed.value ? messages.value.nav.expandItem(props.label) : messages.value.nav.collapseItem(props.label));
573
573
  return (_ctx, _cache) => {
574
- return sidebarCollapsed.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [hasIcon.value && !hasChildren.value ? (openBlock(), createBlock(_sfc_main$8, {
574
+ return sidebarCollapsed.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [hasIcon.value && !hasChildren.value ? (openBlock(), createBlock(_sfc_main$5, {
575
575
  key: 0,
576
576
  content: __props.label,
577
577
  placement: "end"
578
578
  }, {
579
- default: withCtx(() => [createVNode(_sfc_main$6, {
579
+ default: withCtx(() => [createVNode(_sfc_main$7, {
580
580
  block: "",
581
581
  "is-icon-only": "",
582
582
  as: __props.as,
@@ -611,7 +611,7 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
611
611
  "target"
612
612
  ])]),
613
613
  _: 3
614
- }, 8, ["content"])) : hasIcon.value ? (openBlock(), createBlock(_sfc_main$7, {
614
+ }, 8, ["content"])) : hasIcon.value ? (openBlock(), createBlock(_sfc_main$8, {
615
615
  key: 1,
616
616
  hover: "",
617
617
  placement: "end",
@@ -638,7 +638,7 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
638
638
  }, 8, ["label"])) : createCommentVNode("v-if", true)], 64)) : (openBlock(), createElementBlock("div", _hoisted_5, [splitToggle.value ? (openBlock(), createElementBlock("div", {
639
639
  key: 0,
640
640
  class: normalizeClass(["astryx-nav-item astryx-nav-item--block", [`astryx-nav-item--${__props.size}`, { "astryx-nav-item--selected": __props.isSelected }]])
641
- }, [createVNode(_sfc_main$6, {
641
+ }, [createVNode(_sfc_main$7, {
642
642
  plain: "",
643
643
  class: "astryx-side-nav-item__split",
644
644
  as: __props.as,
@@ -686,11 +686,11 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
686
686
  "aria-controls": childrenId,
687
687
  "aria-label": toggleLabel.value,
688
688
  onClick: withModifiers(toggleNested, ["stop"])
689
- }, [createVNode(_sfc_main$5, {
689
+ }, [createVNode(_sfc_main$6, {
690
690
  icon: "chevronDown",
691
691
  size: "sm",
692
692
  class: normalizeClass(["astryx-side-nav-item__chevron", { "astryx-side-nav-item__chevron--open": !nestedCollapsed.value }])
693
- }, null, 8, ["class"])], 8, _hoisted_6)], 2)) : (openBlock(), createBlock(_sfc_main$6, {
693
+ }, null, 8, ["class"])], 8, _hoisted_6)], 2)) : (openBlock(), createBlock(_sfc_main$7, {
694
694
  key: 1,
695
695
  block: "",
696
696
  as: __props.as,
@@ -719,7 +719,7 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
719
719
  } : void 0,
720
720
  _ctx.$slots.end || canNest.value ? {
721
721
  name: "end",
722
- fn: withCtx(() => [renderSlot(_ctx.$slots, "end"), canNest.value ? (openBlock(), createBlock(_sfc_main$5, {
722
+ fn: withCtx(() => [renderSlot(_ctx.$slots, "end"), canNest.value ? (openBlock(), createBlock(_sfc_main$6, {
723
723
  key: 0,
724
724
  icon: "chevronDown",
725
725
  size: "sm",
@@ -1,2 +1,2 @@
1
- import { a as StepProps, c as StepperCollapsedVariant, d as StepperIndicatorPosition, f as StepperOrientation, i as StepProgress, l as StepperDensity, m as StepperSlots, n as _default, o as StepSlots, p as StepperProps, r as StepIndicator, s as StepStatus, t as _default$1, u as StepperHorizontalOptions } from "../index-CVn0GBdB.js";
1
+ import { a as StepProps, c as StepperCollapsedVariant, d as StepperIndicatorPosition, f as StepperOrientation, i as StepProgress, l as StepperDensity, m as StepperSlots, n as _default, o as StepSlots, p as StepperProps, r as StepIndicator, s as StepStatus, t as _default$1, u as StepperHorizontalOptions } from "../index-cG1E0U2s.js";
2
2
  export { _default as Step, type StepIndicator, type StepProgress, type StepProps, type StepSlots, type StepStatus, _default$1 as Stepper, type StepperCollapsedVariant, type StepperDensity, type StepperHorizontalOptions, type StepperIndicatorPosition, type StepperOrientation, type StepperProps, type StepperSlots };
@@ -1,2 +1,2 @@
1
- import { n as _sfc_main, t as _sfc_main$1 } from "../Stepper-BZ_8SEZt.js";
1
+ import { n as _sfc_main, t as _sfc_main$1 } from "../Stepper-DZKaqEoz.js";
2
2
  export { _sfc_main as Step, _sfc_main$1 as Stepper };
@@ -1,5 +1,5 @@
1
1
  import { t as _sfc_main$3 } from "./VisuallyHidden-C7NN3VEP.js";
2
- import { a as useAstryxMessages } from "./context-Dbo22sck.js";
2
+ import { a as useAstryxMessages } from "./context-DzcK4T_C.js";
3
3
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, onMounted, onUnmounted, openBlock, provide, ref, renderSlot, resolveDynamicComponent, toDisplayString, unref, useTemplateRef, watch, withCtx } from "vue";
4
4
  import "../styles/stepper.css";
5
5
  //#region src/Stepper/context.ts
@@ -1,2 +1,2 @@
1
- import { At as SwitchChangeEvent, Ft as SwitchStatus, It as SwitchStatusType, Mt as SwitchProps, Nt as SwitchSize, Ot as _default, Pt as SwitchSlots, jt as SwitchEmits, kt as SwitchChangeAction } from "../index-C6iJwTL0.js";
1
+ import { At as SwitchChangeEvent, Ft as SwitchStatus, It as SwitchStatusType, Mt as SwitchProps, Nt as SwitchSize, Ot as _default, Pt as SwitchSlots, jt as SwitchEmits, kt as SwitchChangeAction } from "../index-DeOftUMq.js";
2
2
  export { _default as Switch, type SwitchChangeAction, type SwitchChangeEvent, type SwitchEmits, type SwitchProps, type SwitchSize, type SwitchSlots, type SwitchStatus, type SwitchStatusType };
@@ -1,2 +1,2 @@
1
- import { a as TabListProps, c as TabMenuOption, i as TabListLayout, l as TabMenuProps, n as _default$1, o as TabListSize, r as _default, s as TabListTab, t as _default$2, u as TabProps } from "../index-DT9S92sh.js";
1
+ import { a as TabListProps, c as TabMenuOption, i as TabListLayout, l as TabMenuProps, n as _default$1, o as TabListSize, r as _default, s as TabListTab, t as _default$2, u as TabProps } from "../index-CNjbOgty.js";
2
2
  export { _default as Tab, _default$1 as TabList, type TabListLayout, type TabListProps, type TabListSize, type TabListTab, _default$2 as TabMenu, type TabMenuOption, type TabMenuProps, type TabProps };
@@ -1,2 +1,2 @@
1
- import { n as _sfc_main$1, r as _sfc_main, t as _sfc_main$2 } from "../TabList-Cnc2Hs1H.js";
1
+ import { n as _sfc_main$1, r as _sfc_main, t as _sfc_main$2 } from "../TabList-hm06QPiW.js";
2
2
  export { _sfc_main as Tab, _sfc_main$1 as TabList, _sfc_main$2 as TabMenu };
@@ -1,7 +1,7 @@
1
1
  import { t as useDismiss } from "./useDismiss-CAiHU6QD.js";
2
2
  import { t as useListFocus } from "./useListFocus-D0iOJl39.js";
3
- import { t as _sfc_main$3 } from "./Icon-Dfr4k6-S.js";
4
3
  import { t as usePositionedLayer } from "./usePositionedLayer-C1NBOsVT.js";
4
+ import { t as _sfc_main$3 } from "./Icon-Bku25g_K.js";
5
5
  import { Fragment, Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, nextTick, normalizeClass, normalizeStyle, onMounted, onUnmounted, openBlock, provide, reactive, ref, renderList, renderSlot, toDisplayString, unref, useId, watch } from "vue";
6
6
  import "../styles/tab-list.css";
7
7
  import "../styles/tab-menu.css";
@@ -114,12 +114,18 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
114
114
  hasDivider: {
115
115
  type: Boolean,
116
116
  default: false
117
- }
117
+ },
118
+ isFullBleed: {
119
+ type: Boolean,
120
+ default: false
121
+ },
122
+ edgeCompensation: {}
118
123
  },
119
124
  emits: ["update:value", "change"],
120
125
  setup(__props, { emit: __emit }) {
121
126
  const props = __props;
122
127
  const emit = __emit;
128
+ const bleedsInline = computed(() => props.edgeCompensation === "inline" || props.edgeCompensation == null && props.isFullBleed);
123
129
  const tabs = reactive([]);
124
130
  const focusedValue = ref(props.value);
125
131
  const enabledTabs = computed(() => tabs.filter((tab) => !tab.disabled));
@@ -178,7 +184,8 @@ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
178
184
  class: normalizeClass(["astryx-tab-list", [
179
185
  `astryx-tab-list--size-${__props.size}`,
180
186
  `astryx-tab-list--layout-${__props.layout}`,
181
- __props.hasDivider && "astryx-tab-list--has-divider"
187
+ __props.hasDivider && "astryx-tab-list--has-divider",
188
+ bleedsInline.value && "astryx-tab-list--full-bleed"
182
189
  ]]),
183
190
  role: "tablist"
184
191
  }, [createElementVNode("div", _hoisted_1$1, [renderSlot(_ctx.$slots, "default")])], 2);