ropav 0.0.9 → 0.0.11

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 (289) hide show
  1. package/README.md +6 -0
  2. package/dist/accordion.css +115 -111
  3. package/dist/accordion.js +60 -16
  4. package/dist/alert.css +110 -108
  5. package/dist/alert.js +48 -26
  6. package/dist/aspect-ratio.css +17 -15
  7. package/dist/aspect-ratio.js +20 -6
  8. package/dist/avatar.css +98 -96
  9. package/dist/avatar.js +27 -16
  10. package/dist/badge.css +95 -93
  11. package/dist/badge.js +29 -16
  12. package/dist/base.css +672 -671
  13. package/dist/button-group.css +39 -37
  14. package/dist/button-group.js +23 -12
  15. package/dist/button-link.css +160 -158
  16. package/dist/button-link.js +43 -24
  17. package/dist/button.css +160 -158
  18. package/dist/button.js +37 -19
  19. package/dist/card.css +109 -107
  20. package/dist/card.js +42 -17
  21. package/dist/checkbox.css +139 -137
  22. package/dist/checkbox.js +79 -28
  23. package/dist/collapse.css +29 -27
  24. package/dist/collapse.js +44 -10
  25. package/dist/color-input.css +137 -107
  26. package/dist/color-input.js +91 -17
  27. package/dist/color-picker.css +309 -303
  28. package/dist/color-picker.js +250 -77
  29. package/dist/color-picker2.js +9 -1
  30. package/dist/color-swatch.css +48 -46
  31. package/dist/color-swatch.js +15 -11
  32. package/dist/color-swatch2.js +4 -0
  33. package/dist/components/accordion/accordion-item.d.ts +16 -4
  34. package/dist/components/accordion/accordion.d.ts +1 -1
  35. package/dist/components/accordion/index.d.ts +5 -4
  36. package/dist/components/accordion/index.js +2 -2
  37. package/dist/components/accordion/types.d.ts +10 -5
  38. package/dist/components/accordion/useAccordion.d.ts +1 -1
  39. package/dist/components/alert/alert.d.ts +3 -3
  40. package/dist/components/alert/index.d.ts +3 -3
  41. package/dist/components/alert/index.js +2 -2
  42. package/dist/components/alert/types.d.ts +5 -2
  43. package/dist/components/alert/useAlertColor.d.ts +1 -1
  44. package/dist/components/aspect-ratio/aspect-ratio.d.ts +1 -1
  45. package/dist/components/aspect-ratio/index.d.ts +3 -2
  46. package/dist/components/aspect-ratio/index.js +2 -2
  47. package/dist/components/aspect-ratio/types.d.ts +4 -1
  48. package/dist/components/avatar/avatar.d.ts +1 -1
  49. package/dist/components/avatar/index.d.ts +3 -3
  50. package/dist/components/avatar/index.js +2 -2
  51. package/dist/components/avatar/types.d.ts +5 -2
  52. package/dist/components/avatar/useAvatarColor.d.ts +1 -1
  53. package/dist/components/badge/badge.d.ts +1 -1
  54. package/dist/components/badge/index.d.ts +3 -3
  55. package/dist/components/badge/index.js +2 -2
  56. package/dist/components/badge/types.d.ts +5 -2
  57. package/dist/components/badge/useBadgeColor.d.ts +1 -1
  58. package/dist/components/button/button.d.ts +1 -1
  59. package/dist/components/button/index.d.ts +3 -2
  60. package/dist/components/button/index.js +2 -2
  61. package/dist/components/button/types.d.ts +5 -2
  62. package/dist/components/button/useButtonColor.d.ts +1 -1
  63. package/dist/components/button-group/button-group.d.ts +1 -1
  64. package/dist/components/button-group/index.d.ts +3 -2
  65. package/dist/components/button-group/index.js +2 -2
  66. package/dist/components/button-group/types.d.ts +4 -1
  67. package/dist/components/button-link/button-link.d.ts +1 -1
  68. package/dist/components/button-link/index.d.ts +3 -2
  69. package/dist/components/button-link/index.js +2 -2
  70. package/dist/components/button-link/types.d.ts +5 -2
  71. package/dist/components/card/card.d.ts +1 -1
  72. package/dist/components/card/index.d.ts +3 -2
  73. package/dist/components/card/index.js +2 -2
  74. package/dist/components/card/types.d.ts +5 -1
  75. package/dist/components/checkbox/checkbox.d.ts +5 -2
  76. package/dist/components/checkbox/index.d.ts +3 -2
  77. package/dist/components/checkbox/index.js +2 -2
  78. package/dist/components/checkbox/types.d.ts +7 -2
  79. package/dist/components/checkbox/useCheckbox.d.ts +4 -2
  80. package/dist/components/collapse/collapse.d.ts +2 -2
  81. package/dist/components/collapse/index.d.ts +4 -3
  82. package/dist/components/collapse/index.js +2 -2
  83. package/dist/components/collapse/types.d.ts +9 -2
  84. package/dist/components/collapse/useCollapse.d.ts +1 -1
  85. package/dist/components/color-input/color-input.d.ts +1 -1
  86. package/dist/components/color-input/index.d.ts +3 -2
  87. package/dist/components/color-input/index.js +2 -2
  88. package/dist/components/color-input/types.d.ts +8 -4
  89. package/dist/components/color-input/useColorInput.d.ts +5 -5
  90. package/dist/components/color-input/useColorInputEyeDropper.d.ts +1 -1
  91. package/dist/components/color-input/useColorInputPopover.d.ts +2 -2
  92. package/dist/components/color-input/useColorInputValue.d.ts +1 -1
  93. package/dist/components/color-picker/color-picker-saturation.d.ts +1 -1
  94. package/dist/components/color-picker/color-picker-slider.d.ts +1 -1
  95. package/dist/components/color-picker/color-picker-utils.d.ts +1 -1
  96. package/dist/components/color-picker/color-picker.d.ts +1 -1
  97. package/dist/components/color-picker/index.d.ts +3 -3
  98. package/dist/components/color-picker/index.js +2 -2
  99. package/dist/components/color-picker/types.d.ts +13 -1
  100. package/dist/components/color-picker/useColorPickerDrag.d.ts +7 -2
  101. package/dist/components/color-picker/useColorPickerSwatches.d.ts +1 -1
  102. package/dist/components/color-picker/useColorPickerValue.d.ts +2 -2
  103. package/dist/components/color-swatch/color-swatch.d.ts +1 -1
  104. package/dist/components/color-swatch/index.d.ts +3 -2
  105. package/dist/components/color-swatch/index.js +2 -1
  106. package/dist/components/color-swatch/types.d.ts +4 -1
  107. package/dist/components/dropdown-menu/dropdown-menu-items.d.ts +15 -6
  108. package/dist/components/dropdown-menu/dropdown-menu-primitives.d.ts +724 -0
  109. package/dist/components/dropdown-menu/dropdown-menu-utils.d.ts +1 -1
  110. package/dist/components/dropdown-menu/dropdown-menu.d.ts +3 -3
  111. package/dist/components/dropdown-menu/index.d.ts +55 -3
  112. package/dist/components/dropdown-menu/index.js +2 -2
  113. package/dist/components/dropdown-menu/types.d.ts +142 -6
  114. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +21 -12
  115. package/dist/components/dropdown-menu/useDropdownMenuDisclosure.d.ts +6 -4
  116. package/dist/components/dropdown-menu/useDropdownMenuDom.d.ts +4 -3
  117. package/dist/components/dropdown-menu/useDropdownMenuHoverIntent.d.ts +2 -2
  118. package/dist/components/dropdown-menu/useDropdownMenuInteractions.d.ts +5 -5
  119. package/dist/components/dropdown-menu/useDropdownMenuNavigation.d.ts +3 -3
  120. package/dist/components/dropdown-menu/useDropdownMenuPortalPosition.d.ts +19 -0
  121. package/dist/components/dropdown-menu/useDropdownMenuRenderItems.d.ts +25 -5
  122. package/dist/components/dropdown-menu/useDropdownSubmenus.d.ts +3 -3
  123. package/dist/components/field/field.d.ts +2 -2
  124. package/dist/components/field/index.d.ts +3 -2
  125. package/dist/components/field/index.js +2 -2
  126. package/dist/components/field/types.d.ts +4 -1
  127. package/dist/components/field/useField.d.ts +1 -1
  128. package/dist/components/floating/index.d.ts +1 -0
  129. package/dist/components/floating/index.js +0 -0
  130. package/dist/components/floating/types.d.ts +31 -0
  131. package/dist/components/floating/useFloatingPosition.d.ts +38 -0
  132. package/dist/components/focus-trap/focus-trap.d.ts +31 -0
  133. package/dist/components/focus-trap/index.d.ts +4 -0
  134. package/dist/components/focus-trap/index.js +3 -0
  135. package/dist/components/focus-trap/types.d.ts +41 -0
  136. package/dist/components/focus-trap/useFocusTrap.d.ts +2 -0
  137. package/dist/components/icon-button/icon-button.d.ts +1 -1
  138. package/dist/components/icon-button/index.d.ts +3 -2
  139. package/dist/components/icon-button/index.js +2 -1
  140. package/dist/components/icon-button/types.d.ts +5 -2
  141. package/dist/components/input/index.d.ts +3 -2
  142. package/dist/components/input/index.js +2 -1
  143. package/dist/components/input/input.d.ts +1 -1
  144. package/dist/components/input/types.d.ts +4 -1
  145. package/dist/components/input/useInput.d.ts +2 -2
  146. package/dist/components/modal/index.d.ts +3 -2
  147. package/dist/components/modal/index.js +2 -2
  148. package/dist/components/modal/modal.d.ts +1 -1
  149. package/dist/components/modal/types.d.ts +9 -2
  150. package/dist/components/modal/useModal.d.ts +1 -1
  151. package/dist/components/number-input/index.d.ts +3 -2
  152. package/dist/components/number-input/index.js +2 -2
  153. package/dist/components/number-input/number-input.d.ts +1 -1
  154. package/dist/components/number-input/types.d.ts +5 -2
  155. package/dist/components/number-input/useNumberInput.d.ts +2 -2
  156. package/dist/components/overlay/index.d.ts +3 -2
  157. package/dist/components/overlay/index.js +2 -1
  158. package/dist/components/overlay/overlay.d.ts +1 -1
  159. package/dist/components/overlay/types.d.ts +4 -1
  160. package/dist/components/overlay/useOverlay.d.ts +1 -1
  161. package/dist/components/popover/index.d.ts +3 -3
  162. package/dist/components/popover/index.js +2 -2
  163. package/dist/components/popover/popover.d.ts +2 -2
  164. package/dist/components/popover/types.d.ts +21 -11
  165. package/dist/components/popover/usePopover.d.ts +11 -2
  166. package/dist/components/progress/index.d.ts +3 -3
  167. package/dist/components/progress/index.js +2 -2
  168. package/dist/components/progress/progress.d.ts +1 -1
  169. package/dist/components/progress/types.d.ts +5 -2
  170. package/dist/components/progress/useProgress.d.ts +2 -2
  171. package/dist/components/radio/index.d.ts +4 -3
  172. package/dist/components/radio/index.js +2 -2
  173. package/dist/components/radio/radio-group.d.ts +1 -1
  174. package/dist/components/radio/radio.d.ts +9 -4
  175. package/dist/components/radio/types.d.ts +21 -4
  176. package/dist/components/radio/useRadio.d.ts +10 -5
  177. package/dist/components/select/index.d.ts +3 -2
  178. package/dist/components/select/index.js +2 -2
  179. package/dist/components/select/select.d.ts +1 -1
  180. package/dist/components/select/types.d.ts +4 -1
  181. package/dist/components/select/useSelect.d.ts +4 -3
  182. package/dist/components/slider/index.d.ts +4 -4
  183. package/dist/components/slider/index.js +2 -2
  184. package/dist/components/slider/range-slider-tooltip.d.ts +37 -0
  185. package/dist/components/slider/range-slider.d.ts +8 -13
  186. package/dist/components/slider/slider.d.ts +5 -2
  187. package/dist/components/slider/sliderCore.d.ts +35 -0
  188. package/dist/components/slider/types.d.ts +14 -7
  189. package/dist/components/slider/useRangeSlider.d.ts +5 -7
  190. package/dist/components/slider/useRangeSliderPointer.d.ts +19 -0
  191. package/dist/components/slider/useRangeSliderTooltipCollision.d.ts +31 -2
  192. package/dist/components/slider/useRangeSliderTooltipState.d.ts +23 -0
  193. package/dist/components/slider/useSlider.d.ts +11 -15
  194. package/dist/components/switch/index.d.ts +3 -2
  195. package/dist/components/switch/index.js +2 -2
  196. package/dist/components/switch/switch.d.ts +5 -2
  197. package/dist/components/switch/types.d.ts +7 -2
  198. package/dist/components/switch/useSwitch.d.ts +4 -2
  199. package/dist/components/tabs/index.d.ts +7 -6
  200. package/dist/components/tabs/index.js +2 -2
  201. package/dist/components/tabs/tabs-content.d.ts +2 -2
  202. package/dist/components/tabs/tabs-list.d.ts +4 -4
  203. package/dist/components/tabs/tabs-trigger.d.ts +5 -5
  204. package/dist/components/tabs/tabs.d.ts +5 -5
  205. package/dist/components/tabs/types.d.ts +13 -4
  206. package/dist/components/tabs/useTabs.d.ts +1 -1
  207. package/dist/components/teleport-provider/index.d.ts +2 -0
  208. package/dist/components/teleport-provider/index.js +2 -0
  209. package/dist/components/teleport-provider/teleport-provider.d.ts +21 -0
  210. package/dist/components/teleport-provider/types.d.ts +4 -0
  211. package/dist/components/teleport-provider/useTeleportTarget.d.ts +5 -0
  212. package/dist/components/textarea/index.d.ts +3 -2
  213. package/dist/components/textarea/index.js +2 -2
  214. package/dist/components/textarea/textarea.d.ts +5 -2
  215. package/dist/components/textarea/types.d.ts +6 -1
  216. package/dist/components/textarea/useTextarea.d.ts +3 -2
  217. package/dist/components/toast/defaults.d.ts +7 -0
  218. package/dist/components/toast/index.d.ts +7 -0
  219. package/dist/components/toast/index.js +2 -0
  220. package/dist/components/toast/toast-provider.d.ts +21 -0
  221. package/dist/components/toast/toast-viewport.d.ts +34 -0
  222. package/dist/components/toast/toast.d.ts +31 -0
  223. package/dist/components/toast/types.d.ts +110 -0
  224. package/dist/components/toast/useToast.d.ts +4 -0
  225. package/dist/components/toast/useToastColor.d.ts +3 -0
  226. package/dist/components/toast/useToastState.d.ts +2 -0
  227. package/dist/components/tooltip/index.d.ts +3 -2
  228. package/dist/components/tooltip/index.js +2 -1
  229. package/dist/components/tooltip/tooltip.d.ts +2 -2
  230. package/dist/components/tooltip/types.d.ts +14 -13
  231. package/dist/components/tooltip/useTooltip.d.ts +15 -3
  232. package/dist/dropdown-menu.css +191 -107
  233. package/dist/dropdown-menu.js +1729 -107
  234. package/dist/field.css +41 -39
  235. package/dist/field.js +40 -16
  236. package/dist/focus-trap.js +80 -0
  237. package/dist/icon-button.css +193 -189
  238. package/dist/icon-button.js +23 -18
  239. package/dist/icon-button2.js +8 -0
  240. package/dist/index.d.ts +35 -30
  241. package/dist/index.js +36 -31
  242. package/dist/input.css +122 -120
  243. package/dist/input.js +47 -34
  244. package/dist/input2.js +9 -0
  245. package/dist/legacy-unlayered.css +5461 -0
  246. package/dist/modal.css +129 -127
  247. package/dist/modal.js +160 -200
  248. package/dist/number-input.css +87 -85
  249. package/dist/number-input.js +61 -17
  250. package/dist/overlay.css +26 -24
  251. package/dist/overlay.js +17 -9
  252. package/dist/overlay2.js +4 -0
  253. package/dist/popover.css +140 -107
  254. package/dist/popover.js +295 -189
  255. package/dist/popover2.js +6 -1
  256. package/dist/progress.css +101 -99
  257. package/dist/progress.js +50 -28
  258. package/dist/radio.css +114 -105
  259. package/dist/radio.js +154 -56
  260. package/dist/select.css +244 -242
  261. package/dist/select.js +92 -47
  262. package/dist/slider.css +1109 -904
  263. package/dist/slider.js +1118 -923
  264. package/dist/styles-api.d.ts +22 -0
  265. package/dist/styles-api.js +49 -0
  266. package/dist/switch.css +120 -108
  267. package/dist/switch.js +89 -33
  268. package/dist/tabs.css +286 -278
  269. package/dist/tabs.js +60 -21
  270. package/dist/teleport-provider.js +15 -0
  271. package/dist/textarea.css +132 -130
  272. package/dist/textarea.js +77 -29
  273. package/dist/toast.css +236 -0
  274. package/dist/toast.js +739 -0
  275. package/dist/tooltip.css +137 -107
  276. package/dist/tooltip.js +182 -223
  277. package/dist/tooltip2.js +8 -0
  278. package/dist/useClickOutside.js +1 -1
  279. package/dist/useFloatingPosition.js +1284 -0
  280. package/dist/useFocusTrap.js +130 -0
  281. package/dist/useTeleportTarget.js +29 -0
  282. package/dist/utils/componentColors.d.ts +60 -0
  283. package/docs/public-styles-api.md +133 -0
  284. package/docs/public-tokens.md +545 -0
  285. package/package.json +44 -12
  286. package/src/styles/_tokens.scss +33 -28
  287. package/src/styles/_utilities.scss +11 -9
  288. package/src/styles/styles-manifest.json +4125 -0
  289. package/dist/components/slider/useRangeSliderTooltipTransition.d.ts +0 -4
