opui-css 5.1.2 → 5.2.0

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 (235) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +4 -5
  3. package/components/AGENTS.md +12 -13
  4. package/components/Accordion/Accordion.astro +5 -9
  5. package/components/Accordion/types.astro.ts +4 -0
  6. package/components/Accordion/types.d.vue.ts +15 -0
  7. package/components/Accordion/types.solid.ts +6 -0
  8. package/components/Accordion/types.svelte.ts +7 -0
  9. package/components/Accordion/types.ts +10 -0
  10. package/components/Anchor/Anchor.astro +1 -7
  11. package/components/Anchor/types.astro.ts +4 -0
  12. package/components/Anchor/types.d.vue.ts +10 -0
  13. package/components/Anchor/types.solid.ts +6 -0
  14. package/components/Anchor/types.svelte.ts +7 -0
  15. package/components/Anchor/types.ts +9 -0
  16. package/components/Avatar/Avatar.astro +4 -13
  17. package/components/Avatar/types.astro.ts +10 -0
  18. package/components/Avatar/types.d.vue.ts +11 -0
  19. package/components/Avatar/types.solid.ts +11 -0
  20. package/components/Avatar/types.svelte.ts +12 -0
  21. package/components/Avatar/types.ts +29 -0
  22. package/components/Badge/Badge.astro +3 -11
  23. package/components/Badge/types.astro.ts +4 -0
  24. package/components/Badge/types.d.vue.ts +10 -0
  25. package/components/Badge/types.solid.ts +4 -0
  26. package/components/Badge/types.svelte.ts +4 -0
  27. package/components/Badge/types.ts +8 -0
  28. package/components/Button/Button.astro +18 -27
  29. package/components/Button/types.astro.ts +6 -0
  30. package/components/Button/types.d.vue.ts +10 -0
  31. package/components/Button/types.solid.ts +8 -0
  32. package/components/Button/types.svelte.ts +6 -0
  33. package/components/Button/types.ts +19 -0
  34. package/components/ButtonGroup/ButtonGroup.astro +1 -8
  35. package/components/ButtonGroup/types.astro.ts +4 -0
  36. package/components/ButtonGroup/types.d.vue.ts +10 -0
  37. package/components/ButtonGroup/types.solid.ts +4 -0
  38. package/components/ButtonGroup/types.svelte.ts +4 -0
  39. package/components/ButtonGroup/types.ts +7 -0
  40. package/components/Callout/Callout.astro +10 -9
  41. package/components/Callout/types.astro.ts +4 -0
  42. package/components/Callout/types.d.vue.ts +10 -0
  43. package/components/Callout/types.solid.ts +6 -0
  44. package/components/Callout/types.svelte.ts +7 -0
  45. package/components/Callout/types.ts +10 -0
  46. package/components/Card/Card.astro +1 -5
  47. package/components/Card/types.astro.ts +4 -0
  48. package/components/Card/types.d.vue.ts +10 -0
  49. package/components/Card/types.solid.ts +6 -0
  50. package/components/Card/types.svelte.ts +7 -0
  51. package/components/Card/types.ts +10 -0
  52. package/components/Checkbox/Checkbox.astro +6 -36
  53. package/components/Checkbox/CheckboxInput.astro +2 -18
  54. package/components/Checkbox/types.astro.ts +8 -0
  55. package/components/Checkbox/types.d.vue.ts +11 -0
  56. package/components/Checkbox/types.solid.ts +9 -0
  57. package/components/Checkbox/types.svelte.ts +12 -0
  58. package/components/Checkbox/types.ts +17 -0
  59. package/components/Chip/Chip.astro +6 -12
  60. package/components/Chip/types.astro.ts +9 -0
  61. package/components/Chip/types.d.vue.ts +10 -0
  62. package/components/Chip/types.solid.ts +10 -0
  63. package/components/Chip/types.svelte.ts +14 -0
  64. package/components/Chip/types.ts +13 -0
  65. package/components/ClassicSelect/ClassicSelect.astro +5 -28
  66. package/components/ClassicSelect/types.astro.ts +8 -0
  67. package/components/ClassicSelect/types.d.vue.ts +10 -0
  68. package/components/ClassicSelect/types.solid.ts +5 -0
  69. package/components/ClassicSelect/types.svelte.ts +5 -0
  70. package/components/ClassicSelect/types.ts +19 -0
  71. package/components/DescriptionList/Description.astro +1 -4
  72. package/components/DescriptionList/DescriptionList.astro +1 -5
  73. package/components/DescriptionList/Item.astro +1 -4
  74. package/components/DescriptionList/Term.astro +1 -4
  75. package/components/DescriptionList/types.astro.ts +10 -0
  76. package/components/DescriptionList/types.d.vue.ts +10 -0
  77. package/components/DescriptionList/types.solid.ts +4 -0
  78. package/components/DescriptionList/types.svelte.ts +4 -0
  79. package/components/DescriptionList/types.ts +3 -0
  80. package/components/Dialog/Dialog.astro +1 -6
  81. package/components/Dialog/types.astro.ts +4 -0
  82. package/components/Dialog/types.d.vue.ts +10 -0
  83. package/components/Dialog/types.solid.ts +8 -0
  84. package/components/Dialog/types.svelte.ts +7 -0
  85. package/components/Dialog/types.ts +9 -0
  86. package/components/Divider/Divider.astro +1 -6
  87. package/components/Divider/types.astro.ts +4 -0
  88. package/components/Divider/types.d.vue.ts +6 -0
  89. package/components/Divider/types.solid.ts +4 -0
  90. package/components/Divider/types.svelte.ts +4 -0
  91. package/components/Divider/types.ts +3 -0
  92. package/components/Drawer/Drawer.astro +1 -9
  93. package/components/Drawer/DrawerFooter.astro +1 -4
  94. package/components/Drawer/DrawerHeader.astro +1 -5
  95. package/components/Drawer/types.astro.ts +8 -0
  96. package/components/Drawer/types.d.vue.ts +29 -0
  97. package/components/Drawer/types.solid.ts +12 -0
  98. package/components/Drawer/types.svelte.ts +15 -0
  99. package/components/Drawer/types.ts +19 -0
  100. package/components/FieldDescription/FieldDescription.astro +1 -5
  101. package/components/FieldDescription/types.astro.ts +4 -0
  102. package/components/FieldDescription/types.d.vue.ts +10 -0
  103. package/components/FieldDescription/types.solid.ts +5 -0
  104. package/components/FieldDescription/types.svelte.ts +4 -0
  105. package/components/FieldDescription/types.ts +1 -0
  106. package/components/FieldGroup/FieldGroup.astro +1 -8
  107. package/components/FieldGroup/types.astro.ts +4 -0
  108. package/components/FieldGroup/types.d.vue.ts +12 -0
  109. package/components/FieldGroup/types.solid.ts +5 -0
  110. package/components/FieldGroup/types.svelte.ts +4 -0
  111. package/components/FieldGroup/types.ts +4 -0
  112. package/components/FieldLegend/FieldLegend.astro +4 -8
  113. package/components/FieldLegend/types.astro.ts +6 -0
  114. package/components/FieldLegend/types.d.vue.ts +11 -0
  115. package/components/FieldLegend/types.solid.ts +5 -0
  116. package/components/FieldLegend/types.svelte.ts +6 -0
  117. package/components/FieldLegend/types.ts +1 -0
  118. package/components/FieldSet/FieldSet.astro +1 -5
  119. package/components/FieldSet/types.astro.ts +6 -0
  120. package/components/FieldSet/types.d.vue.ts +11 -0
  121. package/components/FieldSet/types.solid.ts +5 -0
  122. package/components/FieldSet/types.svelte.ts +8 -0
  123. package/components/FieldSet/types.ts +5 -0
  124. package/components/Form/Form.astro +1 -6
  125. package/components/Form/types.astro.ts +6 -0
  126. package/components/Form/types.d.vue.ts +11 -0
  127. package/components/Form/types.solid.ts +5 -0
  128. package/components/Form/types.svelte.ts +7 -0
  129. package/components/Form/types.ts +1 -0
  130. package/components/IconButton/IconButton.astro +18 -20
  131. package/components/IconButton/types.astro.ts +6 -0
  132. package/components/IconButton/types.d.vue.ts +10 -0
  133. package/components/IconButton/types.solid.ts +8 -0
  134. package/components/IconButton/types.svelte.ts +6 -0
  135. package/components/IconButton/types.ts +16 -0
  136. package/components/List/List.astro +1 -8
  137. package/components/List/types.astro.ts +4 -0
  138. package/components/List/types.d.vue.ts +10 -0
  139. package/components/List/types.solid.ts +4 -0
  140. package/components/List/types.svelte.ts +4 -0
  141. package/components/List/types.ts +7 -0
  142. package/components/ListItem/ListItem.astro +3 -13
  143. package/components/ListItem/types.astro.ts +10 -0
  144. package/components/ListItem/types.d.vue.ts +10 -0
  145. package/components/ListItem/types.solid.ts +12 -0
  146. package/components/ListItem/types.svelte.ts +14 -0
  147. package/components/ListItem/types.ts +32 -0
  148. package/components/Progress/Progress.astro +1 -11
  149. package/components/Progress/types.astro.ts +4 -0
  150. package/components/Progress/types.d.vue.ts +10 -0
  151. package/components/Progress/types.solid.ts +4 -0
  152. package/components/Progress/types.svelte.ts +4 -0
  153. package/components/Progress/types.ts +10 -0
  154. package/components/Radio/Radio.astro +6 -32
  155. package/components/Radio/RadioInput.astro +3 -20
  156. package/components/Radio/types.astro.ts +6 -0
  157. package/components/Radio/types.d.vue.ts +11 -0
  158. package/components/Radio/types.solid.ts +9 -0
  159. package/components/Radio/types.svelte.ts +12 -0
  160. package/components/Radio/types.ts +13 -0
  161. package/components/Range/Range.astro +23 -31
  162. package/components/Range/types.astro.ts +6 -0
  163. package/components/Range/types.d.vue.ts +14 -0
  164. package/components/Range/types.solid.ts +6 -0
  165. package/components/Range/types.svelte.ts +9 -0
  166. package/components/Range/types.ts +30 -0
  167. package/components/Select/Select.astro +42 -34
  168. package/components/Select/types.astro.ts +4 -0
  169. package/components/Select/types.d.vue.ts +17 -0
  170. package/components/Select/types.solid.ts +6 -0
  171. package/components/Select/types.svelte.ts +7 -0
  172. package/components/Select/types.ts +27 -0
  173. package/components/Switch/Switch.astro +14 -39
  174. package/components/Switch/SwitchInput.astro +3 -21
  175. package/components/Switch/types.astro.ts +5 -0
  176. package/components/Switch/types.d.vue.ts +13 -0
  177. package/components/Switch/types.solid.ts +9 -0
  178. package/components/Switch/types.svelte.ts +9 -0
  179. package/components/Switch/types.ts +16 -0
  180. package/components/Table/Body.astro +1 -3
  181. package/components/Table/Cell.astro +1 -3
  182. package/components/Table/Column.astro +1 -4
  183. package/components/Table/ColumnGroup.astro +1 -3
  184. package/components/Table/Head.astro +1 -3
  185. package/components/Table/HeaderCell.astro +1 -3
  186. package/components/Table/Row.astro +1 -3
  187. package/components/Table/Table.astro +1 -5
  188. package/components/Table/types.astro.ts +16 -0
  189. package/components/Table/types.d.vue.ts +10 -0
  190. package/components/Table/types.solid.ts +8 -0
  191. package/components/Table/types.svelte.ts +11 -0
  192. package/components/Table/types.ts +9 -0
  193. package/components/Tabs/Tabs.astro +1 -5
  194. package/components/Tabs/TabsItem.astro +1 -8
  195. package/components/Tabs/TabsPanel.astro +1 -6
  196. package/components/Tabs/TabsTab.astro +1 -5
  197. package/components/Tabs/types.astro.ts +11 -0
  198. package/components/Tabs/types.d.vue.ts +31 -0
  199. package/components/Tabs/types.solid.ts +12 -0
  200. package/components/Tabs/types.svelte.ts +10 -0
  201. package/components/Tabs/types.ts +19 -0
  202. package/components/TextField/TextField.astro +45 -49
  203. package/components/TextField/types.astro.ts +17 -0
  204. package/components/TextField/types.d.vue.ts +18 -0
  205. package/components/TextField/types.solid.ts +22 -0
  206. package/components/TextField/types.svelte.ts +22 -0
  207. package/components/TextField/types.ts +35 -0
  208. package/components/Textarea/Textarea.astro +50 -38
  209. package/components/Textarea/types.astro.ts +10 -0
  210. package/components/Textarea/types.d.vue.ts +18 -0
  211. package/components/Textarea/types.solid.ts +6 -0
  212. package/components/Textarea/types.svelte.ts +21 -0
  213. package/components/Textarea/types.ts +33 -0
  214. package/components/ToggleButton/ToggleButton.astro +1 -11
  215. package/components/ToggleButton/types.astro.ts +4 -0
  216. package/components/ToggleButton/types.d.vue.ts +10 -0
  217. package/components/ToggleButton/types.solid.ts +7 -0
  218. package/components/ToggleButton/types.svelte.ts +7 -0
  219. package/components/ToggleButton/types.ts +10 -0
  220. package/components/ToggleGroup/ToggleGroup.astro +1 -8
  221. package/components/ToggleGroup/types.astro.ts +4 -0
  222. package/components/ToggleGroup/types.d.vue.ts +15 -0
  223. package/components/ToggleGroup/types.solid.ts +4 -0
  224. package/components/ToggleGroup/types.svelte.ts +9 -0
  225. package/components/ToggleGroup/types.ts +15 -0
  226. package/components/Tooltip/Tooltip.astro +2 -9
  227. package/components/Tooltip/types.astro.ts +4 -0
  228. package/components/Tooltip/types.d.vue.ts +10 -0
  229. package/components/Tooltip/types.solid.ts +6 -0
  230. package/components/Tooltip/types.svelte.ts +7 -0
  231. package/components/Tooltip/types.ts +11 -0
  232. package/css/theme.css +0 -1
  233. package/dist/opui.css +0 -1
  234. package/dist/opui.css.map +1 -1
  235. package/package.json +4 -6
