nuance-ui 0.1.62 → 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 (130) hide show
  1. package/LICENSE.md +9 -9
  2. package/README.md +75 -75
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +11 -6
  5. package/dist/runtime/components/action-icon/action-icon-section.vue +3 -3
  6. package/dist/runtime/components/action-icon/action-icon.vue +22 -22
  7. package/dist/runtime/components/alert.vue +128 -128
  8. package/dist/runtime/components/app-shell/app-shell-aside.vue +30 -30
  9. package/dist/runtime/components/app-shell/app-shell-footer.vue +29 -29
  10. package/dist/runtime/components/app-shell/app-shell-header.vue +30 -30
  11. package/dist/runtime/components/app-shell/app-shell-navbar.vue +34 -34
  12. package/dist/runtime/components/app-shell/app-shell-section.vue +10 -10
  13. package/dist/runtime/components/app-shell/app-shell.vue +34 -34
  14. package/dist/runtime/components/avatar/avatar-group.vue +3 -3
  15. package/dist/runtime/components/avatar/avatar.vue +14 -14
  16. package/dist/runtime/components/background-image.vue +18 -18
  17. package/dist/runtime/components/badge.vue +160 -159
  18. package/dist/runtime/components/box.vue +3 -3
  19. package/dist/runtime/components/breadcrumbs.vue +78 -78
  20. package/dist/runtime/components/button/button-group.vue +3 -3
  21. package/dist/runtime/components/button/button.vue +37 -37
  22. package/dist/runtime/components/button/unstyled-button.vue +23 -23
  23. package/dist/runtime/components/calendar/calendar.vue +60 -60
  24. package/dist/runtime/components/calendar/ui/core/calendar-cell.vue +115 -115
  25. package/dist/runtime/components/calendar/ui/core/calendar-header.vue +95 -95
  26. package/dist/runtime/components/calendar/ui/core/calendar-root.vue +3 -3
  27. package/dist/runtime/components/calendar/ui/levels/calendar-decade.vue +41 -37
  28. package/dist/runtime/components/calendar/ui/levels/calendar-month.vue +77 -77
  29. package/dist/runtime/components/calendar/ui/levels/calendar-year.vue +41 -41
  30. package/dist/runtime/components/card/card-section.vue +3 -3
  31. package/dist/runtime/components/card/card.vue +3 -3
  32. package/dist/runtime/components/checkbox/checkbox-card.vue +36 -36
  33. package/dist/runtime/components/checkbox/checkbox-group.vue +16 -16
  34. package/dist/runtime/components/checkbox/checkbox-indicator.vue +116 -116
  35. package/dist/runtime/components/checkbox/checkbox.vue +140 -140
  36. package/dist/runtime/components/chip/chip-group.vue +2 -2
  37. package/dist/runtime/components/chip/chip.vue +200 -200
  38. package/dist/runtime/components/combobox/combobox-dropdown.vue +14 -14
  39. package/dist/runtime/components/combobox/combobox-empty.vue +3 -3
  40. package/dist/runtime/components/combobox/combobox-group.vue +21 -21
  41. package/dist/runtime/components/combobox/combobox-option-list.vue +3 -3
  42. package/dist/runtime/components/combobox/combobox-option.vue +26 -26
  43. package/dist/runtime/components/combobox/combobox-options-dropdown.vue +28 -28
  44. package/dist/runtime/components/combobox/combobox-root.vue +3 -3
  45. package/dist/runtime/components/combobox/combobox-target.vue +3 -3
  46. package/dist/runtime/components/container.vue +8 -8
  47. package/dist/runtime/components/date-time-picker.vue +65 -65
  48. package/dist/runtime/components/dialog/ui/dialog-close-button.vue +11 -11
  49. package/dist/runtime/components/dialog/ui/dialog-header.vue +5 -5
  50. package/dist/runtime/components/dialog/ui/dialog-root.vue +20 -20
  51. package/dist/runtime/components/dialog/ui/dialog-title.vue +5 -5
  52. package/dist/runtime/components/drawer/drawer-close-button.vue +3 -3
  53. package/dist/runtime/components/drawer/drawer-header.vue +3 -3
  54. package/dist/runtime/components/drawer/drawer-root.vue +15 -15
  55. package/dist/runtime/components/drawer/drawer-title.vue +3 -3
  56. package/dist/runtime/components/files/file-upload-button.vue +12 -12
  57. package/dist/runtime/components/files/file-upload-icon.vue +1 -1
  58. package/dist/runtime/components/input/date-picker.vue +85 -85
  59. package/dist/runtime/components/input/email-input.vue +21 -21
  60. package/dist/runtime/components/input/number-input.vue +132 -132
  61. package/dist/runtime/components/input/password-input.vue +28 -28
  62. package/dist/runtime/components/input/text-input.vue +33 -33
  63. package/dist/runtime/components/input/ui/button-input.vue +64 -64
  64. package/dist/runtime/components/input/ui/input-base.vue +283 -283
  65. package/dist/runtime/components/input/ui/input-inline.vue +105 -105
  66. package/dist/runtime/components/input/ui/input-label.vue +4 -4
  67. package/dist/runtime/components/input/ui/input-wrapper.vue +54 -54
  68. package/dist/runtime/components/input/ui/spin-input.vue +69 -69
  69. package/dist/runtime/components/link/link-button.vue +16 -16
  70. package/dist/runtime/components/link/link.vue +10 -10
  71. package/dist/runtime/components/loader/_loaders/bars-loader.vue +5 -5
  72. package/dist/runtime/components/loader/_loaders/dots-loader.vue +5 -5
  73. package/dist/runtime/components/loader/_loaders/oval-loader.vue +1 -1
  74. package/dist/runtime/components/loader/loader.vue +1 -1
  75. package/dist/runtime/components/modal/modal-close-button.vue +3 -3
  76. package/dist/runtime/components/modal/modal-header.vue +3 -3
  77. package/dist/runtime/components/modal/modal-root.vue +13 -13
  78. package/dist/runtime/components/modal/modal-title.vue +3 -3
  79. package/dist/runtime/components/nav-link/nav-icon-link.vue +15 -15
  80. package/dist/runtime/components/nav-link/nav-link.vue +130 -130
  81. package/dist/runtime/components/paper.vue +33 -33
  82. package/dist/runtime/components/popover/popover-dropdown.vue +70 -69
  83. package/dist/runtime/components/popover/popover-target.vue +8 -8
  84. package/dist/runtime/components/popover/popover.vue +1 -1
  85. package/dist/runtime/components/progress/progress-label.vue +3 -3
  86. package/dist/runtime/components/progress/progress-root.vue +3 -3
  87. package/dist/runtime/components/progress/progress-section.vue +8 -8
  88. package/dist/runtime/components/progress/progress.vue +9 -9
  89. package/dist/runtime/components/renderless/renderless.vue +3 -3
  90. package/dist/runtime/components/roving-focus/roving-focus-item.vue +14 -14
  91. package/dist/runtime/components/roving-focus/roving-focus.vue +3 -3
  92. package/dist/runtime/components/select/select.vue +59 -59
  93. package/dist/runtime/components/table/table.d.ts +30 -30
  94. package/dist/runtime/components/table/ui/table-sort-icon.vue +1 -1
  95. package/dist/runtime/components/table/ui/table-sortable-header.vue +11 -11
  96. package/dist/runtime/components/table/ui/table.vue +295 -295
  97. package/dist/runtime/components/tabs/tabs-list.vue +10 -10
  98. package/dist/runtime/components/tabs/tabs-panel.vue +11 -11
  99. package/dist/runtime/components/tabs/tabs-root.vue +8 -8
  100. package/dist/runtime/components/tabs/tabs-tab.vue +20 -20
  101. package/dist/runtime/components/text.vue +67 -67
  102. package/dist/runtime/components/textarea.vue +34 -34
  103. package/dist/runtime/components/time-picker/time-picker.vue +230 -230
  104. package/dist/runtime/components/title.vue +14 -14
  105. package/dist/runtime/components/transition/transition.vue +3 -3
  106. package/dist/runtime/components/tree/_ui/tree-item.vue +129 -128
  107. package/dist/runtime/components/tree/_ui/tree-root.vue +21 -21
  108. package/dist/runtime/components/tree/tree.vue +20 -20
  109. package/dist/runtime/components/visually-hidden/visually-hidden-input.vue +1 -1
  110. package/dist/runtime/components/visually-hidden/visually-hidden.vue +9 -9
  111. package/dist/runtime/helpers/date/create-months.js +1 -1
  112. package/dist/runtime/modals/_confirm-modal/confirm-modal.vue +31 -31
  113. package/dist/runtime/modals/modals-provider.vue +10 -10
  114. package/dist/runtime/utils/color-functions/get-gradient.js +1 -1
  115. package/dist/runtime/utils/{parse-theme-color → color-functions}/parse-theme-color.js +1 -1
  116. package/dist/runtime/utils/{vars-resolver/create-variant-color-resolver.js → create-variant-color-resolver.js} +3 -3
  117. package/dist/runtime/utils/{get-size/get-size.js → get-size.js} +2 -2
  118. package/dist/runtime/utils/index.d.ts +3 -5
  119. package/dist/runtime/utils/index.js +3 -5
  120. package/package.json +11 -11
  121. package/dist/runtime/server/tsconfig.json +0 -3
  122. package/dist/runtime/utils/chunk.d.ts +0 -12
  123. package/dist/runtime/utils/chunk.js +0 -6
  124. package/dist/runtime/utils/get-safe-id.d.ts +0 -1
  125. package/dist/runtime/utils/get-safe-id.js +0 -8
  126. /package/dist/runtime/utils/{get-color-var.d.ts → color-functions/get-color-var.d.ts} +0 -0
  127. /package/dist/runtime/utils/{get-color-var.js → color-functions/get-color-var.js} +0 -0
  128. /package/dist/runtime/utils/{parse-theme-color → color-functions}/parse-theme-color.d.ts +0 -0
  129. /package/dist/runtime/utils/{vars-resolver/create-variant-color-resolver.d.ts → create-variant-color-resolver.d.ts} +0 -0
  130. /package/dist/runtime/utils/{get-size/get-size.d.ts → get-size.d.ts} +0 -0
