@vifui/core 0.4.0-alpha.6 → 0.6.0-alpha.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 (164) hide show
  1. package/README.md +13 -19
  2. package/dist/components/accordion/accordion-body.vue.d.ts +2 -1
  3. package/dist/components/accordion/accordion-body.vue.js +1 -1
  4. package/dist/components/accordion/accordion-content.vue.d.ts +2 -1
  5. package/dist/components/accordion/accordion-content.vue.js +1 -1
  6. package/dist/components/accordion/accordion-header.vue.d.ts +2 -1
  7. package/dist/components/accordion/accordion-header.vue.js +1 -1
  8. package/dist/components/accordion/accordion-indicator.vue.d.ts +2 -1
  9. package/dist/components/accordion/accordion-indicator.vue.js +1 -1
  10. package/dist/components/accordion/accordion-item.vue.d.ts +2 -1
  11. package/dist/components/accordion/accordion-item.vue.js +1 -1
  12. package/dist/components/accordion/accordion-root.vue.d.ts +2 -1
  13. package/dist/components/accordion/accordion-root.vue.js +1 -1
  14. package/dist/components/accordion/accordion-trigger.vue.d.ts +2 -1
  15. package/dist/components/accordion/accordion-trigger.vue.js +1 -1
  16. package/dist/components/accordion/index.d.ts +15 -15
  17. package/dist/components/alert/alert-body.vue.d.ts +2 -2
  18. package/dist/components/alert/alert-body.vue.js +1 -1
  19. package/dist/components/alert/alert-close.vue.d.ts +2 -1
  20. package/dist/components/alert/alert-close.vue.js +17 -5
  21. package/dist/components/alert/alert-content.vue.d.ts +5 -5
  22. package/dist/components/alert/alert-content.vue.js +2 -5
  23. package/dist/components/alert/alert-description.vue.d.ts +3 -3
  24. package/dist/components/alert/alert-description.vue.js +2 -5
  25. package/dist/components/alert/alert-footer.vue.d.ts +2 -2
  26. package/dist/components/alert/alert-footer.vue.js +1 -1
  27. package/dist/components/alert/alert-header.vue.d.ts +3 -3
  28. package/dist/components/alert/alert-header.vue.js +2 -5
  29. package/dist/components/alert/alert-icon.vue.d.ts +3 -2
  30. package/dist/components/alert/alert-icon.vue.js +1 -1
  31. package/dist/components/alert/alert-root.vue.d.ts +2 -2
  32. package/dist/components/alert/alert-root.vue.js +6 -2
  33. package/dist/components/alert/alert-title.vue.d.ts +3 -3
  34. package/dist/components/alert/alert-title.vue.js +2 -5
  35. package/dist/components/alert/index.d.ts +19 -19
  36. package/dist/components/avatar/avatar-fallback.vue.d.ts +2 -2
  37. package/dist/components/avatar/avatar-fallback.vue.js +1 -1
  38. package/dist/components/avatar/avatar-group.vue.d.ts +2 -2
  39. package/dist/components/avatar/avatar-group.vue.js +1 -1
  40. package/dist/components/avatar/avatar-image.vue.d.ts +2 -2
  41. package/dist/components/avatar/avatar-image.vue.js +1 -1
  42. package/dist/components/avatar/avatar-root.vue.d.ts +2 -2
  43. package/dist/components/avatar/avatar-root.vue.js +1 -1
  44. package/dist/components/avatar/index.d.ts +9 -9
  45. package/dist/components/badge/badge.vue.d.ts +2 -1
  46. package/dist/components/badge/badge.vue.js +1 -1
  47. package/dist/components/badge/index.d.ts +3 -3
  48. package/dist/components/breadcrumb/breadcrumb-current-link.vue.d.ts +2 -1
  49. package/dist/components/breadcrumb/breadcrumb-current-link.vue.js +1 -1
  50. package/dist/components/breadcrumb/breadcrumb-item.vue.d.ts +2 -1
  51. package/dist/components/breadcrumb/breadcrumb-item.vue.js +1 -1
  52. package/dist/components/breadcrumb/breadcrumb-link.vue.d.ts +2 -1
  53. package/dist/components/breadcrumb/breadcrumb-link.vue.js +1 -1
  54. package/dist/components/breadcrumb/breadcrumb-list.vue.d.ts +2 -1
  55. package/dist/components/breadcrumb/breadcrumb-list.vue.js +1 -1
  56. package/dist/components/breadcrumb/breadcrumb-root.vue.d.ts +2 -1
  57. package/dist/components/breadcrumb/breadcrumb-root.vue.js +1 -1
  58. package/dist/components/breadcrumb/breadcrumb-separator.vue.d.ts +2 -1
  59. package/dist/components/breadcrumb/breadcrumb-separator.vue.js +1 -1
  60. package/dist/components/breadcrumb/index.d.ts +1 -1
  61. package/dist/components/button/button.vue.d.ts +3 -2
  62. package/dist/components/button/button.vue.js +6 -26
  63. package/dist/components/button/index.d.ts +3 -3
  64. package/dist/components/card/card-body.vue.d.ts +2 -1
  65. package/dist/components/card/card-body.vue.js +1 -1
  66. package/dist/components/card/card-footer.vue.d.ts +2 -1
  67. package/dist/components/card/card-footer.vue.js +1 -1
  68. package/dist/components/card/card-header.vue.d.ts +2 -1
  69. package/dist/components/card/card-header.vue.js +1 -1
  70. package/dist/components/card/card-media.vue.d.ts +2 -1
  71. package/dist/components/card/card-media.vue.js +1 -1
  72. package/dist/components/card/card-root.vue.d.ts +2 -1
  73. package/dist/components/card/card-root.vue.js +1 -1
  74. package/dist/components/checkbox/checkbox-group-item.vue.d.ts +2 -1
  75. package/dist/components/checkbox/checkbox-group-item.vue.js +1 -1
  76. package/dist/components/checkbox/checkbox-group.vue.d.ts +2 -1
  77. package/dist/components/checkbox/checkbox-group.vue.js +1 -1
  78. package/dist/components/checkbox/checkbox-indicator.vue.d.ts +2 -1
  79. package/dist/components/checkbox/checkbox-indicator.vue.js +1 -1
  80. package/dist/components/checkbox/checkbox-label.vue.d.ts +2 -1
  81. package/dist/components/checkbox/checkbox-label.vue.js +1 -1
  82. package/dist/components/checkbox/checkbox-root.vue.d.ts +2 -1
  83. package/dist/components/checkbox/checkbox-root.vue.js +1 -1
  84. package/dist/components/divider/divider.vue.d.ts +2 -1
  85. package/dist/components/divider/divider.vue.js +1 -1
  86. package/dist/components/divider/index.d.ts +3 -3
  87. package/dist/components/index.d.ts +3 -0
  88. package/dist/components/list/index.d.ts +19 -0
  89. package/dist/components/list/index.js +10 -0
  90. package/dist/components/list/list-avatar.vue.d.ts +19 -0
  91. package/dist/components/list/list-avatar.vue.js +27 -0
  92. package/dist/components/list/list-avatar.vue2.js +5 -0
  93. package/dist/components/list/list-content.vue.d.ts +19 -0
  94. package/dist/components/list/list-content.vue.js +27 -0
  95. package/dist/components/list/list-content.vue2.js +5 -0
  96. package/dist/components/list/list-header.vue.d.ts +31 -0
  97. package/dist/components/list/list-header.vue.js +32 -0
  98. package/dist/components/list/list-header.vue2.js +5 -0
  99. package/dist/components/list/list-icon.vue.d.ts +19 -0
  100. package/dist/components/list/list-icon.vue.js +27 -0
  101. package/dist/components/list/list-icon.vue2.js +5 -0
  102. package/dist/components/list/list-item.vue.d.ts +46 -0
  103. package/dist/components/list/list-item.vue.js +60 -0
  104. package/dist/components/list/list-item.vue2.js +5 -0
  105. package/dist/components/list/list-root.vue.d.ts +52 -0
  106. package/dist/components/list/list-root.vue.js +38 -0
  107. package/dist/components/list/list-root.vue2.js +5 -0
  108. package/dist/components/list/list-slot.vue.d.ts +19 -0
  109. package/dist/components/list/list-slot.vue.js +27 -0
  110. package/dist/components/list/list-slot.vue2.js +5 -0
  111. package/dist/components/list/list-subtitle.vue.d.ts +19 -0
  112. package/dist/components/list/list-subtitle.vue.js +27 -0
  113. package/dist/components/list/list-subtitle.vue2.js +5 -0
  114. package/dist/components/list/list-title.vue.d.ts +19 -0
  115. package/dist/components/list/list-title.vue.js +27 -0
  116. package/dist/components/list/list-title.vue2.js +5 -0
  117. package/dist/components/list/list.styles.d.ts +129 -0
  118. package/dist/components/list/list.styles.js +53 -0
  119. package/dist/components/spinner/index.d.ts +3 -3
  120. package/dist/components/spinner/spinner.vue.d.ts +2 -1
  121. package/dist/components/spinner/spinner.vue.js +1 -1
  122. package/dist/components/tabs/index.d.ts +11 -0
  123. package/dist/components/tabs/index.js +6 -0
  124. package/dist/components/tabs/tabs-content.vue.d.ts +25 -0
  125. package/dist/components/tabs/tabs-content.vue.js +37 -0
  126. package/dist/components/tabs/tabs-content.vue2.js +5 -0
  127. package/dist/components/tabs/tabs-indicator.vue.d.ts +25 -0
  128. package/dist/components/tabs/tabs-indicator.vue.js +35 -0
  129. package/dist/components/tabs/tabs-indicator.vue2.js +5 -0
  130. package/dist/components/tabs/tabs-list.vue.d.ts +26 -0
  131. package/dist/components/tabs/tabs-list.vue.js +36 -0
  132. package/dist/components/tabs/tabs-list.vue2.js +5 -0
  133. package/dist/components/tabs/tabs-root.vue.d.ts +39 -0
  134. package/dist/components/tabs/tabs-root.vue.js +44 -0
  135. package/dist/components/tabs/tabs-root.vue2.js +5 -0
  136. package/dist/components/tabs/tabs-trigger.vue.d.ts +39 -0
  137. package/dist/components/tabs/tabs-trigger.vue.js +42 -0
  138. package/dist/components/tabs/tabs-trigger.vue2.js +5 -0
  139. package/dist/components/tabs/tabs.styles.d.ts +56 -0
  140. package/dist/components/tabs/tabs.styles.js +13 -0
  141. package/dist/components/tooltip/index.d.ts +13 -0
  142. package/dist/components/tooltip/index.js +7 -0
  143. package/dist/components/tooltip/tooltip-arrow.vue.d.ts +24 -0
  144. package/dist/components/tooltip/tooltip-arrow.vue.js +37 -0
  145. package/dist/components/tooltip/tooltip-arrow.vue2.js +5 -0
  146. package/dist/components/tooltip/tooltip-content.vue.d.ts +34 -0
  147. package/dist/components/tooltip/tooltip-content.vue.js +51 -0
  148. package/dist/components/tooltip/tooltip-content.vue2.js +5 -0
  149. package/dist/components/tooltip/tooltip-portal.vue.d.ts +18 -0
  150. package/dist/components/tooltip/tooltip-portal.vue.js +33 -0
  151. package/dist/components/tooltip/tooltip-portal.vue2.js +5 -0
  152. package/dist/components/tooltip/tooltip-provider.vue.d.ts +23 -0
  153. package/dist/components/tooltip/tooltip-provider.vue.js +35 -0
  154. package/dist/components/tooltip/tooltip-provider.vue2.js +5 -0
  155. package/dist/components/tooltip/tooltip-root.vue.d.ts +30 -0
  156. package/dist/components/tooltip/tooltip-root.vue.js +38 -0
  157. package/dist/components/tooltip/tooltip-root.vue2.js +5 -0
  158. package/dist/components/tooltip/tooltip-trigger.vue.d.ts +24 -0
  159. package/dist/components/tooltip/tooltip-trigger.vue.js +32 -0
  160. package/dist/components/tooltip/tooltip-trigger.vue2.js +5 -0
  161. package/dist/components/tooltip/tooltip.styles.d.ts +62 -0
  162. package/dist/components/tooltip/tooltip.styles.js +14 -0
  163. package/dist/index.js +23 -0
  164. package/package.json +3 -3