@@ -1,13 +1,5 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- backdrop?: "transparent" | "blurred"
5
- class?: string
6
- closedby?: "any" | "closerequest" | "none"
7
- id?: string
8
- scrollLock?: boolean
9
- side?: "inline-start" | "inline-end" | "block-start" | "block-end"
10
- }
2
+ import type { Props } from "./types.astro"
11
3
 
12
4
  export const title = "Drawer"
13
5
 
@@ -1,8 +1,5 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- class?: string
5
- }
2
+ import type { DrawerFooterProps as Props } from "./types.astro"
6
3
 
7
4
  export const title = "Drawer Footer"
8
5
 
@@ -1,11 +1,7 @@
1
1
  ---
2
2
  import IconButton from "../IconButton/IconButton.astro"
3
3
 
4
- type Props = {
5
- [key: string]: any
6
- class?: string
7
- heading?: string
8
- }
4
+ import type { DrawerHeaderProps as Props } from "./types.astro"
9
5
 
10
6
  export const title = "Drawer Header"
11
7
 
@@ -0,0 +1,8 @@
1
+ import type * as Base from "./types"
2
+ import type { HTMLAttributes } from "astro/types"
3
+
4
+ export type Props = Base.Props & HTMLAttributes<"dialog">
5
+
6
+ export type DrawerHeaderProps = Base.DrawerHeaderProps & HTMLAttributes<"div">
7
+
8
+ export type DrawerFooterProps = Base.DrawerFooterProps & HTMLAttributes<"div">
@@ -0,0 +1,29 @@
1
+ import type { HTMLAttributes, Slot } from "vue"
2
+ import type {
3
+ DrawerFooterProps as BaseDrawerFooterProps,
4
+ DrawerHeaderProps as BaseDrawerHeaderProps,
5
+ Props as BaseProps,
6
+ Slots as BaseSlots,
7
+ } from "./types"
8
+
9
+ export type Props = BaseProps & {
10
+ class?: HTMLAttributes["class"]
11
+ }
12
+
13
+ export type DrawerHeaderProps = BaseDrawerHeaderProps & {
14
+ class?: HTMLAttributes["class"]
15
+ }
16
+
17
+ export type DrawerFooterProps = BaseDrawerFooterProps & {
18
+ class?: HTMLAttributes["class"]
19
+ }
20
+
21
+ export type DrawerSlots = BaseSlots<Slot>
22
+
23
+ export type DrawerHeaderSlots = {
24
+ default?: Slot
25
+ }
26
+
27
+ export type DrawerFooterSlots = {
28
+ default?: Slot
29
+ }
@@ -0,0 +1,12 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ export type Props = Base.Props &
5
+ Omit<JSX.DialogHtmlAttributes<HTMLDialogElement>, "id"> &
6
+ Partial<Base.Slots<JSX.Element>>
7
+
8
+ export type DrawerFooterProps = Base.DrawerFooterProps &
9
+ JSX.HTMLAttributes<HTMLDivElement>
10
+
11
+ export type DrawerHeaderProps = Base.DrawerHeaderProps &
12
+ JSX.HTMLAttributes<HTMLDivElement>
@@ -0,0 +1,15 @@
1
+ import type * as Base from "./types"
2
+ import type { SvelteHTMLElements } from "svelte/elements"
3
+ import type { Snippet } from "svelte"
4
+
5
+ type Snippets = Base.Slots<Snippet>
6
+
7
+ export type Props = Base.Props &
8
+ Omit<SvelteHTMLElements["dialog"], "id"> &
9
+ Snippets
10
+
11
+ export type DrawerFooterProps = Base.DrawerFooterProps &
12
+ SvelteHTMLElements["div"]
13
+
14
+ export type DrawerHeaderProps = Base.DrawerHeaderProps &
15
+ SvelteHTMLElements["div"]
@@ -0,0 +1,19 @@
1
+ export type Props = {
2
+ backdrop?: "transparent" | "blurred"
3
+ closedby?: "any" | "closerequest" | "none"
4
+ id?: string
5
+ scrollLock?: boolean
6
+ side?: "inline-start" | "inline-end" | "block-start" | "block-end"
7
+ }
8
+
9
+ export type DrawerHeaderProps = {
10
+ heading?: string
11
+ }
12
+
13
+ export type DrawerFooterProps = {}
14
+
15
+ export type Slots<S> = {
16
+ content?: S
17
+ footer?: S
18
+ header?: S
19
+ }
@@ -1,13 +1,9 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- class?: string
5
- }
2
+ import type { Props } from "./types.astro"
6
3
 
