rizzo-css 0.0.62 → 0.0.64

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 (195) hide show
  1. package/README.md +9 -5
  2. package/bin/rizzo-css.js +350 -31
  3. package/dist/rizzo.min.css +5 -3
  4. package/package.json +14 -7
  5. package/scaffold/astro/Footer.astro +8 -0
  6. package/scaffold/astro/Settings.astro +8 -2
  7. package/scaffold/astro/Tabs.astro +2 -2
  8. package/scaffold/react/Accordion.tsx +143 -0
  9. package/scaffold/react/Alert.tsx +90 -0
  10. package/scaffold/react/AlertDialog.tsx +80 -0
  11. package/scaffold/react/AspectRatio.tsx +32 -0
  12. package/scaffold/react/Avatar.tsx +53 -0
  13. package/scaffold/react/BackToTop.tsx +62 -0
  14. package/scaffold/react/Badge.tsx +39 -0
  15. package/scaffold/react/Breadcrumb.tsx +81 -0
  16. package/scaffold/react/Button.tsx +40 -0
  17. package/scaffold/react/ButtonGroup.tsx +24 -0
  18. package/scaffold/react/Card.tsx +26 -0
  19. package/scaffold/react/Checkbox.tsx +40 -0
  20. package/scaffold/react/Collapsible.tsx +58 -0
  21. package/scaffold/react/ContextMenu.tsx +67 -0
  22. package/scaffold/react/CopyToClipboard.tsx +128 -0
  23. package/scaffold/react/Dashboard.tsx +23 -0
  24. package/scaffold/react/Divider.tsx +47 -0
  25. package/scaffold/react/DocsSidebar.tsx +48 -0
  26. package/scaffold/react/Dropdown.tsx +256 -0
  27. package/scaffold/react/Empty.tsx +29 -0
  28. package/scaffold/react/FontSwitcher.tsx +68 -0
  29. package/scaffold/react/Footer.tsx +55 -0
  30. package/scaffold/react/FormGroup.tsx +57 -0
  31. package/scaffold/react/HoverCard.tsx +61 -0
  32. package/scaffold/react/Icons.tsx +22 -0
  33. package/scaffold/react/Input.tsx +69 -0
  34. package/scaffold/react/Kbd.tsx +16 -0
  35. package/scaffold/react/Label.tsx +16 -0
  36. package/scaffold/react/Modal.tsx +149 -0
  37. package/scaffold/react/Navbar.tsx +72 -0
  38. package/scaffold/react/Pagination.tsx +155 -0
  39. package/scaffold/react/Popover.tsx +66 -0
  40. package/scaffold/react/ProgressBar.tsx +66 -0
  41. package/scaffold/react/Radio.tsx +38 -0
  42. package/scaffold/react/ResizableHandle.tsx +24 -0
  43. package/scaffold/react/ResizablePane.tsx +29 -0
  44. package/scaffold/react/ResizablePaneGroup.tsx +29 -0
  45. package/scaffold/react/ScrollArea.tsx +29 -0
  46. package/scaffold/react/Search.tsx +62 -0
  47. package/scaffold/react/Select.tsx +65 -0
  48. package/scaffold/react/Separator.tsx +33 -0
  49. package/scaffold/react/Settings.tsx +60 -0
  50. package/scaffold/react/Sheet.tsx +86 -0
  51. package/scaffold/react/Skeleton.tsx +32 -0
  52. package/scaffold/react/Slider.tsx +66 -0
  53. package/scaffold/react/SoundEffects.tsx +15 -0
  54. package/scaffold/react/Spinner.tsx +36 -0
  55. package/scaffold/react/Switch.tsx +52 -0
  56. package/scaffold/react/Table.tsx +178 -0
  57. package/scaffold/react/Tabs.tsx +143 -0
  58. package/scaffold/react/Textarea.tsx +69 -0
  59. package/scaffold/react/ThemeSwitcher.tsx +89 -0
  60. package/scaffold/react/Toast.tsx +43 -0
  61. package/scaffold/react/Toggle.tsx +45 -0
  62. package/scaffold/react/ToggleGroup.tsx +34 -0
  63. package/scaffold/react/Tooltip.tsx +40 -0
  64. package/scaffold/react/base/README-RIZZO.md +50 -0
  65. package/scaffold/react/base/gitignore +8 -0
  66. package/scaffold/react/base/index.html +16 -0
  67. package/scaffold/react/base/package.json +22 -0
  68. package/scaffold/react/base/public/.gitkeep +0 -0
  69. package/scaffold/react/base/src/App.tsx +11 -0
  70. package/scaffold/react/base/src/index.css +1 -0
  71. package/scaffold/react/base/src/main.tsx +10 -0
  72. package/scaffold/react/base/src/vite-env.d.ts +1 -0
  73. package/scaffold/react/base/tsconfig.json +21 -0
  74. package/scaffold/react/base/tsconfig.node.json +9 -0
  75. package/scaffold/react/base/vite.config.ts +6 -0
  76. package/scaffold/vanilla/README-RIZZO.md +1 -1
  77. package/scaffold/vanilla/components/accordion.html +36 -0
  78. package/scaffold/vanilla/components/alert-dialog.html +36 -0
  79. package/scaffold/vanilla/components/alert.html +36 -0
  80. package/scaffold/vanilla/components/aspect-ratio.html +36 -0
  81. package/scaffold/vanilla/components/avatar.html +36 -0
  82. package/scaffold/vanilla/components/back-to-top.html +36 -0
  83. package/scaffold/vanilla/components/badge.html +36 -0
  84. package/scaffold/vanilla/components/breadcrumb.html +36 -0
  85. package/scaffold/vanilla/components/button-group.html +36 -0
  86. package/scaffold/vanilla/components/button.html +36 -0
  87. package/scaffold/vanilla/components/cards.html +36 -0
  88. package/scaffold/vanilla/components/collapsible.html +36 -0
  89. package/scaffold/vanilla/components/context-menu.html +36 -0
  90. package/scaffold/vanilla/components/copy-to-clipboard.html +36 -0
  91. package/scaffold/vanilla/components/dashboard.html +36 -0
  92. package/scaffold/vanilla/components/divider.html +36 -0
  93. package/scaffold/vanilla/components/docs-sidebar.html +36 -0
  94. package/scaffold/vanilla/components/dropdown.html +36 -0
  95. package/scaffold/vanilla/components/empty.html +36 -0
  96. package/scaffold/vanilla/components/font-switcher.html +36 -0
  97. package/scaffold/vanilla/components/footer.html +36 -0
  98. package/scaffold/vanilla/components/forms.html +36 -0
  99. package/scaffold/vanilla/components/hover-card.html +36 -0
  100. package/scaffold/vanilla/components/icons.html +36 -0
  101. package/scaffold/vanilla/components/index.html +36 -0
  102. package/scaffold/vanilla/components/kbd.html +36 -0
  103. package/scaffold/vanilla/components/label.html +36 -0
  104. package/scaffold/vanilla/components/modal.html +36 -0
  105. package/scaffold/vanilla/components/navbar.html +36 -0
  106. package/scaffold/vanilla/components/pagination.html +36 -0
  107. package/scaffold/vanilla/components/popover.html +36 -0
  108. package/scaffold/vanilla/components/progress-bar.html +36 -0
  109. package/scaffold/vanilla/components/resizable.html +36 -0
  110. package/scaffold/vanilla/components/scroll-area.html +36 -0
  111. package/scaffold/vanilla/components/search.html +36 -0
  112. package/scaffold/vanilla/components/separator.html +36 -0
  113. package/scaffold/vanilla/components/settings.html +36 -0
  114. package/scaffold/vanilla/components/sheet.html +36 -0
  115. package/scaffold/vanilla/components/skeleton.html +36 -0
  116. package/scaffold/vanilla/components/slider.html +36 -0
  117. package/scaffold/vanilla/components/sound-effects.html +36 -0
  118. package/scaffold/vanilla/components/spinner.html +36 -0
  119. package/scaffold/vanilla/components/switch.html +36 -0
  120. package/scaffold/vanilla/components/table.html +36 -0
  121. package/scaffold/vanilla/components/tabs.html +36 -0
  122. package/scaffold/vanilla/components/theme-switcher.html +36 -0
  123. package/scaffold/vanilla/components/toast.html +36 -0
  124. package/scaffold/vanilla/components/toggle-group.html +36 -0
  125. package/scaffold/vanilla/components/toggle.html +36 -0
  126. package/scaffold/vanilla/components/tooltip.html +36 -0
  127. package/scaffold/vanilla/index.html +36 -0
  128. package/scaffold/vue/Accordion.vue +9 -0
  129. package/scaffold/vue/Alert.vue +9 -0
  130. package/scaffold/vue/AlertDialog.vue +9 -0
  131. package/scaffold/vue/AspectRatio.vue +9 -0
  132. package/scaffold/vue/Avatar.vue +9 -0
  133. package/scaffold/vue/BackToTop.vue +9 -0
  134. package/scaffold/vue/Badge.vue +28 -0
  135. package/scaffold/vue/Breadcrumb.vue +9 -0
  136. package/scaffold/vue/Button.vue +23 -0
  137. package/scaffold/vue/ButtonGroup.vue +9 -0
  138. package/scaffold/vue/Card.vue +21 -0
  139. package/scaffold/vue/Checkbox.vue +31 -0
  140. package/scaffold/vue/Collapsible.vue +9 -0
  141. package/scaffold/vue/ContextMenu.vue +9 -0
  142. package/scaffold/vue/CopyToClipboard.vue +9 -0
  143. package/scaffold/vue/Dashboard.vue +9 -0
  144. package/scaffold/vue/Divider.vue +23 -0
  145. package/scaffold/vue/DocsSidebar.vue +9 -0
  146. package/scaffold/vue/Dropdown.vue +9 -0
  147. package/scaffold/vue/Empty.vue +9 -0
  148. package/scaffold/vue/FontSwitcher.vue +9 -0
  149. package/scaffold/vue/Footer.vue +9 -0
  150. package/scaffold/vue/FormGroup.vue +45 -0
  151. package/scaffold/vue/HoverCard.vue +9 -0
  152. package/scaffold/vue/Icons.vue +9 -0
  153. package/scaffold/vue/Input.vue +59 -0
  154. package/scaffold/vue/Kbd.vue +9 -0
  155. package/scaffold/vue/Label.vue +23 -0
  156. package/scaffold/vue/Modal.vue +9 -0
  157. package/scaffold/vue/Navbar.vue +9 -0
  158. package/scaffold/vue/Pagination.vue +9 -0
  159. package/scaffold/vue/Popover.vue +9 -0
  160. package/scaffold/vue/ProgressBar.vue +9 -0
  161. package/scaffold/vue/Radio.vue +29 -0
  162. package/scaffold/vue/ResizableHandle.vue +9 -0
  163. package/scaffold/vue/ResizablePane.vue +9 -0
  164. package/scaffold/vue/ResizablePaneGroup.vue +9 -0
  165. package/scaffold/vue/ScrollArea.vue +9 -0
  166. package/scaffold/vue/Search.vue +9 -0
  167. package/scaffold/vue/Select.vue +52 -0
  168. package/scaffold/vue/Separator.vue +9 -0
  169. package/scaffold/vue/Settings.vue +9 -0
  170. package/scaffold/vue/Sheet.vue +9 -0
  171. package/scaffold/vue/Skeleton.vue +9 -0
  172. package/scaffold/vue/Slider.vue +9 -0
  173. package/scaffold/vue/SoundEffects.vue +9 -0
  174. package/scaffold/vue/Spinner.vue +21 -0
  175. package/scaffold/vue/Switch.vue +9 -0
  176. package/scaffold/vue/Table.vue +9 -0
  177. package/scaffold/vue/Tabs.vue +9 -0
  178. package/scaffold/vue/Textarea.vue +60 -0
  179. package/scaffold/vue/ThemeSwitcher.vue +9 -0
  180. package/scaffold/vue/Toast.vue +9 -0
  181. package/scaffold/vue/Toggle.vue +9 -0
  182. package/scaffold/vue/ToggleGroup.vue +9 -0
  183. package/scaffold/vue/Tooltip.vue +9 -0
  184. package/scaffold/vue/base/README-RIZZO.md +50 -0
  185. package/scaffold/vue/base/gitignore +8 -0
  186. package/scaffold/vue/base/index.html +16 -0
  187. package/scaffold/vue/base/package.json +20 -0
  188. package/scaffold/vue/base/public/.gitkeep +0 -0
  189. package/scaffold/vue/base/src/App.vue +13 -0
  190. package/scaffold/vue/base/src/index.css +1 -0
  191. package/scaffold/vue/base/src/main.ts +5 -0
  192. package/scaffold/vue/base/src/vite-env.d.ts +7 -0
  193. package/scaffold/vue/base/tsconfig.json +22 -0
  194. package/scaffold/vue/base/tsconfig.node.json +10 -0
  195. package/scaffold/vue/base/vite.config.ts +6 -0
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["accordion", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["alert", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["alert-dialog", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["aspect-ratio", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["avatar", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["back-to-top", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,28 @@
1
+ <script setup lang="ts">
2
+ type Variant = 'primary' | 'success' | 'warning' | 'error' | 'info';
3
+ type Size = 'sm' | 'md' | 'lg';
4
+
5
+ withDefaults(
6
+ defineProps<{
7
+ variant?: Variant;
8
+ size?: Size;
9
+ pill?: boolean;
10
+ class?: string;
11
+ }>(),
12
+ { variant: 'primary', size: 'md', pill: false, class: '' }
13
+ );
14
+ </script>
15
+
16
+ <template>
17
+ <span
18
+ :class="[
19
+ 'badge',
20
+ `badge--${variant}`,
21
+ `badge--${size}`,
22
+ pill ? 'badge--pill' : '',
23
+ $props.class,
24
+ ].filter(Boolean).join(' ')"
25
+ >
26
+ <slot />
27
+ </span>
28
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["breadcrumb", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,23 @@
1
+ <script setup lang="ts">
2
+ type Variant = 'default' | 'primary' | 'success' | 'warning' | 'error' | 'info' | 'outline';
3
+
4
+ withDefaults(
5
+ defineProps<{
6
+ variant?: Variant;
7
+ disabled?: boolean;
8
+ type?: 'button' | 'submit' | 'reset';
9
+ class?: string;
10
+ }>(),
11
+ { variant: 'default', disabled: false, type: 'button', class: '' }
12
+ );
13
+ </script>
14
+
15
+ <template>
16
+ <button
17
+ :type="type"
18
+ :disabled="disabled"
19
+ :class="['btn', variant !== 'default' ? `btn-${variant}` : '', $props.class].filter(Boolean).join(' ')"
20
+ >
21
+ <slot />
22
+ </button>
23
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["button-group", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,21 @@
1
+ <script setup lang="ts">
2
+ withDefaults(
3
+ defineProps<{
4
+ variant?: 'default' | 'outlined' | 'elevated';
5
+ class?: string;
6
+ }>(),
7
+ { variant: 'default', class: '' }
8
+ );
9
+ </script>
10
+
11
+ <template>
12
+ <div
13
+ :class="[
14
+ 'card',
15
+ variant !== 'default' ? `card--${variant}` : '',
16
+ $props.class,
17
+ ].filter(Boolean).join(' ')"
18
+ >
19
+ <slot />
20
+ </div>
21
+ </template>
@@ -0,0 +1,31 @@
1
+ <script setup lang="ts">
2
+ defineProps<{
3
+ id?: string;
4
+ name?: string;
5
+ value?: string;
6
+ modelValue?: boolean;
7
+ required?: boolean;
8
+ disabled?: boolean;
9
+ class?: string;
10
+ ariaDescribedby?: string;
11
+ ariaLabel?: string;
12
+ }>();
13
+
14
+ const emit = defineEmits<{ (e: 'update:modelValue', value: boolean): void }>();
15
+ </script>
16
+
17
+ <template>
18
+ <input
19
+ type="checkbox"
20
+ :id="id"
21
+ :name="name"
22
+ :value="value"
23
+ :checked="modelValue"
24
+ :required="required"
25
+ :disabled="disabled"
26
+ :class="$props.class"
27
+ :aria-describedby="ariaDescribedby"
28
+ :aria-label="ariaLabel"
29
+ @change="emit('update:modelValue', ($event.target as HTMLInputElement).checked)"
30
+ />
31
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["collapsible", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["context-menu", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["copy-to-clipboard", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["dashboard", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,23 @@
1
+ <script setup lang="ts">
2
+ withDefaults(
3
+ defineProps<{
4
+ orientation?: 'horizontal' | 'vertical';
5
+ label?: string;
6
+ class?: string;
7
+ }>(),
8
+ { orientation: 'horizontal', class: '' }
9
+ );
10
+ </script>
11
+
12
+ <template>
13
+ <div
14
+ :class="['divider', `divider--${orientation}`, label ? 'divider--labeled' : '', $props.class].filter(Boolean).join(' ')"
15
+ role="separator"
16
+ :aria-orientation="orientation"
17
+ :aria-label="label?.trim() || undefined"
18
+ >
19
+ <span v-if="label && orientation === 'horizontal'" class="divider__line" aria-hidden="true" />
20
+ <span v-if="label && orientation === 'horizontal'" class="divider__label">{{ label }}</span>
21
+ <span class="divider__line" aria-hidden="true" />
22
+ </div>
23
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["docs-sidebar", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["dropdown", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["empty", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["font-switcher", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["footer", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,45 @@
1
+ <script setup lang="ts">
2
+ withDefaults(
3
+ defineProps<{
4
+ label?: string;
5
+ labelFor?: string;
6
+ required?: boolean;
7
+ help?: string;
8
+ error?: string;
9
+ success?: string;
10
+ class?: string;
11
+ }>(),
12
+ { required: false, class: '' }
13
+ );
14
+ </script>
15
+
16
+ <template>
17
+ <div :class="['form-group', $props.class].filter(Boolean).join(' ')">
18
+ <label
19
+ v-if="label && labelFor"
20
+ :for="labelFor"
21
+ :class="['form-group__label', required ? 'required' : ''].filter(Boolean).join(' ')"
22
+ >
23
+ {{ label }}
24
+ </label>
25
+ <span
26
+ v-else-if="label"
27
+ :class="['form-group__label', required ? 'required' : ''].filter(Boolean).join(' ')"
28
+ >
29
+ {{ label }}
30
+ </span>
31
+ <slot />
32
+ <span v-if="help" :id="labelFor && help ? `${labelFor}-help` : undefined" class="form-group__help">
33
+ {{ help }}
34
+ </span>
35
+ <span
36
+ v-if="error"
37
+ :id="labelFor && error ? `${labelFor}-error` : undefined"
38
+ class="form-error"
39
+ role="alert"
40
+ >
41
+ {{ error }}
42
+ </span>
43
+ <span v-if="success" class="form-success" role="status">{{ success }}</span>
44
+ </div>
45
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["hover-card", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{ class?: string }>(), { class: "" });
3
+ </script>
4
+
5
+ <template>
6
+ <div :class="["icons", $props.class].filter(Boolean).join(" ")">
7
+ <slot />
8
+ </div>
9
+ </template>