ropav 0.0.10 → 0.0.12

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 (276) hide show
  1. package/README.md +9 -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 +103 -33
  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 +117 -30
  27. package/dist/color-picker.css +309 -303
  28. package/dist/color-picker.js +147 -54
  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 +13 -1
  34. package/dist/components/accordion/index.d.ts +2 -1
  35. package/dist/components/accordion/index.js +2 -2
  36. package/dist/components/accordion/types.d.ts +9 -4
  37. package/dist/components/alert/alert.d.ts +2 -2
  38. package/dist/components/alert/index.d.ts +2 -2
  39. package/dist/components/alert/index.js +2 -2
  40. package/dist/components/alert/types.d.ts +4 -1
  41. package/dist/components/aspect-ratio/index.d.ts +2 -1
  42. package/dist/components/aspect-ratio/index.js +2 -2
  43. package/dist/components/aspect-ratio/types.d.ts +4 -1
  44. package/dist/components/avatar/index.d.ts +2 -2
  45. package/dist/components/avatar/index.js +2 -2
  46. package/dist/components/avatar/types.d.ts +4 -1
  47. package/dist/components/badge/index.d.ts +2 -2
  48. package/dist/components/badge/index.js +2 -2
  49. package/dist/components/badge/types.d.ts +4 -1
  50. package/dist/components/button/index.d.ts +2 -1
  51. package/dist/components/button/index.js +2 -2
  52. package/dist/components/button/types.d.ts +4 -1
  53. package/dist/components/button-group/index.d.ts +2 -1
  54. package/dist/components/button-group/index.js +2 -2
  55. package/dist/components/button-group/types.d.ts +4 -1
  56. package/dist/components/button-link/index.d.ts +2 -1
  57. package/dist/components/button-link/index.js +2 -2
  58. package/dist/components/button-link/types.d.ts +4 -1
  59. package/dist/components/card/index.d.ts +2 -1
  60. package/dist/components/card/index.js +2 -2
  61. package/dist/components/card/types.d.ts +5 -1
  62. package/dist/components/checkbox/checkbox.d.ts +4 -1
  63. package/dist/components/checkbox/index.d.ts +2 -1
  64. package/dist/components/checkbox/index.js +2 -2
  65. package/dist/components/checkbox/types.d.ts +11 -2
  66. package/dist/components/checkbox/useCheckbox.d.ts +3 -1
  67. package/dist/components/collapse/collapse.d.ts +2 -2
  68. package/dist/components/collapse/index.d.ts +2 -1
  69. package/dist/components/collapse/index.js +2 -2
  70. package/dist/components/collapse/types.d.ts +9 -2
  71. package/dist/components/color-input/index.d.ts +2 -1
  72. package/dist/components/color-input/index.js +2 -2
  73. package/dist/components/color-input/types.d.ts +8 -2
  74. package/dist/components/color-input/useColorInput.d.ts +1 -1
  75. package/dist/components/color-input/useColorInputValue.d.ts +1 -1
  76. package/dist/components/color-picker/index.d.ts +2 -2
  77. package/dist/components/color-picker/index.js +2 -2
  78. package/dist/components/color-picker/types.d.ts +13 -1
  79. package/dist/components/color-swatch/index.d.ts +2 -1
  80. package/dist/components/color-swatch/index.js +2 -1
  81. package/dist/components/color-swatch/types.d.ts +4 -1
  82. package/dist/components/dialog/dialog-close.d.ts +21 -0
  83. package/dist/components/dialog/dialog-content.d.ts +32 -0
  84. package/dist/components/dialog/dialog-core.d.ts +27 -0
  85. package/dist/components/dialog/dialog-description.d.ts +21 -0
  86. package/dist/components/dialog/dialog-overlay.d.ts +21 -0
  87. package/dist/components/dialog/dialog-portal.d.ts +21 -0
  88. package/dist/components/dialog/dialog-root.d.ts +28 -0
  89. package/dist/components/dialog/dialog-title.d.ts +21 -0
  90. package/dist/components/dialog/dialog-trigger.d.ts +23 -0
  91. package/dist/components/dialog/index.d.ts +9 -0
  92. package/dist/components/dialog/index.js +2 -0
  93. package/dist/components/dialog/types.d.ts +61 -0
  94. package/dist/components/dropdown-menu/dropdown-menu-checkbox-item.d.ts +24 -0
  95. package/dist/components/dropdown-menu/dropdown-menu-content.d.ts +34 -0
  96. package/dist/components/dropdown-menu/dropdown-menu-context-trigger.d.ts +23 -0
  97. package/dist/components/dropdown-menu/dropdown-menu-item-indicator.d.ts +24 -0
  98. package/dist/components/dropdown-menu/dropdown-menu-item-row.d.ts +28 -0
  99. package/dist/components/dropdown-menu/dropdown-menu-item.d.ts +23 -0
  100. package/dist/components/dropdown-menu/dropdown-menu-items.d.ts +24 -22
  101. package/dist/components/dropdown-menu/dropdown-menu-label.d.ts +21 -0
  102. package/dist/components/dropdown-menu/dropdown-menu-outside.d.ts +3 -0
  103. package/dist/components/dropdown-menu/dropdown-menu-portal.d.ts +21 -0
  104. package/dist/components/dropdown-menu/dropdown-menu-primitive-core.d.ts +110 -0
  105. package/dist/components/dropdown-menu/dropdown-menu-primitives.d.ts +15 -0
  106. package/dist/components/dropdown-menu/dropdown-menu-radio-group.d.ts +25 -0
  107. package/dist/components/dropdown-menu/dropdown-menu-radio-item.d.ts +23 -0
  108. package/dist/components/dropdown-menu/dropdown-menu-root.d.ts +30 -0
  109. package/dist/components/dropdown-menu/dropdown-menu-separator.d.ts +19 -0
  110. package/dist/components/dropdown-menu/dropdown-menu-sub-content.d.ts +34 -0
  111. package/dist/components/dropdown-menu/dropdown-menu-sub-trigger.d.ts +28 -0
  112. package/dist/components/dropdown-menu/dropdown-menu-sub.d.ts +28 -0
  113. package/dist/components/dropdown-menu/dropdown-menu-trigger.d.ts +23 -0
  114. package/dist/components/dropdown-menu/dropdown-menu.d.ts +6 -3
  115. package/dist/components/dropdown-menu/index.d.ts +32 -1
  116. package/dist/components/dropdown-menu/index.js +2 -2
  117. package/dist/components/dropdown-menu/types.d.ts +145 -6
  118. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +15 -3
  119. package/dist/components/dropdown-menu/useDropdownMenuDisclosure.d.ts +10 -3
  120. package/dist/components/dropdown-menu/useDropdownMenuDom.d.ts +2 -1
  121. package/dist/components/dropdown-menu/useDropdownMenuInteractions.d.ts +4 -4
  122. package/dist/components/dropdown-menu/useDropdownMenuPortalPosition.d.ts +19 -0
  123. package/dist/components/dropdown-menu/useDropdownMenuPrimitiveContent.d.ts +27 -0
  124. package/dist/components/dropdown-menu/useDropdownMenuRenderItems.d.ts +14 -2
  125. package/dist/components/field/index.d.ts +2 -1
  126. package/dist/components/field/index.js +2 -2
  127. package/dist/components/field/types.d.ts +4 -1
  128. package/dist/components/floating/index.d.ts +3 -0
  129. package/dist/components/floating/index.js +3 -0
  130. package/dist/components/floating/types.d.ts +105 -0
  131. package/dist/components/floating/useFloatingPosition.d.ts +15 -0
  132. package/dist/components/floating/useHoverDisclosure.d.ts +2 -0
  133. package/dist/components/focus-trap/focus-trap.d.ts +31 -0
  134. package/dist/components/focus-trap/index.d.ts +4 -0
  135. package/dist/components/focus-trap/index.js +3 -0
  136. package/dist/components/focus-trap/types.d.ts +41 -0
  137. package/dist/components/focus-trap/useFocusTrap.d.ts +2 -0
  138. package/dist/components/icon-button/index.d.ts +2 -1
  139. package/dist/components/icon-button/index.js +2 -1
  140. package/dist/components/icon-button/types.d.ts +4 -1
  141. package/dist/components/input/index.d.ts +2 -1
  142. package/dist/components/input/index.js +2 -1
  143. package/dist/components/input/input.d.ts +4 -1
  144. package/dist/components/input/types.d.ts +7 -2
  145. package/dist/components/modal/index.d.ts +2 -1
  146. package/dist/components/modal/index.js +2 -2
  147. package/dist/components/modal/modal.d.ts +3 -1
  148. package/dist/components/modal/types.d.ts +11 -1
  149. package/dist/components/modal/useModal.d.ts +7 -4
  150. package/dist/components/number-input/index.d.ts +2 -1
  151. package/dist/components/number-input/index.js +2 -2
  152. package/dist/components/number-input/types.d.ts +7 -2
  153. package/dist/components/number-input/useNumberInput.d.ts +2 -1
  154. package/dist/components/overlay/index.d.ts +2 -1
  155. package/dist/components/overlay/index.js +2 -1
  156. package/dist/components/overlay/types.d.ts +4 -1
  157. package/dist/components/popover/index.d.ts +2 -2
  158. package/dist/components/popover/index.js +2 -2
  159. package/dist/components/popover/popover.d.ts +2 -2
  160. package/dist/components/popover/types.d.ts +20 -11
  161. package/dist/components/popover/usePopover.d.ts +9 -1
  162. package/dist/components/progress/index.d.ts +2 -2
  163. package/dist/components/progress/index.js +2 -2
  164. package/dist/components/progress/types.d.ts +4 -1
  165. package/dist/components/radio/index.d.ts +2 -1
  166. package/dist/components/radio/index.js +2 -2
  167. package/dist/components/radio/radio.d.ts +8 -3
  168. package/dist/components/radio/types.d.ts +37 -4
  169. package/dist/components/radio/useRadio.d.ts +12 -4
  170. package/dist/components/select/index.d.ts +2 -1
  171. package/dist/components/select/index.js +2 -2
  172. package/dist/components/select/select.d.ts +4 -1
  173. package/dist/components/select/types.d.ts +10 -2
  174. package/dist/components/select/useSelect.d.ts +3 -1
  175. package/dist/components/slider/index.d.ts +2 -2
  176. package/dist/components/slider/index.js +2 -2
  177. package/dist/components/slider/range-slider-tooltip.d.ts +3 -0
  178. package/dist/components/slider/range-slider.d.ts +7 -4
  179. package/dist/components/slider/slider.d.ts +4 -1
  180. package/dist/components/slider/sliderCore.d.ts +4 -4
  181. package/dist/components/slider/types.d.ts +22 -4
  182. package/dist/components/slider/useRangeSlider.d.ts +2 -2
  183. package/dist/components/slider/useSlider.d.ts +2 -2
  184. package/dist/components/switch/index.d.ts +2 -1
  185. package/dist/components/switch/index.js +2 -2
  186. package/dist/components/switch/switch.d.ts +4 -1
  187. package/dist/components/switch/types.d.ts +11 -2
  188. package/dist/components/switch/useSwitch.d.ts +3 -1
  189. package/dist/components/tabs/index.d.ts +2 -1
  190. package/dist/components/tabs/index.js +2 -2
  191. package/dist/components/tabs/types.d.ts +13 -4
  192. package/dist/components/teleport-provider/index.d.ts +3 -0
  193. package/dist/components/teleport-provider/index.js +3 -0
  194. package/dist/components/teleport-provider/teleport-provider.d.ts +21 -0
  195. package/dist/components/teleport-provider/types.d.ts +4 -0
  196. package/dist/components/teleport-provider/useTeleportTarget.d.ts +6 -0
  197. package/dist/components/textarea/index.d.ts +2 -1
  198. package/dist/components/textarea/index.js +2 -2
  199. package/dist/components/textarea/textarea.d.ts +4 -1
  200. package/dist/components/textarea/types.d.ts +10 -2
  201. package/dist/components/textarea/useTextarea.d.ts +2 -1
  202. package/dist/components/toast/index.d.ts +3 -2
  203. package/dist/components/toast/index.js +2 -2
  204. package/dist/components/toast/toast-store.d.ts +2 -0
  205. package/dist/components/toast/toast.d.ts +2 -2
  206. package/dist/components/toast/types.d.ts +20 -10
  207. package/dist/components/toast/useToast.d.ts +2 -2
  208. package/dist/components/tooltip/index.d.ts +2 -1
  209. package/dist/components/tooltip/index.js +2 -1
  210. package/dist/components/tooltip/tooltip.d.ts +2 -2
  211. package/dist/components/tooltip/types.d.ts +13 -12
  212. package/dist/components/tooltip/useTooltip.d.ts +12 -2
  213. package/dist/composables/useOverlayLayer.d.ts +32 -0
  214. package/dist/dialog.js +510 -0
  215. package/dist/dropdown-menu.css +191 -108
  216. package/dist/dropdown-menu.js +1954 -198
  217. package/dist/field.css +41 -39
  218. package/dist/field.js +40 -16
  219. package/dist/floating.js +403 -0
  220. package/dist/focus-trap.js +80 -0
  221. package/dist/icon-button.css +193 -189
  222. package/dist/icon-button.js +23 -18
  223. package/dist/icon-button2.js +8 -0
  224. package/dist/index.d.ts +5 -0
  225. package/dist/index.js +39 -32
  226. package/dist/input.css +122 -120
  227. package/dist/input.js +63 -40
  228. package/dist/input2.js +9 -0
  229. package/dist/legacy-unlayered.css +5382 -0
  230. package/dist/modal.css +129 -127
  231. package/dist/modal.js +182 -281
  232. package/dist/number-input.css +87 -85
  233. package/dist/number-input.js +98 -26
  234. package/dist/overlay.css +26 -24
  235. package/dist/overlay.js +17 -9
  236. package/dist/overlay2.js +4 -0
  237. package/dist/popover.css +140 -107
  238. package/dist/popover.js +276 -196
  239. package/dist/popover2.js +6 -1
  240. package/dist/progress.css +101 -99
  241. package/dist/progress.js +50 -28
  242. package/dist/radio.css +114 -105
  243. package/dist/radio.js +237 -61
  244. package/dist/select.css +255 -242
  245. package/dist/select.js +257 -94
  246. package/dist/slider.css +1090 -1031
  247. package/dist/slider.js +443 -175
  248. package/dist/styles-api.d.ts +22 -0
  249. package/dist/styles-api.js +49 -0
  250. package/dist/switch.css +120 -108
  251. package/dist/switch.js +112 -38
  252. package/dist/tabs.css +286 -278
  253. package/dist/tabs.js +60 -21
  254. package/dist/teleport-provider.js +15 -0
  255. package/dist/textarea.css +132 -130
  256. package/dist/textarea.js +83 -31
  257. package/dist/toast.css +229 -225
  258. package/dist/toast.js +189 -118
  259. package/dist/tooltip.css +61 -106
  260. package/dist/tooltip.js +184 -228
  261. package/dist/tooltip2.js +8 -0
  262. package/dist/useControlState.js +4 -0
  263. package/dist/useFloatingPosition.js +1317 -0
  264. package/dist/useFocusTrap.js +130 -0
  265. package/dist/useFormControl.js +107 -0
  266. package/dist/useOverlayLayer.js +262 -0
  267. package/dist/useTeleportTarget.js +40 -0
  268. package/docs/public-floating-api.md +148 -0
  269. package/docs/public-styles-api.md +134 -0
  270. package/docs/public-tokens.md +545 -0
  271. package/package.json +37 -9
  272. package/src/styles/_tokens.scss +33 -28
  273. package/src/styles/_utilities.scss +11 -9
  274. package/src/styles/styles-manifest.json +4125 -0
  275. package/dist/rafScheduler.js +0 -34
  276. package/dist/useClickOutside.js +0 -24