7
4
  export const title = "Field Description"
8
5
 
9
6
  const { class: className, ...rest } = Astro.props
10
7
  ---
11
8
 
12
- <!-- prettier-ignore -->
13
9
  <p class:list={["ui-field-description", className]} {...rest}><slot /></p>
@@ -0,0 +1,4 @@
1
+ import type * as Base from "./types"
2
+ import type { HTMLAttributes } from "astro/types"
3
+
4
+ export type Props = Base.Props & HTMLAttributes<"p">
@@ -0,0 +1,10 @@
1
+ import type { HTMLAttributes, Slot } from "vue"
2
+ import type { Props as BaseProps } from "./types"
3
+
4
+ export type Props = BaseProps & {
5
+ class?: HTMLAttributes["class"]
6
+ }
7
+
8
+ export type Slots = {
9
+ default?: Slot
10
+ }
@@ -0,0 +1,5 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ export type Props = Base.Props &
5
+ JSX.HTMLAttributes<any> & { as?: keyof JSX.IntrinsicElements }
@@ -0,0 +1,4 @@
1
+ import type * as Base from "./types"
2
+ import type { SvelteHTMLElements } from "svelte/elements"
3
+
4
+ export type Props = Base.Props & SvelteHTMLElements["p"]
@@ -0,0 +1 @@
1
+ export type Props = {}
@@ -1,15 +1,8 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- class?: string
5
- direction?: "row" | "column"
6
- name?: string
7
- }
8
-
2
+ import type { Props } from "./types.astro"
9
3
  export const title = "Field Group"