package/dist/alert.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import './alert.css';
2
2
  import { t as x_default } from "./x.js";
3
3
  import { t as bem } from "./bem.js";
4
+ import { n as useStylesApi } from "./styles-api.js";
4
5
  import { i as getComponentVariantColorRoles, t as componentColors } from "./componentColors.js";
5
6
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
6
- import { computed, createComponent, createIf, createInvoker, createSlot, defineVaporComponent, delegateEvents, ref, renderEffect, setAttr, setClass, setInsertionState, setProp, setStyle, setText, template, toDisplayString, txt, unref, useSlots, watch } from "vue";
7
+ import { computed, createComponent, createIf, createInvoker, createSlot, defineVaporComponent, delegateEvents, ref, renderEffect, setDynamicProps, setInsertionState, setText, template, toDisplayString, txt, unref, useSlots, watch } from "vue";
7
8
  //#region src/components/alert/useAlertColor.ts
8
9
  function getAlertColorStyle(color, variant, autoContrast) {
9
10
  if (!color && !variant) return void 0;
@@ -25,20 +26,18 @@ function getAlertColorStyle(color, variant, autoContrast) {
25
26
  }
26
27
  //#endregion
27
28
  //#region src/components/alert/alert.vue?vue&type=script&setup=true&vapor=true&lang.ts
28
- var t0 = template("<div data-v-97a5ebfe class=rp-alert__icon aria-hidden=true>");
29
+ var t0 = template("<div data-v-8e95a4b4>");
29
30
  var t1 = template(" ");
30
- var t2 = template("<div data-v-97a5ebfe class=rp-alert__title>");
31
- var t3 = template("<p data-v-97a5ebfe class=rp-alert__description> ");
32
- var t4 = template("<div data-v-97a5ebfe class=rp-alert__body>");
33
- var t5 = template("<div data-v-97a5ebfe class=rp-alert__content>");
34
- var t6 = template("<div data-v-97a5ebfe class=rp-alert__action>");
35
- var t7 = template("<button data-v-97a5ebfe class=rp-alert__close type=button>");
36
- var t8 = template("<div data-v-97a5ebfe>", 1);
31
+ var t2 = template("<p data-v-8e95a4b4> ");
32
+ var t3 = template("<div data-v-8e95a4b4 class=rp-alert__content>");
33
+ var t4 = template("<button data-v-8e95a4b4>");
34
+ var t5 = template("<div data-v-8e95a4b4>", 1);
37
35
  delegateEvents("click");
38
36
  //#endregion
39
37
  //#region src/components/alert/alert.vue
40
38
  var alert_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
41
39
  name: "RpAlert",
40
+ inheritAttrs: false,
42
41
  __name: "alert",
43
42
  props: {
44
43
  open: {
@@ -56,7 +55,9 @@ var alert_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
56
55
  type: Boolean,
57
56
  default: false
58
57
  },
59
- closeLabel: { default: "Close alert" }
58
+ closeLabel: { default: "Close alert" },
59
+ classNames: {},
60
+ styles: {}
60
61
  },
61
62
  emits: ["update:open", "close"],
62
63
  setup(__props, { emit: __emit, slots: $slots }) {
@@ -78,31 +79,35 @@ var alert_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
78
79
  [`radius-${props.radius}`]: Boolean(props.radius)
79
80
  }));
