opui-css 5.1.1 → 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 (238) hide show
  1. package/CHANGELOG.md +14 -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/op.css +0 -21
  234. package/dist/op.css.map +1 -1
  235. package/dist/opui.css +0 -23
  236. package/dist/opui.css.map +1 -1
  237. package/open-props.css +0 -2
  238. package/package.json +4 -6
@@ -0,0 +1,6 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ export type Props = Base.Props &
5
+ Partial<Base.Slots<JSX.Element>> &
6
+ JSX.HTMLAttributes<HTMLElement>
@@ -0,0 +1,7 @@
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 & Snippets & SvelteHTMLElements["article"]
@@ -0,0 +1,10 @@
1
+ export type Props = {
2
+ [key: string]: any
3
+ severity?: "critical" | "info" | "neutral" | "success" | "warning"
4
+ variant?: "tonal" | "outlined"
5
+ }
6
+
7
+ export type Slots<S> = {
8
+ icon?: S
9
+ title?: S
10
+ }
@@ -1,9 +1,5 @@
1
1
  ---
2
- type Props = {
3
- actionsAlign?: "start" | "end"
4
- variant?: "text" | "outlined" | "elevated" | "tonal"
5
- [key: string]: any
6
- }
2
+ import type { Props } from "./types.astro"
7
3
 
8
4
  export const title = "Card"
9
5
 
@@ -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,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,6 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ export type Props = Base.Props &
5
+ Partial<Base.Slots<JSX.Element>> &
6
+ JSX.HTMLAttributes<HTMLDivElement>
@@ -0,0 +1,7 @@
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 & Snippets & SvelteHTMLElements["div"]
@@ -0,0 +1,10 @@
1
+ export type Props = {
2
+ actionsAlign?: "start" | "end"
3
+ variant?: "text" | "outlined" | "elevated" | "tonal"
4
+ }
5
+
6
+ export type Slots<S> = {
7
+ actions?: S
8
+ content?: S
9
+ header?: S
10
+ }
@@ -1,39 +1,18 @@
1
1
  ---
2
+ import type { CheckboxProps as Props } from "./types.astro"
2
3
  import CheckboxInput from "./CheckboxInput.astro"
3
4
 
4
- type Props = {
5
- [key: string]: any
6
- checked?: boolean
7
- class?: string
8
- error?: boolean
9
- disabled?: boolean
10
- hideLabel?: boolean
11
- id?: string
12
- indeterminate?: boolean
13
- name?: string
14
- required?: boolean
15
- size?: "small" | "large"
16
- spread?: boolean
17
- stack?: boolean
18
- value?: string
19
- }
20
-
21
5
  export const title = "Checkbox"
22
6
 
23
7
  const {
24
- checked,
25
8
  class: className,
26
9
  error,
27
10
  disabled,
28
11
  hideLabel,
29
- id,
30
- indeterminate,
31
12
  name,
32
- required,
33
13
  size,
34
14
  spread,
35
15
  stack,
36
- value,
37
16
  ...rest
38
17
  } = Astro.props
39
18
 
@@ -55,22 +34,13 @@ const finalName = name || currentFieldName
55
34
  ]}
56
35
  data-invalid={error || undefined}
57
36
  >
58
- <CheckboxInput
59
- aria-describedby={endTextId}
60
- {checked}
61
- {disabled}
62
- {id}
63
- {indeterminate}
64
- name={finalName}
65
- {required}
66
- {value}
67
- {...rest}
68
- />
69
- <!-- prettier-ignore --><span class:list={[hideLabel ? "ui-sr-only" : "ui-label"]}><slot /></span>
37
+ <CheckboxInput aria-describedby={endTextId} name={finalName} {...rest} />
38
+ <span class:list={[hideLabel ? "ui-sr-only" : "ui-label"]}><slot /></span>
70
39
  {
71
40
  Astro.slots.has("end-text") && (
72
- <!-- prettier-ignore -->
73
- <span id={endTextId} class="ui-end-text"><slot name="end-text" /></span>
41
+ <span id={endTextId} class="ui-end-text">
42
+ <slot name="end-text" />
43
+ </span>
74
44
  )
75
45
  }
