ropav 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/_plugin-vue_export-helper.js +1 -11
  2. package/dist/accordion.css +112 -0
  3. package/dist/accordion.js +358 -0
  4. package/dist/badge.css +169 -0
  5. package/dist/badge.js +101 -0
  6. package/dist/bem.js +9 -0
  7. package/dist/button-group.css +8 -8
  8. package/dist/button-group.js +2 -3
  9. package/dist/button.js +3 -4
  10. package/dist/card.css +40 -20
  11. package/dist/card.js +71 -39
  12. package/dist/checkbox.js +2 -3
  13. package/dist/collapse.css +32 -0
  14. package/dist/collapse.js +62 -0
  15. package/dist/componentColors.js +0 -2
  16. package/dist/components/accordion/accordion-item.d.ts +40 -0
  17. package/dist/components/accordion/accordion.d.ts +23 -0
  18. package/dist/components/accordion/index.d.ts +4 -0
  19. package/dist/components/accordion/index.js +2 -0
  20. package/dist/components/accordion/types.d.ts +100 -0
  21. package/dist/components/accordion/useAccordion.d.ts +3 -0
  22. package/dist/components/badge/badge.d.ts +25 -0
  23. package/dist/components/badge/index.d.ts +3 -0
  24. package/dist/components/badge/index.js +2 -0
  25. package/dist/components/badge/types.d.ts +16 -0
  26. package/dist/components/badge/useBadgeColor.d.ts +8 -0
  27. package/dist/components/card/card.d.ts +4 -0
  28. package/dist/components/card/types.d.ts +4 -0
  29. package/dist/components/collapse/collapse.d.ts +36 -0
  30. package/dist/components/collapse/index.d.ts +3 -0
  31. package/dist/components/collapse/index.js +3 -0
  32. package/dist/components/collapse/types.d.ts +74 -0
  33. package/dist/components/collapse/useCollapse.d.ts +2 -0
  34. package/dist/components/dropdown-menu/dropdown-menu-items.d.ts +16 -0
  35. package/dist/components/dropdown-menu/dropdown-menu-utils.d.ts +23 -0
  36. package/dist/components/dropdown-menu/dropdown-menu.d.ts +26 -0
  37. package/dist/components/dropdown-menu/index.d.ts +3 -0
  38. package/dist/components/dropdown-menu/index.js +2 -0
  39. package/dist/components/dropdown-menu/types.d.ts +104 -0
  40. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +32 -0
  41. package/dist/components/dropdown-menu/useDropdownMenuDisclosure.d.ts +30 -0
  42. package/dist/components/dropdown-menu/useDropdownMenuDom.d.ts +28 -0
  43. package/dist/components/dropdown-menu/useDropdownMenuHoverIntent.d.ts +24 -0
  44. package/dist/components/dropdown-menu/useDropdownMenuInteractions.d.ts +51 -0
  45. package/dist/components/dropdown-menu/useDropdownMenuNavigation.d.ts +16 -0
  46. package/dist/components/dropdown-menu/useDropdownMenuRenderItems.d.ts +25 -0
  47. package/dist/components/dropdown-menu/useDropdownSubmenus.d.ts +18 -0
  48. package/dist/components/field/field.d.ts +2 -2
  49. package/dist/components/field/useField.d.ts +17 -0
  50. package/dist/components/input/useInput.d.ts +8 -0
  51. package/dist/components/modal/index.d.ts +2 -0
  52. package/dist/components/modal/index.js +2 -0
  53. package/dist/components/modal/modal.d.ts +42 -0
  54. package/dist/components/modal/types.d.ts +31 -0
  55. package/dist/components/modal/useModal.d.ts +29 -0
  56. package/dist/components/overlay/index.d.ts +2 -0
  57. package/dist/components/overlay/index.js +2 -0
  58. package/dist/components/overlay/overlay.d.ts +19 -0
  59. package/dist/components/overlay/types.d.ts +12 -0
  60. package/dist/components/overlay/useOverlay.d.ts +7 -0
  61. package/dist/components/popover/index.d.ts +2 -0
  62. package/dist/components/popover/index.js +2 -0
  63. package/dist/components/popover/popover.d.ts +43 -0
  64. package/dist/components/popover/types.d.ts +43 -0
  65. package/dist/components/popover/usePopover.d.ts +23 -0
  66. package/dist/components/tabs/index.d.ts +6 -0
  67. package/dist/components/tabs/index.js +2 -0
  68. package/dist/components/tabs/tabs-content.d.ts +24 -0
  69. package/dist/components/tabs/tabs-list.d.ts +26 -0
  70. package/dist/components/tabs/tabs-trigger.d.ts +29 -0
  71. package/dist/components/tabs/tabs.d.ts +31 -0
  72. package/dist/components/tabs/types.d.ts +160 -0
  73. package/dist/components/tabs/useTabs.d.ts +5 -0
  74. package/dist/dropdown-menu.css +159 -0
  75. package/dist/dropdown-menu.js +901 -0
  76. package/dist/field.css +11 -8
  77. package/dist/field.js +93 -52
  78. package/dist/icon-button.css +1 -1
  79. package/dist/icon-button.js +3 -4
  80. package/dist/index.d.ts +8 -0
  81. package/dist/index.js +12 -1
  82. package/dist/input.css +25 -25
  83. package/dist/input.js +57 -40
  84. package/dist/modal.css +134 -0
  85. package/dist/modal.js +427 -0
  86. package/dist/overlay.css +28 -0
  87. package/dist/overlay.js +82 -0
  88. package/dist/popover.css +75 -0
  89. package/dist/popover.js +377 -0
  90. package/dist/progress.js +2 -3
  91. package/dist/radio.js +4 -11
  92. package/dist/select.js +8 -39
  93. package/dist/slider.js +2 -3
  94. package/dist/switch.js +2 -3
  95. package/dist/tabs.css +279 -0
  96. package/dist/tabs.js +513 -0
  97. package/dist/textarea.js +2 -3
  98. package/dist/tooltip.js +2 -3
  99. package/dist/useButtonColor.js +0 -2
  100. package/dist/useClickOutside.js +24 -0
  101. package/dist/useCollapse.js +92 -0
  102. package/dist/useControlState.js +0 -2
  103. package/dist/useRequiredInject.js +9 -0
  104. package/dist/x.js +12 -0
  105. package/package.json +40 -4
  106. package/dist/_plugin-vue_export-helper.js.map +0 -1
  107. package/dist/button-group.js.map +0 -1
  108. package/dist/button.js.map +0 -1
  109. package/dist/card.js.map +0 -1
  110. package/dist/checkbox.js.map +0 -1
  111. package/dist/componentColors.js.map +0 -1
  112. package/dist/field.js.map +0 -1
  113. package/dist/icon-button.js.map +0 -1
  114. package/dist/input.js.map +0 -1
  115. package/dist/progress.js.map +0 -1
  116. package/dist/radio.js.map +0 -1
  117. package/dist/select.js.map +0 -1
  118. package/dist/slider.js.map +0 -1
  119. package/dist/switch.js.map +0 -1
  120. package/dist/textarea.js.map +0 -1
  121. package/dist/tooltip.js.map +0 -1
  122. package/dist/useButtonColor.js.map +0 -1
  123. package/dist/useControlState.js.map +0 -1