package/README.md CHANGED
@@ -47,14 +47,14 @@ npm install vue@^3.4.0 tailwindcss@^4.0.0 @iconify/vue@^4.0.0
47
47
  In your `main.js` or `App.vue`:
48
48
 
49
49
  ```js
50
- import '@vifui/core/styles'
50
+ import "@vifui/core/styles";
51
51
  ```
52
52
 
53
53
  ### 2. Use Components
54
54
 
55
55
  ```vue
56
56
  <script setup>
57
- import { Button, Badge, Card } from '@vifui/core'
57
+ import { Button, Badge, Card } from "@vifui/core";
58
58
  </script>
59
59
 
60
60
  <template>
@@ -104,7 +104,7 @@ import { Button, Badge, Card } from '@vifui/core'
104
104
 
105
105
  ```vue
106
106
  <script setup>
107
- import { ref } from 'vue'
107
+ import { ref } from "vue";
108
108
  import {
109
109
  AlertRoot,
110
110
  AlertIcon,
@@ -112,25 +112,19 @@ import {
112
112
  AlertHeader,
113
113
  AlertTitle,
114
114
  AlertDescription,
115
- Button
116
- } from '@vifui/core'
115
+ Button,
116
+ } from "@vifui/core";
117
117
 
118
- const showAlert = ref(true)
118
+ const showAlert = ref(true);
119
119
  </script>