80
81
  const rootStyle = computed(() => getAlertColorStyle(props.color, props.variant, props.autoContrast));
82
+ const { getPartAttrs, getRootAttrs } = useStylesApi(props, "root");
83
+ const rootAttrs = computed(() => getRootAttrs({
84
+ class: rootClass.value,
85
+ style: rootStyle.value,
86
+ role: resolvedRole.value
87
+ }));
81
88
  function closeAlert() {
82
89
  localOpen.value = false;
83
90
  emit("update:open", false);
84
91
  emit("close");
85
92
  }
86
93
  return createIf(() => isOpen.value, () => {
87
- const n30 = t8();
88
- renderEffect(() => {
89
- setClass(n30, rootClass.value);
90
- setStyle(n30, rootStyle.value);
91
- setProp(n30, "role", resolvedRole.value);
92
- });
94
+ const n30 = t5();
95
+ renderEffect(() => setDynamicProps(n30, [rootAttrs.value]));
93
96
  setInsertionState(n30, null, 0);
94
97
  createIf(() => hasIcon.value, () => {
95
98
  const n5 = t0();
99
+ renderEffect(() => setDynamicProps(n5, [unref(getPartAttrs)("icon", { class: "rp-alert__icon" }), { "aria-hidden": "true" }]));
96
100
  setInsertionState(n5, null, 0);
97
101
  createSlot("icon", null, null, 1);
98
102
  return n5;
99
103
  });
100
104
  setInsertionState(n30, null, 1);
101
105
  createIf(() => hasContent.value, () => {
102
- const n21 = t5();
106
+ const n21 = t3();
103
107
  setInsertionState(n21, null, 0);
104
108
  createIf(() => hasTitle.value, () => {
105
- const n13 = t2();
109
+ const n13 = t0();
110
+ renderEffect(() => setDynamicProps(n13, [unref(getPartAttrs)("title", { class: "rp-alert__title" })]));
106
111
  setInsertionState(n13, null, 0);
107
112
  createSlot("title", null, () => {
108
113
  const n12 = t1();
@@ -113,14 +118,18 @@ var alert_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
113
118
  });
114
119
  setInsertionState(n21, null, 1);
115
120
  createIf(() => hasDescription.value, () => {
116
- const n16 = t3();
121
+ const n16 = t2();
117
122
  const x16 = txt(n16);
118
- renderEffect(() => setText(x16, toDisplayString(__props.description)));
123
+ renderEffect(() => {
124
+ setDynamicProps(n16, [unref(getPartAttrs)("description", { class: "rp-alert__description" })]);
125
+ setText(x16, toDisplayString(__props.description));
126
+ });
119
127
  return n16;
120
128
  });
121
129
  setInsertionState(n21, null, 2);
122
130
  createIf(() => $slots.default, () => {
123
- const n20 = t4();
131
+ const n20 = t0();
132
+ renderEffect(() => setDynamicProps(n20, [unref(getPartAttrs)("body", { class: "rp-alert__body" })]));
124
133
  setInsertionState(n20, null, 0);
125
134
  createSlot("default", null, null, 1);
126
135
  return n20;
@@ -129,15 +138,19 @@ var alert_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
129
138
  });
130
139
  setInsertionState(n30, null, 2);
131
140
  createIf(() => $slots.action, () => {
132
- const n25 = t6();
141
+ const n25 = t0();
142
+ renderEffect(() => setDynamicProps(n25, [unref(getPartAttrs)("action", { class: "rp-alert__action" })]));
133
143
  setInsertionState(n25, null, 0);
134
144
  createSlot("action", null, null, 1);
135
145
  return n25;
136
146
  });
137
147
  setInsertionState(n30, null, 3);
138
148
  createIf(() => __props.closable, () => {
139
- const n29 = t7();
140
- renderEffect(() => setAttr(n29, "aria-label", __props.closeLabel));
149
+ const n29 = t4();
150
+ renderEffect(() => setDynamicProps(n29, [unref(getPartAttrs)("close", { class: "rp-alert__close" }), {
151
+ type: "button",
152
+ "aria-label": __props.closeLabel
153
+ }]));
141
154
  setInsertionState(n29, null, 0);
142
155
  createComponent(unref(x_default), { "aria-hidden": "true" });
143
156
  n29.$evtclick = createInvoker(closeAlert);
@@ -146,9 +159,18 @@ var alert_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
146
159
  return n30;
147
160
  });
148
161
  }
149
- }), [["__scopeId", "data-v-97a5ebfe"]]);
162
+ }), [["__scopeId", "data-v-8e95a4b4"]]);
150
163
  //#endregion
