ropav 0.0.7 → 0.0.9

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 (191) hide show
  1. package/dist/accordion.css +10 -10
  2. package/dist/accordion.js +2 -4
  3. package/dist/alert.css +109 -0
  4. package/dist/alert.js +168 -0
  5. package/dist/aspect-ratio.css +17 -0
  6. package/dist/aspect-ratio.js +26 -0
  7. package/dist/avatar.css +97 -0
  8. package/dist/avatar.js +161 -0
  9. package/dist/badge.css +40 -115
  10. package/dist/badge.js +19 -18
  11. package/dist/base.css +609 -180
  12. package/dist/bem.js +0 -2
  13. package/dist/button-group.js +0 -2
  14. package/dist/button-link.css +161 -0
  15. package/dist/button-link.js +108 -0
  16. package/dist/button.css +50 -229
  17. package/dist/button.js +7 -11
  18. package/dist/card.css +50 -30
  19. package/dist/card.js +69 -38
  20. package/dist/check.js +12 -0
  21. package/dist/checkbox.css +16 -57
  22. package/dist/checkbox.js +14 -33
  23. package/dist/collapse.css +8 -8
  24. package/dist/collapse.js +4 -10
  25. package/dist/color-input.css +108 -0
  26. package/dist/color-input.js +344 -0
  27. package/dist/color-picker.css +304 -0
  28. package/dist/color-picker.js +717 -0
  29. package/dist/color-picker2.js +18 -0
  30. package/dist/color-swatch.css +50 -0
  31. package/dist/color-swatch.js +73 -0
  32. package/dist/color.js +190 -0
  33. package/dist/componentColors.js +206 -15
  34. package/dist/components/alert/alert.d.ts +30 -0
  35. package/dist/components/alert/index.d.ts +3 -0
  36. package/dist/components/alert/index.js +2 -0
  37. package/dist/components/alert/types.d.ts +20 -0
  38. package/dist/components/alert/useAlertColor.d.ts +3 -0
  39. package/dist/components/aspect-ratio/aspect-ratio.d.ts +21 -0
  40. package/dist/components/aspect-ratio/index.d.ts +2 -0
  41. package/dist/components/aspect-ratio/index.js +2 -0
  42. package/dist/components/aspect-ratio/types.d.ts +3 -0
  43. package/dist/components/avatar/avatar.d.ts +24 -0
  44. package/dist/components/avatar/index.d.ts +3 -0
  45. package/dist/components/avatar/index.js +2 -0
  46. package/dist/components/avatar/types.d.ts +20 -0
  47. package/dist/components/avatar/useAvatarColor.d.ts +3 -0
  48. package/dist/components/badge/types.d.ts +2 -1
  49. package/dist/components/badge/useBadgeColor.d.ts +3 -8
  50. package/dist/components/button/types.d.ts +1 -0
  51. package/dist/components/button/useButtonColor.d.ts +3 -13
  52. package/dist/components/button-link/button-link.d.ts +27 -0
  53. package/dist/components/button-link/index.d.ts +2 -0
  54. package/dist/components/button-link/index.js +2 -0
  55. package/dist/components/button-link/types.d.ts +20 -0
  56. package/dist/components/card/card.d.ts +4 -0
  57. package/dist/components/card/types.d.ts +4 -0
  58. package/dist/components/checkbox/types.d.ts +1 -0
  59. package/dist/components/checkbox/useCheckbox.d.ts +2 -4
  60. package/dist/components/collapse/types.d.ts +0 -2
  61. package/dist/components/color-input/color-input.d.ts +29 -0
  62. package/dist/components/color-input/index.d.ts +2 -0
  63. package/dist/components/color-input/index.js +2 -0
  64. package/dist/components/color-input/types.d.ts +34 -0
  65. package/dist/components/color-input/useColorInput.d.ts +27 -0
  66. package/dist/components/color-input/useColorInputEyeDropper.d.ts +13 -0
  67. package/dist/components/color-input/useColorInputPopover.d.ts +11 -0
  68. package/dist/components/color-input/useColorInputValue.d.ts +8 -0
  69. package/dist/components/color-picker/color-picker-saturation.d.ts +21 -0
  70. package/dist/components/color-picker/color-picker-slider.d.ts +21 -0
  71. package/dist/components/color-picker/color-picker-utils.d.ts +23 -0
  72. package/dist/components/color-picker/color-picker.d.ts +23 -0
  73. package/dist/components/color-picker/index.d.ts +3 -0
  74. package/dist/components/color-picker/index.js +3 -0
  75. package/dist/components/color-picker/types.d.ts +39 -0
  76. package/dist/components/color-picker/useColorPickerDrag.d.ts +11 -0
  77. package/dist/components/color-picker/useColorPickerSwatches.d.ts +21 -0
  78. package/dist/components/color-picker/useColorPickerValue.d.ts +15 -0
  79. package/dist/components/color-swatch/color-swatch.d.ts +21 -0
  80. package/dist/components/color-swatch/index.d.ts +2 -0
  81. package/dist/components/color-swatch/index.js +2 -0
  82. package/dist/components/color-swatch/types.d.ts +6 -0
  83. package/dist/components/color-swatch/useColorSwatchColor.d.ts +5 -0
  84. package/dist/components/dropdown-menu/dropdown-menu.d.ts +2 -2
  85. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +1 -1
  86. package/dist/components/dropdown-menu/useDropdownMenuNavigation.d.ts +1 -1
  87. package/dist/components/dropdown-menu/useDropdownSubmenus.d.ts +1 -1
  88. package/dist/components/field/types.d.ts +0 -2
  89. package/dist/components/field/useField.d.ts +1 -2
  90. package/dist/components/icon-button/types.d.ts +1 -0
  91. package/dist/components/input/types.d.ts +3 -0
  92. package/dist/components/modal/types.d.ts +0 -1
  93. package/dist/components/number-input/index.d.ts +2 -0
  94. package/dist/components/number-input/index.js +2 -0
  95. package/dist/components/number-input/number-input.d.ts +29 -0
  96. package/dist/components/number-input/types.d.ts +34 -0
  97. package/dist/components/number-input/useNumberInput.d.ts +31 -0
  98. package/dist/components/popover/index.d.ts +1 -0
  99. package/dist/components/popover/index.js +2 -1
  100. package/dist/components/popover/types.d.ts +6 -2
  101. package/dist/components/popover/usePopover.d.ts +5 -2
  102. package/dist/components/progress/types.d.ts +1 -1
  103. package/dist/components/radio/types.d.ts +3 -0
  104. package/dist/components/radio/useRadio.d.ts +2 -4
  105. package/dist/components/select/index.d.ts +1 -1
  106. package/dist/components/select/types.d.ts +3 -0
  107. package/dist/components/slider/index.d.ts +2 -1
  108. package/dist/components/slider/index.js +2 -2
  109. package/dist/components/slider/range-slider.d.ts +45 -0
  110. package/dist/components/slider/types.d.ts +14 -2
  111. package/dist/components/slider/useRangeSlider.d.ts +59 -0
  112. package/dist/components/slider/useRangeSliderTooltipCollision.d.ts +7 -0
  113. package/dist/components/slider/useRangeSliderTooltipTransition.d.ts +4 -0
  114. package/dist/components/switch/useSwitch.d.ts +2 -3
  115. package/dist/components/tooltip/types.d.ts +1 -0
  116. package/dist/dropdown-menu.css +17 -17
  117. package/dist/dropdown-menu.js +0 -2
  118. package/dist/field.css +17 -17
  119. package/dist/field.js +56 -51
  120. package/dist/icon-button.css +57 -236
  121. package/dist/icon-button.js +5 -8
  122. package/dist/index.d.ts +8 -0
  123. package/dist/index.js +16 -4
  124. package/dist/input.css +40 -46
  125. package/dist/input.js +39 -23
  126. package/dist/minus.js +12 -0
  127. package/dist/modal.css +37 -37
  128. package/dist/modal.js +10 -16
  129. package/dist/number-input.css +86 -0
  130. package/dist/number-input.js +350 -0
  131. package/dist/overlay.css +5 -5
  132. package/dist/overlay.js +3 -5
  133. package/dist/popover.css +62 -29
  134. package/dist/popover.js +25 -12
  135. package/dist/popover2.js +17 -0
  136. package/dist/progress.css +9 -30
  137. package/dist/progress.js +3 -8
  138. package/dist/radio.css +34 -62
  139. package/dist/radio.js +28 -18
  140. package/dist/select.css +105 -61
  141. package/dist/select.js +12 -10
  142. package/dist/slider.css +508 -41
  143. package/dist/slider.js +1122 -50
  144. package/dist/switch.css +19 -44
  145. package/dist/switch.js +4 -7
  146. package/dist/tabs.css +36 -36
  147. package/dist/tabs.js +1 -3
  148. package/dist/textarea.css +33 -25
  149. package/dist/textarea.js +0 -2
  150. package/dist/tooltip.css +7 -35
  151. package/dist/tooltip.js +13 -10
  152. package/dist/useButtonColor.js +16 -16
  153. package/dist/useClickOutside.js +0 -2
  154. package/dist/useCollapse.js +1 -3
  155. package/dist/useControlState.js +0 -2
  156. package/dist/useRequiredInject.js +0 -2
  157. package/dist/x.js +0 -2
  158. package/package.json +43 -7
  159. package/src/styles/_mixins.scss +25 -41
  160. package/src/styles/_tokens.scss +615 -182
  161. package/src/styles/_variables.scss +177 -49
  162. package/dist/accordion.js.map +0 -1
  163. package/dist/badge.js.map +0 -1
  164. package/dist/bem.js.map +0 -1
  165. package/dist/button-group.js.map +0 -1
  166. package/dist/button.js.map +0 -1
  167. package/dist/card.js.map +0 -1
  168. package/dist/checkbox.js.map +0 -1
  169. package/dist/collapse.js.map +0 -1
  170. package/dist/componentColors.js.map +0 -1
  171. package/dist/dropdown-menu.js.map +0 -1
  172. package/dist/field.js.map +0 -1
  173. package/dist/icon-button.js.map +0 -1
  174. package/dist/input.js.map +0 -1
  175. package/dist/modal.js.map +0 -1
  176. package/dist/overlay.js.map +0 -1
  177. package/dist/popover.js.map +0 -1
  178. package/dist/progress.js.map +0 -1
  179. package/dist/radio.js.map +0 -1
  180. package/dist/select.js.map +0 -1
  181. package/dist/slider.js.map +0 -1
  182. package/dist/switch.js.map +0 -1
  183. package/dist/tabs.js.map +0 -1
  184. package/dist/textarea.js.map +0 -1
  185. package/dist/tooltip.js.map +0 -1
  186. package/dist/useButtonColor.js.map +0 -1
  187. package/dist/useClickOutside.js.map +0 -1
  188. package/dist/useCollapse.js.map +0 -1
  189. package/dist/useControlState.js.map +0 -1
  190. package/dist/useRequiredInject.js.map +0 -1
  191. package/dist/x.js.map +0 -1