76
46
  </label>
@@ -1,28 +1,12 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- checked?: boolean
5
- disabled?: boolean
6
- id?: string
7
- indeterminate?: boolean
8
- name?: string
9
- required?: boolean
10
- value?: string
11
- }
2
+ import type { CheckboxInputProps as Props } from "./types.astro"
12
3
 
13
- const { checked, disabled, id, indeterminate, name, required, value, ...rest } =
14
- Astro.props
4
+ const { indeterminate, ...rest } = Astro.props as Props
15
5
  ---
16
6
 
17
7
  <input
18
8
  type="checkbox"
19
9
  data-indeterminate={indeterminate || undefined}
20
- {checked}
21
- {disabled}
22
- {id}
23
- {name}
24
- {required}
25
- {value}
26
10
  {...rest}
27
11
  />
28
12
 
@@ -0,0 +1,8 @@
1
+ import type * as Base from "./types"
2
+ import type { HTMLAttributes } from "astro/types"
3
+
4
+ export type CheckboxProps = Base.CheckboxProps &
5
+ Omit<HTMLAttributes<"input">, "size">
6
+
7
+ export type CheckboxInputProps = Base.CheckboxInputProps &
8
+ HTMLAttributes<"input">
@@ -0,0 +1,11 @@
1
+ import type { HTMLAttributes, Slot } from "vue"
2
+ import type { CheckboxProps as BaseCheckboxProps } from "./types"
3
+
4
+ export type CheckboxProps = BaseCheckboxProps & {
5
+ class?: HTMLAttributes["class"]
6
+ }
7
+
8
+ export type Slots = {
9
+ default?: Slot
10
+ "end-text"?: Slot
11
+ }
@@ -0,0 +1,9 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ export type CheckboxInputProps = Base.CheckboxInputProps &
5
+ JSX.InputHTMLAttributes<HTMLInputElement>
6
+
7
+ export type CheckboxProps = Base.CheckboxProps &
8
+ Partial<Base.CheckboxSlots<JSX.Element>> &
9
+ Omit<JSX.InputHTMLAttributes<HTMLInputElement>, "size">
@@ -0,0 +1,12 @@
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.CheckboxSlots<Snippet>
6
+
7
+ export type CheckboxProps = Omit<Base.CheckboxProps, keyof Snippets> &
8
+ Snippets &
9
+ Omit<SvelteHTMLElements["input"], "size">
10
+
11
+ export type CheckboxInputProps = Base.CheckboxInputProps &
12
+ SvelteHTMLElements["input"]
@@ -0,0 +1,17 @@
1
+ export type CheckboxProps = {
2
+ disabled?: boolean
3
+ error?: boolean
4
+ hideLabel?: boolean
5
+ indeterminate?: boolean
6
+ size?: "small" | "large"
7
+ spread?: boolean
8
+ stack?: boolean
9
+ }
10
+
11
+ export type CheckboxSlots<S> = {
12
+ endText?: string | S
13
+ }
14
+
15
+ export type CheckboxInputProps = {
16
+ indeterminate?: boolean
17
+ }
@@ -1,13 +1,5 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- as?: "a" | "button" | "div" | string
5
- class?: string
6
- label?: string
7
- multiline?: boolean
8
- size?: "small"
9
- variant?: "tonal" | "outlined"
10
- }
2
+ import type { Props } from "./types.astro"
11
3
 
12
4
  export const title = "Chip"
13
5
 
@@ -22,7 +14,6 @@ const {
22
14
  } = Astro.props
23
15
  ---
24
16
 
25
- <!-- prettier-ignore -->
26
17
  <Tag
