ropav 0.1.6 → 0.1.8

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 (310) hide show
  1. package/README.md +7 -1
  2. package/dist/accordion.css +17 -17
  3. package/dist/accordion.js +123 -155
  4. package/dist/alert.css +18 -18
  5. package/dist/alert.js +10 -11
  6. package/dist/ancestry.js +136 -0
  7. package/dist/aria.js +14 -0
  8. package/dist/aspect-ratio.js +1 -1
  9. package/dist/attributes.js +9 -0
  10. package/dist/attributes2.js +29 -0
  11. package/dist/avatar.css +19 -19
  12. package/dist/avatar.js +9 -17
  13. package/dist/badge.css +16 -16
  14. package/dist/badge.js +5 -5
  15. package/dist/button-group.js +1 -1
  16. package/dist/button-link.js +4 -3
  17. package/dist/button.js +4 -3
  18. package/dist/button.scss_vue_type_style_index_0_src_true_lang.js +1 -1
  19. package/dist/calendar.css +173 -0
  20. package/dist/calendar.js +714 -0
  21. package/dist/calendar2.js +37 -0
  22. package/dist/card.js +1 -1
  23. package/dist/checkbox.css +32 -32
  24. package/dist/checkbox.js +22 -28
  25. package/dist/chevron-left.js +12 -0
  26. package/dist/collapse.css +6 -6
  27. package/dist/collapse.js +7 -6
  28. package/dist/collectionNavigation.js +2 -99
  29. package/dist/color-input.css +19 -19
  30. package/dist/color-input.js +14 -13
  31. package/dist/color-picker.css +40 -40
  32. package/dist/color-picker.js +247 -276
  33. package/dist/color-picker2.js +1 -9
  34. package/dist/color-swatch.css +4 -4
  35. package/dist/color-swatch.js +6 -8
  36. package/dist/color.js +5 -10
  37. package/dist/combobox.css +251 -0
  38. package/dist/combobox.js +410 -0
  39. package/dist/componentColors.js +125 -84
  40. package/dist/componentRef.js +26 -0
  41. package/dist/components/accordion/accordionContext.d.ts +3 -0
  42. package/dist/components/accordion/accordionModel.d.ts +14 -0
  43. package/dist/components/accordion/index.d.ts +2 -1
  44. package/dist/components/accordion/index.js +1 -1
  45. package/dist/components/accordion/types.d.ts +1 -2
  46. package/dist/components/accordion/useAccordion.d.ts +2 -2
  47. package/dist/components/accordion/useAccordionItem.d.ts +2 -0
  48. package/dist/components/calendar/calendar.d.ts +30 -0
  49. package/dist/components/calendar/calendarBehavior.d.ts +49 -0
  50. package/dist/components/calendar/index.d.ts +3 -0
  51. package/dist/components/calendar/index.js +3 -0
  52. package/dist/components/calendar/types.d.ts +53 -0
  53. package/dist/components/calendar/useCalendar.d.ts +24 -0
  54. package/dist/components/checkbox/useCheckbox.d.ts +1 -2
  55. package/dist/components/color-picker/index.js +2 -2
  56. package/dist/components/color-picker/types.d.ts +2 -2
  57. package/dist/components/color-picker/useColorPickerDrag.d.ts +1 -1
  58. package/dist/components/color-picker/useColorPickerSaturation.d.ts +22 -0
  59. package/dist/components/color-picker/useColorPickerSlider.d.ts +20 -0
  60. package/dist/components/color-picker/useColorPickerValue.d.ts +1 -1
  61. package/dist/components/combobox/combobox.d.ts +29 -0
  62. package/dist/components/combobox/comboboxModel.d.ts +4 -0
  63. package/dist/components/combobox/index.d.ts +3 -0
  64. package/dist/components/combobox/index.js +2 -0
  65. package/dist/components/combobox/types.d.ts +43 -0
  66. package/dist/components/combobox/useCombobox.d.ts +45 -0
  67. package/dist/components/date-picker/date-picker.d.ts +33 -0
  68. package/dist/components/date-picker/datePickerModel.d.ts +10 -0
  69. package/dist/components/date-picker/index.d.ts +4 -0
  70. package/dist/components/date-picker/index.js +2 -0
  71. package/dist/components/date-picker/types.d.ts +57 -0
  72. package/dist/components/date-picker/useDatePicker.d.ts +29 -0
  73. package/dist/components/date-picker/useDatePickerValueState.d.ts +21 -0
  74. package/dist/components/dialog/{dialog-core.d.ts → dialogContext.d.ts} +1 -5
  75. package/dist/components/dialog/useDialogContentInteractions.d.ts +18 -0
  76. package/dist/components/dialog/useDialogRootState.d.ts +19 -0
  77. package/dist/components/dropdown-menu/dropdown-menu-content.d.ts +2 -2
  78. package/dist/components/dropdown-menu/dropdown-menu-item-row.d.ts +1 -1
  79. package/dist/components/dropdown-menu/dropdown-menu-items.d.ts +1 -1
  80. package/dist/components/dropdown-menu/dropdown-menu-model.d.ts +8 -0
  81. package/dist/components/dropdown-menu/dropdown-menu-root.d.ts +2 -2
  82. package/dist/components/dropdown-menu/dropdown-menu-sub-content.d.ts +2 -2
  83. package/dist/components/dropdown-menu/dropdown-menu-sub-trigger.d.ts +1 -1
  84. package/dist/components/dropdown-menu/dropdown-menu-sub.d.ts +1 -1
  85. package/dist/components/dropdown-menu/dropdown-menu.d.ts +2 -2
  86. package/dist/components/dropdown-menu/{dropdown-menu-primitive-core.d.ts → dropdownMenuContext.d.ts} +17 -30
  87. package/dist/components/dropdown-menu/dropdownMenuDataModel.d.ts +20 -0
  88. package/dist/components/dropdown-menu/dropdownMenuInteraction.d.ts +3 -0
  89. package/dist/components/dropdown-menu/dropdownMenuInteractionNavigation.d.ts +24 -0
  90. package/dist/components/dropdown-menu/dropdownMenuInteractionRegistry.d.ts +42 -0
  91. package/dist/components/dropdown-menu/dropdownMenuInteractionTypes.d.ts +114 -0
  92. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +11 -11
  93. package/dist/components/dropdown-menu/useDropdownMenuContextTrigger.d.ts +9 -0
  94. package/dist/components/dropdown-menu/useDropdownMenuDataController.d.ts +35 -0
  95. package/dist/components/dropdown-menu/useDropdownMenuDataRegistration.d.ts +24 -0
  96. package/dist/components/dropdown-menu/useDropdownMenuHoverIntent.d.ts +6 -5
  97. package/dist/components/dropdown-menu/useDropdownMenuInteractionDismissal.d.ts +17 -0
  98. package/dist/components/dropdown-menu/useDropdownMenuInteractionKeyboard.d.ts +19 -0
  99. package/dist/components/dropdown-menu/useDropdownMenuPortalPosition.d.ts +0 -1
  100. package/dist/components/dropdown-menu/useDropdownMenuPresentation.d.ts +28 -0
  101. package/dist/components/dropdown-menu/useDropdownMenuPrimitiveContent.d.ts +2 -2
  102. package/dist/components/dropdown-menu/useDropdownMenuRenderItems.d.ts +1 -1
  103. package/dist/components/dropdown-menu/useDropdownMenuTargetBindings.d.ts +19 -0
  104. package/dist/components/dropzone/dropzone.d.ts +31 -0
  105. package/dist/components/dropzone/dropzoneModel.d.ts +16 -0
  106. package/dist/components/dropzone/index.d.ts +3 -0
  107. package/dist/components/dropzone/index.js +2 -0
  108. package/dist/components/dropzone/types.d.ts +56 -0
  109. package/dist/components/dropzone/useDropzone.d.ts +25 -0
  110. package/dist/components/file-input/file-input.d.ts +29 -0
  111. package/dist/components/file-input/index.d.ts +3 -0
  112. package/dist/components/file-input/index.js +2 -0
  113. package/dist/components/file-input/types.d.ts +37 -0
  114. package/dist/components/file-input/useFileInput.d.ts +15 -0
  115. package/dist/components/floating/index.js +2 -2
  116. package/dist/components/floating/useFloatingPosition.d.ts +1 -14
  117. package/dist/components/floating/useFloatingTargetLifecycle.d.ts +32 -0
  118. package/dist/components/floating/useHoverDisclosure.d.ts +10 -0
  119. package/dist/components/hover-card/hover-card.d.ts +25 -0
  120. package/dist/components/hover-card/index.d.ts +3 -0
  121. package/dist/components/hover-card/index.js +2 -0
  122. package/dist/components/hover-card/types.d.ts +45 -0
  123. package/dist/components/hover-card/useHoverCard.d.ts +22 -0
  124. package/dist/components/hover-card/useHoverCardDisclosure.d.ts +19 -0
  125. package/dist/components/multi-select/index.d.ts +3 -0
  126. package/dist/components/multi-select/index.js +2 -0
  127. package/dist/components/multi-select/multi-select.d.ts +30 -0
  128. package/dist/components/multi-select/multiSelectModel.d.ts +3 -0
  129. package/dist/components/multi-select/types.d.ts +49 -0
  130. package/dist/components/multi-select/useMultiSelect.d.ts +46 -0
  131. package/dist/components/number-input/numberInputModel.d.ts +15 -0
  132. package/dist/components/number-input/useNumberInput.d.ts +3 -19
  133. package/dist/components/pagination/index.d.ts +1 -1
  134. package/dist/components/pagination/index.js +1 -1
  135. package/dist/components/pagination/paginationModel.d.ts +4 -0
  136. package/dist/components/pagination/types.d.ts +15 -0
  137. package/dist/components/pagination/usePagination.d.ts +3 -19
  138. package/dist/components/popover/usePopoverBindings.d.ts +13 -0
  139. package/dist/components/progress/progressModel.d.ts +8 -0
  140. package/dist/components/progress/useProgress.d.ts +0 -6
  141. package/dist/components/radio/useRadio.d.ts +1 -2
  142. package/dist/components/scroll-area/scroll-area.d.ts +1 -1
  143. package/dist/components/scroll-area/scrollAreaModel.d.ts +64 -0
  144. package/dist/components/scroll-area/useScrollArea.d.ts +70 -53
  145. package/dist/components/scroll-area/{useScrollAreaPresentation.d.ts → useScrollAreaAttributes.d.ts} +37 -17
  146. package/dist/components/scroll-area/useScrollAreaDerivedState.d.ts +8 -0
  147. package/dist/components/scroll-area/useScrollAreaMeasurement.d.ts +35 -0
  148. package/dist/components/scroll-area/useScrollAreaPointer.d.ts +11 -9
  149. package/dist/components/scroll-area/useScrollAreaVisibility.d.ts +15 -20
  150. package/dist/components/segmented-control/index.d.ts +3 -0
  151. package/dist/components/segmented-control/index.js +2 -0
  152. package/dist/components/segmented-control/segmented-control.d.ts +26 -0
  153. package/dist/components/segmented-control/types.d.ts +47 -0
  154. package/dist/components/segmented-control/useSegmentedControl.d.ts +15 -0
  155. package/dist/components/select/useSelect.d.ts +31 -19
  156. package/dist/components/slider/rangeSliderModel.d.ts +41 -0
  157. package/dist/components/slider/{sliderCore.d.ts → sliderModel.d.ts} +0 -1
  158. package/dist/components/slider/useRangeSlider.d.ts +9 -17
  159. package/dist/components/slider/useRangeSliderPointer.d.ts +1 -1
  160. package/dist/components/slider/useRangeSliderValueState.d.ts +40 -0
  161. package/dist/components/slider/useSlider.d.ts +7 -13
  162. package/dist/components/slider/useSliderPointerPreview.d.ts +22 -0
  163. package/dist/components/slider/useSliderTooltipState.d.ts +40 -0
  164. package/dist/components/slider/useSliderValueState.d.ts +33 -0
  165. package/dist/components/tags-input/index.d.ts +3 -0
  166. package/dist/components/tags-input/index.js +2 -0
  167. package/dist/components/tags-input/tags-input.d.ts +27 -0
  168. package/dist/components/tags-input/tagsInputModel.d.ts +12 -0
  169. package/dist/components/tags-input/types.d.ts +37 -0
  170. package/dist/components/tags-input/useTagsInput.d.ts +23 -0
  171. package/dist/components/teleport-provider/index.js +1 -1
  172. package/dist/components/teleport-provider/useTeleportTarget.d.ts +1 -2
  173. package/dist/components/toast/useToastLifecycle.d.ts +19 -0
  174. package/dist/components/tooltip/useTooltip.d.ts +1 -2
  175. package/dist/components/tooltip/useTooltipTargetBindings.d.ts +12 -0
  176. package/dist/css.js +12 -0
  177. package/dist/date-picker.css +49 -0
  178. package/dist/date-picker.js +809 -0
  179. package/dist/dialog.js +215 -218
  180. package/dist/direction.js +6 -0
  181. package/dist/dropdown-menu.css +21 -3
  182. package/dist/dropdown-menu.js +1626 -1185
  183. package/dist/dropzone.css +135 -0
  184. package/dist/dropzone.js +431 -0
  185. package/dist/events.js +59 -0
  186. package/dist/field.css +8 -8
  187. package/dist/field.js +13 -25
  188. package/dist/file-input.css +135 -0
  189. package/dist/file-input.js +198 -0
  190. package/dist/floatingOffset.js +11 -0
  191. package/dist/focus-trap.js +7 -5
  192. package/dist/focusNavigation.js +37 -0
  193. package/dist/hover-card.css +80 -0
  194. package/dist/hover-card.js +402 -0
  195. package/dist/icon-button.css +8 -8
  196. package/dist/icon-button.js +7 -6
  197. package/dist/index.d.ts +9 -0
  198. package/dist/index.js +20 -9
  199. package/dist/input.css +24 -24
  200. package/dist/input.js +19 -31
  201. package/dist/interactive.js +18 -0
  202. package/dist/internal/composables/useOverlayLayer.d.ts +12 -0
  203. package/dist/modal.js +2 -2
  204. package/dist/multi-select.css +316 -0
  205. package/dist/multi-select.js +481 -0
  206. package/dist/nativeChoice.js +169 -0
  207. package/dist/number-input.css +18 -18
  208. package/dist/number-input.js +44 -44
  209. package/dist/number.js +22 -0
  210. package/dist/overlay.js +3 -2
  211. package/dist/pagination.css +28 -28
  212. package/dist/pagination.js +66 -73
  213. package/dist/pointerSession.js +130 -0
  214. package/dist/popover.css +55 -37
  215. package/dist/popover.js +75 -101
  216. package/dist/progress.js +10 -13
  217. package/dist/query.js +40 -0
  218. package/dist/radio.css +18 -18
  219. package/dist/radio.js +30 -36
  220. package/dist/rafScheduler.js +34 -0
  221. package/dist/scroll-area.css +28 -28
  222. package/dist/scroll-area.js +540 -554
  223. package/dist/segmented-control.css +176 -0
  224. package/dist/segmented-control.js +382 -0
  225. package/dist/select.css +50 -48
  226. package/dist/select.js +131 -289
  227. package/dist/slider.css +191 -191
  228. package/dist/slider.js +720 -706
  229. package/dist/styles-api.d.ts +0 -1
  230. package/dist/styles-api.js +1 -4
  231. package/dist/switch.css +17 -17
  232. package/dist/switch.js +14 -15
  233. package/dist/tabs.css +43 -43
  234. package/dist/tabs.js +29 -56
  235. package/dist/tags-input.css +197 -0
  236. package/dist/tags-input.js +380 -0
  237. package/dist/text.js +17 -0
  238. package/dist/textarea.css +26 -26
  239. package/dist/textarea.js +21 -32
  240. package/dist/toast.css +26 -26
  241. package/dist/toast.js +141 -118
  242. package/dist/tooltip.css +12 -12
  243. package/dist/tooltip.js +64 -63
  244. package/dist/useCollapse.js +8 -11
  245. package/dist/useControlState.js +3 -6
  246. package/dist/useEditableOptionList.js +216 -0
  247. package/dist/useFlatOptionCollection.js +134 -0
  248. package/dist/useFloatingPosition.js +14 -40
  249. package/dist/useFloatingTargetLifecycle.js +127 -0
  250. package/dist/useFormControl.js +1 -0
  251. package/dist/useHoverDisclosure.js +561 -0
  252. package/dist/useNativeChoiceTransaction.js +46 -0
  253. package/dist/useNativeFileSelection.js +86 -0
  254. package/dist/useOverlayZIndex.js +246 -19
  255. package/dist/useTeleportTarget.js +3 -14
  256. package/dist/useTypeahead.js +94 -0
  257. package/dist/utils/aria.d.ts +3 -0
  258. package/dist/utils/attributes.d.ts +2 -0
  259. package/dist/utils/bem.d.ts +3 -0
  260. package/dist/utils/collectionNavigation.d.ts +2 -0
  261. package/dist/utils/color.d.ts +7 -0
  262. package/dist/{components/color-picker/color-picker-utils.d.ts → utils/colorPicker.d.ts} +5 -4
  263. package/dist/utils/componentColors.d.ts +7 -0
  264. package/dist/utils/css.d.ts +3 -0
  265. package/dist/utils/date.d.ts +13 -0
  266. package/dist/utils/dateAvailability.d.ts +7 -0
  267. package/dist/utils/dom/ancestry.d.ts +8 -0
  268. package/dist/utils/dom/attributes.d.ts +16 -0
  269. package/dist/utils/dom/componentRef.d.ts +4 -0
  270. package/dist/utils/dom/direction.d.ts +2 -0
  271. package/dist/utils/dom/events.d.ts +5 -0
  272. package/dist/utils/dom/files.d.ts +3 -0
  273. package/dist/utils/dom/focusNavigation.d.ts +7 -0
  274. package/dist/utils/dom/interactive.d.ts +2 -0
  275. package/dist/utils/dom/nativeChoice.d.ts +17 -0
  276. package/dist/utils/dom/pointerSession.d.ts +20 -0
  277. package/dist/utils/dom/query.d.ts +4 -0
  278. package/dist/utils/dom/scroll.d.ts +24 -0
  279. package/dist/utils/floatingOffset.d.ts +10 -0
  280. package/dist/utils/geometry.d.ts +14 -0
  281. package/dist/utils/indexPath.d.ts +6 -0
  282. package/dist/utils/number.d.ts +4 -0
  283. package/dist/utils/optionFilter.d.ts +5 -0
  284. package/dist/utils/rafScheduler.d.ts +4 -0
  285. package/dist/utils/text.d.ts +2 -0
  286. package/docs/code-architecture.md +118 -0
  287. package/docs/public-floating-api.md +13 -9
  288. package/docs/public-styles-api.md +25 -12
  289. package/package.json +51 -14
  290. package/src/styles/_mixins.scss +26 -0
  291. package/src/styles/styles-manifest.json +1 -2
  292. package/dist/components/dropdown-menu/dropdown-menu-outside.d.ts +0 -3
  293. package/dist/components/dropdown-menu/dropdown-menu-utils.d.ts +0 -21
  294. package/dist/components/dropdown-menu/useDropdownMenuDisclosure.d.ts +0 -36
  295. package/dist/components/dropdown-menu/useDropdownMenuDom.d.ts +0 -29
  296. package/dist/components/dropdown-menu/useDropdownMenuInteractions.d.ts +0 -52
  297. package/dist/components/dropdown-menu/useDropdownMenuNavigation.d.ts +0 -17
  298. package/dist/components/dropdown-menu/useDropdownSubmenus.d.ts +0 -18
  299. package/dist/components/scroll-area/scrollAreaCore.d.ts +0 -30
  300. package/dist/components/scroll-area/useScrollAreaControls.d.ts +0 -25
  301. package/dist/components/scroll-area/useScrollAreaMetrics.d.ts +0 -38
  302. package/dist/components/select/useSelectNativeControl.d.ts +0 -9
  303. package/dist/components/select/useSelectNativeValue.d.ts +0 -9
  304. package/dist/floating.js +0 -415
  305. /package/dist/components/alert/{useAlertColor.d.ts → alertColor.d.ts} +0 -0
  306. /package/dist/components/avatar/{useAvatarColor.d.ts → avatarColor.d.ts} +0 -0
  307. /package/dist/components/badge/{useBadgeColor.d.ts → badgeColor.d.ts} +0 -0
  308. /package/dist/components/button/{useButtonColor.d.ts → buttonColor.d.ts} +0 -0
  309. /package/dist/components/color-swatch/{useColorSwatchColor.d.ts → colorSwatchColor.d.ts} +0 -0
  310. /package/dist/components/toast/{useToastColor.d.ts → toastColor.d.ts} +0 -0