package/dist/button.js CHANGED
@@ -1,14 +1,13 @@
1
1
  import './button.css';
2
2
  import { t as bem } from "./bem.js";
3
3
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
4
- import { r as isComponentPresetColor } from "./componentColors.js";
5
4
  import { n as loader_circle_default, t as getButtonColorStyle } from "./useButtonColor.js";
6
5
  import { child, computed, createComponent, createIf, createSlot, defineVaporComponent, renderEffect, setAttr, setClass, setInsertionState, setProp, setStyle, template, unref } from "vue";
7
6
  //#region src/components/button/button.vue?vue&type=script&setup=true&vapor=true&lang.ts
8
- var t0 = template("<span data-v-4a751fe6 class=rp-button__loading aria-hidden=true>");
9
- var t1 = template("<span data-v-4a751fe6 class=rp-button__left>");
10
- var t2 = template("<span data-v-4a751fe6 class=rp-button__right>");
11
- var t3 = template("<button data-v-4a751fe6><span data-v-4a751fe6 class=rp-button__content><span data-v-4a751fe6 class=rp-button__label></span>", 1);
7
+ var t0 = template("<span data-v-3d7e4305 class=rp-button__loading aria-hidden=true>");
8
+ var t1 = template("<span data-v-3d7e4305 class=rp-button__left>");
9
+ var t2 = template("<span data-v-3d7e4305 class=rp-button__right>");
10
+ var t3 = template("<button data-v-3d7e4305><span data-v-3d7e4305 class=rp-button__content><span data-v-3d7e4305 class=rp-button__label></span>", 1);
12
11
  //#endregion