@@ -56,8 +56,8 @@ const style = computed(() => useStyleResolver((theme) => {
56
56
  </script>
57
57
 
58
58
  <template>
59
- <Box :style :class='[$style.root, $attrs?.style]'>
60
- <input
59
+ <Box :style :class='[$style.root, $attrs?.style]'>
60
+ <input
61
61
  v-bind='{
62
62
  ...$attrs,
63
63
  class: $style.input,
@@ -66,205 +66,205 @@ const style = computed(() => useStyleResolver((theme) => {
66
66
  type,
67
67
  disabled,
68
68
  id
69
- }'
70
- @click='onUpdate()'
71
- >
72
- <Box is='label' :for='id' :class='$style.label' :mod='{ variant }'>
73
- <span v-if='hideIcon && checked' :class='$style.iconWrapper'>
74
- <Icon :name='icon' :class='$style.icon' />
75
- </span>
76
-
77
- <span><slot /></span>
78
- </Box>
79
- </Box>
69
+ }'
70
+ @click='onUpdate()'
71
+ >
72
+ <Box is='label' :for='id' :class='$style.label' :mod='{ variant }'>
73
+ <span v-if='hideIcon && checked' :class='$style.iconWrapper'>
74
+ <Icon :name='icon' :class='$style.icon' />
75
+ </span>
76
+
77
+ <span><slot /></span>
78
+ </Box>
79
+ </Box>
80
80
  </template>
81
81
 
82
82
  <style lang="postcss" module>
83
- .root {
84
- --chip-size-xs: rem(23px);
85
- --chip-size-sm: rem(28px);
86
- --chip-size-md: rem(32px);
87
- --chip-size-lg: rem(36px);
88
- --chip-size-xl: rem(40px);
89
-
90
- --chip-icon-size-xs: rem(12px);
91
- --chip-icon-size-sm: rem(14px);
92
- --chip-icon-size-md: rem(16px);
93
- --chip-icon-size-lg: rem(18px);
94
- --chip-icon-size-xl: rem(20px);
95
-
96
- --chip-padding-xs: rem(16px);
97
- --chip-padding-sm: rem(20px);
98
- --chip-padding-md: rem(24px);
99
- --chip-padding-lg: rem(28px);
100
- --chip-padding-xl: rem(32px);
101
-
102
- --chip-checked-padding-xs: rem(7.5px);
103
- --chip-checked-padding-sm: rem(10px);
104
- --chip-checked-padding-md: rem(11.7px);
105
- --chip-checked-padding-lg: rem(13.5px);
106
- --chip-checked-padding-xl: rem(15.7px);
107
-
108
- --chip-spacing-xs: rem(10px);
109
- --chip-spacing-sm: rem(12px);
110
- --chip-spacing-md: rem(16px);
111
- --chip-spacing-lg: rem(20px);
112
- --chip-spacing-xl: rem(22px);
113
-
114
- --chip-size: var(--chip-size-sm);
115
- --chip-icon-size: var(--chip-icon-size-sm);
116
- --chip-padding: var(--chip-padding-sm);
117
- --chip-spacing: var(--chip-spacing-sm);
118
- --chip-checked-padding: var(--chip-checked-padding-sm);
119
- --chip-bg: var(--color-primary-filled);
120
- --chip-hover: var(--color-primary-filled-hover);
121
- --chip-color: var(--color-white);
122
- --chip-bd: 1px solid transparent;
123
-
124
- --chip-fz: var(--font-size-sm);
125
- --chip-radius: var(--radius-xl);
126
- }
127
-
128
- .label {
129
- cursor: pointer;
130
- user-select: none;
131
-
132
- display: inline-flex;
133
- align-items: center;
134
-
135
- height: var(--chip-size);
136
- padding-inline: var(--chip-padding);
137
-
138
- border: 1px solid transparent;
139
- border-radius: var(--chip-radius);
140
-
141
- font-size: var(--chip-fz);
142
- line-height: calc(var(--chip-size) - rem(2px));
143
- color: var(--color-text);
144
- white-space: nowrap;
145
- -webkit-tap-highlight-color: transparent;
146
- }
147
-
148
- .iconWrapper {
149
- overflow: hidden;
150
- display: flex;
151
- align-items: center;
152
-
153
- width: calc(var(--chip-icon-size) + (var(--chip-spacing) / 1.5));
154
- max-width: calc(var(--chip-icon-size) + (var(--chip-spacing) / 1.5));
155
- height: var(--chip-icon-size);
156
- }
157
-
158
- .icon {
159
- display: block;
160
-
161
- width: var(--chip-icon-size);
162
- height: var(--chip-icon-size);
163
-
164
- color: var(--chip-icon-color, inherit);
165
- }
166
-
167
- .input {
168
- width: 0;
169
- height: 0;
170
- margin: 0;
171
- padding: 0;
172
-
173
- opacity: 0;
174
-
175
- &:focus-visible + .label {
176
- outline: 2px solid var(--color-primary-filled);
177
- outline-offset: 2px;
178
- }
179
- }
180
-
181
- .input:disabled {
182
- & + .label {
183
- cursor: not-allowed;
184
-
185
- color: var(--color-disabled-text);
186
-
187
- background-color: var(--color-disabled);
188
- }
189
- }
190
-
191
- .input:not(:disabled) {
192
- & + .label[data-variant='outline'] {
193
- @mixin where-light {
194
- border: 1px solid var(--color-gray-3);
195
-
196
- background-color: var(--color-white);
197
- }
198
-
199
- @mixin where-dark {
200
- border: 1px solid var(--color-dark-4);
201
-
202
- background-color: var(--color-dark-6);
203
- }
204
-
205
- @mixin hover {
206
- @mixin where-light {
207
- background-color: var(--color-gray-0);
208
- }
209
-
210
- @mixin where-dark {
211
- background-color: var(--color-dark-5);
212
- }
213
- }
214
- }
215
-
216
- & + .label[data-variant='filled'],
217
- & + .label[data-variant='light'] {
218
- border: 1px solid transparent;
219
-
220
- color: var(--color-text);
221
-
222
- @mixin where-light {
223
- background-color: var(--color-gray-1);
224
- }
225
-
226
- @mixin where-dark {
227
- background-color: var(--color-dark-5);
228
- }
229
-
230
- @mixin hover {
231
- @mixin where-light {
232
- background-color: var(--color-gray-2);
233
- }
234
-
235
- @mixin where-dark {
236
- background-color: var(--color-dark-4);
237
- }
238
- }
239
- }
240
- }
241
-
242
- .input:not(:disabled):checked {
243
- & + .label {
244
- padding: var(--chip-checked-padding);
245
- }
246
-
247
- & + .label[data-variant='outline'] {
248
- --chip-icon-color: var(--chip-color);
249
-
250
- border: var(--chip-bd);
251
-
252
- @mixin hover {
253
- background-color: var(--chip-hover);
254
- }
255
- }
256
-
257
- & + .label[data-variant='filled'],
258
- & + .label[data-variant='light'] {
259
- --chip-icon-color: var(--chip-color);
260
-
261
- color: var(--chip-color);
262
-
263
- background-color: var(--chip-bg);
264
-
265
- @mixin hover {
266
- background-color: var(--chip-hover);
267
- }
268
- }
269
- }
83
+ .root {
84
+ --chip-size-xs: rem(23px);
85
+ --chip-size-sm: rem(28px);
86
+ --chip-size-md: rem(32px);
87
+ --chip-size-lg: rem(36px);
88
+ --chip-size-xl: rem(40px);
89
+
90
+ --chip-icon-size-xs: rem(12px);
91
+ --chip-icon-size-sm: rem(14px);
92
+ --chip-icon-size-md: rem(16px);
93
+ --chip-icon-size-lg: rem(18px);
94
+ --chip-icon-size-xl: rem(20px);
95
+
96
+ --chip-padding-xs: rem(16px);
97
+ --chip-padding-sm: rem(20px);
98
+ --chip-padding-md: rem(24px);
99
+ --chip-padding-lg: rem(28px);
100
+ --chip-padding-xl: rem(32px);
101
+
102
+ --chip-checked-padding-xs: rem(7.5px);
103
+ --chip-checked-padding-sm: rem(10px);
104
+ --chip-checked-padding-md: rem(11.7px);
105
+ --chip-checked-padding-lg: rem(13.5px);
106
+ --chip-checked-padding-xl: rem(15.7px);
107
+
108
+ --chip-spacing-xs: rem(10px);
109
+ --chip-spacing-sm: rem(12px);
110
+ --chip-spacing-md: rem(16px);
111
+ --chip-spacing-lg: rem(20px);
112
+ --chip-spacing-xl: rem(22px);
113
+
114
+ --chip-size: var(--chip-size-sm);
115
+ --chip-icon-size: var(--chip-icon-size-sm);
116
+ --chip-padding: var(--chip-padding-sm);
117
+ --chip-spacing: var(--chip-spacing-sm);
118
+ --chip-checked-padding: var(--chip-checked-padding-sm);
119
+ --chip-bg: var(--color-primary-filled);
120
+ --chip-hover: var(--color-primary-filled-hover);
121
+ --chip-color: var(--color-white);
122
+ --chip-bd: 1px solid transparent;
123
+
124
+ --chip-fz: var(--font-size-sm);
125
+ --chip-radius: var(--radius-xl);
126
+ }
127
+
128
+ .label {
129
+ cursor: pointer;
130
+ user-select: none;
131
+
132
+ display: inline-flex;
133
+ align-items: center;
134
+
135
+ height: var(--chip-size);
136
+ padding-inline: var(--chip-padding);
137
+
138
+ border: 1px solid transparent;
139
+ border-radius: var(--chip-radius);
140
+
141
+ font-size: var(--chip-fz);
142
+ line-height: calc(var(--chip-size) - rem(2px));
143
+ color: var(--color-text);
144
+ white-space: nowrap;
145
+ -webkit-tap-highlight-color: transparent;
146
+ }
147
+
148
+ .iconWrapper {
149
+ overflow: hidden;
150
+ display: flex;
151
+ align-items: center;
152
+
153
+ width: calc(var(--chip-icon-size) + (var(--chip-spacing) / 1.5));
154
+ max-width: calc(var(--chip-icon-size) + (var(--chip-spacing) / 1.5));
155
+ height: var(--chip-icon-size);
156
+ }
157
+
158
+ .icon {
159
+ display: block;
160
+
161
+ width: var(--chip-icon-size);
162
+ height: var(--chip-icon-size);
163
+
164
+ color: var(--chip-icon-color, inherit);
165
+ }
166
+
167
+ .input {
168
+ width: 0;
169
+ height: 0;
170
+ margin: 0;
171
+ padding: 0;
172
+
173
+ opacity: 0;
174
+
175
+ &:focus-visible + .label {
176
+ outline: 2px solid var(--color-primary-filled);
177
+ outline-offset: 2px;
178
+ }
179
+ }
180
+
181
+ .input:disabled {
182
+ & + .label {
183
+ cursor: not-allowed;
184
+
185
+ color: var(--color-disabled-text);
186
+
187
+ background-color: var(--color-disabled);
188
+ }
189
+ }
190
+
191
+ .input:not(:disabled) {
192
+ & + .label[data-variant='outline'] {
193
+ @mixin where-light {
194
+ border: 1px solid var(--color-gray-3);
195
+
196
+ background-color: var(--color-white);
197
+ }
198
+
199
+ @mixin where-dark {
200
+ border: 1px solid var(--color-dark-4);
201
+
202
+ background-color: var(--color-dark-6);
203
+ }
204
+
205
+ @mixin hover {
206
+ @mixin where-light {
207
+ background-color: var(--color-gray-0);
208
+ }
209
+
210
+ @mixin where-dark {
211
+ background-color: var(--color-dark-5);
212
+ }
213
+ }
214
+ }
215
+
216
+ & + .label[data-variant='filled'],
217
+ & + .label[data-variant='light'] {
218
+ border: 1px solid transparent;
219
+
220
+ color: var(--color-text);
221
+
222
+ @mixin where-light {
223
+ background-color: var(--color-gray-1);
224
+ }
225
+
226
+ @mixin where-dark {
227
+ background-color: var(--color-dark-5);
228
+ }
229
+
230
+ @mixin hover {
231
+ @mixin where-light {
232
+ background-color: var(--color-gray-2);
233
+ }
234
+
235
+ @mixin where-dark {
236
+ background-color: var(--color-dark-4);
237
+ }
238
+ }
239
+ }
240
+ }
241
+
242
+ .input:not(:disabled):checked {
243
+ & + .label {
244
+ padding: var(--chip-checked-padding);
245
+ }
246
+
247
+ & + .label[data-variant='outline'] {
248
+ --chip-icon-color: var(--chip-color);
249
+
250
+ border: var(--chip-bd);
251
+
252
+ @mixin hover {
253
+ background-color: var(--chip-hover);
254
+ }
255
+ }
256
+
257
+ & + .label[data-variant='filled'],
258
+ & + .label[data-variant='light'] {
259
+ --chip-icon-color: var(--chip-color);
260
+
261
+ color: var(--chip-color);
262
+
263
+ background-color: var(--chip-bg);
264
+
265
+ @mixin hover {
266
+ background-color: var(--chip-hover);
267
+ }
268
+ }
269
+ }
270
270
  </style>
@@ -13,21 +13,21 @@ const style = computed(() => ({
13
13
  </script>
14
14
 
15
15
  <template>
16
- <PopoverDropdown :class='$style.dropdown'>
17
- <Box
18
- :id='store.listId'
19
- role='presentation'
20
- :class='css.dropdown'
21
- :style
22
- v-bind='$attrs'
23
- >
24
- <slot />
25
- </Box>
26
- </PopoverDropdown>
16
+ <PopoverDropdown :class='$style.dropdown'>
17
+ <Box
18
+ :id='store.listId'
19
+ role='presentation'
20
+ :class='css.dropdown'
21
+ :style
22
+ v-bind='$attrs'
23
+ >
24
+ <slot />
25
+ </Box>
26
+ </PopoverDropdown>
27
27
  </template>
28
28
 
29
29
  <style module lang="postcss">
30
- .dropdown {
31
- padding: 0;
32
- }
30
+ .dropdown {
31
+ padding: 0;
32
+ }
33
33
  </style>
@@ -8,7 +8,7 @@ const { is, mod } = defineProps({
8
8
  </script>
9
9
 
10
10
  <template>
11
- <Box :is :mod :class='css.empty'>
12
- <slot />
13
- </Box>
11
+ <Box :is :mod :class='css.empty'>
12
+ <slot />
13
+ </Box>
14
14
  </template>
@@ -25,25 +25,25 @@ const value = defineModel("value", { type: [Object, Array, null] });
25
25
  </script>
26
26
 
27
27
  <template>
28
- <Box :class='css.group' role='group' :aria-labelledby='label ? uid : void 0' :mod>
29
- <div v-if='label || $slots?.label' :id='uid' :class='css.groupLabel'>
30
- <slot name='label'>
31
- {{ label }}
32
- </slot>
33
- </div>
34
-
35
- <ComboboxOption
36
- v-for='item in data.items'
37
- :key='item.value'
38
- :data='item'
39
- :icon-position
40
- :with-check-icon
41
- :check-icon
42
- :checked='isValueChecked(value, item)'
43
- >
44
- <template v-if='$slots.option' #default='props'>
45
- <slot name='option' v-bind='props' />
46
- </template>
47
- </ComboboxOption>
48
- </Box>
28
+ <Box :class='css.group' role='group' :aria-labelledby='label ? uid : void 0' :mod>
29
+ <div v-if='label || $slots?.label' :id='uid' :class='css.groupLabel'>
30
+ <slot name='label'>
31
+ {{ label }}
32
+ </slot>
33
+ </div>
34
+
35
+ <ComboboxOption
36
+ v-for='item in data.items'
37
+ :key='item.value'
38
+ :data='item'
39
+ :icon-position
40
+ :with-check-icon
41
+ :check-icon
42
+ :checked='isValueChecked(value, item)'
43
+ >
44
+ <template v-if='$slots.option' #default='props'>
45
+ <slot name='option' v-bind='props' />
46
+ </template>
47
+ </ComboboxOption>
48
+ </Box>
49
49
  </template>
@@ -9,7 +9,7 @@ const { labelledBy, mod } = defineProps({
9
9
  </script>
10
10
 
11
11
  <template>
12
- <Box :class='css.options' role='listbox' :aria-labelledby='labelledBy' :mod>
13
- <slot />
14
- </Box>
12
+ <Box :class='css.options' role='listbox' :aria-labelledby='labelledBy' :mod>
13
+ <slot />
14
+ </Box>
15
15
  </template>
@@ -38,30 +38,30 @@ const mod = computed(() => [
38
38
  </script>
39
39
 
40
40
  <template>
41
- <Box
42
- :class='css.option'
43
- :mod
44
- role='option'
45
- :aria-selected='checked'
46
- @click='() => !data?.disabled && onOptionSubmit?.(data.value, data)'
47
- >
48
- <slot
49
- :with-check-icon
50
- :icon-position
51
- :data
52
- :checked
53
- >
54
- <Icon
55
- v-if='withCheckIcon && iconPosition === "left"'
56
- :class='css.optionCheck'
57
- :name='data?.icon ?? checkIcon'
58
- />
59
- <span>{{ data.label }}</span>
60
- <Icon
61
- v-if='withCheckIcon && iconPosition === "right"'
62
- :class='css.optionCheck'
63
- :name='data?.icon ?? checkIcon'
64
- />
65
- </slot>
66
- </Box>
41
+ <Box
42
+ :class='css.option'
43
+ :mod
44
+ role='option'
45
+ :aria-selected='checked'
46
+ @click='() => !data?.disabled && onOptionSubmit?.(data.value, data)'
47
+ >
48
+ <slot
49
+ :with-check-icon
50
+ :icon-position
51
+ :data
52
+ :checked
53
+ >
54
+ <Icon
55
+ v-if='withCheckIcon && iconPosition === "left"'
56
+ :class='css.optionCheck'
57
+ :name='data?.icon ?? checkIcon'
58
+ />
59
+ <span>{{ data.label }}</span>
60
+ <Icon
61
+ v-if='withCheckIcon && iconPosition === "right"'
62
+ :class='css.optionCheck'
63
+ :name='data?.icon ?? checkIcon'
64
+ />
65
+ </slot>
66
+ </Box>
67
67
  </template>
@@ -41,32 +41,32 @@ const filteredData = computed(() => typeof search.value === "string" ? (filter |
41
41
  </script>
42
42
 
43
43
  <template>
44
- <ComboboxDropdown data-composed>
45
- <ComboboxOptionList :labelled-by='labelId' v-bind='$attrs'>
46
- <template
47
- v-for='item in filteredData'
48
- :key='isOptionsGroup(item) ? item.group : item?.value'
49
- >
50
- <ComboboxGroup
51
- v-if='isOptionsGroup(item)'
52
- v-model:value='value'
53
- :data='item'
54
- :with-check-icon
55
- :icon-position
56
- :check-icon
57
- />
58
- <ComboboxOption
59
- v-else
60
- :data='item'
61
- :with-check-icon
62
- :icon-position
63
- :check-icon
64
- :checked='isValueChecked(value, item)'
65
- />
66
- </template>
67
- <ComboboxEmpty v-if='isEmpty'>
68
- {{ nothingFoundMessage }}
69
- </ComboboxEmpty>
70
- </ComboboxOptionList>
71
- </ComboboxDropdown>
44
+ <ComboboxDropdown data-composed>
45
+ <ComboboxOptionList :labelled-by='labelId' v-bind='$attrs'>
46
+ <template
47
+ v-for='item in filteredData'
48
+ :key='isOptionsGroup(item) ? item.group : item?.value'
49
+ >
50
+ <ComboboxGroup
51
+ v-if='isOptionsGroup(item)'
52
+ v-model:value='value'
53
+ :data='item'
54
+ :with-check-icon
55
+ :icon-position
56
+ :check-icon
57
+ />
58
+ <ComboboxOption
59
+ v-else
60
+ :data='item'
61
+ :with-check-icon
62
+ :icon-position
63
+ :check-icon
64
+ :checked='isValueChecked(value, item)'
65
+ />
66
+ </template>
67
+ <ComboboxEmpty v-if='isEmpty'>
68
+ {{ nothingFoundMessage }}
69
+ </ComboboxEmpty>
70
+ </ComboboxOptionList>
71
+ </ComboboxDropdown>
72
72
  </template>
@@ -53,7 +53,7 @@ useProvideComboboxState({
53
53
  </script>
54
54
 
55
55
  <template>
56
- <Popover v-bind='rest' v-model:open='opened'>
57
- <slot />
58
- </Popover>
56
+ <Popover v-bind='rest' v-model:open='opened'>
57
+ <slot />
58
+ </Popover>
59
59
  </template>
@@ -26,7 +26,7 @@ const { store: { targetRef } } = useComboboxState();
26
26
  </script>
27
27
 
28
28
  <template>
29
- <PopoverTarget ref='targetRef' v-bind='aria' disabled>
30
- <slot />
31
- </PopoverTarget>
29
+ <PopoverTarget ref='targetRef' v-bind='aria' disabled>
30
+ <slot />
31
+ </PopoverTarget>
32
32
  </template>