package/dist/checkbox.js CHANGED
@@ -1,11 +1,13 @@
1
1
  import './checkbox.css';
2
2
  import { t as bem } from "./bem.js";
3
+ import { n as useStylesApi, t as presence } from "./styles-api.js";
3
4
  import { n as getComponentColorValue, r as getComponentContrastColor } from "./componentColors.js";
4
5
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
5
6
  import { t as check_default } from "./check.js";
6
7
  import { t as minus_default } from "./minus.js";
8
+ import { o as useControllableValue, r as useCheckedFormControl } from "./useFormControl.js";
7
9
  import { t as useControlState } from "./useControlState.js";
8
- import { VaporTransition, child, computed, createComponent, createIf, createSlot, defineVaporComponent, extend, next, on, renderEffect, setAttr, setBlockKey, setClass, setInsertionState, setProp, setStyle, template, unref } from "vue";
10
+ import { VaporTransition, child, computed, createComponent, createIf, createSlot, defineVaporComponent, extend, next, ref, renderEffect, setBlockKey, setDynamicProps, setInsertionState, setStaticTemplateRef, template, unref } from "vue";
9
11
  //#region src/components/checkbox/useCheckbox.ts
10
12
  function getCheckboxColorStyle(color, autoContrast) {
11
13
  const colorValue = getComponentColorValue(color);
@@ -16,10 +18,11 @@ function getCheckboxColorStyle(color, autoContrast) {
16
18
  if (autoContrast) style["--_rp-checkbox-on-color"] = getComponentContrastColor(color ?? "primary", { autoContrast });
17
19
  return style;
18
20
  }
19
- function useCheckbox(props, emitUpdate) {
21
+ function useCheckbox(props, emitUpdate, getValue = () => props.modelValue ?? false) {
22
+ const inputRef = ref(null);
20
23
  const control = useControlState(props);
21
24
  const rootClass = computed(() => bem("rp-checkbox", {
22
- checked: props.modelValue,
25
+ checked: getValue(),
23
26
  indeterminate: props.indeterminate,
24
27
  disabled: control.disabled,
25
28
  invalid: control.invalid,
@@ -31,26 +34,41 @@ function useCheckbox(props, emitUpdate) {
31
34
  function onChange(e) {
32
35
  emitUpdate(e.target.checked);
33
36
  }
37
+ function focus(options) {
38
+ inputRef.value?.focus(options);
39
+ }
34
40
  return {
41
+ inputRef,
35
42
  control,
36
43
  rootClass,
37
44
  rootStyle,
38
- onChange
45
+ onChange,
46
+ focus
39
47
  };
40
48
  }
41
49
  //#endregion
42
50
  //#region src/components/checkbox/checkbox.vue?vue&type=script&setup=true&vapor=true&lang.ts
43
- var t0 = template("<span data-v-8af73824 class=rp-checkbox__label>");
44
- var t1 = template("<label data-v-8af73824><input data-v-8af73824 type=checkbox class=rp-checkbox__native><span data-v-8af73824 class=rp-checkbox__box></span>", 1);
51
+ var t0 = template("<span data-v-cc3e1126>");
52
+ var t1 = template("<label data-v-cc3e1126><input data-v-cc3e1126><span data-v-cc3e1126></span>", 1);
45
53
  //#endregion
46
54
  //#region src/components/checkbox/checkbox.vue
47
55
  var checkbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
48
56
  name: "RpCheckbox",
57
+ inheritAttrs: false,
49
58
  __name: "checkbox",
50
59
  props: {
51
60
  id: {},
52
61
  name: {},
53
- modelValue: { type: Boolean },
62
+ form: {},
63
+ modelValue: {
64
+ type: Boolean,
65
+ default: void 0
66
+ },
67
+ defaultValue: {
68
+ type: Boolean,
69
+ default: false
70
+ },
71
+ value: { default: "on" },
54
72
  variant: {},
55
73
  color: {},
56
74
  autoContrast: { type: Boolean },
@@ -74,41 +92,84 @@ var checkbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
74
92
  indeterminate: {
75
93
  type: Boolean,
76
94
  default: false
77
- }
95
+ },
96
+ inputAttrs: {},
97
+ validationMessage: {},
98
+ classNames: {},
99
+ styles: {}
78
100
  },
79
101
  emits: ["update:modelValue"],
80
- setup(__props, { emit: __emit, slots: $slots }) {
102
+ setup(__props, { expose: __expose, emit: __emit, slots: $slots }) {
81
103
  const props = __props;
82
104
  const emit = __emit;
83
- const { control, rootClass, rootStyle, onChange } = useCheckbox(props, (value) => {
84
- emit("update:modelValue", value);
105
+ const controllable = useControllableValue({
106
+ modelValue: () => props.modelValue,
107
+ defaultValue: () => props.defaultValue,
108
+ onChange: (value) => emit("update:modelValue", value)
109
+ });
110
+ const { inputRef, control, rootClass, rootStyle, onChange, focus } = useCheckbox(props, (value) => controllable.setValue(value), () => controllable.value.value);
111
+ const state = computed(() => props.indeterminate ? "indeterminate" : controllable.value.value ? "checked" : "unchecked");
112
+ useCheckedFormControl(() => inputRef.value, controllable, () => props.validationMessage);
113
+ const { getPartAttrs, getRootAttrs } = useStylesApi(props, "root");
114
+ const rootAttrs = computed(() => getRootAttrs({
115
+ class: rootClass.value,
116
+ style: rootStyle.value,
117
+ "data-disabled": presence(control.disabled),
118
+ "data-invalid": presence(control.invalid),
119
+ "data-state": state.value
120
+ }));
121
+ const nativeInputAttrs = computed(() => {
122
+ const { class: compatibilityClass, style: compatibilityStyle, onChange: compatibilityOnChange, ...attrs } = props.inputAttrs ?? {};
123
+ return {
124
+ ...attrs,
125
+ ...getPartAttrs("input", {
126
+ class: "rp-checkbox__native",
127
+ compatibilityClass,
128
+ compatibilityStyle
129
+ }),
130
+ onChange(event) {
131
+ onChange(event);
132
+ compatibilityOnChange?.(event);
133
+ }
134
+ };
135
+ });
136
+ __expose({
137
+ nativeElement: inputRef,
138
+ focus
85
139
  });
86
140
  const n13 = t1();
87
141
  const n0 = child(n13);
88
142
  const n8 = next(n0, 1);
89
- on(n0, "change", (e) => unref(onChange)(e));
143
+ setStaticTemplateRef(n0, inputRef, null, "inputRef");
90
144
  renderEffect(() => {
145
+ const _nativeInputAttrs = nativeInputAttrs.value;
91
146
  const _control = unref(control);
147
+ const _controllable = unref(controllable);
92
148
  const _indeterminate = __props.indeterminate;
93
- const _modelValue = __props.modelValue;
94
- const _control_disabled = _control.disabled;
149
+ const _controllable_value = _controllable.value;
95
150
  const _control_required = _control.required;
96
- setClass(n13, unref(rootClass));
97
- setStyle(n13, unref(rootStyle));
98
- setAttr(n13, "data-disabled", _control_disabled || void 0);
99
- setAttr(n13, "data-state", _indeterminate ? "indeterminate" : _modelValue ? "checked" : "unchecked");
100
- setProp(n0, "id", _control.id);
101
- setProp(n0, "name", __props.name);
102
- setProp(n0, "checked", _modelValue);
103
- setProp(n0, "disabled", _control_disabled || void 0);
104
- setProp(n0, "required", _control_required || void 0);
105
- setProp(n0, "indeterminate", _indeterminate);
106
- setAttr(n0, "aria-checked", _indeterminate ? "mixed" : _modelValue);
107
- setAttr(n0, "aria-label", __props.ariaLabel || void 0);
108
- setAttr(n0, "aria-labelledby", _control.ariaLabelledby);
109
- setAttr(n0, "aria-describedby", _control.ariaDescribedby);
110
- setAttr(n0, "aria-invalid", _control.invalid || void 0);
111
- setAttr(n0, "aria-required", _control_required || void 0);
151
+ setDynamicProps(n13, [rootAttrs.value]);
152
+ setDynamicProps(n0, [_nativeInputAttrs, {
153
+ id: _control.id,
154
+ name: __props.name,
155
+ form: _control.form ?? _nativeInputAttrs.form,
156
+ type: "checkbox",
157
+ value: __props.value,
158
+ checked: _controllable_value.value,
159
+ disabled: _control.disabled || void 0,
160
+ required: _control_required || void 0,
161
+ indeterminate: _indeterminate,
162
+ "aria-checked": _indeterminate ? "mixed" : _controllable_value.value,
163
+ "aria-label": __props.ariaLabel || void 0,
164
+ "aria-labelledby": _control.ariaLabelledby,
165
+ "aria-describedby": _control.ariaDescribedby,
166
+ "aria-invalid": _control.invalid || void 0,
167
+ "aria-required": _control_required || void 0,
168
+ "data-disabled": unref(presence)(_control.disabled),
169
+ "data-invalid": unref(presence)(_control.invalid),
170
+ "data-state": state.value
171
+ }]);
172
+ setDynamicProps(n8, [unref(getPartAttrs)("indicator", { class: "rp-checkbox__box" })]);
112
173
  });
113
174
  setInsertionState(n8, null, 0);
114
175
  createComponent(VaporTransition, {
@@ -119,7 +180,7 @@ var checkbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
119
180
  const n3 = createComponent(unref(minus_default), { class: "rp-checkbox__icon" });
120
181
  setBlockKey(n3, "minus");
121
182
  return n3;
122
- }, () => createIf(() => __props.modelValue, () => {
183
+ }, () => createIf(() => unref(controllable).value.value, () => {
123
184
  const n5 = createComponent(unref(check_default), { class: "rp-checkbox__icon" });
124
185
  setBlockKey(n5, "check");
125
186
  return n5;
@@ -128,12 +189,21 @@ var checkbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
128
189
  setInsertionState(n13, null, 2);
129
190
  createIf(() => $slots.default, () => {
130
191
  const n12 = t0();
192
+ renderEffect(() => setDynamicProps(n12, [unref(getPartAttrs)("label", { class: "rp-checkbox__label" })]));
131
193
  setInsertionState(n12, null, 0);
132
194
  createSlot("default", null, null, 1);
133
195
  return n12;
134
196
  });
135
197
  return n13;
136
198
  }
137
- }), [["__scopeId", "data-v-8af73824"]]);
199
+ }), [["__scopeId", "data-v-cc3e1126"]]);
200
+ //#endregion
201
+ //#region src/components/checkbox/types.ts
202
+ var checkboxParts = [
203
+ "root",
204
+ "input",
205
+ "indicator",
206
+ "label"
207
+ ];
138
208
  //#endregion
139
- export { checkbox_default as t };
209
+ export { checkbox_default as n, checkboxParts as t };
package/dist/collapse.css CHANGED
@@ -1,32 +1,34 @@
1
- .rp-collapse[data-v-a78ac964] {
2
- --_rp-collapse-duration: var(--rp-transition-fast);
3
- display: block;
4
- min-width: 0;
5
- font-family: var(--rp-font-family);
6
- color: var(--rp-color-text);
1
+ @layer ropav.components {
2
+ .rp-collapse[data-v-a380be0d] {
3
+ --_rp-collapse-duration: var(--rp-transition-fast);
4
+ display: block;
5
+ min-width: 0;
6
+ font-family: var(--rp-font-family);
7
+ color: var(--rp-color-text);
7
8
  }
8
- .rp-collapse--disabled[data-v-a78ac964] {
9
- opacity: var(--rp-opacity-disabled);
10
- cursor: not-allowed;
9
+ .rp-collapse--disabled[data-v-a380be0d] {
10
+ opacity: var(--rp-opacity-disabled);
11
+ cursor: not-allowed;
11
12
  }
12
- .rp-collapse__content[data-v-a78ac964] {
13
- box-sizing: border-box;
14
- display: grid;
15
- min-width: 0;
16
- overflow: hidden;
17
- color: var(--rp-color-text);
18
- font-size: var(--rp-font-size-md);
19
- line-height: var(--rp-line-height-md);
20
- grid-template-rows: 1fr;
21
- transition: grid-template-rows var(--_rp-collapse-duration), opacity var(--_rp-collapse-duration);
13
+ .rp-collapse__content[data-v-a380be0d] {
14
+ box-sizing: border-box;
15
+ display: grid;
16
+ min-width: 0;
17
+ overflow: hidden;
18
+ color: var(--rp-color-text);
19
+ font-size: var(--rp-font-size-md);
20
+ line-height: var(--rp-line-height-md);
21
+ grid-template-rows: 1fr;
22
+ transition: grid-template-rows var(--_rp-collapse-duration), opacity var(--_rp-collapse-duration);
22
23
  }
23
- .rp-collapse__inner[data-v-a78ac964] {
24
- min-height: 0;
25
- min-width: 0;
26
- overflow: hidden;
24
+ .rp-collapse__inner[data-v-a380be0d] {
25
+ min-height: 0;
26
+ min-width: 0;
27
+ overflow: hidden;
28
+ }
29
+ .rp-collapse-content-enter-from[data-v-a380be0d],
30
+ .rp-collapse-content-leave-to[data-v-a380be0d] {
31
+ opacity: 0;
32
+ grid-template-rows: 0fr;
27
33
  }
28
- .rp-collapse-content-enter-from[data-v-a78ac964],
29
- .rp-collapse-content-leave-to[data-v-a78ac964] {
30
- opacity: 0;
31
- grid-template-rows: 0fr;
32
34
  }
package/dist/collapse.js CHANGED
@@ -1,14 +1,16 @@
1
1
  import './collapse.css';
2
+ import { n as useStylesApi, t as presence } from "./styles-api.js";
2
3
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
3
4
  import { t as useCollapse } from "./useCollapse.js";
4
- import { VaporTransition, applyVShow, child, createComponent, createIf, createSlot, defineVaporComponent, extend, renderEffect, setDynamicProps, setInsertionState, template, unref } from "vue";
5
+ import { VaporTransition, applyVShow, child, computed, createComponent, createIf, createSlot, defineVaporComponent, extend, renderEffect, setDynamicProps, setInsertionState, template, unref } from "vue";
5
6
  //#region src/components/collapse/collapse.vue?vue&type=script&setup=true&vapor=true&lang.ts
6
- var t0 = template("<section data-v-a78ac964><div data-v-a78ac964 class=rp-collapse__inner>");
7
- var t1 = template("<div data-v-a78ac964>", 1);
7
+ var t0 = template("<section data-v-a380be0d><div data-v-a380be0d class=rp-collapse__inner>");
8
+ var t1 = template("<div data-v-a380be0d>", 1);
8
9
  //#endregion
9
10
  //#region src/components/collapse/collapse.vue
10
11
  var collapse_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
11
12
  name: "RpCollapse",
13
+ inheritAttrs: false,
12
14
  __name: "collapse",
13
15
  props: {
14
16
  id: {},
@@ -27,19 +29,44 @@ var collapse_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
27
29
  role: { default: "region" },
28
30
  ariaLabel: {},
29
31
  ariaDescribedby: {},
30
- ariaLabelledby: {}
32
+ ariaLabelledby: {},
33
+ classNames: {},
34
+ styles: {}
31
35
  },
32
36
  emits: ["update:open"],
33
37
  setup(__props, { emit: __emit }) {
34
38
  const props = __props;
35
39
  const emit = __emit;
36
- const { isOpen, shouldRenderContent, rootProps, contentProps, triggerSlotProps, contentSlotProps } = useCollapse(props, (open) => {
40
+ const { isOpen, isDisabled, state, shouldRenderContent, rootProps: internalRootProps, triggerProps, contentProps, triggerSlotProps, contentSlotProps } = useCollapse(props, (open) => {
37
41
  emit("update:open", open);
38
42
  });
43
+ const { getPartAttrs, getRootAttrs } = useStylesApi(props, "root");
44
+ const rootAttrs = computed(() => getRootAttrs({
45
+ ...internalRootProps.value,
46
+ "data-disabled": presence(isDisabled.value)
47
+ }));
48
+ const publicTriggerProps = computed(() => {
49
+ const partAttrs = getPartAttrs("trigger");
50
+ return {
51
+ ...triggerProps.value,
52
+ ...props.classNames?.trigger !== void 0 ? { class: partAttrs.class } : {},
53
+ ...props.styles?.trigger !== void 0 ? { style: partAttrs.style } : {},
54
+ "data-state": state.value,
55
+ "data-disabled": presence(isDisabled.value)
56
+ };
57
+ });
58
+ const publicTriggerSlotProps = computed(() => ({
59
+ ...triggerSlotProps.value,
60
+ triggerProps: publicTriggerProps.value
61
+ }));
62
+ const publicContentProps = computed(() => ({
63
+ ...contentProps.value,
64
+ ...getPartAttrs("content", { class: contentProps.value.class })
65
+ }));
39
66
  const n7 = t1();
40
- renderEffect(() => setDynamicProps(n7, [unref(rootProps)]));
67
+ renderEffect(() => setDynamicProps(n7, [rootAttrs.value]));
41
68
  setInsertionState(n7, null, 0);
42
- createSlot("trigger", { $: [() => unref(triggerSlotProps)] }, null, 1);
69
+ createSlot("trigger", { $: [() => publicTriggerSlotProps.value] }, null, 1);
43
70
  setInsertionState(n7, null, 1);
44
71
  createComponent(VaporTransition, {
45
72
  name: "rp-collapse-content",
@@ -48,7 +75,7 @@ var collapse_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
48
75
  return createIf(() => unref(shouldRenderContent), () => {
49
76
  const n5 = t0();
50
77
  const n4 = child(n5);
51
- renderEffect(() => setDynamicProps(n5, [unref(contentProps)]));
78
+ renderEffect(() => setDynamicProps(n5, [publicContentProps.value]));
52
79
  setInsertionState(n4, null, 0);
53
80
  createSlot("default", { $: [() => unref(contentSlotProps)] }, null, 1);
54
81
  applyVShow(n5, () => unref(isOpen));
@@ -57,6 +84,13 @@ var collapse_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
57
84
  }, { _: 8 }));
58
85
  return n7;
59
86
  }
60
- }), [["__scopeId", "data-v-a78ac964"]]);
87
+ }), [["__scopeId", "data-v-a380be0d"]]);
88
+ //#endregion
89
+ //#region src/components/collapse/types.ts
90
+ var collapseParts = [
91
+ "root",
92
+ "trigger",
93
+ "content"
94
+ ];
61
95
  //#endregion
62
- export { collapse_default as t };
96
+ export { collapse_default as n, collapseParts as t };
@@ -1,108 +1,138 @@
1
- .rp-color-input[data-v-e752da15] {
2
- --_rp-color-input-height: var(--rp-size-control-md);
3
- --_rp-color-input-preview-size: calc(var(--_rp-color-input-height) / 2);
4
- --_rp-color-input-preview-inset: calc(
5
- (var(--_rp-color-input-height) - var(--_rp-color-input-preview-size)) / 2
6
- );
7
- --_rp-color-input-empty-tile: var(--rp-color-gray-3);
8
- --_rp-color-input-empty-tile-alt: var(--rp-color-white);
9
- --_rp-color-input-empty-grid: conic-gradient(
10
- var(--_rp-color-input-empty-tile) 25%,
11
- var(--_rp-color-input-empty-tile-alt) 0 50%,
12
- var(--_rp-color-input-empty-tile) 0 75%,
13
- var(--_rp-color-input-empty-tile-alt) 0
14
- );
15
- display: inline-flex;
16
- max-width: 100%;
17
- font-family: var(--rp-font-family);
18
- vertical-align: middle;
19
- }
20
- .rp-color-input--size-xs[data-v-e752da15] {
21
- --_rp-color-input-height: var(--rp-size-control-xs);
22
- }
23
- .rp-color-input--size-sm[data-v-e752da15] {
24
- --_rp-color-input-height: var(--rp-size-control-sm);
25
- }
26
- .rp-color-input--size-md[data-v-e752da15] {
27
- --_rp-color-input-height: var(--rp-size-control-md);
28
- }
29
- .rp-color-input--size-lg[data-v-e752da15] {
30
- --_rp-color-input-height: var(--rp-size-control-lg);
31
- }
32
- .rp-color-input--size-xl[data-v-e752da15] {
33
- --_rp-color-input-height: var(--rp-size-control-xl);
34
- }
35
- html.dark .rp-color-input[data-v-e752da15], [data-rp-color-scheme=dark] .rp-color-input[data-v-e752da15] {
36
- --_rp-color-input-empty-tile: var(--rp-color-dark-6);
37
- --_rp-color-input-empty-tile-alt: var(--rp-color-dark-4);
38
- }
39
- .rp-color-input[data-v-e752da15] .rp-input {
40
- width: 100%;
41
- min-width: 180px;
42
- padding-inline-start: calc(var(--_rp-color-input-preview-inset) - var(--rp-border-width-thin));
43
- }
44
- .rp-color-input[data-v-e752da15] .rp-popover__content {
45
- min-width: auto;
46
- padding: var(--rp-spacing-3);
47
- padding-inline: calc(var(--_rp-color-input-preview-inset) - var(--rp-border-width-thin));
48
- }
49
- .rp-color-input[data-v-e752da15] .rp-color-picker {
50
- --_rp-color-picker-size: min(
51
- var(--_rp-color-picker-saturation-width),
52
- calc(100vw - var(--rp-spacing-12))
53
- );
54
- }
55
- .rp-color-input__preview[data-v-e752da15] {
56
- --_rp-color-swatch-radius: 50%;
57
- width: var(--_rp-color-input-preview-size);
58
- height: var(--_rp-color-input-preview-size);
59
- flex-shrink: 0;
60
- border-radius: 50%;
61
- pointer-events: none;
62
- }
63
- .rp-color-input__preview--empty[data-v-e752da15] {
64
- box-sizing: border-box;
65
- display: inline-flex;
66
- background: var(--_rp-color-input-empty-grid);
67
- background-size: calc(var(--_rp-color-input-preview-size) / 2) calc(var(--_rp-color-input-preview-size) / 2);
68
- border: var(--rp-border-width-thin) dashed var(--rp-color-control-border);
69
- }
70
- .rp-color-input__eye-dropper[data-v-e752da15] {
71
- padding: 0;
72
- font: inherit;
73
- background: none;
74
- border: none;
75
- cursor: pointer;
76
- display: inline-flex;
77
- align-items: center;
78
- justify-content: center;
79
- border-radius: var(--rp-radius-xs);
80
- color: var(--rp-color-control-icon);
81
- transition: color var(--rp-transition-fast), opacity var(--rp-transition-fast);
82
- }
83
- .rp-color-input__eye-dropper[data-v-e752da15]:hover:not(:disabled) {
84
- color: var(--rp-color-control-fg);
85
- }
86
- .rp-color-input__eye-dropper[data-v-e752da15]:focus-visible {
87
- outline: var(--rp-border-width-medium) solid var(--rp-color-focus-ring);
88
- outline-offset: 2px;
89
- }
90
- .rp-color-input__eye-dropper[data-v-e752da15]:disabled {
91
- cursor: not-allowed;
92
- opacity: var(--rp-opacity-disabled);
93
- }
94
- .rp-color-input__eye-dropper-icon[data-v-e752da15] {
95
- display: inline-flex;
96
- align-items: center;
97
- width: 1em;
98
- height: 1em;
99
- flex-shrink: 0;
100
- }
101
- .rp-color-input__eye-dropper-icon svg[data-v-e752da15] {
102
- width: 100%;
103
- height: 100%;
104
- }
105
- .rp-color-input__eye-dropper-icon[data-v-e752da15] > svg {
106
- width: 100%;
107
- height: 100%;
1
+ @layer ropav.components {
2
+ .rp-color-input[data-v-0c4e1f32] {
3
+ --_rp-color-input-height: var(--rp-size-control-md);
4
+ --_rp-color-input-preview-size: calc(var(--_rp-color-input-height) / 2);
5
+ --_rp-color-input-preview-inset: calc(
6
+ (var(--_rp-color-input-height) - var(--_rp-color-input-preview-size)) / 2
7
+ );
8
+ --_rp-color-input-empty-tile: var(--rp-color-gray-3);
9
+ --_rp-color-input-empty-tile-alt: var(--rp-color-white);
10
+ --_rp-color-input-empty-grid: conic-gradient(
11
+ var(--_rp-color-input-empty-tile) 25%,
12
+ var(--_rp-color-input-empty-tile-alt) 0 50%,
13
+ var(--_rp-color-input-empty-tile) 0 75%,
14
+ var(--_rp-color-input-empty-tile-alt) 0
15
+ );
16
+ display: inline-flex;
17
+ max-width: 100%;
18
+ font-family: var(--rp-font-family);
19
+ vertical-align: middle;
20
+ }
21
+ .rp-color-input--size-xs[data-v-0c4e1f32] {
22
+ --_rp-color-input-height: var(--rp-size-control-xs);
23
+ }
24
+ .rp-color-input--size-sm[data-v-0c4e1f32] {
25
+ --_rp-color-input-height: var(--rp-size-control-sm);
26
+ }
27
+ .rp-color-input--size-md[data-v-0c4e1f32] {
28
+ --_rp-color-input-height: var(--rp-size-control-md);
29
+ }
30
+ .rp-color-input--size-lg[data-v-0c4e1f32] {
31
+ --_rp-color-input-height: var(--rp-size-control-lg);
32
+ }
33
+ .rp-color-input--size-xl[data-v-0c4e1f32] {
34
+ --_rp-color-input-height: var(--rp-size-control-xl);
35
+ }
36
+ html.dark .rp-color-input[data-v-0c4e1f32], [data-rp-color-scheme=dark] .rp-color-input[data-v-0c4e1f32] {
37
+ --_rp-color-input-empty-tile: var(--rp-color-dark-6);
38
+ --_rp-color-input-empty-tile-alt: var(--rp-color-dark-4);
39
+ }
40
+ .rp-color-input[data-v-0c4e1f32] .rp-input {
41
+ width: 100%;
42
+ min-width: 180px;
43
+ padding-inline-start: calc(var(--_rp-color-input-preview-inset) - var(--rp-border-width-thin));
44
+ }
45
+ .rp-color-input[data-v-0c4e1f32] .rp-popover__content {
46
+ min-width: auto;
47
+ padding: var(--rp-spacing-3);
48
+ padding-inline: calc(var(--_rp-color-input-preview-inset) - var(--rp-border-width-thin));
49
+ }
50
+ .rp-color-input[data-v-0c4e1f32] .rp-color-picker {
51
+ --_rp-color-picker-size: min(
52
+ var(--_rp-color-picker-saturation-width),
53
+ calc(100vw - var(--rp-spacing-12))
54
+ );
55
+ }
56
+ .rp-color-input__preview[data-v-0c4e1f32] {
57
+ --_rp-color-swatch-radius: 50%;
58
+ width: var(--_rp-color-input-preview-size);
59
+ height: var(--_rp-color-input-preview-size);
60
+ flex-shrink: 0;
61
+ border-radius: 50%;
62
+ pointer-events: none;
63
+ }
64
+ .rp-color-input__preview--empty[data-v-0c4e1f32] {
65
+ box-sizing: border-box;
66
+ display: inline-flex;
67
+ background: var(--_rp-color-input-empty-grid);
68
+ background-size: calc(var(--_rp-color-input-preview-size) / 2) calc(var(--_rp-color-input-preview-size) / 2);
69
+ border: var(--rp-border-width-thin) dashed var(--rp-color-control-border);
70
+ }
71
+ .rp-color-input__eye-dropper[data-v-0c4e1f32] {
72
+ padding: 0;
73
+ font: inherit;
74
+ background: none;
75
+ border: none;
76
+ cursor: pointer;
77
+ display: inline-flex;
78
+ align-items: center;
79
+ justify-content: center;
80
+ border-radius: var(--rp-radius-xs);
81
+ color: var(--rp-color-control-icon);
82
+ transition: color var(--rp-transition-fast), opacity var(--rp-transition-fast);
83
+ }
84
+ .rp-color-input__eye-dropper[data-v-0c4e1f32]:hover:not(:disabled) {
85
+ color: var(--rp-color-control-fg);
86
+ }
87
+ .rp-color-input__eye-dropper[data-v-0c4e1f32]:focus-visible {
88
+ outline: var(--rp-border-width-medium) solid var(--rp-color-focus-ring);
89
+ outline-offset: 2px;
90
+ }
91
+ .rp-color-input__eye-dropper[data-v-0c4e1f32]:disabled {
92
+ cursor: not-allowed;
93
+ opacity: var(--rp-opacity-disabled);
94
+ }
95
+ .rp-color-input__eye-dropper-icon[data-v-0c4e1f32] {
96
+ display: inline-flex;
97
+ align-items: center;
98
+ width: 1em;
99
+ height: 1em;
100
+ flex-shrink: 0;
101
+ }
102
+ .rp-color-input__eye-dropper-icon svg[data-v-0c4e1f32] {
103
+ width: 100%;
104
+ height: 100%;
105
+ }
106
+ .rp-color-input__eye-dropper-icon[data-v-0c4e1f32] > svg {
107
+ width: 100%;
108
+ height: 100%;
109
+ }
110
+ .rp-popover__content.rp-color-input__popover {
111
+ --_rp-color-input-height: var(--rp-size-control-md);
112
+ --_rp-color-input-preview-size: calc(var(--_rp-color-input-height) / 2);
113
+ --_rp-color-input-preview-inset: calc(
114
+ (var(--_rp-color-input-height) - var(--_rp-color-input-preview-size)) / 2
115
+ );
116
+ min-width: auto;
117
+ padding: var(--rp-spacing-3);
118
+ padding-inline: calc(var(--_rp-color-input-preview-inset) - var(--rp-border-width-thin));
119
+ }
120
+ .rp-color-input__popover--size-xs {
121
+ --_rp-color-input-height: var(--rp-size-control-xs);
122
+ }
123
+ .rp-color-input__popover--size-sm {
124
+ --_rp-color-input-height: var(--rp-size-control-sm);
125
+ }
126
+ .rp-color-input__popover--size-lg {
127
+ --_rp-color-input-height: var(--rp-size-control-lg);
128
+ }
129
+ .rp-color-input__popover--size-xl {
130
+ --_rp-color-input-height: var(--rp-size-control-xl);
131
+ }
132
+ .rp-color-input__popover .rp-color-picker {
133
+ --_rp-color-picker-size: min(
134
+ var(--_rp-color-picker-saturation-width),
135
+ calc(100vw - var(--rp-spacing-12))
136
+ );
137
+ }
108
138
  }