opui-css 5.0.0 → 5.0.1

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 (114) hide show
  1. package/CHANGELOG.md +282 -276
  2. package/LICENSE +21 -21
  3. package/MIGRATING.md +127 -127
  4. package/README.md +87 -87
  5. package/astro/index.ts +46 -46
  6. package/components/AGENTS.md +248 -248
  7. package/components/Accordion/Accordion.astro +42 -42
  8. package/components/Anchor/Anchor.astro +51 -51
  9. package/components/Avatar/Avatar.astro +38 -38
  10. package/components/Badge/Badge.astro +59 -59
  11. package/components/Button/Button.astro +45 -45
  12. package/components/ButtonGroup/ButtonGroup.astro +29 -29
  13. package/components/Callout/Callout.astro +75 -75
  14. package/components/Card/Card.astro +36 -36
  15. package/components/Checkbox/Checkbox.astro +76 -76
  16. package/components/Checkbox/CheckboxInput.astro +32 -32
  17. package/components/Chip/Chip.astro +37 -37
  18. package/components/ClassicSelect/ClassicSelect.astro +83 -83
  19. package/components/DescriptionList/Description.astro +12 -12
  20. package/components/DescriptionList/DescriptionList.astro +22 -22
  21. package/components/DescriptionList/Item.astro +12 -12
  22. package/components/DescriptionList/Term.astro +12 -12
  23. package/components/DescriptionList/index.ts +12 -12
  24. package/components/Dialog/Dialog.astro +41 -41
  25. package/components/Divider/Divider.astro +17 -17
  26. package/components/Drawer/Drawer.astro +49 -49
  27. package/components/Drawer/DrawerFooter.astro +14 -14
  28. package/components/Drawer/DrawerHeader.astro +31 -31
  29. package/components/FieldDescription/FieldDescription.astro +13 -13
  30. package/components/FieldGroup/FieldGroup.astro +31 -31
  31. package/components/FieldLegend/FieldLegend.astro +15 -15
  32. package/components/FieldSet/FieldSet.astro +15 -15
  33. package/components/Form/Form.astro +15 -15
  34. package/components/IconButton/IconButton.astro +26 -26
  35. package/components/List/List.astro +36 -36
  36. package/components/ListItem/ListItem.astro +118 -118
  37. package/components/Progress/Progress.astro +41 -40
  38. package/components/Radio/Radio.astro +70 -70
  39. package/components/Radio/RadioInput.astro +24 -24
  40. package/components/Range/Range.astro +136 -136
  41. package/components/Select/Select.astro +106 -106
  42. package/components/Switch/Switch.astro +101 -101
  43. package/components/Switch/SwitchInput.astro +25 -25
  44. package/components/Table/Body.astro +13 -13
  45. package/components/Table/Cell.astro +13 -13
  46. package/components/Table/Column.astro +15 -15
  47. package/components/Table/ColumnGroup.astro +13 -13
  48. package/components/Table/Head.astro +13 -13
  49. package/components/Table/HeaderCell.astro +13 -13
  50. package/components/Table/Row.astro +13 -13
  51. package/components/Table/Table.astro +18 -18
  52. package/components/Table/index.ts +20 -20
  53. package/components/Tabs/Tabs.astro +28 -28
  54. package/components/Tabs/TabsItem.astro +47 -47
  55. package/components/Tabs/TabsPanel.astro +21 -21
  56. package/components/Tabs/TabsTab.astro +19 -19
  57. package/components/Tabs/index.ts +14 -14
  58. package/components/TextField/TextField.astro +128 -128
  59. package/components/Textarea/Textarea.astro +106 -106
  60. package/components/Toast/Toast.astro +42 -42
  61. package/components/ToggleButton/ToggleButton.astro +53 -53
  62. package/components/ToggleGroup/ToggleGroup.astro +49 -49
  63. package/components/Tooltip/Tooltip.astro +30 -30
  64. package/core/normalize.css +194 -194
  65. package/core/palette.css +59 -59
  66. package/core/utils.css +71 -71
  67. package/css/components/accordion.css +174 -174
  68. package/css/components/anchor.css +27 -27
  69. package/css/components/avatar.css +65 -65
  70. package/css/components/badge.css +107 -107
  71. package/css/components/button-group.css +179 -179
  72. package/css/components/button.css +215 -215
  73. package/css/components/callout.css +109 -109
  74. package/css/components/card.css +117 -117
  75. package/css/components/checkbox.css +205 -205
  76. package/css/components/chip.css +87 -87
  77. package/css/components/description-list.css +80 -80
  78. package/css/components/dialog.css +68 -68
  79. package/css/components/divider.css +20 -20
  80. package/css/components/drawer.css +171 -171
  81. package/css/components/form.css +146 -146
  82. package/css/components/icon-button.css +139 -139
  83. package/css/components/link.css +21 -21
  84. package/css/components/list.css +345 -345
  85. package/css/components/progress.css +102 -97
  86. package/css/components/radio.css +172 -172
  87. package/css/components/range.css +337 -337
  88. package/css/components/select.css +169 -169
  89. package/css/components/spinner.css +37 -37
  90. package/css/components/switch.css +268 -268
  91. package/css/components/table.css +179 -179
  92. package/css/components/tabs.css +83 -83
  93. package/css/components/text-field.css +450 -450
  94. package/css/components/text-input.css +64 -64
  95. package/css/components/textarea.css +24 -24
  96. package/css/components/toast.css +161 -161
  97. package/css/components/toggle-button.css +87 -87
  98. package/css/components/toggle-group.css +56 -56
  99. package/css/components/tooltip.css +67 -67
  100. package/css/components/typography.css +585 -585
  101. package/css/components.css +41 -41
  102. package/css/imports.css +16 -16
  103. package/css/js/checkbox.js +21 -21
  104. package/css/js/toast.js +94 -94
  105. package/css/theme.css +132 -132
  106. package/dist/op.css +65 -65
  107. package/dist/op.css.map +1 -1
  108. package/dist/opui.components.css +5159 -5154
  109. package/dist/opui.components.css.map +1 -1
  110. package/dist/opui.css +5668 -5663
  111. package/dist/opui.css.map +1 -1
  112. package/env.d.ts +14 -14
  113. package/open-props.css +9 -9
  114. package/package.json +81 -81