package/dist/badge.js ADDED
@@ -0,0 +1,101 @@
1
+ import './badge.css';
2
+ import { t as bem } from "./bem.js";
3
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
4
+ import { n as getComponentCustomColor, r as isComponentPresetColor, t as componentColors } from "./componentColors.js";
5
+ import { computed, createIf, createSlot, defineVaporComponent, renderEffect, setAttr, setClass, setInsertionState, setStyle, template } from "vue";
6
+ //#region src/components/badge/useBadgeColor.ts
7
+ function getBadgeColorStyle(color) {
8
+ const customColor = getComponentCustomColor(color);
9
+ if (!customColor) return void 0;
10
+ return {
11
+ "--_rp-badge-custom-color": customColor,
12
+ "--_rp-badge-custom-fg": customColor,
13
+ "--_rp-badge-custom-on": "var(--rp-color-on-primary)",
14
+ "--_rp-badge-custom-subtle-bg": `color-mix(in srgb, ${customColor} 12%, transparent)`,
15
+ "--_rp-badge-custom-border": `color-mix(in srgb, ${customColor} 45%, transparent)`
16
+ };
17
+ }
18
+ //#endregion
19
+ //#region src/components/badge/badge.vue?vue&type=script&setup=true&vapor=true&lang.ts
20
+ var t0 = template("<span data-v-ab51b365 class=rp-badge__left>");
21
+ var t1 = template("<span data-v-ab51b365 class=rp-badge__label>");
22
+ var t2 = template("<span data-v-ab51b365 class=rp-badge__right>");
23
+ var t3 = template("<span data-v-ab51b365>", 1);
24
+ //#endregion
25
+ //#region src/components/badge/badge.vue
26
+ var badge_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
27
+ name: "RpBadge",
28
+ __name: "badge",
29
+ props: {
30
+ variant: {},
31
+ color: {},
32
+ size: {},
33
+ radius: {},
34
+ ariaLabel: {}
35
+ },
36
+ setup(__props, { slots: $slots }) {
37
+ const props = __props;
38
+ const rootClass = computed(() => bem("rp-badge", {
39
+ [props.variant ?? ""]: Boolean(props.variant),
40
+ [`color-${props.color}`]: isComponentPresetColor(props.color),
41
+ [`size-${props.size}`]: Boolean(props.size),
42
+ [`radius-${props.radius}`]: Boolean(props.radius)
43
+ }));
44
+ const rootStyle = computed(() => getBadgeColorStyle(props.color));
45
+ const n12 = t3();
46
+ renderEffect(() => {
47
+ setClass(n12, rootClass.value);
48
+ setStyle(n12, rootStyle.value);
49
+ setAttr(n12, "aria-label", __props.ariaLabel || void 0);
50
+ });
51
+ setInsertionState(n12, null, 0);
52
+ createIf(() => $slots.left, () => {
53
+ const n3 = t0();
54
+ setInsertionState(n3, null, 0);
55
+ createSlot("left", null, null, 1);
56
+ return n3;
57
+ });
58
+ setInsertionState(n12, null, 1);
59
+ createIf(() => $slots.default, () => {
60
+ const n7 = t1();
61
+ setInsertionState(n7, null, 0);
62
+ createSlot("default", null, null, 1);
63
+ return n7;
64
+ });
65
+ setInsertionState(n12, null, 2);
66
+ createIf(() => $slots.right, () => {
67
+ const n11 = t2();
68
+ setInsertionState(n11, null, 0);
69
+ createSlot("right", null, null, 1);
70
+ return n11;
71
+ });
72
+ return n12;
73
+ }
74
+ }), [["__scopeId", "data-v-ab51b365"]]);
75
+ //#endregion
76
+ //#region src/components/badge/types.ts
77
+ var badgeColors = componentColors;
78
+ var badgeSizes = [
79
+ "xs",
80
+ "sm",
81
+ "md",
82
+ "lg",
83
+ "xl"
84
+ ];
85
+ var badgeRadiuses = [
86
+ "none",
87
+ "xs",
88
+ "sm",
89
+ "md",
90
+ "lg",
91
+ "xl",
92
+ "full"
93
+ ];
94
+ var badgeVariants = [
95
+ "solid",
96
+ "subtle",
97
+ "surface",
98
+ "outline"
99
+ ];
100
+ //#endregion
101
+ export { badge_default as a, badgeVariants as i, badgeRadiuses as n, badgeSizes as r, badgeColors as t };
package/dist/bem.js ADDED
@@ -0,0 +1,9 @@
1
+ //#region src/utils/bem.ts
2
+ function bem(block, ...modifiers) {
3
+ const classes = [block];
4
+ for (const mod of modifiers) if (typeof mod === "string") classes.push(`${block}--${mod}`);
5
+ else for (const [key, val] of Object.entries(mod)) if (val) classes.push(`${block}--${key}`);
6
+ return classes;
7
+ }
8
+ //#endregion
9
+ export { bem as t };
@@ -18,33 +18,33 @@
18
18
  position: relative;