10
4
 
11
5
  const { class: className, direction, name, ...rest } = Astro.props
12
-
13
6
  const originalName = Astro.locals.currentFieldName
14
7
  if (name) {
15
8
  Astro.locals.currentFieldName = name
@@ -0,0 +1,4 @@
1
+ import type * as Base from "./types"
2
+ import type { HTMLAttributes } from "astro/types"
3
+
4
+ export type Props = Base.Props & HTMLAttributes<"div">
@@ -0,0 +1,12 @@
1
+ import type { HTMLAttributes, InjectionKey, Slot } from "vue"
2
+ import type { Props as BaseProps } from "./types"
3
+
4
+ export type Props = BaseProps & {
5
+ class?: HTMLAttributes["class"]
6
+ }
7
+
8
+ export type Slots = {
9
+ default?: Slot
10
+ }
11
+
12
+ export const CurrentFieldNameKey = Symbol() as InjectionKey<string>
@@ -0,0 +1,5 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ export type Props = Base.Props &
5
+ JSX.HTMLAttributes<any> & { as?: keyof JSX.IntrinsicElements }
@@ -0,0 +1,4 @@
1
+ import type * as Base from "./types"
2
+ import type { SvelteHTMLElements } from "svelte/elements"
3
+
4
+ export type Props = Base.Props & SvelteHTMLElements["div"]
@@ -0,0 +1,4 @@
1
+ export type Props = {
2
+ direction?: "row" | "column"
3
+ name?: string
4
+ }
@@ -1,15 +1,11 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- as?: "legend" | "p" | string
5
- class?: string
6
- }
7
-
2
+ import type { Props } from "./types.astro"
8
3
  export const title = "Field Legend"