151
164
  //#region src/components/alert/types.ts
165
+ var alertParts = [
166
+ "root",
167
+ "icon",
168
+ "title",
169
+ "description",
170
+ "body",
171
+ "action",
172
+ "close"
173
+ ];
152
174
  var alertColors = componentColors;
153
175
  var alertVariants = [
154
176
  "subtle",
@@ -165,4 +187,4 @@ var alertRadiuses = [
165
187
  "xl"
166
188
  ];
167
189
  //#endregion
168
- export { alert_default as i, alertRadiuses as n, alertVariants as r, alertColors as t };
190
+ export { alert_default as a, alertVariants as i, alertParts as n, alertRadiuses as r, alertColors as t };
@@ -1,17 +1,19 @@
1
- .rp-aspect-ratio[data-v-0c2e5bad] {
2
- --_rp-aspect-ratio: 1;
3
- position: relative;
4
- box-sizing: border-box;
5
- display: block;
6
- width: 100%;
7
- max-width: 100%;
8
- aspect-ratio: var(--_rp-aspect-ratio);
1
+ @layer ropav.components {
2
+ .rp-aspect-ratio[data-v-f81df3b3] {
3
+ --_rp-aspect-ratio: 1;
4
+ position: relative;
5
+ box-sizing: border-box;
6
+ display: block;
7
+ width: 100%;
8
+ max-width: 100%;
9
+ aspect-ratio: var(--_rp-aspect-ratio);
10
+ }
11
+ .rp-aspect-ratio[data-v-f81df3b3] > * {
12
+ position: absolute;
13
+ inset: 0;
14
+ display: block;
15
+ width: 100%;
16
+ height: 100%;
17
+ object-fit: cover;
9
18
  }
10
- .rp-aspect-ratio[data-v-0c2e5bad] > * {
11
- position: absolute;
12
- inset: 0;
13
- display: block;
14
- width: 100%;
15
- height: 100%;
16
- object-fit: cover;
17
19
  }
@@ -1,26 +1,40 @@
1
1
  import './aspect-ratio.css';
2
+ import { n as useStylesApi } from "./styles-api.js";
2
3
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
3
- import { computed, createSlot, defineVaporComponent, renderEffect, setInsertionState, setStyle, template } from "vue";
4
+ import { computed, createSlot, defineVaporComponent, renderEffect, setDynamicProps, setInsertionState, template } from "vue";
4
5
  //#region src/components/aspect-ratio/aspect-ratio.vue?vue&type=script&setup=true&vapor=true&lang.ts
5
- var t0 = template("<div data-v-0c2e5bad class=rp-aspect-ratio>", 1);
6
+ var t0 = template("<div data-v-f81df3b3>", 1);
6
7
  //#endregion
7
8
  //#region src/components/aspect-ratio/aspect-ratio.vue
8
9
  var aspect_ratio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
9
10
  name: "RpAspectRatio",
11
+ inheritAttrs: false,
10
12
  __name: "aspect-ratio",
11
- props: { ratio: { default: 1 } },
13
+ props: {
14
+ ratio: { default: 1 },
15
+ classNames: {},
16
+ styles: {}
17
+ },
12
18
  setup(__props) {
13
19
  const props = __props;
14
20
  const rootStyle = computed(() => ({ "--_rp-aspect-ratio": String(normalizeAspectRatio(props.ratio)) }));
21
+ const { getRootAttrs } = useStylesApi(props, "root");
22
+ const rootAttrs = computed(() => getRootAttrs({
23
+ class: "rp-aspect-ratio",
24
+ style: rootStyle.value
25
+ }));
15
26
  function normalizeAspectRatio(ratio) {
16
27
  return Number.isFinite(ratio) && ratio > 0 ? ratio : 1;
17
28
  }
18
29
  const n1 = t0();
19
- renderEffect(() => setStyle(n1, rootStyle.value));
30
+ renderEffect(() => setDynamicProps(n1, [rootAttrs.value]));
20
31
  setInsertionState(n1, null, 0);
21
32
  createSlot("default", null, null, 1);
22
33
  return n1;
23
34
  }
24
- }), [["__scopeId", "data-v-0c2e5bad"]]);
35
+ }), [["__scopeId", "data-v-f81df3b3"]]);
25
36
  //#endregion