19
19
  z-index: 1;
20
20
  }
21
- .rp-button-group--attached .rp-button[data-v-d9f79a5b-s] {
21
+ .rp-button-group--attached[data-v-d9f79a5b] > .rp-button {
22
22
  position: relative;
23
23
  border-radius: 0;
24
24
  box-shadow: none;
25
25
  }
26
- .rp-button-group--attached .rp-button[data-v-d9f79a5b-s]:is(:hover, :focus-visible) {
26
+ .rp-button-group--attached[data-v-d9f79a5b] > .rp-button:is(:hover, :focus-visible) {
27
27
  z-index: 1;
28
28
  }
29
- .rp-button-group--attached:not(.rp-button-group--vertical) .rp-button[data-v-d9f79a5b-s]:not(:first-child) {
29
+ .rp-button-group--attached[data-v-d9f79a5b]:not(.rp-button-group--vertical) > .rp-button:not(:first-child) {
30
30
  margin-inline-start: calc(var(--rp-border-width-thin) * -1);
31
31
  }
32
- .rp-button-group--attached:not(.rp-button-group--vertical) .rp-button[data-v-d9f79a5b-s]:first-child {
32
+ .rp-button-group--attached[data-v-d9f79a5b]:not(.rp-button-group--vertical) > .rp-button:first-child {
33
33
  border-start-start-radius: var(--_rp-button-radius);
34
34
  border-end-start-radius: var(--_rp-button-radius);
35
35
  }
36
- .rp-button-group--attached:not(.rp-button-group--vertical) .rp-button[data-v-d9f79a5b-s]:last-child {
36
+ .rp-button-group--attached[data-v-d9f79a5b]:not(.rp-button-group--vertical) > .rp-button:last-child {
37
37
  border-start-end-radius: var(--_rp-button-radius);
38
38
  border-end-end-radius: var(--_rp-button-radius);
39
39
  }
40
- .rp-button-group--attached.rp-button-group--vertical .rp-button[data-v-d9f79a5b-s]:not(:first-child) {
40
+ .rp-button-group--attached.rp-button-group--vertical[data-v-d9f79a5b] > .rp-button:not(:first-child) {
41
41
  margin-block-start: calc(var(--rp-border-width-thin) * -1);
42
42
  }
43
- .rp-button-group--attached.rp-button-group--vertical .rp-button[data-v-d9f79a5b-s]:first-child {
43
+ .rp-button-group--attached.rp-button-group--vertical[data-v-d9f79a5b] > .rp-button:first-child {
44
44
  border-start-start-radius: var(--_rp-button-radius);
45
45
  border-start-end-radius: var(--_rp-button-radius);
46
46
  }
47
- .rp-button-group--attached.rp-button-group--vertical .rp-button[data-v-d9f79a5b-s]:last-child {
47
+ .rp-button-group--attached.rp-button-group--vertical[data-v-d9f79a5b] > .rp-button:last-child {
48
48
  border-end-start-radius: var(--_rp-button-radius);
49
49
  border-end-end-radius: var(--_rp-button-radius);
50
50
  }
@@ -1,5 +1,6 @@
1
1
  import './button-group.css';
2
- import { n as bem, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
+ import { t as bem } from "./bem.js";
3
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
3
4
  import { computed, createSlot, defineVaporComponent, renderEffect, setAttr, setClass, setInsertionState, setProp, template } from "vue";
4
5
  //#region src/components/button-group/button-group.vue?vue&type=script&setup=true&vapor=true&lang.ts
5
6
  var t0 = template("<div data-v-d9f79a5b role=group>", 1);
@@ -45,5 +46,3 @@ var button_group_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
45
46
  }), [["__scopeId", "data-v-d9f79a5b"]]);
46
47
  //#endregion
47
48
  export { button_group_default as t };
48
-
49
- //# sourceMappingURL=button-group.js.map
package/dist/button.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import './button.css';
2
- import { n as loader_circle_default, t as getButtonColorStyle } from "./useButtonColor.js";
2
+ import { t as bem } from "./bem.js";
3
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
3
4
  import { r as isComponentPresetColor } from "./componentColors.js";
4
- import { n as bem, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
5
+ import { n as loader_circle_default, t as getButtonColorStyle } from "./useButtonColor.js";
5
6
  import { child, computed, createComponent, createIf, createSlot, defineVaporComponent, renderEffect, setAttr, setClass, setInsertionState, setProp, setStyle, template, unref } from "vue";
6
7
  //#region src/components/button/button.vue?vue&type=script&setup=true&vapor=true&lang.ts
7
8
  var t0 = template("<span data-v-4a751fe6 class=rp-button__loading aria-hidden=true>");
@@ -80,5 +81,3 @@ var button_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
80
81
  }), [["__scopeId", "data-v-4a751fe6"]]);
81
82
  //#endregion
82
83
  export { button_default as t };
83
-
84
- //# sourceMappingURL=button.js.map
package/dist/card.css CHANGED
@@ -1,7 +1,9 @@
1
- .rp-card[data-v-c3ae62b7] {
1
+ .rp-card[data-v-269e2bc4] {
2
2
  --_rp-card-bg: var(--rp-color-surface-raised);
3
3
  --_rp-card-border: var(--rp-color-border);
4
4
  --_rp-card-fg: var(--rp-color-text);
5
+ --_rp-card-header-border: var(--rp-color-border);
6
+ --_rp-card-footer-border: var(--rp-color-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,71 +18,89 @@
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] {
21
+ .rp-card--layer-base[data-v-269e2bc4] {
20
22
  --_rp-card-bg: var(--rp-color-background);
21
23
  }
22
- .rp-card--layer-surface[data-v-c3ae62b7] {
24
+ .rp-card--layer-surface[data-v-269e2bc4] {
23
25
  --_rp-card-bg: var(--rp-color-surface);
24
26
  }
25
- .rp-card--layer-raised[data-v-c3ae62b7] {
27
+ .rp-card--layer-raised[data-v-269e2bc4] {
26
28
  --_rp-card-bg: var(--rp-color-surface-raised);
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
93
  font-size: var(--rp-font-size-base);
74
94
  line-height: var(--rp-line-height-normal);
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
101
  line-height: var(--rp-line-height-tight);
82
102
  }
83
- .rp-card__description[data-v-c3ae62b7] {
103
+ .rp-card__description[data-v-269e2bc4] {
84
104
  margin: 0;
85
105
  color: var(--rp-color-text-secondary);
86
106
  font-size: var(--rp-font-size-sm);
package/dist/card.js CHANGED
@@ -1,12 +1,14 @@
1
1
  import './card.css';
2
- import { n as bem, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
3
- import { computed, createIf, createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, setText, template, toDisplayString, txt } from "vue";
2
+ import { t as bem } from "./bem.js";
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, useSlots } from "vue";
4
5
  //#region src/components/card/card.vue?vue&type=script&setup=true&vapor=true&lang.ts
5
- var t0 = template("<div data-v-c3ae62b7 class=rp-card__title> ");
6
- var t1 = template("<p data-v-c3ae62b7 class=rp-card__description> ");
7
- var t2 = template("<div data-v-c3ae62b7 class=rp-card__header>");
8
- var t3 = template("<div data-v-c3ae62b7 class=rp-card__body>");
9
- 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);
10
12
  //#endregion
11
13
  //#region src/components/card/card.vue
12
14
  var card_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
@@ -20,52 +22,82 @@ var card_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
20
22
  type: Boolean,
21
23
  default: true
22
24
  },
25
+ headerBorder: {
26
+ type: Boolean,
27
+ default: false
28
+ },
29
+ footerBorder: {
30
+ type: Boolean,
31
+ default: false
32
+ },
23
33
  title: { default: "" },
24
- description: { default: "" }
34
+ description: { default: "" },
35
+ bodyClass: { type: [
36
+ Boolean,
37
+ null,
38
+ String,
39
+ Object,
40
+ Array
41
+ ] }
25
42
  },
26
- setup(__props, { slots: $slots }) {
43
+ setup(__props) {
27
44
  const props = __props;
45
+ const slots = useSlots();
28
46
  const hasTitle = computed(() => Boolean(props.title));
29
47
  const hasDescription = computed(() => Boolean(props.description));
30
- 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));
31
53
  const rootClass = computed(() => bem("rp-card", {
32
54
  [`layer-${props.layer}`]: Boolean(props.layer),
33
55
  [`padding-${props.padding}`]: Boolean(props.padding),
34
56
  [`radius-${props.radius}`]: Boolean(props.radius),
35
- 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
36
62
  }));
37
- const n13 = t4();
38
- renderEffect(() => setClass(n13, rootClass.value));
39
- setInsertionState(n13, null, 0);
63
+ const n19 = t5();
64
+ renderEffect(() => setClass(n19, rootClass.value));
65
+ setInsertionState(n19, null, 0);
40
66
  createIf(() => hasHeader.value, () => {
41
- const n8 = t2();
42
- setInsertionState(n8, null, 0);
43
- createIf(() => hasTitle.value, () => {
44
- const n4 = t0();
45
- const x4 = txt(n4);
46
- renderEffect(() => setText(x4, toDisplayString(__props.title)));
47
- return n4;
48
- });
49
- setInsertionState(n8, null, 1);
50
- createIf(() => hasDescription.value, () => {
51
- const n7 = t1();
52
- const x7 = txt(n7);
53
- renderEffect(() => setText(x7, toDisplayString(__props.description)));
54
- return n7;
55
- });
56
- 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;
57
83
  });
58
- setInsertionState(n13, null, 1);
59
- createIf(() => $slots.default, () => {
60
- const n12 = t3();
61
- 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);
62
89
  createSlot("default", null, null, 1);
63
- 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;
64
98
  });
65
- return n13;
99
+ return n19;
66
100
  }
67
- }), [["__scopeId", "data-v-c3ae62b7"]]);
101
+ }), [["__scopeId", "data-v-269e2bc4"]]);
68
102
  //#endregion