9
4
 
10
5
  const { as: Tag = "legend", class: className, ...rest } = Astro.props
11
6
  const isLegend = Tag === "legend"
12
7
  ---
13
8
 
14
- <!-- prettier-ignore -->
15
- <Tag class:list={[{ "ui-legend": !isLegend }, className]} {...rest}><slot /></Tag>
9
+ <Tag class:list={[{ "ui-legend": !isLegend }, className]} {...rest}
10
+ ><slot /></Tag
11
+ >
@@ -0,0 +1,6 @@
1
+ import type * as Base from "./types"
2
+ import type { HTMLAttributes } from "astro/types"
3
+
4
+ export type Props =
5
+ | (Base.Props & { as?: "legend" } & HTMLAttributes<"legend">)
6
+ | (Base.Props & { as: "p" } & HTMLAttributes<"p">)
@@ -0,0 +1,11 @@
1
+ import type { HTMLAttributes, Slot } from "vue"
2
+ import type { Props as BaseProps } from "./types"
3
+
4
+ export type Props = BaseProps & {
5
+ as?: string
6
+ class?: HTMLAttributes["class"]
7
+ }
8
+
9
+ export type Slots = {
10
+ default?: Slot
11
+ }
@@ -0,0 +1,5 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ export type Props = Base.Props &
5
+ JSX.HTMLAttributes<any> & { as?: keyof JSX.IntrinsicElements }
@@ -0,0 +1,6 @@
1
+ import type * as Base from "./types"
2
+ import type { SvelteHTMLElements } from "svelte/elements"
3
+
4
+ // prettier-ignore
5
+ export type Props<T extends keyof SvelteHTMLElements= "legend"> =
6
+ | (Base.Props & { as?: T } & SvelteHTMLElements[T])
@@ -0,0 +1 @@
1
+ export type Props = {}
@@ -1,9 +1,5 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- as?: "fieldset" | "div" | string
5
- class?: string
6
- }
2
+ import type { Props } from "./types.astro"
7
3
 