26
- export { aspect_ratio_default as t };
37
+ //#region src/components/aspect-ratio/types.ts
38
+ var aspectRatioParts = ["root"];
39
+ //#endregion
40
+ export { aspect_ratio_default as n, aspectRatioParts as t };
package/dist/avatar.css CHANGED
@@ -1,97 +1,99 @@
1
- .rp-avatar[data-v-aaa2d081] {
2
- --_rp-avatar-size: var(--rp-size-control-md);
3
- --_rp-avatar-font-size: var(--rp-font-size-md);
4
- --_rp-avatar-radius: var(--rp-radius-full);
5
- --_rp-avatar-bg: var(--rp-color-gray-light);
6
- --_rp-avatar-fg: var(--rp-color-gray-light-color);
7
- --_rp-avatar-border: transparent;
8
- --_rp-avatar-border-width: 0;
9
- position: relative;
10
- box-sizing: border-box;
11
- display: inline-flex;
12
- flex: 0 0 auto;
13
- align-items: center;
14
- justify-content: center;
15
- width: var(--_rp-avatar-size);
16
- height: var(--_rp-avatar-size);
17
- overflow: hidden;
18
- color: var(--_rp-avatar-fg);
19
- font-family: var(--rp-font-family);
20
- font-size: var(--_rp-avatar-font-size);
21
- font-weight: var(--rp-font-weight-medium);
22
- line-height: 1;
23
- vertical-align: middle;
24
- background-color: var(--_rp-avatar-bg);
25
- border: var(--_rp-avatar-border-width) solid var(--_rp-avatar-border);
26
- border-radius: var(--_rp-avatar-radius);
27
- user-select: none;
28
- }
29
- .rp-avatar--surface[data-v-aaa2d081], .rp-avatar--outline[data-v-aaa2d081] {
30
- --_rp-avatar-border-width: var(--rp-border-width-thin);
31
- }
32
- .rp-avatar--size-xs[data-v-aaa2d081] {
33
- --_rp-avatar-size: var(--rp-size-control-xs);
34
- --_rp-avatar-font-size: var(--rp-font-size-xs);
35
- }
36
- .rp-avatar--size-sm[data-v-aaa2d081] {
37
- --_rp-avatar-size: var(--rp-size-control-sm);
38
- --_rp-avatar-font-size: var(--rp-font-size-sm);
39
- }
40
- .rp-avatar--size-md[data-v-aaa2d081] {
41
- --_rp-avatar-size: var(--rp-size-control-md);
42
- --_rp-avatar-font-size: var(--rp-font-size-md);
43
- }
44
- .rp-avatar--size-lg[data-v-aaa2d081] {
45
- --_rp-avatar-size: var(--rp-size-control-lg);
46
- --_rp-avatar-font-size: var(--rp-font-size-lg);
47
- }
48
- .rp-avatar--size-xl[data-v-aaa2d081] {
49
- --_rp-avatar-size: var(--rp-size-control-xl);
50
- --_rp-avatar-font-size: var(--rp-font-size-xl);
51
- }
52
- .rp-avatar--radius-none[data-v-aaa2d081] {
53
- --_rp-avatar-radius: var(--rp-radius-none);
54
- }
55
- .rp-avatar--radius-xs[data-v-aaa2d081] {
56
- --_rp-avatar-radius: var(--rp-radius-xs);
57
- }
58
- .rp-avatar--radius-sm[data-v-aaa2d081] {
59
- --_rp-avatar-radius: var(--rp-radius-sm);
60
- }
61
- .rp-avatar--radius-md[data-v-aaa2d081] {
62
- --_rp-avatar-radius: var(--rp-radius-md);
63
- }
64
- .rp-avatar--radius-lg[data-v-aaa2d081] {
65
- --_rp-avatar-radius: var(--rp-radius-lg);
66
- }
67
- .rp-avatar--radius-xl[data-v-aaa2d081] {
68
- --_rp-avatar-radius: var(--rp-radius-xl);
69
- }
70
- .rp-avatar--radius-full[data-v-aaa2d081] {
71
- --_rp-avatar-radius: var(--rp-radius-full);
72
- }
73
- .rp-avatar__image[data-v-aaa2d081] {
74
- display: block;
75
- width: 100%;
76
- height: 100%;
77
- object-fit: cover;
78
- }
79
- .rp-avatar__fallback[data-v-aaa2d081] {
80
- display: inline-flex;
81
- align-items: center;
82
- justify-content: center;
83
- width: 100%;
84
- height: 100%;
85
- }
86
- .rp-avatar__fallback[data-v-aaa2d081] > svg {
87
- display: block;
88
- width: 50%;
89
- height: 50%;
90
- }
91
- .rp-avatar__initials[data-v-aaa2d081] {
92
- text-transform: uppercase;
93
- }
94
- .rp-avatar__icon[data-v-aaa2d081] {
95
- width: 50%;
96
- height: 50%;
1
+ @layer ropav.components {
2
+ .rp-avatar[data-v-0561357f] {
3
+ --_rp-avatar-size: var(--rp-size-control-md);
4
+ --_rp-avatar-font-size: var(--rp-font-size-md);
5
+ --_rp-avatar-radius: var(--rp-radius-full);
6
+ --_rp-avatar-bg: var(--rp-color-gray-light);
7
+ --_rp-avatar-fg: var(--rp-color-gray-light-color);
8
+ --_rp-avatar-border: transparent;
9
+ --_rp-avatar-border-width: 0;
10
+ position: relative;
11
+ box-sizing: border-box;
12
+ display: inline-flex;
13
+ flex: 0 0 auto;
14
+ align-items: center;
15
+ justify-content: center;
16
+ width: var(--_rp-avatar-size);
17
+ height: var(--_rp-avatar-size);
18
+ overflow: hidden;
19
+ color: var(--_rp-avatar-fg);
20
+ font-family: var(--rp-font-family);
21
+ font-size: var(--_rp-avatar-font-size);
22
+ font-weight: var(--rp-font-weight-medium);
23
+ line-height: 1;
24
+ vertical-align: middle;
25
+ background-color: var(--_rp-avatar-bg);
26
+ border: var(--_rp-avatar-border-width) solid var(--_rp-avatar-border);
27
+ border-radius: var(--_rp-avatar-radius);
28
+ user-select: none;
29
+ }
30
+ .rp-avatar--surface[data-v-0561357f], .rp-avatar--outline[data-v-0561357f] {
31
+ --_rp-avatar-border-width: var(--rp-border-width-thin);
32
+ }
33
+ .rp-avatar--size-xs[data-v-0561357f] {
34
+ --_rp-avatar-size: var(--rp-size-control-xs);
35
+ --_rp-avatar-font-size: var(--rp-font-size-xs);
36
+ }
37
+ .rp-avatar--size-sm[data-v-0561357f] {
38
+ --_rp-avatar-size: var(--rp-size-control-sm);
39
+ --_rp-avatar-font-size: var(--rp-font-size-sm);
40
+ }
41
+ .rp-avatar--size-md[data-v-0561357f] {
42
+ --_rp-avatar-size: var(--rp-size-control-md);
43
+ --_rp-avatar-font-size: var(--rp-font-size-md);
44
+ }
45
+ .rp-avatar--size-lg[data-v-0561357f] {
46
+ --_rp-avatar-size: var(--rp-size-control-lg);
47
+ --_rp-avatar-font-size: var(--rp-font-size-lg);
48
+ }
49
+ .rp-avatar--size-xl[data-v-0561357f] {
50
+ --_rp-avatar-size: var(--rp-size-control-xl);
51
+ --_rp-avatar-font-size: var(--rp-font-size-xl);
52
+ }
53
+ .rp-avatar--radius-none[data-v-0561357f] {
54
+ --_rp-avatar-radius: var(--rp-radius-none);
55
+ }
56
+ .rp-avatar--radius-xs[data-v-0561357f] {
57
+ --_rp-avatar-radius: var(--rp-radius-xs);
58
+ }
59
+ .rp-avatar--radius-sm[data-v-0561357f] {
60
+ --_rp-avatar-radius: var(--rp-radius-sm);
61
+ }
62
+ .rp-avatar--radius-md[data-v-0561357f] {
63
+ --_rp-avatar-radius: var(--rp-radius-md);
64
+ }
65
+ .rp-avatar--radius-lg[data-v-0561357f] {
66
+ --_rp-avatar-radius: var(--rp-radius-lg);
67
+ }
68
+ .rp-avatar--radius-xl[data-v-0561357f] {
69
+ --_rp-avatar-radius: var(--rp-radius-xl);
70
+ }
71
+ .rp-avatar--radius-full[data-v-0561357f] {
72
+ --_rp-avatar-radius: var(--rp-radius-full);
73
+ }
74
+ .rp-avatar__image[data-v-0561357f] {
75
+ display: block;
76
+ width: 100%;
77
+ height: 100%;
78
+ object-fit: cover;
79
+ }
80
+ .rp-avatar__fallback[data-v-0561357f] {
81
+ display: inline-flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+ width: 100%;
85
+ height: 100%;
86
+ }
87
+ .rp-avatar__fallback[data-v-0561357f] > svg {
88
+ display: block;
89
+ width: 50%;
90
+ height: 50%;
91
+ }
92
+ .rp-avatar__initials[data-v-0561357f] {
93
+ text-transform: uppercase;
94
+ }
95
+ .rp-avatar__icon[data-v-0561357f] {
96
+ width: 50%;
97
+ height: 50%;
98
+ }
97
99
  }
package/dist/avatar.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import './avatar.css';
2
2
  import { t as bem } from "./bem.js";
3
+ import { n as useStylesApi } from "./styles-api.js";
3
4
  import { i as getComponentVariantColorRoles, t as componentColors } from "./componentColors.js";
4
5
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
5
- import { computed, createComponent, createIf, createSlot, defineVaporComponent, markRaw, on, ref, renderEffect, setAttr, setDynamicProps, setInsertionState, setProp, setText, template, toDisplayString, txt, unref, useAttrs, watch } from "vue";
6
+ import { computed, createComponent, createIf, createSlot, defineVaporComponent, markRaw, on, ref, renderEffect, setAttr, setClass, setDynamicProps, setInsertionState, setProp, setStyle, setText, template, toDisplayString, txt, unref, watch } from "vue";
6
7
  //#region ~icons/lucide/user
7
8
  var t0$1 = template("<svg viewBox=\"0 0 24 24\"width=1.2em height=1.2em><g fill=none stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2><path d=\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\"></path><circle cx=12 cy=7 r=4>", 3, 1);
8
9
  function render(_ctx) {
@@ -30,10 +31,10 @@ function getAvatarColorStyle(color, variant, autoContrast) {
30
31
  }
31
32
  //#endregion
32
33
  //#region src/components/avatar/avatar.vue?vue&type=script&setup=true&vapor=true&lang.ts
33
- var t0 = template("<img data-v-aaa2d081 class=rp-avatar__image>");
34
- var t1 = template("<span data-v-aaa2d081 class=rp-avatar__initials> ");
35
- var t2 = template("<span data-v-aaa2d081 class=rp-avatar__fallback>");
36
- var t3 = template("<span data-v-aaa2d081>", 1);
34
+ var t0 = template("<img data-v-0561357f>");
35
+ var t1 = template("<span data-v-0561357f class=rp-avatar__initials> ");
36
+ var t2 = template("<span data-v-0561357f>");
37
+ var t3 = template("<span data-v-0561357f>", 1);
37
38
  //#endregion
38
39
  //#region src/components/avatar/avatar.vue
39
40
  var avatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
@@ -49,13 +50,15 @@ var avatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
49
50
  color: {},
50
51
  autoContrast: { type: Boolean },
51
52
  size: {},
52
- radius: {}
53
+ radius: {},
54
+ classNames: {},
55
+ styles: {}
53
56
  },
54
57
  emits: ["load", "error"],
55
58
  setup(__props, { emit: __emit }) {
56
59
  const props = __props;
57
60
  const emit = __emit;
58
- const attrs = useAttrs();
61
+ const { attrs, getPartAttrs, getRootAttrs } = useStylesApi(props, "root");
59
62
  const imageFailed = ref(false);
60
63
  const isHidden = computed(() => attrs["aria-hidden"] === true || attrs["aria-hidden"] === "true");
61
64
  const showsImage = computed(() => Boolean(props.src) && !imageFailed.value);
@@ -74,6 +77,12 @@ var avatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
74
77
  [`radius-${props.radius}`]: Boolean(props.radius)
75
78
  }));