13
12
  //#region src/components/button/button.vue
14
13
  var button_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
@@ -17,6 +16,7 @@ var button_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
17
16
  props: {
18
17
  variant: {},
19
18
  color: {},
19
+ autoContrast: { type: Boolean },
20
20
  size: {},
21
21
  radius: {},
22
22
  type: { default: "button" },
@@ -33,12 +33,11 @@ var button_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
33
33
  const props = __props;
34
34
  const rootClass = computed(() => bem("rp-button", {
35
35
  [props.variant ?? ""]: Boolean(props.variant),
36
- [`color-${props.color}`]: isComponentPresetColor(props.color),
37
36
  [`size-${props.size}`]: Boolean(props.size),
38
37
  [`radius-${props.radius}`]: Boolean(props.radius),
39
38
  loading: props.loading
40
39
  }));
41
- const rootStyle = computed(() => getButtonColorStyle(props.color));
40
+ const rootStyle = computed(() => getButtonColorStyle(props.color, props.variant, props.autoContrast));
42
41
  const n17 = t3();
43
42
  const n16 = child(n17, 1);
44
43
  const n11 = child(n16, 1);
@@ -59,7 +58,6 @@ var button_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
59
58
  }, 1);
60
59
  return n5;
61
60
  });
62
- renderEffect(() => setAttr(n16, "aria-hidden", __props.loading || void 0));
63
61
  setInsertionState(n16, 0, 0);
64
62
  createIf(() => $slots.left, () => {
65
63
  const n9 = t1();
@@ -78,8 +76,6 @@ var button_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
78
76
  });
79
77
  return n17;
80
78
  }
81
- }), [["__scopeId", "data-v-4a751fe6"]]);
79
+ }), [["__scopeId", "data-v-3d7e4305"]]);
82
80
  //#endregion
83
81
  export { button_default as t };