120
120
 
121
121
  <template>
122
- <AlertRoot
123
- v-model:visible="showAlert"
124
- variant="soft"
125
- color="success"
126
- >
122
+ <AlertRoot v-model:visible="showAlert" variant="soft" color="success">
127
123
  <AlertIcon icon="lucide:check-circle" />
128
124
  <AlertContent>
129
125
  <AlertHeader>
130
126
  <AlertTitle>Success!</AlertTitle>
131
- <AlertDescription>
132
- Your changes have been saved.
133
- </AlertDescription>
127
+ <AlertDescription> Your changes have been saved. </AlertDescription>
134
128
  </AlertHeader>
135
129
  </AlertContent>
136
130
  </AlertRoot>
@@ -164,13 +158,13 @@ For now, explore our [Storybook examples](https://github.com/I-am-abdulazeez/vif
164
158
  All components are built with TypeScript and include full type definitions:
165
159
 
166
160
  ```typescript
167
- import type { ButtonProps, CardRootProps } from '@vifui/core'
161
+ import type { ButtonProps, CardRootProps } from "@vifui/core";
168
162
 
169
163
  const buttonProps: ButtonProps = {
170
- color: 'brand',
171
- size: 'lg',
172
- variant: 'solid'
173
- }
164
+ color: "brand",
165
+ size: "lg",
166
+ variant: "solid",
167
+ };
174
168
  ```
175
169
 
176
170
  ## Browser Support
@@ -1,3 +1,4 @@
1
+ import type { HTMLAttributes } from "vue";
1
2
  /**
2
3
  * Props for the VifUI AccordionBody component.
3
4
  * Serves as a wrapper for the main content inside an accordion item.
@@ -13,7 +14,7 @@ export interface AccordionBodyProps {
13
14
  * <AccordionBody class="p-4 text-gray-700" />
14
15
  * ```
15
16
  */
16
- class?: string;
17
+ class?: HTMLAttributes["class"];
17
18
  }