27
18
  class:list={[
28
19
  "ui-chip",
@@ -33,5 +24,8 @@ const {
33
24
  variant && `ui-${variant}`,
34
25
  className,
35
26
  ]}
36
- {...rest}
37
- ><slot name="start" /><slot />{label && <span class="ui-text">{label}</span>}<slot name="end" /></Tag>
27
+ {...rest as any}
28
+ ><slot name="start" /><slot />{
29
+ label && <span class="ui-text">{label}</span>
30
+ }<slot name="end" /></Tag
31
+ >
@@ -0,0 +1,9 @@
1
+ import type * as Base from "./types"
2
+ import type { HTMLAttributes } from "astro/types"
3
+
4
+ export type Props = Base.Props &
5
+ (
6
+ | ({ as?: "a" } & HTMLAttributes<"a">)
7
+ | ({ as?: "button" } & HTMLAttributes<"button">)
8
+ | ({ as?: "div" } & HTMLAttributes<"div">)
9
+ )
@@ -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,10 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ export type Props = Base.Props &
5
+ Partial<Base.Slots<JSX.Element>> &
6
+ (
7
+ | ({ as?: "a" } & JSX.AnchorHTMLAttributes<HTMLAnchorElement>)
8
+ | ({ as?: "button" } & JSX.ButtonHTMLAttributes<HTMLButtonElement>)
9
+ | ({ as?: "div" } & JSX.HTMLAttributes<HTMLDivElement>)
10
+ )
@@ -0,0 +1,14 @@
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
+ // prettier-ignore
8
+ export type Props = Base.Props &
9
+ Snippets &
10
+ (
11
+ | ({ as?: "a" } & SvelteHTMLElements["a"])
12
+ | ({ as?: "button" } & SvelteHTMLElements["button"])
13
+ | ({ as?: "div" } & SvelteHTMLElements["div"])
14
+ )
@@ -0,0 +1,13 @@
1
+ export type Props = {
2
+ [key: string]: any
3
+ as?: "a" | "button" | "div" | string
4
+ label?: string
5
+ multiline?: boolean
6
+ size?: "small"
7
+ variant?: "tonal" | "outlined"
8
+ }
9
+
10
+ export type Slots<S> = {
11
+ end?: S
12
+ start?: S
13
+ }
@@ -1,24 +1,5 @@
1
1
  ---
2
- type Item = {
3
- text: string
4
- value: any
5
- }
6
-
7
- type Props = {
8
- [key: string]: any
9
- class?: string
10
- disabled?: boolean
11
- error?: boolean
12
- id?: string
13
- items?: Item[]
14
- label?: string
15
- name?: string
16
- required?: boolean
17
- size?: "small"
18
- endText?: string
19
- value?: any
20
- variant?: "outlined" | "filled"
21
- }
2
+ import type { ClassicSelectProps as Props } from "./types.astro"
22
3
 
23
4
  export const title = "Classic Select"
24
5
 
@@ -56,8 +37,9 @@ const labelId = $id("select-label")
56
37
  >
57
38
  {
58
39
  label && (
59
- <!-- prettier-ignore -->
60
- <span class="ui-label" id={labelId}>{label}</span>
40
+ <span class="ui-label" id={labelId}>
41
+ {label}
42
+ </span>
61
43
  )
62
44
  }
63
45
  <span class="ui-field">
@@ -74,10 +56,5 @@ const labelId = $id("select-label")
74
56
  <slot />
75
57
  </select>
76
58
  </span>
77
- {
78
- endText && (
79
- <!-- prettier-ignore -->
80
- <span class="ui-end-text">{endText}</span>
81
- )
82
- }
59
+ {endText && <span class="ui-end-text">{endText}</span>}
83
60
  </label>
@@ -0,0 +1,8 @@
1
+ import type * as Base from "./types"
2
+ import type { HTMLAttributes } from "astro/types"
3
+
4
+ export type { Item } from "./types"
5
+
6
+ export type ClassicSelectProps = Base.ClassicSelectProps &
7
+ HTMLAttributes<"label"> &
8
+ HTMLAttributes<"select">
@@ -0,0 +1,10 @@
1
+ import type { HTMLAttributes, Slot } from "vue"
2
+ import type { ClassicSelectProps as BaseClassicSelectProps } from "./types"
3
+
4
+ export type ClassicSelectProps = BaseClassicSelectProps & {
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 ClassicSelectProps = Base.ClassicSelectProps &
5
+ Omit<JSX.SelectHTMLAttributes<HTMLSelectElement>, "size">
@@ -0,0 +1,5 @@
1
+ import type * as Base from "./types"
2
+ import type { SvelteHTMLElements } from "svelte/elements"
3
+
4
+ export type ClassicSelectProps = Base.ClassicSelectProps &
5
+ Omit<SvelteHTMLElements["select"], "size">
@@ -0,0 +1,19 @@
1
+ export type Item = {
2
+ text: string
3
+ value: any
4
+ }
5
+
6
+ export type ClassicSelectProps = {
7
+ [key: string]: any
8
+ disabled?: boolean
9
+ error?: boolean
10
+ id?: string
11
+ items?: Item[]
12
+ label?: string
13
+ name?: string
14
+ required?: boolean
15
+ size?: "small"
16
+ endText?: string
17
+ value?: any
18
+ variant?: "outlined" | "filled"
19
+ }
@@ -1,8 +1,5 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- class?: string
5
- }
2
+ import type { DescriptionProps as Props } from "./types.astro"
6
3
 
7
4
  const { class: className, ...rest } = Astro.props
8
5
  ---
@@ -1,9 +1,5 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- bordered?: boolean | "dotted"
5
- class?: string
6
- }
2
+ import type { Props } from "./types.astro"
7
3
 