8
4
  export const title = "Field Set"
9
5
 
@@ -0,0 +1,6 @@
1
+ import type * as Base from "./types"
2
+ import type { HTMLAttributes } from "astro/types"
3
+
4
+ export type Props =
5
+ | (Base.Props & { as?: "fieldset" } & HTMLAttributes<"fieldset">)
6
+ | (Base.Props & { as: "div" } & HTMLAttributes<"div">)
@@ -0,0 +1,11 @@
1
+ import type { HTMLAttributes, Slot } from "vue"
2
+ import type { Props as BaseProps } from "./types"
3
+
4
+ export type Props = BaseProps & {
5
+ as?: string
6
+ class?: HTMLAttributes["class"]
7
+ }
8
+
9
+ export type Slots = {
10
+ default?: Slot
11
+ }
@@ -0,0 +1,5 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ export type Props = Base.Props &
5
+ JSX.HTMLAttributes<any> & { as?: keyof JSX.IntrinsicElements }
@@ -0,0 +1,8 @@
1
+ import type * as Base from "./types"
2
+ import type { SvelteHTMLElements } from "svelte/elements"
3
+
4
+ // prettier-ignore
5
+ export type Props<T extends keyof SvelteHTMLElements= "fieldset"> =
6
+ | (Base.Props & { as?: T } & SvelteHTMLElements[T])
7
+
8
+ export type Context = Base.Context
@@ -0,0 +1,5 @@
1
+ export type Props = {}
2
+ export type Context = {
3
+ name?: string | null
4
+ description?: string | null
5
+ }
@@ -1,10 +1,5 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- as?: "form" | "div" | string
5
- class?: string
6
- }
7
-
2
+ import type { Props } from "./types.astro"
8
3
  export const title = "Form"
9
4
 
10
5
  const { as: Tag = "form", class: className, ...rest } = Astro.props