76
79
  const rootStyle = computed(() => getAvatarColorStyle(props.color, props.variant, props.autoContrast));
80
+ const rootAttrs = computed(() => getRootAttrs({
81
+ class: rootClass.value,
82
+ style: rootStyle.value,
83
+ role: rootRole.value,
84
+ "aria-label": rootAriaLabel.value
85
+ }));
77
86
  watch(() => props.src, () => {
78
87
  imageFailed.value = false;
79
88
  });
@@ -94,25 +103,22 @@ var avatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
94
103
  return `${Array.from(firstPart)[0] ?? ""}${Array.from(lastPart)[0] ?? ""}`.toLocaleUpperCase();
95
104
  }
96
105
  const n13 = t3();
97
- renderEffect(() => setDynamicProps(n13, [unref(attrs), {
98
- class: rootClass.value,
99
- style: rootStyle.value,
100
- role: rootRole.value,
101
- "aria-label": rootAriaLabel.value
102
- }]));
106
+ renderEffect(() => setDynamicProps(n13, [rootAttrs.value]));
103
107
  setInsertionState(n13, null, 0);
104
108
  createIf(() => showsImage.value, () => {
105
109
  const n2 = t0();
106
110
  on(n2, "load", handleImageLoad);
107
111
  on(n2, "error", handleImageError);
108
112
  renderEffect(() => {
113
+ setClass(n2, unref(getPartAttrs)("image", { class: "rp-avatar__image" }).class);
114
+ setStyle(n2, unref(getPartAttrs)("image").style);
109
115
  setProp(n2, "src", __props.src || void 0);
110
116
  setAttr(n2, "alt", imageAlt.value);
111
117
  });
112
118
  return n2;
113
119
  }, () => {
114
120
  const n12 = t2();
115
- renderEffect(() => setAttr(n12, "aria-hidden", fallbackAriaHidden.value));
121
+ renderEffect(() => setDynamicProps(n12, [unref(getPartAttrs)("fallback", { class: "rp-avatar__fallback" }), { "aria-hidden": fallbackAriaHidden.value }]));
116
122
  setInsertionState(n12, null, 0);
117
123
  createSlot("default", null, () => {
118
124
  return createIf(() => initials.value, () => {
@@ -131,9 +137,14 @@ var avatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
131
137
  }, 261);
132
138
  return n13;
133
139
  }
134
- }), [["__scopeId", "data-v-aaa2d081"]]);
140
+ }), [["__scopeId", "data-v-0561357f"]]);
135
141
  //#endregion
136
142
  //#region src/components/avatar/types.ts
143
+ var avatarParts = [
144
+ "root",
145
+ "image",
146
+ "fallback"
147
+ ];
137
148
  var avatarColors = componentColors;
138
149
  var avatarSizes = [
139
150
  "xs",
@@ -158,4 +169,4 @@ var avatarVariants = [
158
169
  "outline"
159
170
  ];
160
171
  //#endregion
161
- export { avatar_default as a, avatarVariants as i, avatarRadiuses as n, avatarSizes as r, avatarColors as t };
172
+ export { avatarVariants as a, avatarSizes as i, avatarParts as n, avatar_default as o, avatarRadiuses as r, avatarColors as t };