8
4
  export const title = "Description List"
9
5
 
@@ -1,8 +1,5 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- class?: string
5
- }
2
+ import type { ItemProps as Props } from "./types.astro"
6
3
 
7
4
  const { class: className, ...rest } = Astro.props
8
5
  ---
@@ -1,8 +1,5 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- class?: string
5
- }
2
+ import type { TermProps as Props } from "./types.astro"
6
3
 
7
4
  const { class: className, ...rest } = Astro.props
8
5
  ---
@@ -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 & HTMLAttributes<"dl">
5
+
6
+ export type TermProps = Base.Props & HTMLAttributes<"dt">
7
+
8
+ export type DescriptionProps = Base.Props & HTMLAttributes<"dd">
9
+
10
+ export type ItemProps = Base.Props & HTMLAttributes<"div">
@@ -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<HTMLDListElement>
@@ -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["dl"]
@@ -0,0 +1,3 @@
1
+ export type Props = {
2
+ bordered?: boolean | "dotted"
3
+ }
@@ -1,10 +1,5 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- actionsAlign?: "start" | "end"
5
- class?: string
6
- closedby?: "any" | "closerequest" | "none"
7
- }
2
+ import type { Props } from "./types.astro"
8
3
 
9
4
  export const title = "Dialog"
10
5
 
@@ -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<"dialog">
@@ -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,8 @@
1
+ import type * as Base from "./types"
2
+ import type { JSX } from "solid-js"
3
+
4
+ export type Props = Base.Props &
5
+ Partial<Base.Slots<JSX.Element>> &
6
+ JSX.DialogHtmlAttributes<HTMLDialogElement> & {
7
+ closedby?: "any" | "none" | "closerequest"
8
+ }
@@ -0,0 +1,7 @@
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 & Snippets & SvelteHTMLElements["dialog"]
@@ -0,0 +1,9 @@
1
+ export type Props = {
2
+ actionsAlign?: "start" | "end"
3
+ }
4
+
5
+ export type Slots<S> = {
6
+ actions?: S
7
+ content?: S
8
+ header?: string | S
9
+ }
@@ -1,11 +1,6 @@
1
1
  ---
2
- type Props = {
3
- [key: string]: any
4
- class?: string
5
- variant?: "tonal" | "filled" | "primary"
6
- }
7
-
8
2
  export const title = "Divider"
3
+ import type { Props } from "./types.astro"
9
4
 
10
5
  const { class: className, variant, ...rest } = Astro.props
11
6
  const variantClass = variant ? `border-${variant}` : ""
@@ -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<"hr">
@@ -0,0 +1,6 @@
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
+ }
@@ -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<HTMLHRElement>
@@ -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["hr"]
@@ -0,0 +1,3 @@
1
+ export type Props = {
2
+ variant?: "tonal" | "filled" | "primary"
3
+ }