@@ -0,0 +1,6 @@
1
+ import type * as Base from "./types"
2
+ import type { HTMLAttributes } from "astro/types"
3
+
4
+ export type Props =
5
+ | (Base.Props & { as?: "form" } & HTMLAttributes<"form">)
6
+ | (Base.Props & { as: "div" } & HTMLAttributes<"div">)
@@ -0,0 +1,11 @@
1
+ import type { HTMLAttributes, Slot } from "vue"
2
+ import type { Props as BaseProps } from "./types"
3
+
4
+ export type Props = BaseProps & {
5
+ as?: string
6
+ class?: HTMLAttributes["class"]
7
+ }
8
+
9
+ export type Slots = {
10
+ default?: Slot
11
+ }
@@ -0,0 +1,5 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ export type Props = Base.Props &
5
+ JSX.HTMLAttributes<any> & { as?: keyof JSX.IntrinsicElements }
@@ -0,0 +1,7 @@
1
+ import type * as Base from "./types"
2
+ import type { SvelteHTMLElements } from "svelte/elements"
3
+
4
+ // prettier-ignore
5
+ export type Props<T extends keyof SvelteHTMLElements = keyof SvelteHTMLElements> =
6
+ | (Base.Props & { as?: "form" } & SvelteHTMLElements['form'])
7
+ | (Base.Props & { as: T } & SvelteHTMLElements[T])
@@ -0,0 +1 @@
1
+ export type Props = {}
@@ -1,26 +1,24 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- as?: "a" | "button" | string
5
- class?: string
6
- color?: "critical" | "primary"
7
- href?: string
8
- size?: "small"
9
- variant?: "outlined" | "tonal" | "filled"
10
- }
2
+ import type { Props } from "./types.astro"
11
3
 
12
4
  export const title = "Icon Button"
13
5
 
14
- const {
15
- as: Tag = Astro.props.href ? "a" : "button",
16
- class: className,
17
- color,
18
- href,
19
- size,
20
- variant,
21
- ...rest
22
- } = Astro.props
6
+ const props = Astro.props as Props
7
+ const { as, class: className, color, size, variant, href, ...rest } = props
8
+
9
+ const Tag = as || (href ? "a" : "button")
23
10
  ---
24
11
 
25
- <!-- prettier-ignore -->
26
- <Tag class:list={["ui-icon-button", size && `ui-${size}`, variant && `ui-${variant}`, color && `ui-${color}`, className]} href={href} {...rest}><slot /></Tag>
12
+ <Tag
13
+ class:list={[
14
+ "ui-icon-button",
15
+ size && `ui-${size}`,
16
+ variant && `ui-${variant}`,
17
+ color && `ui-${color}`,
18
+ className,
19
+ ]}
20
+ href={href}
21
+ {...rest as any}
22
+ >
23
+ <slot />
24
+ </Tag>
@@ -0,0 +1,6 @@
1
+ import type * as Base from "./types"
2
+ import type { HTMLAttributes } from "astro/types"
3
+
4
+ export type Props =
5
+ | (Base.Props & { as?: "button" } & HTMLAttributes<"button">)
6
+ | (Base.Props & { as?: "a" } & HTMLAttributes<"a">)
@@ -0,0 +1,10 @@
1
+ import type { HTMLAttributes, Slot } from "vue"
2
+ import type { Props as BaseProps } from "./types"
3
+
4
+ export type Props = BaseProps & {
5
+ class?: HTMLAttributes["class"]
6
+ }
7
+
8
+ export type Slots = {
9
+ default?: Slot
10
+ }
@@ -0,0 +1,8 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ export type Props = Base.Props &
5
+ (
6
+ | ({ as?: "button" } & JSX.ButtonHTMLAttributes<HTMLButtonElement>)
7
+ | ({ as: "a" } & JSX.AnchorHTMLAttributes<HTMLAnchorElement>)
8
+ )
@@ -0,0 +1,6 @@
1
+ import type * as Base from "./types"
2
+ import type { SvelteHTMLElements } from "svelte/elements"
3
+
4
+ export type Props =
5
+ | (Base.Props & { as?: "button" } & SvelteHTMLElements["button"])
6
+ | (Base.Props & { as?: "a" } & SvelteHTMLElements["a"])
@@ -0,0 +1,16 @@
1
+ export type Props = {
2
+ color?: "critical" | "primary"
3
+ size?: "small"
4
+ variant?: "outlined" | "tonal" | "filled"
5
+ } & (
6
+ | {
7
+ as: "a"
8
+ href: string
9
+ disabled?: never
10
+ }
11
+ | {
12
+ as?: "button"
13
+ href?: never
14
+ disabled?: boolean
15
+ }
16
+ )
@@ -1,12 +1,5 @@
1
1
  ---