18
19
  declare var __VLS_1: {};
19
20
  type __VLS_Slots = {} & {
@@ -3,7 +3,7 @@ import { defineComponent, inject, createElementBlock, openBlock, normalizeClass,
3
3
  var _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "accordion-body",
5
5
  props: {
6
- class: { type: String, required: false }
6
+ class: { type: null, required: false }
7
7
  },
8
8
  setup(__props) {
9
9
  const props = __props;
@@ -1,3 +1,4 @@
1
+ import type { HTMLAttributes } from "vue";
1
2
  /**
2
3
  * Props for the VifUI AccordionContent component.
3
4
  * Represents the collapsible content section of an accordion item.
@@ -13,7 +14,7 @@ export interface AccordionContentProps {
13
14
  * <AccordionContent class="p-4 bg-gray-50" />
14
15
  * ```
15
16
  */
16
- class?: string;
17
+ class?: HTMLAttributes["class"];
17
18
  }
18
19
  declare var __VLS_6: {};
19
20
  type __VLS_Slots = {} & {
@@ -4,7 +4,7 @@ import { AccordionContent } from 'reka-ui';
4
4
  var _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "accordion-content",
6
6
  props: {
7
- class: { type: String, required: false }
7
+ class: { type: null, required: false }
8
8
  },
9
9
  setup(__props) {
10
10
  const props = __props;
@@ -1,4 +1,5 @@
1
1
  import { type AccordionHeaderProps as RekaAccordionHeaderProps } from "reka-ui";
2
+ import type { HTMLAttributes } from "vue";
2
3
  /**
3
4
  * Props for the VifUI AccordionHeader component.
4
5
  * Serves as the wrapper for the accordion trigger and title,
@@ -14,7 +15,7 @@ export interface AccordionHeaderProps extends RekaAccordionHeaderProps {
14
15
  * <AccordionHeader class="bg-gray-50 px-4 py-2" />
15
16
  * ```
16
17
  */
17
- class?: string;
18
+ class?: HTMLAttributes["class"];
18
19
  }
19
20
  declare var __VLS_6: {};
20
21
  type __VLS_Slots = {} & {
@@ -4,7 +4,7 @@ import { AccordionHeader } from 'reka-ui';
4
4
  var _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "accordion-header",
6
6
  props: {
7
- class: { type: String, required: false },
7
+ class: { type: null, required: false },
8
8
  asChild: { type: Boolean, required: false },
9
9
  as: { type: null, required: false }
10
10
  },
@@ -1,3 +1,4 @@
1
+ import type { HTMLAttributes } from "vue";
1
2
  /**
2
3
  * Props for the VifUI AccordionIndicator component.
3
4
  * Renders the visual indicator (typically a chevron) for
@@ -24,7 +25,7 @@ export interface AccordionIndicatorProps {
24
25
  * <AccordionIndicator class="text-primary-600" />
25
26
  * ```
26
27
  */
27
- class?: string;
28
+ class?: HTMLAttributes["class"];
28
29
  }
29
30
  declare const _default: import("vue").DefineComponent<AccordionIndicatorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AccordionIndicatorProps> & Readonly<{}>, {
30
31
  icon: string;
@@ -5,7 +5,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "accordion-indicator",
6
6
  props: {
7
7
  icon: { type: String, required: false, default: "lucide:chevron-down" },
8
- class: { type: String, required: false }
8
+ class: { type: null, required: false }
9
9
  },
10
10
  setup(__props) {
11
11
  const props = __props;
@@ -1,3 +1,4 @@
1
+ import type { HTMLAttributes } from "vue";
1
2
  /**
2
3
  * Props for the VifUI AccordionItem component.
3
4
  * Represents a single accordion section that can expand or collapse,
@@ -36,7 +37,7 @@ export interface AccordionItemProps {
36
37
  * <AccordionItem class="border-b" />
37
38
  * ```
38
39
  */
39
- class?: string;
40
+ class?: HTMLAttributes["class"];
40
41
  }
41
42
  declare var __VLS_6: {};
42
43
  type __VLS_Slots = {} & {
@@ -6,7 +6,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  props: {
7
7
  value: { type: String, required: true },
8
8
  disabled: { type: Boolean, required: false, default: false },
9
- class: { type: String, required: false }
9
+ class: { type: null, required: false }
10
10
  },
11
11
  setup(__props) {
12
12
  const props = __props;
@@ -1,3 +1,4 @@
1
+ import { type HTMLAttributes } from "vue";
1
2
  import type { AccordionVariantProps } from "./accordion.styles";
2
3
  /**
3
4
  * Props for the VifUI AccordionRoot component.
@@ -53,7 +54,7 @@ export interface AccordionRootProps {
53
54
  * Custom class names for extending or overriding styles.
54
55
  * Applied directly to the accordion root element.
55
56
  */
56
- class?: string;
57
+ class?: HTMLAttributes["class"];
57
58
  /**
58
59
  * Orientation of the accordion layout.
59
60
  * `"vertical"` stacks items top-to-bottom — `"horizontal"` arranges them side-by-side.
@@ -12,7 +12,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
12
12
  type: { type: String, required: false, default: "single" },
13
13
  collapsible: { type: Boolean, required: false, default: true },
14
14
  disabled: { type: Boolean, required: false, default: false },
15
- class: { type: String, required: false },
15
+ class: { type: null, required: false },
16
16
  orientation: { type: String, required: false, default: "vertical" },
17
17
  dir: { type: String, required: false, default: "ltr" }
18
18
  },
@@ -1,4 +1,5 @@
1
1
  import { type AccordionTriggerProps as RekaAccordionTriggerProps } from "reka-ui";
2
+ import type { HTMLAttributes } from "vue";
2
3
  /**
3
4
  * Props for the VifUI AccordionTrigger component.
4
5
  * Acts as the interactive button that expands or collapses
@@ -15,7 +16,7 @@ export interface AccordionTriggerProps extends RekaAccordionTriggerProps {
15
16
  * <AccordionTrigger class="text-primary-600" />
16
17
  * ```
17
18
  */
18
- class?: string;
19
+ class?: HTMLAttributes["class"];
19
20
  /**
20
21
  * Disables this specific trigger.
21
22
  * Prevents the accordion item from opening or closing.
@@ -4,7 +4,7 @@ import { AccordionTrigger } from 'reka-ui';
4
4
  var _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "accordion-trigger",
6
6
  props: {
7
- class: { type: String, required: false },
7
+ class: { type: null, required: false },
8
8
  disabled: { type: Boolean, required: false, default: false },
9
9
  asChild: { type: Boolean, required: false },
10
10
  as: { type: null, required: false }
@@ -1,15 +1,15 @@
1
- export { default as AccordionRoot } from './accordion-root.vue';
2
- export { default as AccordionItem } from './accordion-item.vue';
3
- export { default as AccordionHeader } from './accordion-header.vue';
4
- export { default as AccordionTrigger } from './accordion-trigger.vue';
5
- export { default as AccordionContent } from './accordion-content.vue';
6
- export { default as AccordionIndicator } from './accordion-indicator.vue';
7
- export { default as AccordionBody } from './accordion-body.vue';
8
- export { accordionVariants, type AccordionVariantProps } from './accordion.styles';
9
- export type { AccordionItemProps } from './accordion-item.vue';
10
- export type { AccordionRootProps } from './accordion-root.vue';
11
- export type { AccordionHeaderProps } from './accordion-header.vue';
12
- export type { AccordionTriggerProps } from './accordion-trigger.vue';
13
- export type { AccordionContentProps } from './accordion-content.vue';
14
- export type { AccordionIndicatorProps } from './accordion-indicator.vue';
15
- export type { AccordionBodyProps } from './accordion-body.vue';
1
+ export { default as AccordionRoot } from "./accordion-root.vue";
2
+ export { default as AccordionItem } from "./accordion-item.vue";
3
+ export { default as AccordionHeader } from "./accordion-header.vue";
4
+ export { default as AccordionTrigger } from "./accordion-trigger.vue";
5
+ export { default as AccordionContent } from "./accordion-content.vue";
6
+ export { default as AccordionIndicator } from "./accordion-indicator.vue";
7
+ export { default as AccordionBody } from "./accordion-body.vue";
8
+ export { accordionVariants, type AccordionVariantProps, } from "./accordion.styles";
9
+ export type { AccordionItemProps } from "./accordion-item.vue";
10
+ export type { AccordionRootProps } from "./accordion-root.vue";
11
+ export type { AccordionHeaderProps } from "./accordion-header.vue";
12
+ export type { AccordionTriggerProps } from "./accordion-trigger.vue";
13
+ export type { AccordionContentProps } from "./accordion-content.vue";
14
+ export type { AccordionIndicatorProps } from "./accordion-indicator.vue";
15
+ export type { AccordionBodyProps } from "./accordion-body.vue";
@@ -1,7 +1,7 @@
1
1
  import { type PrimitiveProps } from "reka-ui";
2
- import { type Slot } from "vue";
2
+ import { type HTMLAttributes, type Slot } from "vue";
3
3
  export interface AlertBodyProps extends PrimitiveProps {
4
- class?: string;
4
+ class?: HTMLAttributes["class"];
5
5
  }
6
6
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AlertBodyProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AlertBodyProps> & Readonly<{}>, {
7
7
  as: import("reka-ui").AsTag | import("vue").Component;
@@ -5,7 +5,7 @@ import { alertVariants } from './alert.styles.js';
5
5
  var _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "alert-body",
7
7
  props: {
8
- class: { type: String, required: false },
8
+ class: { type: null, required: false },
9
9
  asChild: { type: Boolean, required: false },
10
10
  as: { type: null, required: false, default: "div" }
11
11
  },
@@ -1,5 +1,6 @@
1
+ import { type HTMLAttributes } from "vue";
1
2
  export interface AlertCloseProps {
2
- class?: string;
3
+ class?: HTMLAttributes["class"];
3
4
  }
4
5
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AlertCloseProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AlertCloseProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
5
6
  default?: (props: {}) => any;
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, createVNode } from 'vue';
1
+ import { defineComponent, inject, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, createVNode } from 'vue';
2
2
  import { Icon } from '@iconify/vue';
3
3
  import { alertVariants } from './alert.styles.js';
4
4
  import _sfc_main$1 from '../button/button.vue.js';
@@ -6,22 +6,34 @@ import _sfc_main$1 from '../button/button.vue.js';
6
6
  var _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  __name: "alert-close",
8
8
  props: {
9
- class: { type: String, required: false }
9
+ class: { type: null, required: false }
10
10
  },
11
11
  setup(__props) {
12
12
  const props = __props;
13
+ const alertContext = inject("alertContext", {
14
+ color: computed(() => "neutral"),
15
+ variant: computed(() => "primary")
16
+ });
13
17
  const classes = computed(
14
18
  () => alertVariants({
15
19
  class: props.class
16
20
  })
17
21
  );
22
+ const buttonColor = computed(() => {
23
+ const variant = alertContext.variant.value;
24
+ if (variant === "primary") {
25
+ return "neutral";
26
+ }
27
+ return alertContext.color.value;
28
+ });
29
+ const buttonVariant = computed(() => "ghost");
18
30
  return (_ctx, _cache) => {
19
31
  return openBlock(), createBlock(resolveDynamicComponent(unref(_sfc_main$1)), {
20
32
  "icon-only": "",
21
33
  class: normalizeClass(classes.value.close()),
22
34
  size: "sm",
23
- color: "neutral",
24
- variant: "ghost"
35
+ color: buttonColor.value,
36
+ variant: buttonVariant.value
25
37
  }, {
26
38
  default: withCtx(() => [
27
39
  renderSlot(_ctx.$slots, "default", {}, () => [
@@ -30,7 +42,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
30
42
  ]),
31
43
  _: 3
32
44
  /* FORWARDED */
33
- }, 8, ["class"]);
45
+ }, 8, ["class", "color", "variant"]);
34
46
  };
35
47
  }
