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
@@ -899,5 +899,3 @@ var dropdown_menu_default = /* @__PURE__ */ defineVaporComponent({
899
899
  });
900
900
  //#endregion
901
901
  export { useDropdownMenu as n, dropdown_menu_default as t };
902
-
903
- //# sourceMappingURL=dropdown-menu.js.map
package/dist/field.css CHANGED
@@ -1,15 +1,15 @@
1
- .rp-field[data-v-50e7f3a5] {
2
- --_rp-field-danger: var(--rp-color-danger);
1
+ .rp-field[data-v-f9e37351] {
2
+ --_rp-field-danger: var(--rp-color-red-filled);
3
3
  display: grid;
4
4
  gap: var(--rp-spacing-1);
5
5
  min-width: 0;
6
6
  font-family: var(--rp-font-family);
7
7
  color: var(--rp-color-text);
8
8
  }
9
- html.dark .rp-field[data-v-50e7f3a5] {
10
- --_rp-field-danger: var(--rp-color-danger-fg);
9
+ html.dark .rp-field[data-v-f9e37351], [data-rp-color-scheme=dark] .rp-field[data-v-f9e37351] {
10
+ --_rp-field-danger: var(--rp-color-red-light-color);
11
11
  }
12
- .rp-field__label[data-v-50e7f3a5] {
12
+ .rp-field__label[data-v-f9e37351] {
13
13
  display: inline-flex;
14
14
  width: fit-content;
15
15
  align-items: center;
@@ -17,24 +17,24 @@ html.dark .rp-field[data-v-50e7f3a5] {
17
17
  color: var(--rp-color-text);
18
18
  font-size: var(--rp-font-size-sm);
19
19
  font-weight: var(--rp-font-weight-medium);
20
- line-height: var(--rp-line-height-normal);
20
+ line-height: var(--rp-line-height-md);
21
21
  }
22
- .rp-field__required[data-v-50e7f3a5] {
22
+ .rp-field__required[data-v-f9e37351] {
23
23
  color: var(--_rp-field-danger);
24
- line-height: var(--rp-line-height-none);
24
+ line-height: 1;
25
25
  }
26
- .rp-field__control[data-v-50e7f3a5] {
26
+ .rp-field__label + .rp-field__control[data-v-f9e37351] {
27
+ margin-block-start: var(--rp-spacing-1);
28
+ }
29
+ .rp-field__control[data-v-f9e37351] {
27
30
  min-width: 0;
28
31
  }
29
- .rp-field__description[data-v-50e7f3a5], .rp-field__message[data-v-50e7f3a5] {
32
+ .rp-field__description[data-v-f9e37351] {
30
33
  margin: 0;
31
- color: var(--rp-color-text-secondary);
34
+ color: var(--rp-color-dimmed);
32
35
  font-size: var(--rp-font-size-sm);
33
- line-height: var(--rp-line-height-normal);
34
- }
35
- .rp-field--invalid .rp-field__message[data-v-50e7f3a5] {
36
- color: var(--_rp-field-danger);
36
+ line-height: var(--rp-line-height-md);
37
37
  }
38
- .rp-field--disabled .rp-field__label[data-v-50e7f3a5], .rp-field--disabled .rp-field__description[data-v-50e7f3a5], .rp-field--disabled .rp-field__message[data-v-50e7f3a5] {
39
- color: var(--rp-color-text-disabled);
38
+ .rp-field--disabled .rp-field__label[data-v-f9e37351], .rp-field--disabled .rp-field__description[data-v-f9e37351] {
39
+ color: var(--rp-color-disabled-color);
40
40
  }
package/dist/field.js CHANGED
@@ -1,57 +1,76 @@
1
1
  import './field.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 { child, computed, createIf, createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, setProp, setText, template, toDisplayString, unref, useId, useSlots } from "vue";
4
+ import { child, computed, createIf, createInvoker, createSlot, defineVaporComponent, delegateEvents, renderEffect, setClass, setInsertionState, setProp, setText, template, toDisplayString, unref, useId, useSlots } from "vue";
5
5
  //#region src/components/field/useField.ts
6
+ var INTERACTIVE_LABEL_SELECTOR = [
7
+ "button",
8
+ "a[href]",
9
+ "input",
10
+ "select",
11
+ "textarea",
12
+ "[contenteditable=\"true\"]",
13
+ "[tabindex]:not([tabindex=\"-1\"])"
14
+ ].join(",");
15
+ function isInteractiveLabelTarget(target) {
16
+ return Boolean(target.closest(INTERACTIVE_LABEL_SELECTOR));
17
+ }
6
18
  function useField(props) {
7
19
  const slots = useSlots();
8
20
  const generatedId = useId();
9
21
  const controlId = computed(() => props.id ?? `${generatedId}-control`);
10
22
  const labelId = computed(() => `${controlId.value}-label`);
11
23
  const descriptionId = computed(() => `${controlId.value}-description`);
12
- const messageId = computed(() => `${controlId.value}-message`);
13
- const isInvalid = computed(() => Boolean(props.invalid || props.error));
14
- const messageText = computed(() => props.error || props.message);
24
+ const isInvalid = computed(() => Boolean(props.invalid));
15
25
  const hasLabel = computed(() => Boolean(props.label || slots.label));
16
26
  const hasDescription = computed(() => Boolean(props.description || slots.description));
17
- const hasMessage = computed(() => Boolean(messageText.value || slots.message));
27
+ const hasMessage = computed(() => Boolean(slots.message));
18
28
  const controlLabelledby = computed(() => hasLabel.value ? labelId.value : void 0);
19
- const controlDescribedby = computed(() => [hasDescription.value ? descriptionId.value : void 0, hasMessage.value ? messageId.value : void 0].filter(Boolean).join(" ") || void 0);
29
+ const controlDescribedby = computed(() => hasDescription.value ? descriptionId.value : void 0);
30
+ const rootClass = computed(() => bem("rp-field", {
31
+ disabled: props.disabled,
32
+ required: props.required,
33
+ invalid: isInvalid.value
34
+ }));
35
+ const controlProps = computed(() => ({
36
+ id: controlId.value,
37
+ disabled: props.disabled || void 0,
38
+ required: props.required || void 0,
39
+ invalid: isInvalid.value || void 0,
40
+ labelledby: controlLabelledby.value,
41
+ describedby: controlDescribedby.value
42
+ }));
43
+ function focusControl(e) {
44
+ if (props.disabled) return;
45
+ const target = e.target;
46
+ if (target instanceof Element && isInteractiveLabelTarget(target)) return;
47
+ const label = e.currentTarget;
48
+ const control = label instanceof HTMLLabelElement ? label.control ?? label.ownerDocument.getElementById(controlId.value) : void 0;
49
+ if (control instanceof HTMLElement) control.focus();
50
+ }
20
51
  return {
21
52
  controlId,
22
53
  labelId,
23
54
  descriptionId,
24
- messageId,
25
55
  isInvalid,
26
- messageText,
27
56
  hasLabel,
28
57
  hasDescription,
29
58
  hasMessage,
30
59
  controlLabelledby,
31
60
  controlDescribedby,
32
- rootClass: computed(() => bem("rp-field", {
33
- disabled: props.disabled,
34
- required: props.required,
35
- invalid: isInvalid.value
36
- })),
37
- controlProps: computed(() => ({
38
- id: controlId.value,
39
- disabled: props.disabled || void 0,
40
- required: props.required || void 0,
41
- invalid: isInvalid.value || void 0,
42
- labelledby: controlLabelledby.value,
43
- describedby: controlDescribedby.value
44
- }))
61
+ rootClass,
62
+ controlProps,
63
+ focusControl
45
64
  };
46
65
  }
47
66
  //#endregion
48
67
  //#region src/components/field/field.vue?vue&type=script&setup=true&vapor=true&lang.ts
49
68
  var t0 = template(" ");
50
- var t1 = template("<span data-v-50e7f3a5 class=rp-field__required aria-hidden=true>*", 2);
51
- var t2 = template("<label data-v-50e7f3a5 class=rp-field__label>");
52
- var t3 = template("<p data-v-50e7f3a5 class=rp-field__description>");
53
- var t4 = template("<p data-v-50e7f3a5 class=rp-field__message>");
54
- var t5 = template("<div data-v-50e7f3a5><div data-v-50e7f3a5 class=rp-field__control></div>", 1);
69
+ var t1 = template("<span data-v-f9e37351 class=rp-field__required aria-hidden=true>*", 2);
70
+ var t2 = template("<label data-v-f9e37351 class=rp-field__label>");
71
+ var t3 = template("<p data-v-f9e37351 class=rp-field__description>");
72
+ var t4 = template("<div data-v-f9e37351><div data-v-f9e37351 class=rp-field__control></div>", 1);
73
+ delegateEvents("mousedown");
55
74
  //#endregion
56
75
  //#region src/components/field/field.vue
57
76
  var field_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
@@ -61,8 +80,6 @@ var field_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
61
80
  id: {},
62
81
  label: { default: "" },
63
82
  description: { default: "" },
64
- message: { default: "" },
65
- error: { default: "" },
66
83
  disabled: {
67
84
  type: Boolean,
68
85
  default: void 0
@@ -77,11 +94,11 @@ var field_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
77
94
  }
78
95
  },
79
96
  setup(__props) {
80
- const { controlId, labelId, descriptionId, messageId, isInvalid, messageText, hasLabel, hasDescription, hasMessage, controlLabelledby, controlDescribedby, rootClass, controlProps } = useField(__props);
81
- const n23 = t5();
82
- const n10 = child(n23, 1);
83
- renderEffect(() => setClass(n23, unref(rootClass)));
84
- setInsertionState(n23, 0, 0);
97
+ const { controlId, labelId, descriptionId, isInvalid, hasLabel, hasDescription, hasMessage, controlLabelledby, controlDescribedby, rootClass, controlProps, focusControl } = useField(__props);
98
+ const n20 = t4();
99
+ const n10 = child(n20, 1);
100
+ renderEffect(() => setClass(n20, unref(rootClass)));
101
+ setInsertionState(n20, 0, 0);
85
102
  createIf(() => unref(hasLabel), () => {
86
103
  const n8 = t2();
87
104
  renderEffect(() => {
@@ -98,6 +115,7 @@ var field_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
98
115
  createIf(() => __props.required, () => {
99
116
  return t1();
100
117
  });
118
+ n8.$evtmousedown = createInvoker((e) => unref(focusControl)(e));
101
119
  return n8;
102
120
  });
103
121
  setInsertionState(n10, null, 0);
@@ -110,7 +128,7 @@ var field_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
110
128
  describedby: () => unref(controlDescribedby),
111
129
  controlProps: () => unref(controlProps)
112
130
  }, null, 1);
113
- setInsertionState(n23, null, 2);
131
+ setInsertionState(n20, null, 2);
114
132
  createIf(() => unref(hasDescription), () => {
115
133
  const n16 = t3();
116
134
  renderEffect(() => setProp(n16, "id", unref(descriptionId)));
@@ -122,25 +140,12 @@ var field_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
122
140
  }, 1);
123
141
  return n16;
124
142
  });
125
- setInsertionState(n23, null, 3);
143
+ setInsertionState(n20, null, 3);
126
144
  createIf(() => unref(hasMessage), () => {
127
- const n22 = t4();
128
- renderEffect(() => {
129
- setProp(n22, "id", unref(messageId));
130
- setProp(n22, "role", unref(isInvalid) ? "alert" : void 0);
131
- });
132
- setInsertionState(n22, null, 0);
133
- createSlot("message", null, () => {
134
- const n21 = t0();
135
- renderEffect(() => setText(n21, toDisplayString(unref(messageText))));
136
- return n21;
137
- }, 1);
138
- return n22;
145
+ return createSlot("message", null, null, 1);
139
146
  });
140
- return n23;
147
+ return n20;
141
148
  }
142
- }), [["__scopeId", "data-v-50e7f3a5"]]);
149
+ }), [["__scopeId", "data-v-f9e37351"]]);
143
150
  //#endregion
