@indielayer/ui 0.0.0-dev-20240127005325 → 0.0.0-dev-20240202140555

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 (198) hide show
  1. package/docs/App.vue +25 -0
  2. package/docs/assets/css/hljs.css +302 -0
  3. package/docs/assets/css/tailwind.css +46 -0
  4. package/docs/assets/images/error.svg +1 -0
  5. package/docs/assets/images/logo.png +0 -0
  6. package/docs/assets/images/logo_mini.svg +10 -0
  7. package/docs/assets/images/logo_white.png +0 -0
  8. package/docs/assets/images/logo_word.svg +12 -0
  9. package/docs/assets/images/logo_word_dark.svg +12 -0
  10. package/docs/assets/images/photo1.jpeg +0 -0
  11. package/docs/assets/images/photo2.jpeg +0 -0
  12. package/docs/components/Cookies.vue +42 -0
  13. package/docs/components/common/CodePreview.vue +80 -0
  14. package/docs/components/common/CodeSnippet.vue +49 -0
  15. package/docs/components/common/CopyButton.vue +50 -0
  16. package/docs/components/common/DocumentPage.vue +289 -0
  17. package/docs/components/common/Indielayer-theme.json +702 -0
  18. package/docs/components/common/MultiSnippet.vue +26 -0
  19. package/docs/components/menu/DocsMenu.vue +143 -0
  20. package/docs/components/toolbar/PreToolbar.vue +18 -0
  21. package/docs/components/toolbar/Toolbar.vue +63 -0
  22. package/docs/components/toolbar/ToolbarColorToggle.vue +49 -0
  23. package/docs/icons.ts +61 -0
  24. package/docs/layouts/default.vue +29 -0
  25. package/docs/layouts/simple.vue +3 -0
  26. package/docs/main.ts +33 -0
  27. package/docs/pages/colors.vue +125 -0
  28. package/docs/pages/component/accordion/index.vue +29 -0
  29. package/docs/pages/component/accordion/usage.vue +30 -0
  30. package/docs/pages/component/alert/index.vue +29 -0
  31. package/docs/pages/component/alert/usage.vue +18 -0
  32. package/docs/pages/component/avatar/index.vue +43 -0
  33. package/docs/pages/component/avatar/size.vue +9 -0
  34. package/docs/pages/component/avatar/usage.vue +9 -0
  35. package/docs/pages/component/avatar/variants.vue +8 -0
  36. package/docs/pages/component/badge/index.vue +29 -0
  37. package/docs/pages/component/badge/usage.vue +50 -0
  38. package/docs/pages/component/breadcrumbs/index.vue +29 -0
  39. package/docs/pages/component/breadcrumbs/usage.vue +19 -0
  40. package/docs/pages/component/button/button-group.vue +18 -0
  41. package/docs/pages/component/button/icons.vue +9 -0
  42. package/docs/pages/component/button/index.vue +64 -0
  43. package/docs/pages/component/button/size.vue +9 -0
  44. package/docs/pages/component/button/states.vue +6 -0
  45. package/docs/pages/component/button/usage.vue +12 -0
  46. package/docs/pages/component/button/variants.vue +7 -0
  47. package/docs/pages/component/card/index.vue +29 -0
  48. package/docs/pages/component/card/usage.vue +6 -0
  49. package/docs/pages/component/carousel/index.vue +29 -0
  50. package/docs/pages/component/carousel/usage.vue +10 -0
  51. package/docs/pages/component/checkbox/index.vue +50 -0
  52. package/docs/pages/component/checkbox/size.vue +9 -0
  53. package/docs/pages/component/checkbox/states.vue +9 -0
  54. package/docs/pages/component/checkbox/usage.vue +15 -0
  55. package/docs/pages/component/checkbox/variants.vue +8 -0
  56. package/docs/pages/component/container/index.vue +29 -0
  57. package/docs/pages/component/container/usage.vue +3 -0
  58. package/docs/pages/component/divider/index.vue +43 -0
  59. package/docs/pages/component/divider/label.vue +12 -0
  60. package/docs/pages/component/divider/usage.vue +7 -0
  61. package/docs/pages/component/divider/vertical.vue +7 -0
  62. package/docs/pages/component/drawer/index.vue +29 -0
  63. package/docs/pages/component/drawer/usage.vue +56 -0
  64. package/docs/pages/component/form/index.vue +29 -0
  65. package/docs/pages/component/form/usage.vue +96 -0
  66. package/docs/pages/component/formGroup/index.vue +29 -0
  67. package/docs/pages/component/formGroup/usage.vue +46 -0
  68. package/docs/pages/component/icon/index.vue +36 -0
  69. package/docs/pages/component/icon/usage.vue +6 -0
  70. package/docs/pages/component/icon/variants.vue +14 -0
  71. package/docs/pages/component/image/index.vue +29 -0
  72. package/docs/pages/component/image/usage.vue +8 -0
  73. package/docs/pages/component/input/index.vue +50 -0
  74. package/docs/pages/component/input/size.vue +13 -0
  75. package/docs/pages/component/input/states.vue +12 -0
  76. package/docs/pages/component/input/usage.vue +15 -0
  77. package/docs/pages/component/input/variants.vue +18 -0
  78. package/docs/pages/component/link/index.vue +29 -0
  79. package/docs/pages/component/link/usage.vue +12 -0
  80. package/docs/pages/component/loader/index.vue +29 -0
  81. package/docs/pages/component/loader/usage.vue +7 -0
  82. package/docs/pages/component/menu/index.vue +29 -0
  83. package/docs/pages/component/menu/usage.vue +69 -0
  84. package/docs/pages/component/modal/composed.vue +70 -0
  85. package/docs/pages/component/modal/index.vue +36 -0
  86. package/docs/pages/component/modal/usage.vue +61 -0
  87. package/docs/pages/component/notifications/index.vue +29 -0
  88. package/docs/pages/component/notifications/usage.vue +56 -0
  89. package/docs/pages/component/pagination/index.vue +29 -0
  90. package/docs/pages/component/pagination/usage.vue +17 -0
  91. package/docs/pages/component/popover/index.vue +29 -0
  92. package/docs/pages/component/popover/usage.vue +21 -0
  93. package/docs/pages/component/progress/index.vue +36 -0
  94. package/docs/pages/component/progress/usage.vue +7 -0
  95. package/docs/pages/component/progress/variants.vue +18 -0
  96. package/docs/pages/component/radio/index.vue +50 -0
  97. package/docs/pages/component/radio/size.vue +15 -0
  98. package/docs/pages/component/radio/states.vue +13 -0
  99. package/docs/pages/component/radio/usage.vue +14 -0
  100. package/docs/pages/component/radio/variants.vue +39 -0
  101. package/docs/pages/component/scroll/horizontal.vue +14 -0
  102. package/docs/pages/component/scroll/index.vue +36 -0
  103. package/docs/pages/component/scroll/usage.vue +5 -0
  104. package/docs/pages/component/select/index.vue +43 -0
  105. package/docs/pages/component/select/states.vue +22 -0
  106. package/docs/pages/component/select/usage.vue +45 -0
  107. package/docs/pages/component/select/variants.vue +23 -0
  108. package/docs/pages/component/skeleton/index.vue +29 -0
  109. package/docs/pages/component/skeleton/usage.vue +10 -0
  110. package/docs/pages/component/slider/index.vue +29 -0
  111. package/docs/pages/component/slider/usage.vue +15 -0
  112. package/docs/pages/component/spacer/index.vue +29 -0
  113. package/docs/pages/component/spacer/usage.vue +8 -0
  114. package/docs/pages/component/spinner/index.vue +36 -0
  115. package/docs/pages/component/spinner/usage.vue +3 -0
  116. package/docs/pages/component/spinner/variants.vue +9 -0
  117. package/docs/pages/component/stepper/index.vue +29 -0
  118. package/docs/pages/component/stepper/usage.vue +21 -0
  119. package/docs/pages/component/table/index.vue +36 -0
  120. package/docs/pages/component/table/states.vue +28 -0
  121. package/docs/pages/component/table/usage.vue +107 -0
  122. package/docs/pages/component/tabs/index.vue +29 -0
  123. package/docs/pages/component/tabs/usage.vue +137 -0
  124. package/docs/pages/component/tag/index.vue +29 -0
  125. package/docs/pages/component/tag/usage.vue +27 -0
  126. package/docs/pages/component/textarea/index.vue +43 -0
  127. package/docs/pages/component/textarea/states.vue +13 -0
  128. package/docs/pages/component/textarea/usage.vue +22 -0
  129. package/docs/pages/component/textarea/variants.vue +15 -0
  130. package/docs/pages/component/toggle/index.vue +43 -0
  131. package/docs/pages/component/toggle/states.vue +13 -0
  132. package/docs/pages/component/toggle/usage.vue +14 -0
  133. package/docs/pages/component/toggle/variants.vue +15 -0
  134. package/docs/pages/component/tooltip/index.vue +29 -0
  135. package/docs/pages/component/tooltip/usage.vue +16 -0
  136. package/docs/pages/error.vue +6 -0
  137. package/docs/pages/icons.vue +105 -0
  138. package/docs/pages/index.vue +157 -0
  139. package/docs/pages/play.vue +19 -0
  140. package/docs/pages/typography.vue +95 -0
  141. package/docs/router/index.ts +77 -0
  142. package/lib/components/accordion/Accordion.vue.d.ts +3 -0
  143. package/lib/components/accordion/Accordion.vue.js +7 -7
  144. package/lib/components/accordion/AccordionItem.vue.d.ts +1 -0
  145. package/lib/components/accordion/AccordionItem.vue.js +49 -47
  146. package/lib/components/accordion/index.d.ts +1 -1
  147. package/lib/components/accordion/theme/Accordion.carbon.theme.js +3 -6
  148. package/lib/components/accordion/theme/AccordionItem.base.theme.js +9 -9
  149. package/lib/components/accordion/theme/AccordionItem.carbon.theme.js +3 -14
  150. package/lib/components/carousel/CarouselSlide.vue.d.ts +19 -8
  151. package/lib/components/carousel/CarouselSlide.vue.js +2 -2
  152. package/lib/components/carousel/CarouselSlide.vue2.js +25 -18
  153. package/lib/components/checkbox/theme/Checkbox.base.theme.js +4 -4
  154. package/lib/components/container/Container.vue.d.ts +13 -0
  155. package/lib/components/container/Container.vue.js +15 -11
  156. package/lib/components/container/theme/Container.base.theme.js +7 -4
  157. package/lib/components/form/theme/Form.base.theme.js +1 -1
  158. package/lib/components/menu/Menu.vue.js +10 -10
  159. package/lib/components/menu/theme/MenuItem.base.theme.js +1 -1
  160. package/lib/components/modal/Modal.vue.d.ts +1 -1
  161. package/lib/components/radio/theme/Radio.base.theme.js +6 -6
  162. package/lib/components/select/Select.vue.js +47 -50
  163. package/lib/components/select/theme/Select.base.theme.js +10 -10
  164. package/lib/components/select/theme/Select.carbon.theme.js +4 -4
  165. package/lib/components/slider/theme/Slider.carbon.theme.js +4 -4
  166. package/lib/components/tab/Tab.vue.js +54 -53
  167. package/lib/components/tab/theme/TabGroup.carbon.theme.js +3 -3
  168. package/lib/components/table/Table.vue.js +47 -47
  169. package/lib/composables/keys.d.ts +2 -2
  170. package/lib/index.js +1 -1
  171. package/lib/index.umd.js +3 -3
  172. package/lib/version.d.ts +1 -1
  173. package/lib/version.js +1 -1
  174. package/package.json +4 -2
  175. package/src/components/accordion/Accordion.vue +5 -1
  176. package/src/components/accordion/AccordionItem.vue +5 -2
  177. package/src/components/accordion/index.ts +1 -1
  178. package/src/components/accordion/theme/Accordion.carbon.theme.ts +3 -5
  179. package/src/components/accordion/theme/AccordionItem.base.theme.ts +10 -7
  180. package/src/components/accordion/theme/AccordionItem.carbon.theme.ts +2 -30
  181. package/src/components/carousel/CarouselSlide.vue +9 -4
  182. package/src/components/checkbox/theme/Checkbox.base.theme.ts +1 -1
  183. package/src/components/container/Container.vue +4 -0
  184. package/src/components/container/theme/Container.base.theme.ts +7 -1
  185. package/src/components/form/theme/Form.base.theme.ts +1 -1
  186. package/src/components/label/theme/Label.carbon.theme.ts +0 -2
  187. package/src/components/menu/Menu.vue +1 -1
  188. package/src/components/menu/theme/MenuItem.base.theme.ts +1 -1
  189. package/src/components/radio/theme/Radio.base.theme.ts +1 -1
  190. package/src/components/select/Select.vue +0 -3
  191. package/src/components/select/theme/Select.base.theme.ts +1 -1
  192. package/src/components/select/theme/Select.carbon.theme.ts +1 -1
  193. package/src/components/slider/theme/Slider.carbon.theme.ts +1 -1
  194. package/src/components/tab/Tab.vue +1 -1
  195. package/src/components/tab/theme/TabGroup.carbon.theme.ts +1 -1
  196. package/src/components/table/Table.vue +1 -1
  197. package/src/composables/keys.ts +2 -2
  198. package/src/version.ts +1 -1
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: "0.0.0-dev-20240127005325";
1
+ declare const _default: "0.0.0-dev-20240202140555";
2
2
  export default _default;