69
103
  export { card_default as t };
70
-
71
- //# sourceMappingURL=card.js.map
package/dist/checkbox.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import './checkbox.css';
2
+ import { t as bem } from "./bem.js";
3
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
4
  import { n as getComponentCustomColor, r as isComponentPresetColor } from "./componentColors.js";
3
- import { n as bem, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
4
5
  import { t as useControlState } from "./useControlState.js";
5
6
  import { VaporTransition, child, computed, createComponent, createIf, createSlot, defineVaporComponent, extend, markRaw, next, on, renderEffect, setAttr, setBlockKey, setClass, setInsertionState, setProp, setStyle, template, unref } from "vue";
6
7
  //#region ~icons/lucide/check
@@ -153,5 +154,3 @@ var checkbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
153
154
  }), [["__scopeId", "data-v-8af73824"]]);
154
155
  //#endregion
155
156
  export { checkbox_default as t };
156
-
157
- //# sourceMappingURL=checkbox.js.map
@@ -0,0 +1,32 @@
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);
7
+ }
8
+ .rp-collapse--disabled[data-v-a78ac964] {
9
+ opacity: var(--rp-opacity-disabled);
10
+ cursor: not-allowed;
11
+ }
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-base);
19
+ line-height: var(--rp-line-height-normal);
20
+ grid-template-rows: 1fr;
21
+ transition: grid-template-rows var(--_rp-collapse-duration), opacity var(--_rp-collapse-duration);
22
+ }
23
+ .rp-collapse__inner[data-v-a78ac964] {
24
+ min-height: 0;
25
+ min-width: 0;
26
+ overflow: hidden;
27
+ }
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
+ }
@@ -0,0 +1,62 @@
1
+ import './collapse.css';
2
+ import { t as useCollapse } from "./useCollapse.js";
3
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
4
+ import { VaporTransition, applyVShow, child, createComponent, createIf, createSlot, defineVaporComponent, extend, renderEffect, setDynamicProps, setInsertionState, template, unref } from "vue";
5
+ //#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);
8
+ //#endregion
9
+ //#region src/components/collapse/collapse.vue
10
+ var collapse_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
11
+ name: "RpCollapse",
12
+ __name: "collapse",
13
+ props: {
14
+ id: {},
15
+ open: {
16
+ type: Boolean,
17
+ default: void 0
18
+ },
19
+ disabled: {
20
+ type: Boolean,
21
+ default: false
22
+ },
23
+ unmountOnExit: {
24
+ type: Boolean,
25
+ default: false
26
+ },
27
+ role: { default: "region" },
28
+ ariaLabel: {},
29
+ ariaDescribedby: {},
30
+ ariaLabelledby: {}
31
+ },
32
+ emits: ["update:open"],
33
+ setup(__props, { emit: __emit }) {
34
+ const props = __props;
35
+ const emit = __emit;
36
+ const { isOpen, shouldRenderContent, rootProps, contentProps, triggerSlotProps, contentSlotProps } = useCollapse(props, (open) => {
37
+ emit("update:open", open);
38
+ });
39
+ const n7 = t1();
40
+ renderEffect(() => setDynamicProps(n7, [unref(rootProps)]));
41
+ setInsertionState(n7, null, 0);
42
+ createSlot("trigger", { $: [() => unref(triggerSlotProps)] }, null, 1);
43
+ setInsertionState(n7, null, 1);
44
+ createComponent(VaporTransition, {
45
+ name: "rp-collapse-content",
46
+ persisted: ""
47
+ }, extend(() => {
48
+ return createIf(() => unref(shouldRenderContent), () => {
49
+ const n5 = t0();
50
+ const n4 = child(n5);
51
+ renderEffect(() => setDynamicProps(n5, [unref(contentProps)]));
52
+ setInsertionState(n4, null, 0);
53
+ createSlot("default", { $: [() => unref(contentSlotProps)] }, null, 1);
54
+ applyVShow(n5, () => unref(isOpen));
55
+ return n5;
56
+ }, null, 129);
57
+ }, { _: 8 }));
58
+ return n7;
59
+ }
60
+ }), [["__scopeId", "data-v-a78ac964"]]);
61
+ //#endregion
62
+ export { collapse_default as t };
@@ -18,5 +18,3 @@ function getComponentCustomColor(color) {
18
18
  }