144
151
  export { field_default as t };
145
-
146
- //# sourceMappingURL=field.js.map
@@ -1,36 +1,14 @@
1
- .rp-button[data-v-7005752e] {
2
- --_rp-button-accent: var(--_rp-button-custom-color, var(--rp-color-primary));
3
- --_rp-button-accent-hover: var(--_rp-button-custom-hover, var(--rp-color-primary-hover));
4
- --_rp-button-accent-active: var(--_rp-button-custom-active, var(--rp-color-primary-active));
5
- --_rp-button-accent-on: var(--_rp-button-custom-on, var(--rp-color-on-primary));
6
- --_rp-button-accent-subtle-bg: var(
7
- --_rp-button-custom-subtle-bg,
8
- var(--rp-color-primary-subtle-bg)
9
- );
10
- --_rp-button-accent-subtle-bg-hover: var(
11
- --_rp-button-custom-subtle-bg-hover,
12
- var(--rp-color-primary-subtle-bg-hover)
13
- );
14
- --_rp-button-accent-subtle-bg-active: var(
15
- --_rp-button-custom-subtle-bg-active,
16
- var(--rp-color-primary-subtle-bg-active)
17
- );
18
- --_rp-button-accent-border: var(--_rp-button-custom-border, var(--rp-color-primary-border));
19
- --_rp-button-accent-border-hover: var(
20
- --_rp-button-custom-border-hover,
21
- var(--rp-color-primary-border-hover)
22
- );
23
- --_rp-button-accent-fg: var(--_rp-button-custom-fg, var(--rp-color-primary-fg));
24
- --_rp-button-bg: var(--rp-color-button-default-bg);
25
- --_rp-button-bg-hover: var(--rp-color-button-default-bg-hover);
26
- --_rp-button-bg-active: var(--rp-color-button-default-bg-active);
27
- --_rp-button-border: var(--rp-color-border);
28
- --_rp-button-border-hover: var(--rp-color-border-hover);
1
+ .rp-button[data-v-9f46a6a3] {
2
+ --_rp-button-bg: var(--rp-color-default);
3
+ --_rp-button-bg-hover: var(--rp-color-default-hover);
4
+ --_rp-button-bg-active: var(--rp-color-disabled);
5
+ --_rp-button-border: var(--rp-color-default-border);
6
+ --_rp-button-border-hover: var(--_rp-button-border);
29
7
  --_rp-button-border-active: var(--_rp-button-border-hover);
30
- --_rp-button-fg: var(--rp-color-text);
8
+ --_rp-button-fg: var(--rp-color-default-color);
31
9
  --_rp-button-height: var(--rp-size-control-md);
32
- --_rp-button-padding-x: var(--rp-spacing-4);
33
- --_rp-button-font-size: var(--rp-font-size-base);
10
+ --_rp-button-padding-x: 22px;
11
+ --_rp-button-font-size: var(--rp-font-size-md);
34
12
  --_rp-button-radius: var(--rp-radius-sm);
35
13
  --_rp-button-shadow: var(--rp-shadow-sm);
36
14
  --_rp-button-shadow-hover: var(--rp-shadow-base);
@@ -42,13 +20,14 @@
42
20
  box-sizing: border-box;
43
21
  font-family: var(--rp-font-family);
44
22
  font-weight: var(--rp-font-weight-medium);
45
- line-height: var(--rp-line-height-none);
23
+ line-height: 1;
46
24
  appearance: none;
47
25
  background-color: var(--_rp-button-bg);
48
26
  border: var(--rp-border-width-thin) solid var(--_rp-button-border);
49
27
  box-shadow: var(--_rp-button-shadow);
50
28
  color: var(--_rp-button-fg);
51
29
  cursor: pointer;
30
+ text-decoration: none;
52
31
  transition: background-color var(--rp-transition-fast), color var(--rp-transition-fast), border-color var(--rp-transition-fast), box-shadow var(--rp-transition-fast), transform var(--rp-transition-fast);
53
32
  white-space: nowrap;
54
33
  user-select: none;
@@ -57,266 +36,108 @@
57
36
  font-size: var(--_rp-button-font-size);
58
37
  border-radius: var(--_rp-button-radius);
59
38
  }
60
- .rp-button[data-v-7005752e]:hover:not(:disabled) {
39
+ .rp-button[data-v-9f46a6a3]:hover:not(:disabled):not(.rp-button--disabled) {
61
40
  background-color: var(--_rp-button-bg-hover);
62
41
  border-color: var(--_rp-button-border-hover);
63
42
  box-shadow: var(--_rp-button-shadow-hover);
64
43
  }
65
- .rp-button[data-v-7005752e]:active:not(:disabled) {
44
+ .rp-button[data-v-9f46a6a3]:active:not(:disabled):not(.rp-button--disabled) {
66
45
  background-color: var(--_rp-button-bg-active);
67
46
  border-color: var(--_rp-button-border-active);
68
47
  box-shadow: var(--_rp-button-shadow-active);
69
48
  transform: translateY(1px);
70
49
  }
71
- .rp-button--color-primary[data-v-7005752e] {
72
- --_rp-button-accent: var(--rp-color-primary);
73
- --_rp-button-accent-hover: var(--rp-color-primary-hover);
74
- --_rp-button-accent-active: var(--rp-color-primary-active);
75
- --_rp-button-accent-on: var(--rp-color-on-primary);
76
- --_rp-button-accent-subtle-bg: var(--rp-color-primary-subtle-bg);
77
- --_rp-button-accent-subtle-bg-hover: var(--rp-color-primary-subtle-bg-hover);
78
- --_rp-button-accent-subtle-bg-active: var(--rp-color-primary-subtle-bg-active);
79
- --_rp-button-accent-border: var(--rp-color-primary-border);
80
- --_rp-button-accent-border-hover: var(--rp-color-primary-border-hover);
81
- --_rp-button-accent-fg: var(--rp-color-primary-fg);
82
- --_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
83
- --_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
84
- --_rp-button-border: var(--_rp-button-accent-border);
85
- --_rp-button-border-hover: var(--_rp-button-accent-border-hover);
86
- --_rp-button-fg: var(--_rp-button-accent-fg);
87
- }
88
- .rp-button--color-secondary[data-v-7005752e] {
89
- --_rp-button-accent: var(--rp-color-secondary);
90
- --_rp-button-accent-hover: var(--rp-color-secondary-hover);
91
- --_rp-button-accent-active: var(--rp-color-secondary-active);
92
- --_rp-button-accent-on: var(--rp-color-on-secondary);
93
- --_rp-button-accent-subtle-bg: var(--rp-color-secondary-subtle-bg);
94
- --_rp-button-accent-subtle-bg-hover: var(--rp-color-secondary-subtle-bg-hover);
95
- --_rp-button-accent-subtle-bg-active: var(--rp-color-secondary-subtle-bg-active);
96
- --_rp-button-accent-border: var(--rp-color-secondary-border);
97
- --_rp-button-accent-border-hover: var(--rp-color-secondary-border-hover);
98
- --_rp-button-accent-fg: var(--rp-color-secondary-fg);
99
- --_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
100
- --_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
101
- --_rp-button-border: var(--_rp-button-accent-border);
102
- --_rp-button-border-hover: var(--_rp-button-accent-border-hover);
103
- --_rp-button-fg: var(--_rp-button-accent-fg);
104
- }
105
- .rp-button--color-success[data-v-7005752e] {
106
- --_rp-button-accent: var(--rp-color-success);
107
- --_rp-button-accent-hover: var(--rp-color-success-hover);
108
- --_rp-button-accent-active: var(--rp-color-success-active);
109
- --_rp-button-accent-on: var(--rp-color-on-success);
110
- --_rp-button-accent-subtle-bg: var(--rp-color-success-subtle-bg);
111
- --_rp-button-accent-subtle-bg-hover: var(--rp-color-success-subtle-bg-hover);
112
- --_rp-button-accent-subtle-bg-active: var(--rp-color-success-subtle-bg-active);
113
- --_rp-button-accent-border: var(--rp-color-success-border);
114
- --_rp-button-accent-border-hover: var(--rp-color-success-border-hover);
115
- --_rp-button-accent-fg: var(--rp-color-success-fg);
116
- --_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
117
- --_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
118
- --_rp-button-border: var(--_rp-button-accent-border);
119
- --_rp-button-border-hover: var(--_rp-button-accent-border-hover);
120
- --_rp-button-fg: var(--_rp-button-accent-fg);
121
- }
122
- .rp-button--color-warning[data-v-7005752e] {
123
- --_rp-button-accent: var(--rp-color-warning);
124
- --_rp-button-accent-hover: var(--rp-color-warning-hover);
125
- --_rp-button-accent-active: var(--rp-color-warning-active);
126
- --_rp-button-accent-on: var(--rp-color-on-warning);
127
- --_rp-button-accent-subtle-bg: var(--rp-color-warning-subtle-bg);
128
- --_rp-button-accent-subtle-bg-hover: var(--rp-color-warning-subtle-bg-hover);
129
- --_rp-button-accent-subtle-bg-active: var(--rp-color-warning-subtle-bg-active);
130
- --_rp-button-accent-border: var(--rp-color-warning-border);
131
- --_rp-button-accent-border-hover: var(--rp-color-warning-border-hover);
132
- --_rp-button-accent-fg: var(--rp-color-warning-fg);
133
- --_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
134
- --_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
135
- --_rp-button-border: var(--_rp-button-accent-border);
136
- --_rp-button-border-hover: var(--_rp-button-accent-border-hover);
137
- --_rp-button-fg: var(--_rp-button-accent-fg);
138
- }
139
- .rp-button--color-danger[data-v-7005752e] {
140
- --_rp-button-accent: var(--rp-color-danger);
141
- --_rp-button-accent-hover: var(--rp-color-danger-hover);
142
- --_rp-button-accent-active: var(--rp-color-danger-active);
143
- --_rp-button-accent-on: var(--rp-color-on-danger);
144
- --_rp-button-accent-subtle-bg: var(--rp-color-danger-subtle-bg);
145
- --_rp-button-accent-subtle-bg-hover: var(--rp-color-danger-subtle-bg-hover);
146
- --_rp-button-accent-subtle-bg-active: var(--rp-color-danger-subtle-bg-active);
147
- --_rp-button-accent-border: var(--rp-color-danger-border);
148
- --_rp-button-accent-border-hover: var(--rp-color-danger-border-hover);
149
- --_rp-button-accent-fg: var(--rp-color-danger-fg);
150
- --_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
151
- --_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
152
- --_rp-button-border: var(--_rp-button-accent-border);
153
- --_rp-button-border-hover: var(--_rp-button-accent-border-hover);
154
- --_rp-button-fg: var(--_rp-button-accent-fg);
155
- }
156
- .rp-button--color-info[data-v-7005752e] {
157
- --_rp-button-accent: var(--rp-color-info);
158
- --_rp-button-accent-hover: var(--rp-color-info-hover);
159
- --_rp-button-accent-active: var(--rp-color-info-active);
160
- --_rp-button-accent-on: var(--rp-color-on-info);
161
- --_rp-button-accent-subtle-bg: var(--rp-color-info-subtle-bg);
162
- --_rp-button-accent-subtle-bg-hover: var(--rp-color-info-subtle-bg-hover);
163
- --_rp-button-accent-subtle-bg-active: var(--rp-color-info-subtle-bg-active);
164
- --_rp-button-accent-border: var(--rp-color-info-border);
165
- --_rp-button-accent-border-hover: var(--rp-color-info-border-hover);
166
- --_rp-button-accent-fg: var(--rp-color-info-fg);
167
- --_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
168
- --_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
169
- --_rp-button-border: var(--_rp-button-accent-border);
170
- --_rp-button-border-hover: var(--_rp-button-accent-border-hover);
171
- --_rp-button-fg: var(--_rp-button-accent-fg);
172
- }
173
- .rp-button--color-neutral[data-v-7005752e] {
174
- --_rp-button-accent: var(--rp-color-neutral);
175
- --_rp-button-accent-hover: var(--rp-color-neutral-hover);
176
- --_rp-button-accent-active: var(--rp-color-neutral-active);
177
- --_rp-button-accent-on: var(--rp-color-on-neutral);
178
- --_rp-button-accent-subtle-bg: var(--rp-color-neutral-subtle-bg);
179
- --_rp-button-accent-subtle-bg-hover: var(--rp-color-neutral-subtle-bg-hover);
180
- --_rp-button-accent-subtle-bg-active: var(--rp-color-neutral-subtle-bg-active);
181
- --_rp-button-accent-border: var(--rp-color-neutral-border);
182
- --_rp-button-accent-border-hover: var(--rp-color-neutral-border-hover);
183
- --_rp-button-accent-fg: var(--rp-color-neutral-fg);
184
- --_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
185
- --_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
186
- --_rp-button-border: var(--_rp-button-accent-border);
187
- --_rp-button-border-hover: var(--_rp-button-accent-border-hover);
188
- --_rp-button-fg: var(--_rp-button-accent-fg);
189
- }
190
- .rp-button--size-xs[data-v-7005752e] {
191
- --_rp-button-height: calc(var(--rp-size-control-sm) - var(--rp-spacing-1));
192
- --_rp-button-padding-x: var(--rp-spacing-2);
50
+ .rp-button--size-xs[data-v-9f46a6a3] {
51
+ --_rp-button-height: var(--rp-size-control-xs);
52
+ --_rp-button-padding-x: 14px;
193
53
  --_rp-button-font-size: var(--rp-font-size-xs);
194
54
  }
195
- .rp-button--size-sm[data-v-7005752e] {
55
+ .rp-button--size-sm[data-v-9f46a6a3] {
196
56
  --_rp-button-height: var(--rp-size-control-sm);
197
- --_rp-button-padding-x: var(--rp-spacing-3);
57
+ --_rp-button-padding-x: 18px;
198
58
  --_rp-button-font-size: var(--rp-font-size-sm);
199
59
  }
200
- .rp-button--size-lg[data-v-7005752e] {
60
+ .rp-button--size-md[data-v-9f46a6a3] {
61
+ --_rp-button-height: var(--rp-size-control-md);
62
+ --_rp-button-padding-x: 22px;
63
+ --_rp-button-font-size: var(--rp-font-size-md);
64
+ }
65
+ .rp-button--size-lg[data-v-9f46a6a3] {
201
66
  --_rp-button-height: var(--rp-size-control-lg);
202
- --_rp-button-padding-x: var(--rp-spacing-5);
67
+ --_rp-button-padding-x: 26px;
203
68
  --_rp-button-font-size: var(--rp-font-size-lg);
204
69
  }
205
- .rp-button--size-xl[data-v-7005752e] {
206
- --_rp-button-height: calc(var(--rp-size-control-lg) + var(--rp-spacing-2));
207
- --_rp-button-padding-x: var(--rp-spacing-6);
208
- --_rp-button-font-size: var(--rp-font-size-lg);
70
+ .rp-button--size-xl[data-v-9f46a6a3] {
71
+ --_rp-button-height: var(--rp-size-control-xl);
72
+ --_rp-button-padding-x: 32px;
73
+ --_rp-button-font-size: var(--rp-font-size-xl);
209
74
  }
210
- .rp-button--radius-xs[data-v-7005752e] {
75
+ .rp-button--radius-xs[data-v-9f46a6a3] {
211
76
  --_rp-button-radius: var(--rp-radius-xs);
212
77
  }
213
- .rp-button--radius-sm[data-v-7005752e] {
78
+ .rp-button--radius-sm[data-v-9f46a6a3] {
214
79
  --_rp-button-radius: var(--rp-radius-sm);
215
80
  }
216
- .rp-button--radius-md[data-v-7005752e] {
81
+ .rp-button--radius-md[data-v-9f46a6a3] {
217
82
  --_rp-button-radius: var(--rp-radius-md);
218
83
  }
219
- .rp-button--radius-lg[data-v-7005752e] {
84
+ .rp-button--radius-lg[data-v-9f46a6a3] {
220
85
  --_rp-button-radius: var(--rp-radius-lg);
221
86
  }
222
- .rp-button--radius-xl[data-v-7005752e] {
87
+ .rp-button--radius-xl[data-v-9f46a6a3] {
223
88
  --_rp-button-radius: var(--rp-radius-xl);
224
89
  }
225
- .rp-button--solid[data-v-7005752e] {
226
- --_rp-button-bg: var(--_rp-button-accent);
227
- --_rp-button-bg-hover: var(--_rp-button-accent-hover);
228
- --_rp-button-bg-active: var(--_rp-button-accent-active);
229
- --_rp-button-border: var(--_rp-button-accent);
230
- --_rp-button-border-hover: var(--_rp-button-accent-hover);
231
- --_rp-button-border-active: var(--_rp-button-accent-active);
232
- --_rp-button-fg: var(--_rp-button-accent-on);
233
- }
234
- .rp-button--subtle[data-v-7005752e] {
235
- --_rp-button-bg: var(--_rp-button-accent-subtle-bg);
236
- --_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
237
- --_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
238
- --_rp-button-border: transparent;
239
- --_rp-button-border-hover: transparent;
240
- --_rp-button-border-active: transparent;
241
- --_rp-button-fg: var(--_rp-button-accent-fg);
90
+ .rp-button--subtle[data-v-9f46a6a3] {
242
91
  --_rp-button-shadow: none;
243
92
  --_rp-button-shadow-hover: none;
244
93
  --_rp-button-shadow-active: none;
245
94
  }
246
- .rp-button--surface[data-v-7005752e] {
247
- --_rp-button-bg: var(--_rp-button-accent-subtle-bg);
248
- --_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
249
- --_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
250
- --_rp-button-border: var(--_rp-button-accent-border);
251
- --_rp-button-border-hover: var(--_rp-button-accent-subtle-bg-hover);
252
- --_rp-button-border-active: var(--_rp-button-accent-border-hover);
253
- --_rp-button-fg: var(--_rp-button-accent-fg);
95
+ .rp-button--surface[data-v-9f46a6a3] {
254
96
  --_rp-button-shadow: none;
255
97
  --_rp-button-shadow-hover: none;
256
98
  --_rp-button-shadow-active: none;
257
99
  }
258
- .rp-button--outline[data-v-7005752e] {
259
- --_rp-button-bg: transparent;
260
- --_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
261
- --_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
262
- --_rp-button-border: var(--_rp-button-accent-border);
263
- --_rp-button-border-hover: var(--_rp-button-accent-border-hover);
264
- --_rp-button-border-active: var(--_rp-button-accent-border-hover);
265
- --_rp-button-fg: var(--_rp-button-accent-fg);
100
+ .rp-button--outline[data-v-9f46a6a3] {
266
101
  --_rp-button-shadow: none;
267
102
  --_rp-button-shadow-hover: none;
268
103
  --_rp-button-shadow-active: none;
269
104
  }
270
- .rp-button--ghost[data-v-7005752e] {
271
- --_rp-button-bg: transparent;
272
- --_rp-button-bg-hover: var(--_rp-button-accent-subtle-bg-hover);
273
- --_rp-button-bg-active: var(--_rp-button-accent-subtle-bg-active);
274
- --_rp-button-border: transparent;
275
- --_rp-button-border-hover: transparent;
276
- --_rp-button-border-active: transparent;
277
- --_rp-button-fg: var(--_rp-button-accent-fg);
105
+ .rp-button--ghost[data-v-9f46a6a3] {
278
106
  --_rp-button-shadow: none;
279
107
  --_rp-button-shadow-hover: none;
280
108
  --_rp-button-shadow-active: none;
281
109
  }
282
- .rp-button--plain[data-v-7005752e] {
283
- --_rp-button-bg: transparent;
284
- --_rp-button-bg-hover: transparent;
285
- --_rp-button-bg-active: transparent;
286
- --_rp-button-border: transparent;
287
- --_rp-button-border-hover: transparent;
288
- --_rp-button-border-active: transparent;
289
- --_rp-button-fg: var(--_rp-button-accent-fg);
110
+ .rp-button--plain[data-v-9f46a6a3] {
290
111
  --_rp-button-shadow: none;
291
112
  --_rp-button-shadow-hover: none;
292
113
  --_rp-button-shadow-active: none;
293
114
  }
294
- .rp-button[data-v-7005752e]:disabled {
115
+ .rp-button[data-v-9f46a6a3]:disabled, .rp-button--disabled[data-v-9f46a6a3] {
295
116
  opacity: var(--rp-opacity-disabled);
296
117
  cursor: not-allowed;
297
118
  box-shadow: none;
298
119
  transform: none;
299
120
  }
300
- .rp-button[data-v-7005752e]:focus-visible {
121
+ .rp-button[data-v-9f46a6a3]:focus-visible {
301
122
  outline: none;
302
- border-color: var(--rp-color-primary);
123
+ border-color: var(--rp-color-control-border-focus);
303
124
  box-shadow: 0 0 0 var(--rp-border-width-medium) var(--rp-color-focus-ring);
304
125
  }
305
- .rp-button--loading .rp-button__content[data-v-7005752e] {
306
- visibility: hidden;
126
+ .rp-button--loading .rp-button__content[data-v-9f46a6a3] {
127
+ opacity: 0;
307
128
  }
308
- .rp-button__content[data-v-7005752e] {
129
+ .rp-button__content[data-v-9f46a6a3] {
309
130
  display: inline-flex;
310
131
  align-items: center;
311
132
  justify-content: center;
312
133
  gap: var(--rp-spacing-2);
313
134
  }
314
- .rp-button__left[data-v-7005752e], .rp-button__right[data-v-7005752e] {
135
+ .rp-button__left[data-v-9f46a6a3], .rp-button__right[data-v-9f46a6a3] {
315
136
  display: inline-flex;
316
137
  align-items: center;
317
138
  flex-shrink: 0;
318
139
  }
319
- .rp-button__loading[data-v-7005752e] {
140
+ .rp-button__loading[data-v-9f46a6a3] {
320
141
  display: inline-flex;
321
142
  align-items: center;
322
143
  justify-content: center;
@@ -325,47 +146,47 @@
325
146
  left: 50%;
326
147
  translate: -50% -50%;
327
148
  }
328
- .rp-button__spinner[data-v-7005752e] {
149
+ .rp-button__spinner[data-v-9f46a6a3] {
329
150
  display: block;
330
151
  width: 1em;
331
152
  height: 1em;
332
153
  flex-shrink: 0;
333
154
  transform-origin: center;
334
- animation: rp-spinner-spin-7005752e 700ms linear infinite;
155
+ animation: rp-spinner-spin-9f46a6a3 700ms linear infinite;
335
156
  }
336
- @keyframes rp-spinner-spin-7005752e {
157
+ @keyframes rp-spinner-spin-9f46a6a3 {
337
158
  to {
338
159
  transform: rotate(360deg);
339
160
  }
340
- }.rp-icon-button[data-v-7005752e] {
161
+ }.rp-icon-button[data-v-9f46a6a3] {
341
162
  width: var(--_rp-button-height);
342
163
  padding: 0;
343
164
  }
344
- .rp-icon-button__icon[data-v-7005752e] {
165
+ .rp-icon-button__icon[data-v-9f46a6a3] {
345
166
  width: 1em;
346
167
  height: 1em;
347
168
  flex-shrink: 0;
348
169
  }
349
- .rp-icon-button__icon[data-v-7005752e] {
170
+ .rp-icon-button__icon[data-v-9f46a6a3] {
350
171
  display: inline-flex;
351
172
  align-items: center;
352
173
  justify-content: center;
353
174
  line-height: 0;
354
175
  }
355
- .rp-icon-button__icon[data-v-7005752e] > svg {
176
+ .rp-icon-button__icon[data-v-9f46a6a3] > svg {
356
177
  display: block;
357
178
  width: 1em;
358
179
  height: 1em;
359
180
  }
360
- .rp-icon-button__spinner[data-v-7005752e] {
181
+ .rp-icon-button__spinner[data-v-9f46a6a3] {
361
182
  display: block;
362
183
  width: 1em;
363
184
  height: 1em;
364
185
  flex-shrink: 0;
365
186
  transform-origin: center;
366
- animation: rp-spinner-spin-7005752e 700ms linear infinite;
187
+ animation: rp-spinner-spin-9f46a6a3 700ms linear infinite;
367
188
  }
368
- @keyframes rp-spinner-spin-7005752e {
189
+ @keyframes rp-spinner-spin-9f46a6a3 {
369
190
  to {
370
191
  transform: rotate(360deg);
371
192
  }