package/lib/version.js CHANGED
@@ -1,4 +1,4 @@
1
- const e = "0.0.0-dev-20240127005325";
1
+ const e = "0.0.0-dev-20240202140555";
2
2
  export {
3
3
  e as default
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indielayer/ui",
3
- "version": "0.0.0-dev-20240127005325",
3
+ "version": "0.0.0-dev-20240202140555",
4
4
  "description": "Indielayer UI Components with Tailwind CSS build for Vue 3",
5
5
  "author": {
6
6
  "name": "João Teixeira",
@@ -20,6 +20,7 @@
20
20
  "files": [
21
21
  "lib",
22
22
  "src",
23
+ "docs",
23
24
  "*.d.ts",
24
25
  "exports",
25
26
  "README.md"
@@ -34,6 +35,7 @@
34
35
  "require": "./lib/index.umd.js",
35
36
  "types": "./lib/index.d.ts"
36
37
  },
38
+ "./docs/*": "./docs/*",
37
39
  "./nuxt": "./exports/nuxt.mjs",
38
40
  "./nuxt.plugin": "./exports/nuxt.plugin.js",
39
41
  "./nuxt.plugin.js": "./exports/nuxt.plugin.js",
@@ -64,7 +66,7 @@
64
66
  "jsdom": "^22.1.0",
65
67
  "postcss": "^8.4.4",
66
68
  "rollup-plugin-visualizer": "^5.9.2",
67
- "shiki": "^0.14.3",
69
+ "shiki": "1.0.0-beta.1",
68
70
  "stylelint": "^14.16.1",
69
71
  "tailwindcss": "^3.3.2",
70
72
  "typescript": "^5.2.2",
@@ -16,6 +16,10 @@ const accordionProps = {
16
16
 
17
17
  export type AccordionProps = ExtractPublicPropTypes<typeof accordionProps>
18
18
 
19
+ export type AccordionInjection = AccordionProps & {
20
+ isInsideAccordion: boolean;
21
+ }
22
+
19
23
  type InternalClasses = 'wrapper'
20
24
  export interface AccordionTheme extends ThemeComponent<AccordionProps, InternalClasses> {}
21
25
 
@@ -33,7 +37,7 @@ import { injectAccordionKey } from '../../composables/keys'
33
37
 
34
38
  const props = defineProps(accordionProps)
35
39
 
36
- provide(injectAccordionKey, props)
40
+ provide(injectAccordionKey, { ...props, isInsideAccordion: true })
37
41
 
38
42
  const { styles, classes, className } = useTheme('Accordion', {}, props)
39
43
  </script>
@@ -24,6 +24,7 @@ export type AccordionItemProps = ExtractPublicPropTypes<typeof accordionItemProp
24
24
  type InternalClasses = 'wrapper' | 'icon' | 'content'
25
25
  type InternalData = {
26
26
  collapsed: boolean;
27
+ isInsideAccordion: boolean;
27
28
  }
28
29
  export interface AccordionItemTheme extends ThemeComponent<AccordionItemProps, InternalClasses, InternalData> {}
29
30
 
@@ -46,7 +47,9 @@ const props = defineProps(accordionItemProps)
46
47
 
47
48
  const emit = defineEmits(['expand'])
48
49
 
49
- const accordionProps = inject(injectAccordionKey, {})
50
+ const accordionProps = inject(injectAccordionKey, {
51
+ isInsideAccordion: false,
52
+ })
50
53
 
51
54
  const computedIconAlign = computed(() => accordionProps.iconAlign || props.iconAlign)
52
55
  const computedProps = reactive({
@@ -127,7 +130,7 @@ function onExpand(anim = true) {
127
130
  const { styles, classes, className } = useTheme('AccordionItem', {}, {
128
131
  ...props,
129
132
  ...computedProps,
130
- }, { collapsed })
133
+ }, { collapsed, isInsideAccordion: accordionProps.isInsideAccordion })
131
134
 
132
135
  defineExpose({ toggle, open, close })
133
136
  </script>
@@ -1,4 +1,4 @@
1
1
  export { default as XAccordion } from './Accordion.vue'
2
- export type { AccordionProps, AccordionTheme } from './Accordion.vue'
2
+ export type { AccordionProps, AccordionInjection, AccordionTheme } from './Accordion.vue'
3
3
  export { default as XAccordionItem } from './AccordionItem.vue'
4
4
  export type { AccordionItemProps, AccordionItemTheme } from './AccordionItem.vue'
@@ -1,9 +1,7 @@
1
1
  import type { AccordionTheme } from '../Accordion.vue'
2
2
 
3
- const theme: AccordionTheme = {
4
- classes: {
5
- wrapper: 'grid grid-cols-1 divide-y border-b border-t',
6
- },
7
- }
3
+ import BaseTheme from './Accordion.base.theme'
4
+
5
+ const theme: AccordionTheme = BaseTheme
8
6
 
9
7
  export default theme
@@ -2,28 +2,31 @@ import type { AccordionItemTheme } from '../AccordionItem.vue'
2
2
 
3
3
  const theme: AccordionItemTheme = {
4
4
  classes: {
5
- wrapper: ({ props, slots }) => {
5
+ wrapper: ({ props, slots, data }) => {
6
6
  const classes = ['relative flex items-center w-full text-left']
7
7
 
8
+ if (!data.isInsideAccordion) return classes
9
+
8
10
  if (slots.default) {
9
- classes.push('px-4 py-2')
10
- if (!props.disabled) classes.push('hover:bg-gray-50 dark:hover:bg-gray-800')
11
+ if (props.iconAlign === 'left') classes.push('pl-8 pr-4')
12
+ else classes.push('pr-8 pl-4')
13
+ classes.push('py-2')
14
+ if (!props.disabled) classes.push('hover:bg-gray-50 dark:hover:bg-gray-600')
11
15
  }
12
16
 
13
- if (props.iconAlign === 'left') classes.push('flex-row-reverse')
14
-
15
17
  if (!props.disabled) classes.push('cursor-pointer')
16
18
 
17
19
  return classes
18
20
  },
19
21
 
20
22
  icon: ({ props, data }) => {
21
- const classes = ['flex transform transition-transform duration-150']
23
+ const classes = ['absolute flex transform transition-transform duration-150']
22
24
 
23
25
  if (!data.collapsed) classes.push('rotate-180')
24
26
  if (props.disabled) classes.push('text-gray-300')
25
27
 
26
- if (props.iconAlign === 'left') classes.push('mr-4')
28
+ if (props.iconAlign === 'left') classes.push('left-2')
29
+ else classes.push('right-2')
27
30
 
28
31
  return classes
29
32
  },
@@ -1,35 +1,7 @@
1
1
  import type { AccordionItemTheme } from '../AccordionItem.vue'
2
2
 
3
- const theme: AccordionItemTheme = {
4
- classes: {
5
- wrapper: ({ props, slots }) => {
6
- const classes = ['relative flex items-center w-full text-left']
3
+ import BaseTheme from './AccordionItem.base.theme'
7
4
 
8
- if (slots.default) {
9
- classes.push('px-4 py-2')
10
- if (!props.disabled) classes.push('hover:bg-gray-50 dark:hover:bg-gray-800')
11
- }
12
-
13
- if (props.iconAlign === 'left') classes.push('flex-row-reverse')
14
-
15
- if (!props.disabled) classes.push('cursor-pointer')
16
-
17
- return classes
18
- },
19
-
20
- icon: ({ props, data }) => {
21
- const classes = ['flex transform transition-transform duration-150']
22
-
23
- if (!data.collapsed) classes.push('rotate-180')
24
- if (props.disabled) classes.push('text-gray-300')
25
-
26
- if (props.iconAlign === 'left') classes.push('mr-4')
27
-
28
- return classes
29
- },
30
-
31
- content: 'px-4 pt-2 pb-6 transition-[height] duration-150 overflow-y-hidden',
32
- },
33
- }
5
+ const theme: AccordionItemTheme = BaseTheme
34
6
 
35
7
  export default theme
@@ -1,5 +1,10 @@
1
1
  <script lang="ts">
2
- const carouselSlideProps = {}
2
+ const carouselSlideProps = {
3
+ tag: {
4
+ type: String,
5
+ default: 'div',
6
+ },
7
+ }
3
8
 
4
9
  export type CarouselSlideProps = ExtractPublicPropTypes<typeof carouselSlideProps>
5
10
 
@@ -8,7 +13,6 @@ export interface CarouselSlideTheme extends ThemeComponent<CarouselSlideProps, I
8
13
 
9
14
  export default {
10
15
  name: 'XCarouselSlide',
11
- validators: {},
12
16
  }
13
17
  </script>
14
18
 
@@ -22,7 +26,8 @@ const { styles, classes, className } = useTheme('CarouselSlide', {}, props)
22
26
  </script>
23
27
 
24
28
  <template>
25
- <div
29
+ <component
30
+ :is="tag"
26
31
  :style="styles"
27
32
  :class="[
28
33
  className,
@@ -31,7 +36,7 @@ const { styles, classes, className } = useTheme('CarouselSlide', {}, props)
31
36
  ]"
32
37
  >
33
38
  <slot></slot>
34
- </div>
39
+ </component>
35
40
  </template>
36
41
 
37
42
  <style lang="postcss" scoped module>
@@ -5,7 +5,7 @@ const theme: CheckboxTheme = {
5
5
  wrapper: ({ data }) => {
6
6
  const classes = ['inline-block relative cursor-pointer align-middle']
7
7
 
8
- if (data.isInsideForm) classes.push('mb-3')
8
+ if (data.isInsideForm && !data.isInsideFormGroup) classes.push('mb-3')
9
9
 
10
10
  return classes
11
11
  },
@@ -4,6 +4,10 @@ const containerProps = {
4
4
  type: String,
5
5
  default: 'div',
6
6
  },
7
+ fluid: {
8
+ type: Boolean,
9
+ default: false,
10
+ },
7
11
  }
8
12
 
9
13
  export type ContainerProps = ExtractPublicPropTypes<typeof containerProps>
@@ -2,7 +2,13 @@ import type { ContainerTheme } from '../Container.vue'
2
2
 
3
3
  const theme: ContainerTheme = {
4
4
  classes: {
5
- wrapper: 'max-w-screen-2xl mx-auto px-4 md:px-8',
5
+ wrapper: ({ props }) => {
6
+ const classes = ['px-4 md:px-8']
7
+
8
+ if (!props.fluid) classes.push('max-w-screen-2xl mx-auto')
9
+
10
+ return classes
11
+ },
6
12
  },
7
13
  }
8
14
 
@@ -4,7 +4,7 @@ const theme: FormTheme = {
4
4
  classes: {
5
5
  wrapper: 'relative',
6
6
 
7
- content: 'grid gap-4',
7
+ content: '',
8
8
 
9
9
  title: 'text-xl mb-1',
10
10
 
@@ -1,7 +1,5 @@
1
1
  import type { LabelTheme } from '../Label.vue'
2
2
 
3
- import BaseTheme from './Label.base.theme'
4
-
5
3
  const theme: LabelTheme = {
6
4
  classes: {
7
5
  wrapper: ({ props }) => {
@@ -104,7 +104,7 @@ const { styles, classes, className } = useTheme('Menu', {}, props)
104
104
  :filled="item.filled || filled"
105
105
  :size="item.size || size"
106
106
  :disabled="disabled || item.disabled"
107
- class="pr-10 font-medium"
107
+ class="font-medium"
108
108
  />
109
109
  </template>
110
110
  <template #content="{ expand }">
@@ -65,7 +65,7 @@ const theme: MenuItemTheme = {
65
65
  bg: props.selected ? gray[800] : 'transparent',
66
66
  text: gray[200],
67
67
  hover: {
68
- bg: gray[800],
68
+ bg: gray[600],
69
69
  text: gray[100],
70
70
  },
71
71
  },
@@ -5,7 +5,7 @@ const theme: RadioTheme = {
5
5
  wrapper: ({ data }) => {
6
6
  const classes = ['inline-block relative cursor-pointer focus:outline-none group']
7
7
 
8
- if (data.isInsideForm) classes.push('mb-3')
8
+ if (data.isInsideForm && !data.isInsideFormGroup) classes.push('mb-3')
9
9
 
10
10
  return classes
11
11
  },
@@ -357,10 +357,7 @@ defineExpose({ focus, blur, reset, validate, setError })
357
357
  <x-popover
358
358
  v-else
359
359
  ref="popoverRef"
360
- block
361
360
  :disabled="disabled || loading || readonly"
362
- :dismiss-on-click="!multiple"
363
- align="left"
364
361
  >
365
362
  <div
366
363
  :class="[classes.box]"
@@ -27,7 +27,7 @@ const theme: SelectTheme = {
27
27
  return classes
28
28
  },
29
29
 
30
- content: 'py-1 max-h-72 overflow-scroll',
30
+ content: 'py-1 max-h-72 overflow-y-auto',
31
31
 
32
32
  iconWrapper: 'pointer-events-none absolute inset-y-0 right-0 flex items-center px-2',
33
33
 
@@ -30,7 +30,7 @@ const theme: SelectTheme = {
30
30
  return classes
31
31
  },
32
32
 
33
- content: 'py-1 max-h-72 overflow-scroll',
33
+ content: 'py-1 max-h-72 overflow-y-auto',
34
34
 
35
35
  iconWrapper: 'pointer-events-none absolute inset-y-0 right-0 flex items-center px-2',
36
36
 
@@ -4,7 +4,7 @@ const theme: SliderTheme = {
4
4
  classes: {
5
5
  wrapper: '',
6
6
 
7
- drag: 'w-[16px] h-[16px] -mt-[11px] -ml-[8px] rounded-full bg-gray-900',
7
+ drag: 'w-[16px] h-[16px] -mt-[11px] -ml-[8px] rounded-full bg-gray-900 dark:bg-gray-100',
8
8
  },
9
9
 
10
10
  styles: ({ props, colors, css }) => {
@@ -171,7 +171,7 @@ const { styles, classes, className } = useTheme('Tab', {}, ref({
171
171
  </div>
172
172
  </slot>
173
173
  <teleport v-if="selected && teleportTo" :to="teleportTo">
174
- <div role="tabpanel" :class="classes.tabpanel">
174
+ <div v-if="$slots.default" role="tabpanel" :class="classes.tabpanel">
175
175
  <slot></slot>
176
176
  </div>
177
177
  </teleport>
@@ -31,7 +31,7 @@ const theme: TabGroupTheme = {
31
31
 
32
32
  if (props.variant === 'line') c.push('h-[2px] -mt-[2px] bg-[color:var(--x-tab-group-text)] dark:bg-[color:var(--x-tab-group-dark-text)]')
33
33
 
34
- if (props.variant === 'block') c.push('border-t-2 border-[color:var(--x-tab-group-text)] dark:border-[color:var(--x-tab-group-dark-text)] h-full top-0 bg-gray-100 dark:bg-gray-700')
34
+ if (props.variant === 'block') c.push('border-t-2 border-solid border-[color:var(--x-tab-group-text)] dark:border-[color:var(--x-tab-group-dark-text)] h-full top-0 bg-gray-100 dark:bg-gray-700')
35
35
 
36
36
  return c
37
37
  },
@@ -252,7 +252,7 @@ const { styles, classes, className } = useTheme('Table', {}, props)
252
252
  </x-table-row>
253
253
  <tr v-if="expandable">
254
254
  <td colspan="999">
255
- <div class="overflow-hidden" :class="[internalItems[index]?.__expanded ? '' : 'max-h-0']">
255
+ <div class="overflow-hidden transition-opacity" :class="[internalItems[index]?.__expanded ? '' : 'opacity-0 max-h-0']">
256
256
  <slot name="expanded-row" :item="item"></slot>
257
257
  </div>
258
258
  </td>
@@ -5,7 +5,7 @@ import type { ButtonGroupInjection } from '../components/button/ButtonGroup.vue'
5
5
  import type { NotificationInjection } from '../components/notifications/Notifications.vue'
6
6
  import type { IconInjection } from '../components/icon/Icon.vue'
7
7
  import type { FormGroupInjection } from '../components/formGroup'
8
- import type { AccordionProps } from '../components/accordion'
8
+ import type { AccordionInjection } from '../components/accordion'
9
9
  import type { UIOptions } from '../create'
10
10
  import type { UITheme } from '../theme'
11
11
 
@@ -17,4 +17,4 @@ export const injectFormGroupKey = Symbol() as InjectionKey<FormGroupInjection>
17
17
  export const injectIconsKey = Symbol() as InjectionKey<IconInjection>
18
18
  export const injectButtonGroupKey = Symbol() as InjectionKey<ButtonGroupInjection>
19
19
  export const injectNotificationKey = Symbol() as InjectionKey<NotificationInjection>
20
- export const injectAccordionKey = Symbol() as InjectionKey<AccordionProps>
20
+ export const injectAccordionKey = Symbol() as InjectionKey<AccordionInjection>
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export default '0.0.0-dev-20240127005325'
1
+ export default '0.0.0-dev-20240202140555'