19
19
  //#endregion
20
20
  export { getComponentCustomColor as n, isComponentPresetColor as r, componentColors as t };
21
-
22
- //# sourceMappingURL=componentColors.js.map
@@ -0,0 +1,40 @@
1
+ import { AccordionItemProps } from './types';
2
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<AccordionItemProps> & (typeof globalThis extends {
4
+ __VLS_PROPS_FALLBACK: infer P;
5
+ } ? P : {});
6
+ expose: (exposed: {}) => void;
7
+ attrs: any;
8
+ slots: {
9
+ trigger?: (props: {
10
+ triggerProps: import('./types').AccordionTriggerProps;
11
+ value: import('./types').AccordionItemValue;
12
+ isOpen: boolean;
13
+ disabled: boolean;
14
+ open: () => void;
15
+ close: () => void;
16
+ toggle: () => void;
17
+ }) => any;
18
+ } & {
19
+ title?: (props: {}) => any;
20
+ } & {
21
+ default?: (props: {
22
+ value: import('./types').AccordionItemValue;
23
+ isOpen: boolean;
24
+ disabled: boolean;
25
+ open: () => void;
26
+ close: () => void;
27
+ toggle: () => void;
28
+ }) => any;
29
+ };
30
+ emit: {};
31
+ }>) => import('vue').VNode & {
32
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
33
+ };
34
+ declare const _default: typeof __VLS_export;
35
+ export default _default;
36
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
37
+ [K in keyof T]: T[K];
38
+ } : {
39
+ [K in keyof T as K]: T[K];
40
+ }) & {};
@@ -0,0 +1,23 @@
1
+ import { AccordionModelValue, AccordionProps } from './types';
2
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<AccordionProps & {
4
+ "onUpdate:modelValue"?: ((value: AccordionModelValue) => any) | undefined;
5
+ }> & (typeof globalThis extends {
6
+ __VLS_PROPS_FALLBACK: infer P;
7
+ } ? P : {});
8
+ expose: (exposed: {}) => void;
9
+ attrs: any;
10
+ slots: {
11
+ default?: (props: {}) => any;
12
+ };
13
+ emit: (evt: "update:modelValue", value: AccordionModelValue) => void;
14
+ }>) => import('vue').VNode & {
15
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
16
+ };
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
19
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
20
+ [K in keyof T]: T[K];
21
+ } : {
22
+ [K in keyof T as K]: T[K];
23
+ }) & {};
@@ -0,0 +1,4 @@
1
+ export { default as Accordion } from './accordion';
2
+ export { default as AccordionItem } from './accordion-item';
3
+ export { useAccordion, useAccordionItem } from './useAccordion';
4
+ export type { AccordionContentProps, AccordionContext, AccordionItemProps, AccordionItemRootProps, AccordionItemSlotProps, AccordionItemTriggerSlotProps, AccordionItemValue, AccordionModelValue, AccordionOrientation, AccordionProps, AccordionRootProps, AccordionState, AccordionTriggerProps, UseAccordionItemReturn, UseAccordionReturn, } from './types';
@@ -0,0 +1,2 @@
1
+ import { i as useAccordionItem, n as accordion_default, r as useAccordion, t as accordion_item_default } from "../../accordion.js";
2
+ export { accordion_default as Accordion, accordion_item_default as AccordionItem, useAccordion, useAccordionItem };