36
48
  });
@@ -1,11 +1,11 @@
1
- import { type PrimitiveProps } from 'reka-ui';
2
- import { type Slot } from 'vue';
1
+ import { type PrimitiveProps } from "reka-ui";
2
+ import { type HTMLAttributes, type Slot } from "vue";
3
3
  export interface AlertContentProps extends PrimitiveProps {
4
4
  /**
5
- * Makes the content collapsible (header becomes trigger)
6
- */
5
+ * Makes the content collapsible (header becomes trigger)
6
+ */
7
7
  collapsible?: boolean;
8
- class?: string;
8
+ class?: HTMLAttributes["class"];
9
9
  }
10
10
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AlertContentProps & {
11
11
  collapsed?: boolean;
@@ -6,7 +6,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "alert-content",
7
7
  props: /* @__PURE__ */ mergeModels({
8
8
  collapsible: { type: Boolean, required: false },
9
- class: { type: String, required: false },
9
+ class: { type: null, required: false },
10
10
  asChild: { type: Boolean, required: false },
11
11
  as: { type: null, required: false, default: "div" }
12
12
  }, {
@@ -17,10 +17,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
17
17
  setup(__props) {
18
18
  const props = __props;
19
19
  const delegatedProps = computed(() => {
20
- const {
21
- as,
22
- asChild
23
- } = props;
20
+ const { as, asChild } = props;
24
21
  return { as, asChild };
25
22
  });
26
23
  const forwardedProps = useForwardProps(delegatedProps);
@@ -1,7 +1,7 @@
1
- import { type PrimitiveProps } from 'reka-ui';
2
- import { type Slot } from 'vue';
1
+ import { type PrimitiveProps } from "reka-ui";
2
+ import { type HTMLAttributes, type Slot } from "vue";
3
3
  export interface AlertDescriptionProps extends PrimitiveProps {
4
- class?: string;
4
+ class?: HTMLAttributes["class"];
5
5
  }
6
6
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AlertDescriptionProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AlertDescriptionProps> & Readonly<{}>, {
7
7
  as: import("reka-ui").AsTag | import("vue").Component;
@@ -5,17 +5,14 @@ import { alertVariants } from './alert.styles.js';
5
5
  var _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "alert-description",
7
7
  props: {
8
- class: { type: String, required: false },
8
+ class: { type: null, required: false },
9
9
  asChild: { type: Boolean, required: false },
10
10
  as: { type: null, required: false, default: "div" }
11
11
  },
12
12
  setup(__props) {
13
13
  const props = __props;
14
14
  const delegatedProps = computed(() => {
15
- const {
16
- as,
17
- asChild
18
- } = props;
15
+ const { as, asChild } = props;
19
16
  return { as, asChild };
20
17
  });
21
18
  const forwardedProps = useForwardProps(delegatedProps);
@@ -1,7 +1,7 @@
1
1
  import { type PrimitiveProps } from "reka-ui";
2
- import { type Slot } from "vue";
2
+ import { type HTMLAttributes, type Slot } from "vue";
3
3
  export interface AlertFooterProps extends PrimitiveProps {
4
- class?: string;
4
+ class?: HTMLAttributes["class"];
5
5
  }
6
6
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AlertFooterProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AlertFooterProps> & Readonly<{}>, {
7
7
  as: import("reka-ui").AsTag | import("vue").Component;
@@ -5,7 +5,7 @@ import { alertVariants } from './alert.styles.js';
5
5
  var _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "alert-footer",
7
7
  props: {
8
- class: { type: String, required: false },
8
+ class: { type: null, required: false },
9
9
  asChild: { type: Boolean, required: false },
10
10
  as: { type: null, required: false, default: "div" }
11
11
  },
@@ -1,7 +1,7 @@
1
- import { type PrimitiveProps } from 'reka-ui';
2
- import { type Slot } from 'vue';
1
+ import { type PrimitiveProps } from "reka-ui";
2
+ import { type HTMLAttributes, type Slot } from "vue";
3
3
  export interface AlertHeaderProps extends PrimitiveProps {
4
- class?: string;
4
+ class?: HTMLAttributes["class"];
5
5
  }
6
6
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AlertHeaderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AlertHeaderProps> & Readonly<{}>, {
7
7
  as: import("reka-ui").AsTag | import("vue").Component;
@@ -5,7 +5,7 @@ import { alertVariants } from './alert.styles.js';
5
5
  var _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "alert-header",
7
7
  props: {
8
- class: { type: String, required: false },
8
+ class: { type: null, required: false },
9
9
  asChild: { type: Boolean, required: false },
10
10
  as: { type: null, required: false, default: "div" }
11
11
  },
@@ -18,10 +18,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
18
18
  }
19
19
  });
20
20
  const delegatedProps = computed(() => {
21
- const {
22
- as,
23
- asChild
24
- } = props;
21
+ const { as, asChild } = props;
25
22
  return { as, asChild };
26
23
  });
27
24
  const computedDelegatedProps = computed(() => ({
@@ -1,6 +1,7 @@
1
- import { type IconifyIconProps } from '@iconify/vue';
1
+ import { type IconifyIconProps } from "@iconify/vue";
2
+ import { type HTMLAttributes } from "vue";
2
3
  export interface AlertIconProps extends IconifyIconProps {
3
- class?: string;
4
+ class?: HTMLAttributes["class"];
4
5
  }
5
6
  declare const _default: import("vue").DefineComponent<AlertIconProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AlertIconProps> & Readonly<{}>, {
6
7
  mode: import("@iconify/vue/dist/iconify.js").IconifyRenderMode;
@@ -5,7 +5,7 @@ import { alertVariants } from './alert.styles.js';
5
5
  var _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "alert-icon",
7
7
  props: {
8
- class: { type: String, required: false },
8
+ class: { type: null, required: false },
9
9
  icon: { type: [Object, String], required: true },
10
10
  mode: { type: String, required: false, default: "svg" },
11
11
  color: { type: String, required: false },
@@ -1,5 +1,5 @@
1
1
  import { type PrimitiveProps } from "reka-ui";
2
- import { type Slot } from "vue";
2
+ import { type HTMLAttributes, type Slot } from "vue";
3
3
  import type { Colors, Variants } from "../types/shared-types";
4
4
  export interface AlertRootProps extends PrimitiveProps {
5
5
  /**
@@ -17,7 +17,7 @@ export interface AlertRootProps extends PrimitiveProps {
17
17
  * @defaultValue "false"
18
18
  */
19
19
  hideContent?: boolean;
20
- class?: string;
20
+ class?: HTMLAttributes["class"];
21
21
  }
22
22
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AlertRootProps & {
23
23
  /**
@@ -1,4 +1,4 @@
1
- import { defineComponent, mergeModels, computed, useModel, createBlock, openBlock, Transition, withCtx, createCommentVNode, unref, mergeProps, renderSlot } from 'vue';
1
+ import { defineComponent, mergeModels, computed, useModel, provide, createBlock, openBlock, Transition, withCtx, createCommentVNode, unref, mergeProps, renderSlot } from 'vue';
2
2
  import { useForwardProps, Primitive } from 'reka-ui';
3
3
  import { alertVariants } from './alert.styles.js';
4
4
 
@@ -8,7 +8,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  variant: { type: String, required: false, default: "primary" },
9
9
  color: { type: String, required: false, default: "brand" },
10
10
  hideContent: { type: Boolean, required: false },
11
- class: { type: String, required: false },
11
+ class: { type: null, required: false },
12
12
  asChild: { type: Boolean, required: false },
13
13
  as: { type: null, required: false, default: "div" }
14
14
  }, {
@@ -31,6 +31,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
31
31
  color: props.color
32
32
  })
33
33
  );
34
+ provide("alertContext", {
35
+ color: computed(() => props.color),
36
+ variant: computed(() => props.variant)
37
+ });
34
38
  return (_ctx, _cache) => {
35
39
  return openBlock(), createBlock(Transition, { name: "vif-alert-fade" }, {
36
40
  default: withCtx(() => [
@@ -1,7 +1,7 @@
1
- import { type PrimitiveProps } from 'reka-ui';
2
- import { type Slot } from 'vue';
1
+ import { type PrimitiveProps } from "reka-ui";
2
+ import { type HTMLAttributes, type Slot } from "vue";
3
3
  export interface AlertTitleProps extends PrimitiveProps {
4
- class?: string;
4
+ class?: HTMLAttributes["class"];
5
5
  }
6
6
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AlertTitleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AlertTitleProps> & Readonly<{}>, {
7
7
  as: import("reka-ui").AsTag | import("vue").Component;
@@ -5,17 +5,14 @@ import { alertVariants } from './alert.styles.js';
5
5
  var _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "alert-title",
7
7
  props: {
8
- class: { type: String, required: false },
8
+ class: { type: null, required: false },
9
9
  asChild: { type: Boolean, required: false },
10
10
  as: { type: null, required: false, default: "div" }
11
11
  },
12
12
  setup(__props) {
13
13
  const props = __props;
14
14
  const delegatedProps = computed(() => {
15
- const {
16
- as,
17
- asChild
18
- } = props;
15
+ const { as, asChild } = props;
19
16
  return { as, asChild };
20
17
  });
21
18
  const forwardedProps = useForwardProps(delegatedProps);
@@ -1,19 +1,19 @@
1
- export { default as AlertRoot } from './alert-root.vue';
2
- export { default as AlertIcon } from './alert-icon.vue';
3
- export { default as AlertContent } from './alert-content.vue';
4
- export { default as AlertHeader } from './alert-header.vue';
5
- export { default as AlertTitle } from './alert-title.vue';
6
- export { default as AlertDescription } from './alert-description.vue';
7
- export { default as AlertBody } from './alert-body.vue';
8
- export { default as AlertFooter } from './alert-footer.vue';
9
- export { default as AlertClose } from './alert-close.vue';
10
- export type { AlertRootProps } from './alert-root.vue';
11
- export type { AlertIconProps } from './alert-icon.vue';
12
- export type { AlertContentProps } from './alert-content.vue';
13
- export type { AlertHeaderProps } from './alert-header.vue';
14
- export type { AlertTitleProps } from './alert-title.vue';
15
- export type { AlertDescriptionProps } from './alert-description.vue';
16
- export type { AlertBodyProps } from './alert-body.vue';
17
- export type { AlertFooterProps } from './alert-footer.vue';
18
- export type { AlertCloseProps } from './alert-close.vue';
19
- export { alertVariants, type AlertVariantProps } from './alert.styles';
1
+ export { default as AlertRoot } from "./alert-root.vue";
2
+ export { default as AlertIcon } from "./alert-icon.vue";
3
+ export { default as AlertContent } from "./alert-content.vue";
4
+ export { default as AlertHeader } from "./alert-header.vue";
5
+ export { default as AlertTitle } from "./alert-title.vue";
6
+ export { default as AlertDescription } from "./alert-description.vue";
7
+ export { default as AlertBody } from "./alert-body.vue";
8
+ export { default as AlertFooter } from "./alert-footer.vue";
9
+ export { default as AlertClose } from "./alert-close.vue";
10
+ export type { AlertRootProps } from "./alert-root.vue";
11
+ export type { AlertIconProps } from "./alert-icon.vue";
12
+ export type { AlertContentProps } from "./alert-content.vue";
13
+ export type { AlertHeaderProps } from "./alert-header.vue";
14
+ export type { AlertTitleProps } from "./alert-title.vue";
15
+ export type { AlertDescriptionProps } from "./alert-description.vue";
16
+ export type { AlertBodyProps } from "./alert-body.vue";
17
+ export type { AlertFooterProps } from "./alert-footer.vue";
18
+ export type { AlertCloseProps } from "./alert-close.vue";
19
+ export { alertVariants, type AlertVariantProps } from "./alert.styles";