2
- type Props = {
3
- bordered?: boolean
4
- dense?: boolean
5
- gutterless?: boolean
6
- variant?: "default" | "tonal" | "transparent"
7
- [key: string]: any
8
- }
9
-
2
+ import type { Props } from "./types.astro"
10
3
  export const title = "List"
11
4
 
12
5
  const {
@@ -0,0 +1,4 @@
1
+ import type * as Base from "./types"
2
+ import type { HTMLAttributes } from "astro/types"
3
+
4
+ export type Props = Base.Props & HTMLAttributes<"ul">
@@ -0,0 +1,10 @@
1
+ import type { HTMLAttributes, Slot } from "vue"
2
+ import type { Props as BaseProps } from "./types"
3
+
4
+ export type Props = BaseProps & {
5
+ class?: HTMLAttributes["class"]
6
+ }
7
+
8
+ export type Slots = {
9
+ default?: Slot
10
+ }
@@ -0,0 +1,4 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ export type Props = Base.Props & JSX.HTMLAttributes<HTMLUListElement>
@@ -0,0 +1,4 @@
1
+ import type * as Base from "./types"
2
+ import type { SvelteHTMLElements } from "svelte/elements"
3
+
4
+ export type Props = Base.Props & SvelteHTMLElements["ul"]
@@ -0,0 +1,7 @@
1
+ export type Props = {
2
+ bordered?: boolean
3
+ dense?: boolean
4
+ divided?: boolean
5
+ gutterless?: boolean
6
+ variant?: "default" | "tonal" | "transparent"
7
+ }
@@ -1,15 +1,5 @@
1
1
  ---
2
- type Props = {
3
- as?: "a" | "button" | "div"
4
- borderTop?: boolean
5
- class?: string
6
- description?: string
7
- for?: string
8
- headline?: string
9
- inset?: boolean
10
- type?: "checkbox" | "radio" | "switch"
11
- [key: string]: any
12
- }
2
+ import type { Props } from "./types.astro"
13
3
 
14
4
  export const title = "List Item"
15
5
 
@@ -40,7 +30,7 @@ const innerProps = Tag ? rest : {}
40
30
  },
41
31
  className,
42
32
  ]}
43
- {...liProps}
33
+ {...liProps as any}
44
34
  >
45
35
  {
46
36
  // Label + checkbox/radio/switch
@@ -67,7 +57,7 @@ const innerProps = Tag ? rest : {}
67
57
  </label>
68
58
  ) : // With custom tag
69
59
  Tag ? (
70
- <Tag {...innerProps}>
60
+ <Tag {...(innerProps as any)}>
71
61
  {Astro.slots.start && (
72
62
  <div class="ui-start">
73
63
  <slot name="start" />
@@ -0,0 +1,10 @@
1
+ import type * as Base from "./types"
2
+ import type { HTMLAttributes } from "astro/types"
3
+
4
+ export type Props = Base.Props &
5
+ (
6
+ | ({ as?: "li" } & HTMLAttributes<"li">)
7
+ | ({ as: "a" } & HTMLAttributes<"a">)
8
+ | ({ as: "button" } & HTMLAttributes<"button">)
9
+ | ({ as: "div" } & HTMLAttributes<"div">)
10
+ )
@@ -0,0 +1,10 @@
1
+ import type { HTMLAttributes, Slot } from "vue"
2
+ import type { Props as BaseProps, Slots as BaseSlots } from "./types"
3
+
4
+ export type Props = BaseProps & {
5
+ class?: HTMLAttributes["class"]
6
+ }
7
+
8
+ export type Slots = BaseSlots<Slot> & {
9
+ default?: Slot
10
+ }
@@ -0,0 +1,12 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ // prettier-ignore
5
+ export type Props = Base.Props &
6
+ Base.Slots<JSX.Element> &
7
+ (
8
+ | ({ as?: "li" } & JSX.HTMLAttributes<HTMLLIElement>)
9
+ | ({ as: "a" } & JSX.AnchorHTMLAttributes<HTMLAnchorElement>)
10
+ | ({ as: "button" } & JSX.ButtonHTMLAttributes<HTMLButtonElement>)
11
+ | ({ as: "div" } & JSX.HTMLAttributes<HTMLDivElement>)
12
+ )