package/README.md CHANGED
@@ -142,5 +142,11 @@ Use typed `classNames` and `styles`, documented state attributes, and variables
142
142
 
143
143
  See the [Public Styles API](./docs/public-styles-api.md) and [public token table](./docs/public-tokens.md). Consumers can declare `reset, ropav.tokens, ropav.components, app` to establish their cascade layer order.
144
144
 
145
- For headless Tooltip, HoverCard and custom menu markup, see the
145
+ For headless floating content and custom overlay markup, see the
146
146
  [public floating API](./docs/public-floating-api.md).
147
+
148
+ ## Development
149
+
150
+ Contributors should follow the [code architecture guide](./docs/code-architecture.md) for component,
151
+ composable, utility, dependency, and testing conventions. Run `pnpm run verify` before submitting a
152
+ change.
@@ -1,5 +1,5 @@
1
1
  @layer ropav.components {
2
- .rp-accordion[data-v-d15589fa] {
2
+ .rp-accordion[data-v-c48cb87a] {
3
3
  --_rp-accordion-radius: var(--rp-radius-sm);
4
4
  --_rp-accordion-duration: var(--rp-transition-fast);
5
5
  box-sizing: border-box;
@@ -12,29 +12,29 @@
12
12
  border: var(--rp-border-width-thin) solid var(--rp-color-default-border);
13
13
  border-radius: var(--_rp-accordion-radius);
14
14
  }
15
- .rp-accordion--disabled[data-v-d15589fa] {
15
+ .rp-accordion--disabled[data-v-c48cb87a] {
16
16
  opacity: var(--rp-opacity-disabled);
17
17
  cursor: not-allowed;
18
18
  }
19
19
  }@layer ropav.components {
20
- .rp-accordion-item[data-v-5b00ef39] {
20
+ .rp-accordion-item[data-v-ab630265] {
21
21
  --_rp-accordion-duration: var(--rp-transition-fast);
22
22
  box-sizing: border-box;
23
23
  min-width: 0;
24
24
  border-top: var(--rp-border-width-thin) solid var(--rp-color-default-border);
25
25
  }
26
- .rp-accordion-item[data-v-5b00ef39]:first-child {
26
+ .rp-accordion-item[data-v-ab630265]:first-child {
27
27
  border-top: 0;
28
28
  }
29
- .rp-accordion-item--disabled[data-v-5b00ef39] {
29
+ .rp-accordion-item--disabled[data-v-ab630265] {
30
30
  opacity: var(--rp-opacity-disabled);
31
31
  cursor: not-allowed;
32
32
  }
33
- .rp-accordion-item__heading[data-v-5b00ef39] {
33
+ .rp-accordion-item__heading[data-v-ab630265] {
34
34
  margin: 0;
35
35
  font: inherit;
36
36
  }
37
- .rp-accordion-item__trigger[data-v-5b00ef39] {
37
+ .rp-accordion-item__trigger[data-v-ab630265] {
38
38
  display: flex;
39
39
  align-items: center;
40
40
  justify-content: space-between;
@@ -55,30 +55,30 @@
55
55
  border: 0;
56
56
  transition: background-color var(--_rp-accordion-duration), color var(--_rp-accordion-duration);
57
57
  }
58
- .rp-accordion-item__trigger[data-v-5b00ef39]:hover:not(:disabled) {
58
+ .rp-accordion-item__trigger[data-v-ab630265]:hover:not(:disabled) {
59
59
  background-color: var(--rp-color-default-hover);
60
60
  }
61
- .rp-accordion-item__trigger[data-v-5b00ef39]:focus-visible {
61
+ .rp-accordion-item__trigger[data-v-ab630265]:focus-visible {
62
62
  outline: none;
63
63
  border-color: var(--rp-color-control-border-focus);
64
64
  box-shadow: 0 0 0 var(--rp-border-width-medium) var(--rp-color-focus-ring);
65
65
  }
66
- .rp-accordion-item__trigger[data-v-5b00ef39]:disabled {
66
+ .rp-accordion-item__trigger[data-v-ab630265]:disabled {
67
67
  cursor: default;
68
68
  }
69
- .rp-accordion-item__title[data-v-5b00ef39] {
69
+ .rp-accordion-item__title[data-v-ab630265] {
70
70
  min-width: 0;
71
71
  }
72
- .rp-accordion-item__icon[data-v-5b00ef39] {
72
+ .rp-accordion-item__icon[data-v-ab630265] {
73
73
  display: inline-flex;
74
74
  flex: 0 0 auto;
75
75
  color: var(--rp-color-control-icon);
76
76
  transition: transform var(--_rp-accordion-duration);
77
77
  }
78
- .rp-accordion-item--open .rp-accordion-item__icon[data-v-5b00ef39] {
78
+ .rp-accordion-item--open .rp-accordion-item__icon[data-v-ab630265] {
79
79
  transform: rotate(180deg);
80
80
  }
81
- .rp-accordion-item__content[data-v-5b00ef39] {
81
+ .rp-accordion-item__content[data-v-ab630265] {
82
82
  box-sizing: border-box;
83
83
  display: grid;
84
84
  min-width: 0;
@@ -90,13 +90,13 @@
90
90
  grid-template-rows: 1fr;
91
91
  transition: grid-template-rows var(--_rp-accordion-duration), opacity var(--_rp-accordion-duration), padding-top var(--_rp-accordion-duration), padding-bottom var(--_rp-accordion-duration);
92
92
  }
93
- .rp-accordion-item__inner[data-v-5b00ef39] {
93
+ .rp-accordion-item__inner[data-v-ab630265] {
94
94
  min-height: 0;
95
95
  min-width: 0;
96
96
  overflow: hidden;
97
97
  }
98
- .rp-accordion-content-enter-from[data-v-5b00ef39],
99
- .rp-accordion-content-leave-to[data-v-5b00ef39] {
98
+ .rp-accordion-content-enter-from[data-v-ab630265],
99
+ .rp-accordion-content-leave-to[data-v-ab630265] {
100
100
  opacity: 0;
101
101
  grid-template-rows: 0fr;
102
102
  padding-top: 0;
package/dist/accordion.js CHANGED
@@ -1,136 +1,39 @@
1
1
  import './accordion.css';
2
2
  import { t as useControllableValue } from "./useControllableValue.js";
3
- import { n as useStylesApi, t as presence } from "./styles-api.js";
4
- import { t as useRequiredInject } from "./useRequiredInject.js";
3
+ import { t as useStylesApi } from "./styles-api.js";
4
+ import { n as toPresenceAttribute, t as toOptionalAttribute } from "./attributes.js";
5
5
  import { t as bem } from "./bem.js";
6
+ import { t as getFocusNavigationTarget } from "./focusNavigation.js";
7
+ import { t as useRequiredInject } from "./useRequiredInject.js";
6
8
  import { t as useCollapse } from "./useCollapse.js";
7
9
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
8
10
  import { VaporTransition, applyVShow, child, computed, createComponent, createIf, createSlot, defineVaporComponent, extend, markRaw, next, provide, renderEffect, setDynamicProps, setInsertionState, setText, template, toDisplayString, unref, useId } from "vue";
9
- //#region src/components/accordion/types.ts
10
- var accordionParts = ["root"];
11
- var accordionItemParts = [
12
- "root",
13
- "trigger",
14
- "title",
15
- "icon",
16
- "content"
17
- ];
11
+ //#region src/components/accordion/accordionContext.ts
18
12
  var accordionKey = Symbol("accordion");
19
13
  //#endregion
20
- //#region src/components/accordion/useAccordion.ts
21
- var ACCORDION_SELECTOR = ".rp-accordion";
22
- var TRIGGER_SELECTOR = ".rp-accordion-item__trigger";
23
- function normalizeValue(value, multiple) {
14
+ //#region src/components/accordion/accordionModel.ts
15
+ function readAccordionOpenValues(value, multiple) {
24
16
  if (value == null) return [];
25
17
  const values = Array.isArray(value) ? value : [value];
26
18
  return multiple ? values : values.slice(0, 1);
27
19
  }
28
- function toModelValue(values, multiple) {
29
- return multiple ? [...values] : values[0] ?? null;
30
- }
31
20
  function hasValue(values, value) {
32
21
  return values.some((itemValue) => itemValue === value);
33
22
  }
34
- function withoutValue(values, value) {
35
- return values.filter((itemValue) => itemValue !== value);
36
- }
37
- var NAVIGATION_KEYS = {
38
- ArrowDown: 1,
39
- ArrowUp: -1
40
- };
41
- function getAccordionTrigger(event, root) {
42
- const target = event.target;
43
- if (!(target instanceof Element)) return void 0;
44
- const trigger = target.closest(TRIGGER_SELECTOR);
45
- if (!trigger || trigger.closest(ACCORDION_SELECTOR) !== root) return void 0;
46
- return trigger;
47
- }
48
- function getAccordionTriggers(root) {
49
- return Array.from(root.querySelectorAll(TRIGGER_SELECTOR)).filter((trigger) => trigger.closest(ACCORDION_SELECTOR) === root && !trigger.disabled);
50
- }
51
- function getNextTrigger(root, currentTrigger, key) {
52
- const triggers = getAccordionTriggers(root);
53
- const currentIndex = triggers.indexOf(currentTrigger);
54
- if (currentIndex === -1 || triggers.length === 0) return void 0;
55
- if (key === "Home") return triggers[0];
56
- if (key === "End") return triggers[triggers.length - 1];
57
- const direction = NAVIGATION_KEYS[key];
58
- if (!direction) return void 0;
59
- return triggers[(currentIndex + direction + triggers.length) % triggers.length];
60
- }
61
- function useAccordion(props, emitUpdate) {
62
- const isMultiple = computed(() => Boolean(props.multiple));
63
- const isCollapsible = computed(() => props.collapsible !== false);
64
- const isDisabled = computed(() => Boolean(props.disabled));
65
- const controllable = useControllableValue({
66
- modelValue: () => props.modelValue,
67
- defaultValue: () => props.defaultValue ?? null,
68
- onChange: emitUpdate
69
- });
70
- const openValues = computed(() => normalizeValue(controllable.value.value, isMultiple.value));
71
- const rootClass = computed(() => bem("rp-accordion", {
72
- disabled: isDisabled.value,
73
- multiple: isMultiple.value
74
- }));
75
- const rootProps = computed(() => ({
76
- id: props.id,
77
- class: rootClass.value,
78
- "data-disabled": isDisabled.value || void 0,
79
- "aria-label": props.ariaLabel || void 0,
80
- "aria-labelledby": props.labelledby || void 0,
81
- "aria-describedby": props.describedby || void 0,
82
- onKeydown: onRootKeydown
83
- }));
84
- function setValues(nextValues) {
85
- const nextModelValue = toModelValue(nextValues, isMultiple.value);
86
- controllable.setValue(nextModelValue);
87
- }
88
- function setItemOpen(value, open) {
89
- if (isDisabled.value) return;
90
- const values = openValues.value;
91
- if (hasValue(values, value) === open) return;
92
- if (!open && !isCollapsible.value) return;
93
- if (isMultiple.value) {
94
- setValues(open ? [...values, value] : withoutValue(values, value));
95
- return;
96
- }
97
- setValues(open ? [value] : []);
98
- }
99
- function onRootKeydown(event) {
100
- const root = event.currentTarget;
101
- if (!root) return;
102
- const trigger = getAccordionTrigger(event, root);
103
- if (!trigger) return;
104
- const nextTrigger = getNextTrigger(root, trigger, event.key);
105
- if (!nextTrigger) return;
106
- event.preventDefault();
107
- nextTrigger.focus();
108
- }
109
- provide(accordionKey, {
110
- get multiple() {
111
- return isMultiple.value;
112
- },
113
- get collapsible() {
114
- return isCollapsible.value;
115
- },
116
- get disabled() {
117
- return isDisabled.value;
118
- },
119
- get unmountOnExit() {
120
- return Boolean(props.unmountOnExit);
121
- },
122
- isItemOpen(value) {
123
- return hasValue(openValues.value, value);
124
- },
125
- setItemOpen
126
- });
23
+ function transitionAccordionValue(currentValue, itemValue, open, options) {
24
+ const openValues = readAccordionOpenValues(currentValue, options.multiple);
25
+ if (hasValue(openValues, itemValue) === open || !open && !options.collapsible) return { changed: false };
26
+ if (!options.multiple) return {
27
+ changed: true,
28
+ modelValue: open ? itemValue : null
29
+ };
127
30
  return {
128
- rootClass,
129
- rootProps,
130
- openValues,
131
- setItemOpen
31
+ changed: true,
32
+ modelValue: open ? [...openValues, itemValue] : openValues.filter((value) => value !== itemValue)
132
33
  };
133
34
  }
35
+ //#endregion
36
+ //#region src/components/accordion/useAccordionItem.ts
134
37
  function useAccordionItem(props) {
135
38
  const group = useRequiredInject(accordionKey, "RpAccordionItem");
136
39
  const generatedId = useId();
@@ -140,7 +43,6 @@ function useAccordionItem(props) {
140
43
  const isOpen = computed(() => group.isItemOpen(props.value));
141
44
  const isDisabled = computed(() => Boolean(group.disabled || props.disabled));
142
45
  const shouldUnmountOnExit = computed(() => props.unmountOnExit ?? group.unmountOnExit);
143
- const state = computed(() => isOpen.value ? "open" : "closed");
144
46
  const triggerAriaDisabled = computed(() => isDisabled.value || !group.collapsible && isOpen.value);
145
47
  const collapse = useCollapse({
146
48
  id: contentId,
@@ -152,7 +54,7 @@ function useAccordionItem(props) {
152
54
  ariaDescribedby: () => props.ariaDescribedby,
153
55
  ariaLabelledby: () => props.ariaLabelledby ?? triggerId.value
154
56
  }, (nextOpen) => {
155
- setOpen(nextOpen);
57
+ group.setItemOpen(props.value, nextOpen);
156
58
  });
157
59
  const rootClass = computed(() => bem("rp-accordion-item", {
158
60
  open: isOpen.value,
@@ -162,8 +64,8 @@ function useAccordionItem(props) {
162
64
  const rootProps = computed(() => ({
163
65
  id: id.value,
164
66
  class: rootClass.value,
165
- "data-state": state.value,
166
- "data-disabled": isDisabled.value || void 0
67
+ "data-state": collapse.state.value,
68
+ "data-disabled": toOptionalAttribute(isDisabled.value)
167
69
  }));
168
70
  const triggerProps = computed(() => ({
169
71
  ...collapse.triggerProps.value,
@@ -171,9 +73,8 @@ function useAccordionItem(props) {
171
73
  class: "rp-accordion-item__trigger",
172
74
  "aria-controls": contentId.value,
173
75
  "aria-expanded": isOpen.value,
174
- "aria-disabled": triggerAriaDisabled.value || void 0,
175
- disabled: isDisabled.value || void 0,
176
- onClick: onTriggerClick
76
+ "aria-disabled": toOptionalAttribute(triggerAriaDisabled.value),
77
+ disabled: toOptionalAttribute(isDisabled.value)
177
78
  }));
178
79
  const contentProps = computed(() => ({
179
80
  ...collapse.contentProps.value,
@@ -185,36 +86,20 @@ function useAccordionItem(props) {
185
86
  value: props.value,
186
87
  isOpen: isOpen.value,
187
88
  disabled: isDisabled.value,
188
- open,
189
- close,
190
- toggle
89
+ open: collapse.open,
90
+ close: collapse.close,
91
+ toggle: collapse.toggle
191
92
  }));
192
93
  const triggerSlotProps = computed(() => ({
193
94
  triggerProps: triggerProps.value,
194
95
  ...contentSlotProps.value
195
96
  }));
196
- function open() {
197
- setOpen(true);
198
- }
199
- function close() {
200
- setOpen(false);
201
- }
202
- function toggle() {
203
- setOpen(!isOpen.value);
204
- }
205
- function setOpen(nextOpen) {
206
- if (isDisabled.value) return;
207
- group.setItemOpen(props.value, nextOpen);
208
- }
209
- function onTriggerClick() {
210
- toggle();
211
- }
212
97
  return {
213
98
  group,
214
99
  id,
215
100
  triggerId,
216
101
  contentId,
217
- state,
102
+ state: collapse.state,
218
103
  isOpen,
219
104
  isDisabled,
220
105
  shouldRenderContent: collapse.shouldRenderContent,
@@ -224,14 +109,87 @@ function useAccordionItem(props) {
224
109
  contentProps,
225
110
  triggerSlotProps,
226
111
  contentSlotProps,
227
- open,
228
- close,
229
- toggle
112
+ open: collapse.open,
113
+ close: collapse.close,
114
+ toggle: collapse.toggle
115
+ };
116
+ }
117
+ //#endregion
118
+ //#region src/components/accordion/useAccordion.ts
119
+ var ACCORDION_SELECTOR = ".rp-accordion";
120
+ var TRIGGER_SELECTOR = ".rp-accordion-item__trigger";
121
+ function useAccordion(props, emitUpdate) {
122
+ const isMultiple = computed(() => Boolean(props.multiple));
123
+ const isCollapsible = computed(() => props.collapsible !== false);
124
+ const isDisabled = computed(() => Boolean(props.disabled));
125
+ const controllable = useControllableValue({
126
+ modelValue: () => props.modelValue,
127
+ defaultValue: () => props.defaultValue ?? null,
128
+ onChange: emitUpdate
129
+ });
130
+ const openValues = computed(() => readAccordionOpenValues(controllable.value.value, isMultiple.value));
131
+ const rootClass = computed(() => bem("rp-accordion", {
132
+ disabled: isDisabled.value,
133
+ multiple: isMultiple.value
134
+ }));
135
+ const rootProps = computed(() => ({
136
+ id: props.id,
137
+ class: rootClass.value,
138
+ "data-disabled": toOptionalAttribute(isDisabled.value),
139
+ "aria-label": toOptionalAttribute(props.ariaLabel),
140
+ "aria-labelledby": toOptionalAttribute(props.labelledby),
141
+ "aria-describedby": toOptionalAttribute(props.describedby),
142
+ onKeydown: onRootKeydown
143
+ }));
144
+ function setItemOpen(value, open) {
145
+ if (isDisabled.value) return;
146
+ const transition = transitionAccordionValue(controllable.value.value, value, open, {
147
+ multiple: isMultiple.value,
148
+ collapsible: isCollapsible.value
149
+ });
150
+ if (!transition.changed) return;
151
+ controllable.setValue(transition.modelValue);
152
+ }
153
+ function onRootKeydown(event) {
154
+ const root = event.currentTarget;
155
+ if (!root) return;
156
+ const nextTrigger = getFocusNavigationTarget(event, root, {
157
+ itemSelector: TRIGGER_SELECTOR,
158
+ collectionSelector: ACCORDION_SELECTOR,
159
+ orientation: "vertical"
160
+ });
161
+ if (!nextTrigger) return;
162
+ event.preventDefault();
163
+ nextTrigger.focus();
164
+ }
165
+ provide(accordionKey, {
166
+ get multiple() {
167
+ return isMultiple.value;
168
+ },
169
+ get collapsible() {
170
+ return isCollapsible.value;
171
+ },
172
+ get disabled() {
173
+ return isDisabled.value;
174
+ },
175
+ get unmountOnExit() {
176
+ return Boolean(props.unmountOnExit);
177
+ },
178
+ isItemOpen(value) {
179
+ return openValues.value.some((itemValue) => itemValue === value);
180
+ },
181
+ setItemOpen
182
+ });
183
+ return {
184
+ rootClass,
185
+ rootProps,
186
+ openValues,
187
+ setItemOpen
230
188
  };
231
189
  }
232
190
  //#endregion
233
191
  //#region src/components/accordion/accordion.vue?vue&type=script&setup=true&vapor=true&lang.ts
234
- var t0$2 = template("<div data-v-d15589fa>", 1);
192
+ var t0$2 = template("<div data-v-c48cb87a>", 1);
235
193
  //#endregion
236
194
  //#region src/components/accordion/accordion.vue
237
195
  var accordion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
@@ -274,7 +232,7 @@ var accordion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
274
232
  const { getRootAttrs } = useStylesApi(props, "root");
275
233
  const rootAttrs = computed(() => getRootAttrs({
276
234
  ...internalRootProps.value,
277
- "data-disabled": presence(props.disabled)
235
+ "data-disabled": toPresenceAttribute(props.disabled)
278
236
  }));
279
237
  const n1 = t0$2();
280
238
  renderEffect(() => setDynamicProps(n1, [rootAttrs.value]));
@@ -282,7 +240,7 @@ var accordion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
282
240
  createSlot("default", null, null, 1);
283
241
  return n1;
284
242
  }
285
- }), [["__scopeId", "data-v-d15589fa"]]);
243
+ }), [["__scopeId", "data-v-c48cb87a"]]);
286
244
  //#endregion
287
245
  //#region ~icons/lucide/chevron-down
288
246
  var t0$1 = template("<svg viewBox=\"0 0 24 24\"width=1.2em height=1.2em><path fill=none stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2 d=\"m6 9l6 6l6-6\">", 3, 1);
@@ -296,9 +254,9 @@ var chevron_down_default = markRaw(defineVaporComponent({
296
254
  //#endregion
297
255
  //#region src/components/accordion/accordion-item.vue?vue&type=script&setup=true&vapor=true&lang.ts
298
256
  var t0 = template(" ");
299
- var t1 = template("<button data-v-5b00ef39><span data-v-5b00ef39></span><span data-v-5b00ef39>");
300
- var t2 = template("<section data-v-5b00ef39><div data-v-5b00ef39 class=rp-accordion-item__inner>");
301
- var t3 = template("<div data-v-5b00ef39><h3 data-v-5b00ef39 class=rp-accordion-item__heading>", 1);
257
+ var t1 = template("<button data-v-ab630265><span data-v-ab630265></span><span data-v-ab630265>");
258
+ var t2 = template("<section data-v-ab630265><div data-v-ab630265 class=rp-accordion-item__inner>");
259
+ var t3 = template("<div data-v-ab630265><h3 data-v-ab630265 class=rp-accordion-item__heading>", 1);
302
260
  //#endregion
303
261
  //#region src/components/accordion/accordion-item.vue
304
262
  var accordion_item_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
@@ -330,13 +288,13 @@ var accordion_item_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
330
288
  const { getPartAttrs, getRootAttrs } = useStylesApi(props, "root");
331
289
  const rootAttrs = computed(() => getRootAttrs({
332
290
  ...internalRootProps.value,
333
- "data-disabled": presence(internalRootProps.value["data-disabled"])
291
+ "data-disabled": toPresenceAttribute(internalRootProps.value["data-disabled"])
334
292
  }));
335
293
  const publicTriggerProps = computed(() => ({
336
294
  ...internalTriggerProps.value,
337
295
  ...getPartAttrs("trigger", { class: internalTriggerProps.value.class }),
338
296
  "data-state": internalRootProps.value["data-state"],
339
- "data-disabled": presence(internalRootProps.value["data-disabled"])
297
+ "data-disabled": toPresenceAttribute(internalRootProps.value["data-disabled"])
340
298
  }));
341
299
  const publicTriggerSlotProps = computed(() => ({
342
300
  ...triggerSlotProps.value,
@@ -383,6 +341,16 @@ var accordion_item_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
383
341
  }, { _: 8 }));
384
342
  return n16;
385
343
  }
386
- }), [["__scopeId", "data-v-5b00ef39"]]);
344
+ }), [["__scopeId", "data-v-ab630265"]]);
345
+ //#endregion
346
+ //#region src/components/accordion/types.ts
347
+ var accordionParts = ["root"];
348
+ var accordionItemParts = [
349
+ "root",
350
+ "trigger",
351
+ "title",
352
+ "icon",
353
+ "content"
354
+ ];
387
355
  //#endregion
388
- export { accordionItemParts as a, useAccordionItem as i, accordion_default as n, accordionParts as o, useAccordion as r, accordion_item_default as t };
356
+ export { useAccordion as a, accordion_default as i, accordionParts as n, useAccordionItem as o, accordion_item_default as r, accordionItemParts as t };
package/dist/alert.css CHANGED
@@ -1,5 +1,5 @@
1
1
  @layer ropav.components {
2
- .rp-alert[data-v-9ae78ff5] {
2
+ .rp-alert[data-v-09abef83] {
3
3
  --_rp-alert-bg: var(--rp-color-cyan-light);
4
4
  --_rp-alert-fg: var(--rp-color-text);
5
5
  --_rp-alert-title-fg: var(--rp-color-cyan-light-color);
@@ -22,25 +22,25 @@
22
22
  border-radius: var(--_rp-alert-radius);
23
23
  transition: background-color var(--rp-transition-fast), color var(--rp-transition-fast), border-color var(--rp-transition-fast);
24
24
  }
25
- .rp-alert--radius-none[data-v-9ae78ff5] {
25
+ .rp-alert--radius-none[data-v-09abef83] {
26
26
  --_rp-alert-radius: var(--rp-radius-none);
27
27
  }
28
- .rp-alert--radius-xs[data-v-9ae78ff5] {
28
+ .rp-alert--radius-xs[data-v-09abef83] {
29
29
  --_rp-alert-radius: var(--rp-radius-xs);
30
30
  }
31
- .rp-alert--radius-sm[data-v-9ae78ff5] {
31
+ .rp-alert--radius-sm[data-v-09abef83] {
32
32
  --_rp-alert-radius: var(--rp-radius-sm);
33
33
  }
34
- .rp-alert--radius-md[data-v-9ae78ff5] {
34
+ .rp-alert--radius-md[data-v-09abef83] {
35
35
  --_rp-alert-radius: var(--rp-radius-md);
36
36
  }
37
- .rp-alert--radius-lg[data-v-9ae78ff5] {
37
+ .rp-alert--radius-lg[data-v-09abef83] {
38
38
  --_rp-alert-radius: var(--rp-radius-lg);
39
39
  }
40
- .rp-alert--radius-xl[data-v-9ae78ff5] {
40
+ .rp-alert--radius-xl[data-v-09abef83] {
41
41
  --_rp-alert-radius: var(--rp-radius-xl);
42
42
  }
43
- .rp-alert__icon[data-v-9ae78ff5] {
43
+ .rp-alert__icon[data-v-09abef83] {
44
44
  display: inline-flex;
45
45
  flex: 0 0 auto;
46
46
  align-items: center;
@@ -49,37 +49,37 @@
49
49
  color: var(--_rp-alert-icon-fg);
50
50
  line-height: 0;
51
51
  }
52
- .rp-alert__icon[data-v-9ae78ff5] > svg {
52
+ .rp-alert__icon[data-v-09abef83] > svg {
53
53
  display: block;
54
54
  width: 1rem;
55
55
  height: 1rem;
56
56
  }
57
- .rp-alert__content[data-v-9ae78ff5] {
57
+ .rp-alert__content[data-v-09abef83] {
58
58
  display: grid;
59
59
  flex: 1 1 auto;
60
60
  min-width: 0;
61
61
  gap: var(--rp-spacing-1);
62
62
  }
63
- .rp-alert__title[data-v-9ae78ff5] {
63
+ .rp-alert__title[data-v-09abef83] {
64
64
  color: var(--_rp-alert-title-fg);
65
65
  font-size: var(--rp-font-size-md);
66
66
  font-weight: var(--rp-font-weight-semibold);
67
67
  line-height: var(--rp-line-height-xs);
68
68
  }
69
- .rp-alert__description[data-v-9ae78ff5] {
69
+ .rp-alert__description[data-v-09abef83] {
70
70
  margin: 0;
71
71
  }
72
- .rp-alert__body[data-v-9ae78ff5], .rp-alert__description[data-v-9ae78ff5] {
72
+ .rp-alert__body[data-v-09abef83], .rp-alert__description[data-v-09abef83] {
73
73
  min-width: 0;
74
74
  color: var(--_rp-alert-fg);
75
75
  }
76
- .rp-alert__action[data-v-9ae78ff5] {
76
+ .rp-alert__action[data-v-09abef83] {
77
77
  display: inline-flex;
78
78
  flex: 0 0 auto;
79
79
  align-items: center;
80
80
  margin-left: auto;
81
81
  }
82
- .rp-alert__close[data-v-9ae78ff5] {
82
+ .rp-alert__close[data-v-09abef83] {
83
83
  box-sizing: border-box;
84
84
  display: inline-flex;
85
85
  flex: 0 0 auto;
@@ -96,14 +96,14 @@
96
96
  cursor: pointer;
97
97
  transition: background-color var(--rp-transition-fast), color var(--rp-transition-fast);
98
98
  }
99
- .rp-alert__close[data-v-9ae78ff5]:hover {
99
+ .rp-alert__close[data-v-09abef83]:hover {
100
100
  background-color: color-mix(in srgb, var(--_rp-alert-icon-fg) 12%, transparent);
101
101
  }
102
- .rp-alert__close[data-v-9ae78ff5]:focus-visible {
102
+ .rp-alert__close[data-v-09abef83]:focus-visible {
103
103
  outline: var(--rp-border-width-medium) solid var(--rp-color-focus-ring);
104
104
  outline-offset: 2px;
105
105
  }
106
- .rp-alert__close[data-v-9ae78ff5] > svg {
106
+ .rp-alert__close[data-v-09abef83] > svg {
107
107
  display: block;
108
108
  width: 1rem;
109
109
  height: 1rem;
package/dist/alert.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import './alert.css';
2
2
  import { t as useControllableValue } from "./useControllableValue.js";
3
- import { n as useStylesApi } from "./styles-api.js";
3
+ import { t as useStylesApi } from "./styles-api.js";
4
4
  import { t as bem } from "./bem.js";
5
5
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
6
6
  import { t as x_default } from "./x.js";
7
7
  import { a as getComponentVariantColorRoles, t as componentColors } from "./componentColors.js";
8
- import { computed, createComponent, createIf, createInvoker, createSlot, defineVaporComponent, delegateEvents, renderEffect, setDynamicProps, setInsertionState, setText, template, toDisplayString, txt, unref, useSlots } from "vue";
9
- //#region src/components/alert/useAlertColor.ts
8
+ import { computed, createComponent, createIf, createSlot, defineVaporComponent, on, renderEffect, setDynamicProps, setInsertionState, setText, template, toDisplayString, txt, unref, useSlots } from "vue";
9
+ //#region src/components/alert/alertColor.ts
10
10
  function getAlertColorStyle(color, variant, autoContrast, contrastColor) {
11
11
  if (!color && !variant) return void 0;
12
12
  const resolvedVariant = variant ?? "subtle";
@@ -28,13 +28,12 @@ function getAlertColorStyle(color, variant, autoContrast, contrastColor) {
28
28
  }
29
29
  //#endregion
30
30
  //#region src/components/alert/alert.vue?vue&type=script&setup=true&vapor=true&lang.ts
31
- var t0 = template("<div data-v-9ae78ff5>");
31
+ var t0 = template("<div data-v-09abef83>");
32
32
  var t1 = template(" ");
33
- var t2 = template("<p data-v-9ae78ff5> ");
34
- var t3 = template("<div data-v-9ae78ff5 class=rp-alert__content>");
35
- var t4 = template("<button data-v-9ae78ff5>");
36
- var t5 = template("<div data-v-9ae78ff5>", 1);
37
- delegateEvents("click");
33
+ var t2 = template("<p data-v-09abef83> ");
34
+ var t3 = template("<div data-v-09abef83 class=rp-alert__content>");
35
+ var t4 = template("<button data-v-09abef83>");
36
+ var t5 = template("<div data-v-09abef83>", 1);
38
37
  //#endregion
39
38
  //#region src/components/alert/alert.vue
40
39
  var alert_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
@@ -159,13 +158,13 @@ var alert_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
159
158
  }]));
160
159
  setInsertionState(n29, null, 0);
161
160
  createComponent(unref(x_default), { "aria-hidden": "true" });
162
- n29.$evtclick = createInvoker(closeAlert);
161
+ on(n29, "click", closeAlert);
163
162
  return n29;
164
163
  });
165
164
  return n30;
166
165
  });
167
166
  }
168
- }), [["__scopeId", "data-v-9ae78ff5"]]);
167
+ }), [["__scopeId", "data-v-09abef83"]]);
169
168
  //#endregion
170
169
  //#region src/components/alert/types.ts
171
170
  var alertParts = [