84
-
85
- //# sourceMappingURL=button.js.map
package/dist/card.css CHANGED
@@ -1,7 +1,9 @@
1
- .rp-card[data-v-c3ae62b7] {
2
- --_rp-card-bg: var(--rp-color-surface-raised);
3
- --_rp-card-border: var(--rp-color-border);
1
+ .rp-card[data-v-269e2bc4] {
2
+ --_rp-card-bg: var(--rp-color-default);
3
+ --_rp-card-border: var(--rp-color-default-border);
4
4
  --_rp-card-fg: var(--rp-color-text);
5
+ --_rp-card-header-border: var(--rp-color-default-border);
6
+ --_rp-card-footer-border: var(--rp-color-default-border);
5
7
  --_rp-card-padding: var(--rp-spacing-5);
6
8
  --_rp-card-radius: var(--rp-radius-sm);
7
9
  box-sizing: border-box;
@@ -16,73 +18,91 @@
16
18
  border-radius: var(--_rp-card-radius);
17
19
  transition: background-color var(--rp-transition-fast), border-color var(--rp-transition-fast);
18
20
  }
19
- .rp-card--layer-base[data-v-c3ae62b7] {
20
- --_rp-card-bg: var(--rp-color-background);
21
+ .rp-card--layer-base[data-v-269e2bc4] {
22
+ --_rp-card-bg: var(--rp-color-body);
21
23
  }
22
- .rp-card--layer-surface[data-v-c3ae62b7] {
23
- --_rp-card-bg: var(--rp-color-surface);
24
+ .rp-card--layer-surface[data-v-269e2bc4] {
25
+ --_rp-card-bg: var(--rp-color-default);
24
26
  }
25
- .rp-card--layer-raised[data-v-c3ae62b7] {
26
- --_rp-card-bg: var(--rp-color-surface-raised);
27
+ .rp-card--layer-raised[data-v-269e2bc4] {
28
+ --_rp-card-bg: var(--rp-color-default);
27
29
  }
28
- .rp-card--borderless[data-v-c3ae62b7] {
30
+ .rp-card--borderless[data-v-269e2bc4] {
29
31
  --_rp-card-border: transparent;
30
32
  }
31
- .rp-card--padding-none[data-v-c3ae62b7] {
33
+ .rp-card--header-bordered .rp-card__header[data-v-269e2bc4] {
34
+ border-bottom: var(--rp-border-width-thin) solid var(--_rp-card-header-border);
35
+ }
36
+ .rp-card--footer-bordered .rp-card__footer[data-v-269e2bc4] {
37
+ border-top: var(--rp-border-width-thin) solid var(--_rp-card-footer-border);
38
+ }
39
+ .rp-card--header-compact .rp-card__header[data-v-269e2bc4] {
40
+ padding-block-end: calc(var(--_rp-card-padding) / 2);
41
+ }
42
+ .rp-card--header-compact .rp-card__body[data-v-269e2bc4] {
43
+ padding-block-start: calc(var(--_rp-card-padding) / 2);
44
+ }
45
+ .rp-card--footer-compact .rp-card__body[data-v-269e2bc4] {
46
+ padding-block-end: calc(var(--_rp-card-padding) / 2);
47
+ }
48
+ .rp-card--footer-compact .rp-card__footer[data-v-269e2bc4] {
49
+ padding-block-start: calc(var(--_rp-card-padding) / 2);
50
+ }
51
+ .rp-card--padding-none[data-v-269e2bc4] {
32
52
  --_rp-card-padding: var(--rp-spacing-0);
33
53
  }
34
- .rp-card--padding-sm[data-v-c3ae62b7] {
54
+ .rp-card--padding-sm[data-v-269e2bc4] {
35
55
  --_rp-card-padding: var(--rp-spacing-3);
36
56
  }
37
- .rp-card--padding-md[data-v-c3ae62b7] {
57
+ .rp-card--padding-md[data-v-269e2bc4] {
38
58
  --_rp-card-padding: var(--rp-spacing-5);
39
59
  }
40
- .rp-card--padding-lg[data-v-c3ae62b7] {
60
+ .rp-card--padding-lg[data-v-269e2bc4] {
41
61
  --_rp-card-padding: var(--rp-spacing-6);
42
62
  }
43
- .rp-card--radius-none[data-v-c3ae62b7] {
63
+ .rp-card--radius-none[data-v-269e2bc4] {
44
64
  --_rp-card-radius: var(--rp-radius-none);
45
65
  }
46
- .rp-card--radius-xs[data-v-c3ae62b7] {
66
+ .rp-card--radius-xs[data-v-269e2bc4] {
47
67
  --_rp-card-radius: var(--rp-radius-xs);
48
68
  }
49
- .rp-card--radius-sm[data-v-c3ae62b7] {
69
+ .rp-card--radius-sm[data-v-269e2bc4] {
50
70
  --_rp-card-radius: var(--rp-radius-sm);
51
71
  }
52
- .rp-card--radius-md[data-v-c3ae62b7] {
72
+ .rp-card--radius-md[data-v-269e2bc4] {
53
73
  --_rp-card-radius: var(--rp-radius-md);
54
74
  }
55
- .rp-card--radius-lg[data-v-c3ae62b7] {
75
+ .rp-card--radius-lg[data-v-269e2bc4] {
56
76
  --_rp-card-radius: var(--rp-radius-lg);
57
77
  }
58
- .rp-card--radius-xl[data-v-c3ae62b7] {
78
+ .rp-card--radius-xl[data-v-269e2bc4] {
59
79
  --_rp-card-radius: var(--rp-radius-xl);
60
80
  }
61
- .rp-card__header[data-v-c3ae62b7], .rp-card__body[data-v-c3ae62b7] {
81
+ .rp-card__header[data-v-269e2bc4], .rp-card__body[data-v-269e2bc4], .rp-card__footer[data-v-269e2bc4] {
62
82
  box-sizing: border-box;
63
83
  padding: var(--_rp-card-padding);
64
84
  }
65
- .rp-card__header[data-v-c3ae62b7] {
85
+ .rp-card__header[data-v-269e2bc4], .rp-card__footer[data-v-269e2bc4] {
66
86
  display: grid;
67
87
  gap: var(--rp-spacing-1);
68
88
  }
69
- .rp-card__body[data-v-c3ae62b7] {
89
+ .rp-card__body[data-v-269e2bc4] {
70
90
  flex: 1 1 auto;
71
91
  min-width: 0;
72
92
  color: var(--rp-color-text);
73
- font-size: var(--rp-font-size-base);
74
- line-height: var(--rp-line-height-normal);
93
+ font-size: var(--rp-font-size-md);
94
+ line-height: var(--rp-line-height-md);
75
95
  }
76
- .rp-card__title[data-v-c3ae62b7] {
96
+ .rp-card__title[data-v-269e2bc4] {
77
97
  margin: 0;
78
98
  color: var(--rp-color-text);
79
99
  font-size: var(--rp-font-size-lg);
80
100
  font-weight: var(--rp-font-weight-semibold);
81
- line-height: var(--rp-line-height-tight);
101
+ line-height: var(--rp-line-height-xs);
82
102
  }
83
- .rp-card__description[data-v-c3ae62b7] {
103
+ .rp-card__description[data-v-269e2bc4] {
84
104
  margin: 0;
85
- color: var(--rp-color-text-secondary);
105
+ color: var(--rp-color-dimmed);
86
106
  font-size: var(--rp-font-size-sm);
87
- line-height: var(--rp-line-height-normal);
107
+ line-height: var(--rp-line-height-md);
88
108
  }
package/dist/card.js CHANGED
@@ -1,13 +1,14 @@
1
1
  import './card.css';
2
2
  import { t as bem } from "./bem.js";
3
3
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
4
- import { computed, createIf, createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, setText, template, toDisplayString, txt } from "vue";
4
+ import { computed, createIf, createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, setText, template, toDisplayString, txt, useSlots } from "vue";
5
5
  //#region src/components/card/card.vue?vue&type=script&setup=true&vapor=true&lang.ts
6
- var t0 = template("<div data-v-c3ae62b7 class=rp-card__title> ");
7
- var t1 = template("<p data-v-c3ae62b7 class=rp-card__description> ");
8
- var t2 = template("<div data-v-c3ae62b7 class=rp-card__header>");
9
- var t3 = template("<div data-v-c3ae62b7 class=rp-card__body>");
10
- var t4 = template("<div data-v-c3ae62b7>", 1);
6
+ var t0 = template("<div data-v-269e2bc4 class=rp-card__title> ");
7
+ var t1 = template("<p data-v-269e2bc4 class=rp-card__description> ");
8
+ var t2 = template("<div data-v-269e2bc4 class=rp-card__header>");
9
+ var t3 = template("<div data-v-269e2bc4>");
10
+ var t4 = template("<div data-v-269e2bc4 class=rp-card__footer>");
11
+ var t5 = template("<div data-v-269e2bc4>", 1);
11
12
  //#endregion
12
13
  //#region src/components/card/card.vue
13
14
  var card_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
@@ -21,52 +22,82 @@ var card_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
21
22
  type: Boolean,
22
23
  default: true
23
24
  },
25
+ headerBorder: {
26
+ type: Boolean,
27
+ default: false
28
+ },
29
+ footerBorder: {
30
+ type: Boolean,
31
+ default: false
32
+ },
24
33
  title: { default: "" },
25
- description: { default: "" }
34
+ description: { default: "" },
35
+ bodyClass: { type: [
36
+ Boolean,
37
+ null,
38
+ String,
39
+ Object,
40
+ Array
41
+ ] }
26
42
  },
27
- setup(__props, { slots: $slots }) {
43
+ setup(__props) {
28
44
  const props = __props;
45
+ const slots = useSlots();
29
46
  const hasTitle = computed(() => Boolean(props.title));
30
47
  const hasDescription = computed(() => Boolean(props.description));
31
- const hasHeader = computed(() => Boolean(hasTitle.value || hasDescription.value));
48
+ const hasHeader = computed(() => Boolean(slots.header || hasTitle.value || hasDescription.value));
49
+ const hasBody = computed(() => Boolean(slots.default));
50
+ const hasFooter = computed(() => Boolean(slots.footer));
51
+ const hasCompactHeaderSpacing = computed(() => Boolean(hasHeader.value && hasBody.value && !props.headerBorder));
52
+ const hasCompactFooterSpacing = computed(() => Boolean(hasFooter.value && hasBody.value && !props.footerBorder));
32
53
  const rootClass = computed(() => bem("rp-card", {
33
54
  [`layer-${props.layer}`]: Boolean(props.layer),
34
55
  [`padding-${props.padding}`]: Boolean(props.padding),
35
56
  [`radius-${props.radius}`]: Boolean(props.radius),
36
- borderless: !props.border
57
+ borderless: !props.border,
58
+ "header-bordered": props.headerBorder,
59
+ "header-compact": hasCompactHeaderSpacing.value,
60
+ "footer-bordered": props.footerBorder,
61
+ "footer-compact": hasCompactFooterSpacing.value
37
62
  }));
38
- const n13 = t4();
39
- renderEffect(() => setClass(n13, rootClass.value));
40
- setInsertionState(n13, null, 0);
63
+ const n19 = t5();
64
+ renderEffect(() => setClass(n19, rootClass.value));
65
+ setInsertionState(n19, null, 0);
41
66
  createIf(() => hasHeader.value, () => {
42
- const n8 = t2();
43
- setInsertionState(n8, null, 0);
44
- createIf(() => hasTitle.value, () => {
45
- const n4 = t0();
46
- const x4 = txt(n4);
47
- renderEffect(() => setText(x4, toDisplayString(__props.title)));
48
- return n4;
49
- });
50
- setInsertionState(n8, null, 1);
51
- createIf(() => hasDescription.value, () => {
52
- const n7 = t1();
53
- const x7 = txt(n7);
54
- renderEffect(() => setText(x7, toDisplayString(__props.description)));
55
- return n7;
56
- });
57
- return n8;
67
+ const n10 = t2();
68
+ setInsertionState(n10, null, 0);
69
+ createSlot("header", null, () => {
70
+ return [createIf(() => hasTitle.value, () => {
71
+ const n6 = t0();
72
+ const x6 = txt(n6);
73
+ renderEffect(() => setText(x6, toDisplayString(__props.title)));
74
+ return n6;
75
+ }), createIf(() => hasDescription.value, () => {
76
+ const n9 = t1();
77
+ const x9 = txt(n9);
78
+ renderEffect(() => setText(x9, toDisplayString(__props.description)));
79
+ return n9;
80
+ })];
81
+ }, 1);
82
+ return n10;
58
83
  });
59
- setInsertionState(n13, null, 1);
60
- createIf(() => $slots.default, () => {
61
- const n12 = t3();
62
- setInsertionState(n12, null, 0);
84
+ setInsertionState(n19, null, 1);
85
+ createIf(() => hasBody.value, () => {
86
+ const n14 = t3();
87
+ renderEffect(() => setClass(n14, ["rp-card__body", __props.bodyClass]));
88
+ setInsertionState(n14, null, 0);
63
89
  createSlot("default", null, null, 1);
64
- return n12;
90
+ return n14;
91
+ });
92
+ setInsertionState(n19, null, 2);
93
+ createIf(() => hasFooter.value, () => {
94
+ const n18 = t4();
95
+ setInsertionState(n18, null, 0);
96
+ createSlot("footer", null, null, 1);
97
+ return n18;
65
98
  });
66
- return n13;
99
+ return n19;
67
100
  }
68
- }), [["__scopeId", "data-v-c3ae62b7"]]);
101
+ }), [["__scopeId", "data-v-269e2bc4"]]);
69
102
  //#endregion
70
103
  export { card_default as t };
71
-
72
- //# sourceMappingURL=card.js.map
package/dist/check.js ADDED
@@ -0,0 +1,12 @@
1
+ import { defineVaporComponent, markRaw, template } from "vue";
2
+ //#region ~icons/lucide/check
3
+ var t0 = 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=\"M20 6L9 17l-5-5\">", 3, 1);
4
+ function render(_ctx) {
5
+ return t0();
6
+ }
7
+ var check_default = markRaw(defineVaporComponent({
8
+ name: "lucide-check",
9
+ render
10
+ }));
11
+ //#endregion
12
+ export { check_default as t };
package/dist/checkbox.css CHANGED
@@ -1,18 +1,14 @@
1
1
  .rp-checkbox[data-v-8af73824] {
2
- --_rp-checkbox-color: var(--_rp-checkbox-custom-color, var(--rp-color-control-selected-bg));
3
- --_rp-checkbox-on-color: var(
4
- --_rp-checkbox-custom-on-color,
5
- var(--rp-color-control-selected-fg)
6
- );
7
- --_rp-checkbox-size: 18px;
8
- --_rp-checkbox-icon-size: 14px;
9
- --_rp-checkbox-font-size: var(--rp-font-size-base);
2
+ --_rp-checkbox-color: var(--rp-color-control-selected-bg);
3
+ --_rp-checkbox-on-color: var(--rp-color-control-selected-fg);
4
+ --_rp-checkbox-size: 24px;
5
+ --_rp-checkbox-font-size: var(--rp-font-size-md);
10
6
  --_rp-checkbox-radius: 4px;
11
7
  --_rp-checkbox-checked-bg: var(--_rp-checkbox-color);
12
8
  --_rp-checkbox-checked-border: var(--_rp-checkbox-color);
13
9
  --_rp-checkbox-checked-icon: var(--_rp-checkbox-on-color);
14
- --_rp-checkbox-invalid-border: var(--rp-color-danger);
15
- --_rp-checkbox-invalid-ring: color-mix(in srgb, var(--rp-color-danger) 32%, transparent);
10
+ --_rp-checkbox-invalid-border: var(--rp-color-red-filled);
11
+ --_rp-checkbox-invalid-ring: color-mix(in srgb, var(--rp-color-red-filled) 32%, transparent);
16
12
  display: inline-flex;
17
13
  align-items: center;
18
14
  cursor: pointer;
@@ -20,10 +16,6 @@
20
16
  user-select: none;
21
17
  vertical-align: top;
22
18
  }
23
- html.dark .rp-checkbox[data-v-8af73824] {
24
- --_rp-checkbox-invalid-border: var(--rp-color-danger-fg);
25
- --_rp-checkbox-invalid-ring: color-mix(in srgb, var(--rp-color-danger-fg) 32%, transparent);
26
- }
27
19
  .rp-checkbox--disabled[data-v-8af73824] {
28
20
  opacity: var(--rp-opacity-disabled);
29
21
  cursor: not-allowed;
@@ -45,7 +37,7 @@ html.dark .rp-checkbox[data-v-8af73824] {
45
37
  pointer-events: none;
46
38
  }
47
39
  .rp-checkbox__native:focus-visible + .rp-checkbox__box[data-v-8af73824] {
48
- border-color: var(--rp-color-primary);
40
+ border-color: var(--rp-color-control-border-focus);
49
41
  box-shadow: 0 0 0 var(--rp-border-width-medium) var(--rp-color-focus-ring);
50
42
  }
51
43
  .rp-checkbox__box[data-v-8af73824] {
@@ -72,8 +64,8 @@ html.dark .rp-checkbox[data-v-8af73824] {
72
64
  box-shadow: 0 0 0 var(--rp-border-width-medium) var(--_rp-checkbox-invalid-ring);
73
65
  }
74
66
  .rp-checkbox__icon[data-v-8af73824] {
75
- width: var(--_rp-checkbox-icon-size);
76
- height: var(--_rp-checkbox-icon-size);
67
+ width: 60%;
68
+ height: 60%;
77
69
  color: var(--_rp-checkbox-checked-icon);
78
70
  transform-origin: center;
79
71
  }
@@ -81,65 +73,32 @@ html.dark .rp-checkbox[data-v-8af73824] {
81
73
  stroke-width: 3;
82
74
  }
83
75
  .rp-checkbox__label[data-v-8af73824] {
84
- line-height: var(--rp-line-height-normal);
76
+ line-height: var(--rp-line-height-md);
85
77
  color: var(--rp-color-text);
86
78
  }
87
- .rp-checkbox--color-primary[data-v-8af73824] {
88
- --_rp-checkbox-color: var(--rp-color-primary);
89
- --_rp-checkbox-on-color: var(--rp-color-on-primary);
90
- }
91
- .rp-checkbox--color-secondary[data-v-8af73824] {
92
- --_rp-checkbox-color: var(--rp-color-secondary);
93
- --_rp-checkbox-on-color: var(--rp-color-on-secondary);
94
- }
95
- .rp-checkbox--color-success[data-v-8af73824] {
96
- --_rp-checkbox-color: var(--rp-color-success);
97
- --_rp-checkbox-on-color: var(--rp-color-on-success);
98
- }
99
- .rp-checkbox--color-warning[data-v-8af73824] {
100
- --_rp-checkbox-color: var(--rp-color-warning);
101
- --_rp-checkbox-on-color: var(--rp-color-on-warning);
102
- }
103
- .rp-checkbox--color-danger[data-v-8af73824] {
104
- --_rp-checkbox-color: var(--rp-color-danger);
105
- --_rp-checkbox-on-color: var(--rp-color-on-danger);
106
- }
107
- .rp-checkbox--color-info[data-v-8af73824] {
108
- --_rp-checkbox-color: var(--rp-color-info);
109
- --_rp-checkbox-on-color: var(--rp-color-on-info);
110
- }
111
- .rp-checkbox--color-neutral[data-v-8af73824] {
112
- --_rp-checkbox-color: var(--rp-color-neutral);
113
- --_rp-checkbox-on-color: var(--rp-color-on-neutral);
114
- }
115
79
  .rp-checkbox--outline[data-v-8af73824] {
116
80
  --_rp-checkbox-checked-bg: var(--rp-color-control-bg);
117
81
  --_rp-checkbox-checked-border: var(--_rp-checkbox-color);
118
82
  --_rp-checkbox-checked-icon: var(--_rp-checkbox-color);
119
83
  }
120
84
  .rp-checkbox--size-xs[data-v-8af73824] {
121
- --_rp-checkbox-size: 14px;
122
- --_rp-checkbox-icon-size: 10px;
85
+ --_rp-checkbox-size: 16px;
123
86
  --_rp-checkbox-font-size: var(--rp-font-size-xs);
124
87
  }
125
88
  .rp-checkbox--size-sm[data-v-8af73824] {
126
- --_rp-checkbox-size: 16px;
127
- --_rp-checkbox-icon-size: 12px;
89
+ --_rp-checkbox-size: 20px;
128
90
  --_rp-checkbox-font-size: var(--rp-font-size-sm);
129
91
  }
130
92
  .rp-checkbox--size-md[data-v-8af73824] {
131
- --_rp-checkbox-size: 18px;
132
- --_rp-checkbox-icon-size: 14px;
133
- --_rp-checkbox-font-size: var(--rp-font-size-base);
93
+ --_rp-checkbox-size: 24px;
94
+ --_rp-checkbox-font-size: var(--rp-font-size-md);
134
95
  }
135
96
  .rp-checkbox--size-lg[data-v-8af73824] {
136
- --_rp-checkbox-size: 22px;
137
- --_rp-checkbox-icon-size: 16px;
97
+ --_rp-checkbox-size: 30px;
138
98
  --_rp-checkbox-font-size: var(--rp-font-size-lg);
139
99
  }
140
100
  .rp-checkbox--size-xl[data-v-8af73824] {
141
- --_rp-checkbox-size: 26px;
142
- --_rp-checkbox-icon-size: 20px;
101
+ --_rp-checkbox-size: 36px;
143
102
  --_rp-checkbox-font-size: var(--rp-font-size-xl);
144
103
  }
145
104
  .rp-checkbox--radius-xs[data-v-8af73824] {
package/dist/checkbox.js CHANGED
@@ -1,37 +1,20 @@
1
1
  import './checkbox.css';
2
2
  import { t as bem } from "./bem.js";
3
+ import { n as getComponentColorValue, r as getComponentContrastColor } from "./componentColors.js";
3
4
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
4
- import { n as getComponentCustomColor, r as isComponentPresetColor } from "./componentColors.js";
5
+ import { t as check_default } from "./check.js";
6
+ import { t as minus_default } from "./minus.js";
5
7
  import { t as useControlState } from "./useControlState.js";
6
- import { VaporTransition, child, computed, createComponent, createIf, createSlot, defineVaporComponent, extend, markRaw, next, on, renderEffect, setAttr, setBlockKey, setClass, setInsertionState, setProp, setStyle, template, unref } from "vue";
7
- //#region ~icons/lucide/check
8
- var t0$2 = 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=\"M20 6L9 17l-5-5\">", 3, 1);
9
- function render$1(_ctx) {
10
- return t0$2();
11
- }
12
- var check_default = markRaw(defineVaporComponent({
13
- name: "lucide-check",
14
- render: render$1
15
- }));
16
- //#endregion
17
- //#region ~icons/lucide/minus
18
- 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=\"M5 12h14\">", 3, 1);
19
- function render(_ctx) {
20
- return t0$1();
21
- }
22
- var minus_default = markRaw(defineVaporComponent({
23
- name: "lucide-minus",
24
- render
25
- }));
26
- //#endregion
8
+ import { VaporTransition, child, computed, createComponent, createIf, createSlot, defineVaporComponent, extend, next, on, renderEffect, setAttr, setBlockKey, setClass, setInsertionState, setProp, setStyle, template, unref } from "vue";
27
9
  //#region src/components/checkbox/useCheckbox.ts
28
- function getCheckboxColorStyle(color) {
29
- const customColor = getComponentCustomColor(color);
30
- if (!customColor) return void 0;
31
- return {
32
- "--_rp-checkbox-custom-color": customColor,
33
- "--_rp-checkbox-custom-on-color": "var(--rp-color-on-primary)"
34
- };
10
+ function getCheckboxColorStyle(color, autoContrast) {
11
+ const colorValue = getComponentColorValue(color);
12
+ if (color && !colorValue) return void 0;
13
+ if (!colorValue && !autoContrast) return void 0;
14
+ const style = {};
15
+ if (colorValue) style["--_rp-checkbox-color"] = colorValue;
16
+ if (autoContrast) style["--_rp-checkbox-on-color"] = getComponentContrastColor(color ?? "primary", { autoContrast });
17
+ return style;
35
18
  }
36
19
  function useCheckbox(props, emitUpdate) {
37
20
  const control = useControlState(props);
@@ -41,11 +24,10 @@ function useCheckbox(props, emitUpdate) {
41
24
  disabled: control.disabled,
42
25
  invalid: control.invalid,
43
26
  [props.variant ?? ""]: Boolean(props.variant),
44
- [`color-${props.color}`]: isComponentPresetColor(props.color),
45
27
  [`size-${props.size}`]: Boolean(props.size),
46
28
  [`radius-${props.radius}`]: Boolean(props.radius)
47
29
  }));
48
- const rootStyle = computed(() => getCheckboxColorStyle(props.color));
30
+ const rootStyle = computed(() => getCheckboxColorStyle(props.color, props.autoContrast));
49
31
  function onChange(e) {
50
32
  emitUpdate(e.target.checked);
51
33
  }
@@ -71,6 +53,7 @@ var checkbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
71
53
  modelValue: { type: Boolean },
72
54
  variant: {},
73
55
  color: {},
56
+ autoContrast: { type: Boolean },
74
57
  size: {},
75
58
  radius: {},
76
59
  disabled: {
@@ -154,5 +137,3 @@ var checkbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
154
137
  }), [["__scopeId", "data-v-8af73824"]]);
155
138
  //#endregion
156
139
  export { checkbox_default as t };
157
-
158
- //# sourceMappingURL=checkbox.js.map
package/dist/collapse.css CHANGED
@@ -1,32 +1,32 @@
1
- .rp-collapse[data-v-f5b999da] {
1
+ .rp-collapse[data-v-a78ac964] {
2
2
  --_rp-collapse-duration: var(--rp-transition-fast);
3
3
  display: block;
4
4
  min-width: 0;
5
5
  font-family: var(--rp-font-family);
6
6
  color: var(--rp-color-text);
7
7
  }
8
- .rp-collapse--disabled[data-v-f5b999da] {
8
+ .rp-collapse--disabled[data-v-a78ac964] {
9
9
  opacity: var(--rp-opacity-disabled);
10
10
  cursor: not-allowed;
11
11
  }
12
- .rp-collapse__content[data-v-f5b999da] {
12
+ .rp-collapse__content[data-v-a78ac964] {
13
13
  box-sizing: border-box;
14
14
  display: grid;
15
15
  min-width: 0;
16
16
  overflow: hidden;
17
17
  color: var(--rp-color-text);
18
- font-size: var(--rp-font-size-base);
19
- line-height: var(--rp-line-height-normal);
18
+ font-size: var(--rp-font-size-md);
19
+ line-height: var(--rp-line-height-md);
20
20
  grid-template-rows: 1fr;
21
21
  transition: grid-template-rows var(--_rp-collapse-duration), opacity var(--_rp-collapse-duration);
22
22
  }
23
- .rp-collapse__inner[data-v-f5b999da] {
23
+ .rp-collapse__inner[data-v-a78ac964] {
24
24
  min-height: 0;
25
25
  min-width: 0;
26
26
  overflow: hidden;
27
27
  }
28
- .rp-collapse-content-enter-from[data-v-f5b999da],
29
- .rp-collapse-content-leave-to[data-v-f5b999da] {
28
+ .rp-collapse-content-enter-from[data-v-a78ac964],
29
+ .rp-collapse-content-leave-to[data-v-a78ac964] {
30
30
  opacity: 0;
31
31
  grid-template-rows: 0fr;
32
32
  }
package/dist/collapse.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import './collapse.css';
2
- import { t as useCollapse } from "./useCollapse.js";
3
2
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
3
+ import { t as useCollapse } from "./useCollapse.js";
4
4
  import { VaporTransition, applyVShow, child, createComponent, createIf, createSlot, defineVaporComponent, extend, renderEffect, setDynamicProps, setInsertionState, template, unref } from "vue";
5
5
  //#region src/components/collapse/collapse.vue?vue&type=script&setup=true&vapor=true&lang.ts
6
- var t0 = template("<section data-v-f5b999da><div data-v-f5b999da class=rp-collapse__inner>");
7
- var t1 = template("<div data-v-f5b999da>", 1);
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);
8
8
  //#endregion
9
9
  //#region src/components/collapse/collapse.vue
10
10
  var collapse_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
@@ -16,10 +16,6 @@ var collapse_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
16
16
  type: Boolean,
17
17
  default: void 0
18
18
  },
19
- defaultOpen: {
20
- type: Boolean,
21
- default: false
22
- },
23
19
  disabled: {
24
20
  type: Boolean,
25
21
  default: false
@@ -61,8 +57,6 @@ var collapse_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
61
57
  }, { _: 8 }));
62
58
  return n7;
63
59
  }
64
- }), [["__scopeId", "data-v-f5b999da"]]);
60
+ }), [["__scopeId", "data-v-a78ac964"]]);
65
61
  //#endregion
66
62
  export { collapse_default as t };
67
-
68
- //# sourceMappingURL=collapse.js.map