@@ -1,76 +1,76 @@
1
- ---
2
- import CheckboxInput from "./CheckboxInput.astro"
3
-
4
- type Props = {
5
- [key: string]: any
6
- checked?: boolean
7
- class?: string
8
- critical?: 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
- export const title = "Checkbox"
22
-
23
- const {
24
- checked,
25
- class: className,
26
- critical,
27
- disabled,
28
- hideLabel,
29
- id,
30
- indeterminate,
31
- name,
32
- required,
33
- size,
34
- spread,
35
- stack,
36
- value,
37
- ...rest
38
- } = Astro.props
39
-
40
- const { $id, currentFieldName } = Astro.locals
41
- const endTextId = Astro.slots.has("end-text") ? $id("end-text") : undefined
42
-
43
- const finalName = name || currentFieldName
44
- ---
45
-
46
- <label
47
- class:list={[
48
- "ui-checkbox",
49
- size && `ui-${size}`,
50
- {
51
- "ui-stack": stack,
52
- "ui-spread": spread,
53
- },
54
- className,
55
- ]}
56
- data-invalid={critical || undefined}
57
- >
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>
70
- {
71
- Astro.slots.has("end-text") && (
72
- <!-- prettier-ignore -->
73
- <span id={endTextId} class="ui-end-text"><slot name="end-text" /></span>
74
- )
75
- }
76
- </label>
1
+ ---
2
+ import CheckboxInput from "./CheckboxInput.astro"
3
+
4
+ type Props = {
5
+ [key: string]: any
6
+ checked?: boolean
7
+ class?: string
8
+ critical?: 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
+ export const title = "Checkbox"
22
+
23
+ const {
24
+ checked,
25
+ class: className,
26
+ critical,
27
+ disabled,
28
+ hideLabel,
29
+ id,
30
+ indeterminate,
31
+ name,
32
+ required,
33
+ size,
34
+ spread,
35
+ stack,
36
+ value,
37
+ ...rest
38
+ } = Astro.props
39
+
40
+ const { $id, currentFieldName } = Astro.locals
41
+ const endTextId = Astro.slots.has("end-text") ? $id("end-text") : undefined
42
+
43
+ const finalName = name || currentFieldName
44
+ ---
45
+
46
+ <label
47
+ class:list={[
48
+ "ui-checkbox",
49
+ size && `ui-${size}`,
50
+ {
51
+ "ui-stack": stack,
52
+ "ui-spread": spread,
53
+ },
54
+ className,
55
+ ]}
56
+ data-invalid={critical || undefined}
57
+ >
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>
70
+ {
71
+ Astro.slots.has("end-text") && (
72
+ <!-- prettier-ignore -->
73
+ <span id={endTextId} class="ui-end-text"><slot name="end-text" /></span>
74
+ )
75
+ }
76
+ </label>
@@ -1,32 +1,32 @@
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
- }
12
-
13
- const { checked, disabled, id, indeterminate, name, required, value, ...rest } =
14
- Astro.props
15
- ---
16
-
17
- <input
18
- type="checkbox"
19
- data-indeterminate={indeterminate || undefined}
20
- {checked}
21
- {disabled}
22
- {id}
23
- {name}
24
- {required}
25
- {value}
26
- {...rest}
27
- />
28
-
29
- <script>
30
- import { initCheckbox } from "../../css/js/checkbox.js"
31
- initCheckbox()
32
- </script>
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
+ }
12
+
13
+ const { checked, disabled, id, indeterminate, name, required, value, ...rest } =
14
+ Astro.props
15
+ ---
16
+
17
+ <input
18
+ type="checkbox"
19
+ data-indeterminate={indeterminate || undefined}
20
+ {checked}
21
+ {disabled}
22
+ {id}
23
+ {name}
24
+ {required}
25
+ {value}
26
+ {...rest}
27
+ />
28
+
29
+ <script>
30
+ import { initCheckbox } from "../../css/js/checkbox.js"
31
+ initCheckbox()
32
+ </script>
@@ -1,37 +1,37 @@
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
- }
11
-
12
- export const title = "Chip"
13
-
14
- const {
15
- as: Tag = Astro.props.href ? "a" : "div",
16
- class: className,
17
- label,
18
- multiline,
19
- size,
20
- variant = "tonal",
21
- ...rest
22
- } = Astro.props
23
- ---
24
-
25
- <!-- prettier-ignore -->
26
- <Tag
27
- class:list={[
28
- "ui-chip",
29
- {
30
- "ui-multiline": multiline,
31
- },
32
- size && `ui-${size}`,
33
- variant && `ui-${variant}`,
34
- className,
35
- ]}
36
- {...rest}
37
- ><slot name="start" /><slot />{label && <span class="ui-text">{label}</span>}<slot name="end" /></Tag>
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
+ }
11
+
12
+ export const title = "Chip"
13
+
14
+ const {
15
+ as: Tag = Astro.props.href ? "a" : "div",
16
+ class: className,
17
+ label,
18
+ multiline,
19
+ size,
20
+ variant = "tonal",
21
+ ...rest
22
+ } = Astro.props
23
+ ---
24
+
25
+ <!-- prettier-ignore -->
26
+ <Tag
27
+ class:list={[
28
+ "ui-chip",
29
+ {
30
+ "ui-multiline": multiline,
31
+ },
32
+ size && `ui-${size}`,
33
+ variant && `ui-${variant}`,
34
+ className,
35
+ ]}
36
+ {...rest}
37
+ ><slot name="start" /><slot />{label && <span class="ui-text">{label}</span>}<slot name="end" /></Tag>
@@ -1,83 +1,83 @@
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
- critical?: 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
- }
22
-
23
- export const title = "Classic Select"
24
-
25
- const {
26
- class: className,
27
- disabled,
28
- critical,
29
- id,
30
- items = [],
31
- label,
32
- name,
33
- required,
34
- size,
35
- endText,
36
- value,
37
- variant = "outlined",
38
- ...rest
39
- } = Astro.props
40
-
41
- const { $id } = Astro.locals
42
- const selectId = id || $id("select")
43
- const labelId = $id("select-label")
44
- ---
45
-
46
- <label
47
- class:list={[
48
- "ui-select",
49
- size && `ui-${size}`,
50
- {
51
- "ui-filled": variant === "filled",
52
- },
53
- className,
54
- ]}
55
- data-invalid={critical || undefined}
56
- >
57
- {
58
- label && (
59
- <!-- prettier-ignore -->
60
- <span class="ui-label" id={labelId}>{label}</span>
61
- )
62
- }
63
- <span class="ui-field">
64
- <select
65
- aria-labelledby={label ? labelId : undefined}
66
- disabled={disabled}
67
- id={selectId}
68
- name={name}
69
- required={required}
70
- value={value}
71
- {...rest}
72
- >
73
- {items.map((item) => <option value={item.value}>{item.text}</option>)}
74
- <slot />
75
- </select>
76
- </span>
77
- {
78
- endText && (
79
- <!-- prettier-ignore -->
80
- <span class="ui-end-text">{endText}</span>
81
- )
82
- }
83
- </label>
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
+ critical?: 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
+ }
22
+
23
+ export const title = "Classic Select"
24
+
25
+ const {
26
+ class: className,
27
+ disabled,
28
+ critical,
29
+ id,
30
+ items = [],
31
+ label,
32
+ name,
33
+ required,
34
+ size,
35
+ endText,
36
+ value,
37
+ variant = "outlined",
38
+ ...rest
39
+ } = Astro.props
40
+
41
+ const { $id } = Astro.locals
42
+ const selectId = id || $id("select")
43
+ const labelId = $id("select-label")
44
+ ---
45
+
46
+ <label
47
+ class:list={[
48
+ "ui-select",
49
+ size && `ui-${size}`,
50
+ {
51
+ "ui-filled": variant === "filled",
52
+ },
53
+ className,
54
+ ]}
55
+ data-invalid={critical || undefined}
56
+ >
57
+ {
58
+ label && (
59
+ <!-- prettier-ignore -->
60
+ <span class="ui-label" id={labelId}>{label}</span>
61
+ )
62
+ }
63
+ <span class="ui-field">
64
+ <select
65
+ aria-labelledby={label ? labelId : undefined}
66
+ disabled={disabled}
67
+ id={selectId}
68
+ name={name}
69
+ required={required}
70
+ value={value}
71
+ {...rest}
72
+ >
73
+ {items.map((item) => <option value={item.value}>{item.text}</option>)}
74
+ <slot />
75
+ </select>
76
+ </span>
77
+ {
78
+ endText && (
79
+ <!-- prettier-ignore -->
80
+ <span class="ui-end-text">{endText}</span>
81
+ )
82
+ }
83
+ </label>
@@ -1,12 +1,12 @@
1
- ---
2
- type Props = {
3
- [key: string]: any
4
- class?: string
5
- }
6
-
7
- const { class: className, ...rest } = Astro.props
8
- ---
9
-
10
- <dd class:list={["ui-description", className]} {...rest}>
11
- <slot />
12
- </dd>
1
+ ---
2
+ type Props = {
3
+ [key: string]: any
4
+ class?: string
5
+ }
6
+
7
+ const { class: className, ...rest } = Astro.props
8
+ ---
9
+
10
+ <dd class:list={["ui-description", className]} {...rest}>
11
+ <slot />
12
+ </dd>
@@ -1,22 +1,22 @@
1
- ---
2
- type Props = {
3
- [key: string]: any
4
- bordered?: boolean | "dotted"
5
- class?: string
6
- }
7
-
8
- export const title = "Description List"
9
-
10
- const { bordered, class: className, ...rest } = Astro.props
11
- ---
12
-
13
- <dl
14
- class:list={[
15
- "ui-description-list",
16
- { "ui-bordered": bordered, "ui-dotted": bordered === "dotted" },
17
- className,
18
- ]}
19
- {...rest}
20
- >
21
- <slot />
22
- </dl>
1
+ ---
2
+ type Props = {
3
+ [key: string]: any
4
+ bordered?: boolean | "dotted"
5
+ class?: string
6
+ }
7
+
8
+ export const title = "Description List"
9
+
10
+ const { bordered, class: className, ...rest } = Astro.props
11
+ ---
12
+
13
+ <dl
14
+ class:list={[
15
+ "ui-description-list",
16
+ { "ui-bordered": bordered, "ui-dotted": bordered === "dotted" },
17
+ className,
18
+ ]}
19
+ {...rest}
20
+ >
21
+ <slot />
22
+ </dl>
@@ -1,12 +1,12 @@
1
- ---
2
- type Props = {
3
- [key: string]: any
4
- class?: string
5
- }
6
-
7
- const { class: className, ...rest } = Astro.props
8
- ---
9
-
10
- <div class:list={["ui-item", className]} {...rest}>
11
- <slot />
12
- </div>
1
+ ---
2
+ type Props = {
3
+ [key: string]: any
4
+ class?: string
5
+ }
6
+
7
+ const { class: className, ...rest } = Astro.props
8
+ ---
9
+
10
+ <div class:list={["ui-item", className]} {...rest}>
11
+ <slot />
12
+ </div>
@@ -1,12 +1,12 @@
1
- ---
2
- type Props = {
3
- [key: string]: any
4
- class?: string
5
- }
6
-
7
- const { class: className, ...rest } = Astro.props
8
- ---
9
-
10
- <dt class:list={["ui-term", className]} {...rest}>
11
- <slot />
12
- </dt>
1
+ ---
2
+ type Props = {
3
+ [key: string]: any
4
+ class?: string
5
+ }
6
+
7
+ const { class: className, ...rest } = Astro.props
8
+ ---
9
+
10
+ <dt class:list={["ui-term", className]} {...rest}>
11
+ <slot />
12
+ </dt>
@@ -1,12 +1,12 @@
1
- import DescriptionList from "./DescriptionList.astro"
2
- import Item from "./Item.astro"
3
- import Term from "./Term.astro"
4
- import Description from "./Description.astro"
5
-
6
- export { Item, Term, Description }
7
-
8
- export default Object.assign(DescriptionList, {
9
- Item,
10
- Term,
11
- Description,
12
- })
1
+ import DescriptionList from "./DescriptionList.astro"
2
+ import Item from "./Item.astro"
3
+ import Term from "./Term.astro"
4
+ import Description from "./Description.astro"
5
+
6
+ export { Item, Term, Description }
7
+
8
+ export default Object.assign(DescriptionList, {
9
+ Item,
10
+ Term,
11
+ Description,
12
+ })