wimui 0.6.0 → 0.7.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 (61) hide show
  1. package/dist/components/_internal/FeedbackIcon.cjs +1 -1
  2. package/dist/components/_internal/FeedbackIcon.js +18 -23
  3. package/dist/components/_internal/FieldLabelContent.cjs +1 -1
  4. package/dist/components/_internal/FieldLabelContent.js +1 -0
  5. package/dist/components/data-display/Card/Card.cjs +1 -1
  6. package/dist/components/data-display/Card/Card.js +30 -25
  7. package/dist/components/data-display/Card/styled-values.cjs +2 -0
  8. package/dist/components/data-display/Card/styled-values.d.ts +18 -0
  9. package/dist/components/data-display/Card/styled-values.js +21 -0
  10. package/dist/components/feedback/Alert/Alert.cjs +1 -1
  11. package/dist/components/feedback/Alert/Alert.d.ts +11 -4
  12. package/dist/components/feedback/Alert/Alert.js +1 -1
  13. package/dist/components/feedback/Result/Result.cjs +1 -1
  14. package/dist/components/feedback/Result/Result.js +39 -37
  15. package/dist/components/form/Dropzone/Dropzone.cjs +1 -1
  16. package/dist/components/form/Dropzone/Dropzone.d.ts +10 -1
  17. package/dist/components/form/Dropzone/Dropzone.js +40 -40
  18. package/dist/components/form/Fieldset/Fieldset.cjs +1 -1
  19. package/dist/components/form/Fieldset/Fieldset.d.ts +9 -2
  20. package/dist/components/form/Fieldset/Fieldset.js +1 -1
  21. package/dist/components/form/Fieldset/fieldset.module.cjs +1 -1
  22. package/dist/components/form/Fieldset/fieldset.module.js +4 -3
  23. package/dist/components/form/FileUpload/FileUpload.cjs +1 -1
  24. package/dist/components/form/FileUpload/FileUpload.d.ts +10 -1
  25. package/dist/components/form/FileUpload/FileUpload.js +49 -45
  26. package/dist/components/form/Input/Input.cjs +1 -1
  27. package/dist/components/form/Input/Input.d.ts +6 -0
  28. package/dist/components/form/Input/Input.js +65 -63
  29. package/dist/components/form/InputBase/InputBase.cjs +1 -1
  30. package/dist/components/form/InputBase/InputBase.d.ts +9 -1
  31. package/dist/components/form/InputBase/InputBase.js +31 -25
  32. package/dist/components/form/InputBase/input-base.module.cjs +1 -1
  33. package/dist/components/form/InputBase/input-base.module.js +9 -7
  34. package/dist/components/form/OtpInput/OtpInput.cjs +1 -1
  35. package/dist/components/form/OtpInput/OtpInput.d.ts +16 -2
  36. package/dist/components/form/OtpInput/OtpInput.js +53 -54
  37. package/dist/components/form/SegmentedControl/segmented-control.module.cjs +1 -1
  38. package/dist/components/form/SegmentedControl/segmented-control.module.js +1 -1
  39. package/dist/components/media/Icon/Icon.cjs +1 -1
  40. package/dist/components/media/Icon/Icon.d.ts +9 -4
  41. package/dist/components/media/Icon/Icon.js +27 -11
  42. package/dist/components/media/Icon/icon.module.cjs +1 -1
  43. package/dist/components/media/Icon/icon.module.js +10 -10
  44. package/dist/components/media/Image/Image.cjs +1 -1
  45. package/dist/components/media/Image/Image.js +1 -1
  46. package/dist/components/typography/Code/code.module.cjs +1 -1
  47. package/dist/components/typography/Code/code.module.js +1 -1
  48. package/dist/components/typography/Text/Text.cjs +1 -1
  49. package/dist/components/typography/Text/Text.d.ts +24 -0
  50. package/dist/components/typography/Text/Text.js +10 -10
  51. package/dist/components/typography/Text/text.module.cjs +1 -1
  52. package/dist/components/typography/Text/text.module.js +12 -10
  53. package/dist/llms-full.txt +68 -6
  54. package/dist/llms.txt +1 -1
  55. package/dist/styles.css +1 -1
  56. package/dist/utilities/warn-unstyled-value.cjs +2 -0
  57. package/dist/utilities/warn-unstyled-value.d.ts +17 -0
  58. package/dist/utilities/warn-unstyled-value.js +4 -0
  59. package/dist/wimui.umd.css +1 -1
  60. package/dist/wimui.umd.js +5 -5
  61. package/package.json +1 -1
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.6.0 — a React 19 component library: 216 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
7
+ **wimui** v0.7.0 — a React 19 component library: 216 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
8
8
 
9
9
  ## Install & required setup
10
10
 
@@ -938,6 +938,9 @@ Useful for using the button styles with Link components (e.g. from React Router
938
938
  - `showPasswordAriaLabel: string` — Aria label for the show-password toggle
939
939
  - `hidePasswordAriaLabel: string` — Aria label for the hide-password toggle
940
940
  - `rightIconAriaLabel: string` — Aria label for the right icon button
941
+ - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
942
+ `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
943
+ so the unit does not have to be repeated in the label.
941
944
  - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
942
945
  - `asChild: boolean` = false — Whether to render as a child element.
943
946
  - **ColorPicker** — Color selection picker
@@ -963,6 +966,9 @@ Useful for using the button styles with Link components (e.g. from React Router
963
966
  - `showPasswordAriaLabel: string` — Aria label for the show-password toggle
964
967
  - `hidePasswordAriaLabel: string` — Aria label for the hide-password toggle
965
968
  - `rightIconAriaLabel: string` — Aria label for the right icon button
969
+ - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
970
+ `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
971
+ so the unit does not have to be repeated in the label.
966
972
  - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
967
973
  - `asChild: boolean` = false — Whether to render as a child element.
968
974
  - **Combobox** — Select with search
@@ -1031,6 +1037,9 @@ Useful for using the button styles with Link components (e.g. from React Router
1031
1037
  - `showPasswordAriaLabel: string` — Aria label for the show-password toggle
1032
1038
  - `hidePasswordAriaLabel: string` — Aria label for the hide-password toggle
1033
1039
  - `rightIconAriaLabel: string` — Aria label for the right icon button
1040
+ - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
1041
+ `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
1042
+ so the unit does not have to be repeated in the label.
1034
1043
  - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
1035
1044
  - **DatePicker** — Date selection
1036
1045
  - `intent: FieldIntent` = "default" — Semantic intent of the field (e.g. error state)
@@ -1066,6 +1075,12 @@ Useful for using the button styles with Link components (e.g. from React Router
1066
1075
  - `accept: string` — Accepted file types (e.g. ".jpg,.png").
1067
1076
  - `multiple: boolean` = false — Whether multiple files can be selected.
1068
1077
  - `disabled: boolean` = false — Whether the component is disabled.
1078
+ - `value: string[]` — Names of the files the area should list — typically ones that already
1079
+ exist on the server, from an earlier session or an earlier step.
1080
+
1081
+ Controlled: while this is set, it is what the area lists, and dropping or
1082
+ picking a file only fires `onChange`. Pass the new names back to show
1083
+ them. Leave it undefined to let the area track its own selection.
1069
1084
  - `onChange: (files: FileList | null) => void` — Callback when files are selected.
1070
1085
  - `className: string` — Additional class names.
1071
1086
  - `iconName: React.ComponentProps<typeof Icon>["name"]` = "UploadIcon" — Icon name shown in the drop area.
@@ -1080,7 +1095,12 @@ Useful for using the button styles with Link components (e.g. from React Router
1080
1095
  - **Fieldset** — Form grouping
1081
1096
  - `children: React.ReactNode` (required) — Form elements to group
1082
1097
  - `disabled: boolean` = false — Whether all contained form elements are disabled
1083
- - `variant: "default" | "full-width"` = "default" — Visual variant of the fieldset
1098
+ - `variant: "default" | "full-width" | "plain"` = "default" — Visual variant of the fieldset.
1099
+
1100
+ `plain` drops the frame and padding and keeps only the grouping — use it
1101
+ inside a `Card` or any surface that already draws a border, where a framed
1102
+ fieldset would put a box inside a box. The `<fieldset>` and its `<legend>`
1103
+ still do their job for assistive technology.
1084
1104
  - `className: string` — Additional class names
1085
1105
  - **FieldTemplate** — Standardizes label placement, required markings, and error message display for all form-related components.
1086
1106
  - `asChild: boolean` = false — Whether to render as a child element.
@@ -1101,6 +1121,12 @@ Useful for using the button styles with Link components (e.g. from React Router
1101
1121
  - `accept: string` — Accepted file types (e.g. ".jpg,.png")
1102
1122
  - `multiple: boolean` = false — Whether multiple files can be selected
1103
1123
  - `disabled: boolean` = false — Whether the component is disabled
1124
+ - `value: string[]` — Names of the files the field should show — typically ones that already
1125
+ exist on the server, from an earlier session or an earlier step.
1126
+
1127
+ Controlled: while this is set, it is what the field displays, and picking
1128
+ a file only fires `onChange`. Pass the new names back to show them. Leave
1129
+ it undefined to let the field track its own selection.
1104
1130
  - `onChange: (files: FileList | null) => void` — Callback when files are selected
1105
1131
  - `className: string` — Additional class names
1106
1132
  - `iconName: React.ComponentProps<typeof Icon>["name"]` — Icon name shown on the button
@@ -1173,6 +1199,9 @@ Useful for using the button styles with Link components (e.g. from React Router
1173
1199
  - `showPasswordAriaLabel: string` — Aria label for the show-password toggle
1174
1200
  - `hidePasswordAriaLabel: string` — Aria label for the hide-password toggle
1175
1201
  - `rightIconAriaLabel: string` — Aria label for the right icon button
1202
+ - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
1203
+ `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
1204
+ so the unit does not have to be repeated in the label.
1176
1205
  - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
1177
1206
  - `asChild: boolean` = false — Whether to render as a child element.
1178
1207
  - **InputBase** — Standardizes the visual container, icon slots (Prefix/Suffix), and clear button behavior for text-based inputs.
@@ -1188,6 +1217,10 @@ Useful for using the button styles with Link components (e.g. from React Router
1188
1217
  - `onLeftIconClick: (e: React.MouseEvent<HTMLButtonElement>) => void` — Callback when the left icon is clicked (renders the icon as a button)
1189
1218
  - `leftIconAriaLabel: string` — Aria label for the left icon button
1190
1219
  - `rightIcons: InputBaseIcon[]` = [] — Icons to display on the right side
1220
+ - `suffix: React.ReactNode` — Static text shown after the control, inside the same shell — a unit such
1221
+ as `kg`, `%` or `円`. It sits in the flex flow, so the control shrinks to
1222
+ make room rather than running underneath it.
1223
+ - `suffixId: string` — `id` for the suffix, so the control can point `aria-describedby` at it
1191
1224
  - `allowClear: boolean` — Whether to show a clear button when value is present
1192
1225
  - `hasValue: boolean` — Whether the field currently has a value (controls clear button visibility)
1193
1226
  - `onClear: () => void` — Callback when the clear button is clicked
@@ -1222,6 +1255,9 @@ Useful for using the button styles with Link components (e.g. from React Router
1222
1255
  - `showPasswordAriaLabel: string` — Aria label for the show-password toggle
1223
1256
  - `hidePasswordAriaLabel: string` — Aria label for the hide-password toggle
1224
1257
  - `rightIconAriaLabel: string` — Aria label for the right icon button
1258
+ - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
1259
+ `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
1260
+ so the unit does not have to be repeated in the label.
1225
1261
  - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
1226
1262
  - `asChild: boolean` = false — Whether to render as a child element.
1227
1263
  - **LinkButton** — Anchor styled as button
@@ -1271,7 +1307,8 @@ Useful for using the button styles with Link components (e.g. from React Router
1271
1307
  - `required: boolean` — Whether to show the required indicator
1272
1308
  - `label: React.ReactNode` — Field label
1273
1309
  - `layout: "vertical" | "horizontal"` — Layout direction of label and field
1274
- - `labels: { digitAriaLabel?: (index: number) => string; }` = {} — Labels for internationalization
1310
+ - `labels: { /** * Accessible name for one digit box. * * `position` is **1-based**: the first box is `1`, and the last is `length`. * It is meant to be read aloud ("Digit 3 of 6"), so it counts the way a person * would. Treating it as a 0-based index and adding one yields "Digit 2" for the * first box. * * @param position 1-based position of the box, from `1` to `length` * @default (position) => `Digit ${position}` */ digitAriaLabel?: (position: number) => string; }` = {} — Labels for internationalization. `digitAriaLabel(position)` names one digit
1311
+ box and receives a **1-based** position — the first box is `1`, not `0`.
1275
1312
  - `asChild: boolean` = false — Whether to render as a child element.
1276
1313
  - `fullWidth: boolean` = false — Whether to take full width of parent
1277
1314
  - **PasswordInput** — Password with toggle
@@ -1294,6 +1331,9 @@ Useful for using the button styles with Link components (e.g. from React Router
1294
1331
  - `showPasswordAriaLabel: string` — Aria label for the show-password toggle
1295
1332
  - `hidePasswordAriaLabel: string` — Aria label for the hide-password toggle
1296
1333
  - `rightIconAriaLabel: string` — Aria label for the right icon button
1334
+ - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
1335
+ `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
1336
+ so the unit does not have to be repeated in the label.
1297
1337
  - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
1298
1338
  - `asChild: boolean` = false — Whether to render as a child element.
1299
1339
  - **PasswordStrength** — Visual meter to indicate password security level
@@ -1445,6 +1485,9 @@ Useful for using the button styles with Link components (e.g. from React Router
1445
1485
  - `showPasswordAriaLabel: string` — Aria label for the show-password toggle
1446
1486
  - `hidePasswordAriaLabel: string` — Aria label for the hide-password toggle
1447
1487
  - `rightIconAriaLabel: string` — Aria label for the right icon button
1488
+ - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
1489
+ `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
1490
+ so the unit does not have to be repeated in the label.
1448
1491
  - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
1449
1492
  - `asChild: boolean` = false — Whether to render as a child element.
1450
1493
  - **SegmentedControl** — Button-style controls for switching between a small set of mutually exclusive options
@@ -1613,6 +1656,9 @@ Useful for using the button styles with Link components (e.g. from React Router
1613
1656
  - `showPasswordAriaLabel: string` — Aria label for the show-password toggle
1614
1657
  - `hidePasswordAriaLabel: string` — Aria label for the hide-password toggle
1615
1658
  - `rightIconAriaLabel: string` — Aria label for the right icon button
1659
+ - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
1660
+ `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
1661
+ so the unit does not have to be repeated in the label.
1616
1662
  - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
1617
1663
  - `asChild: boolean` = false — Whether to render as a child element.
1618
1664
  - **ToggleGroup** — Toggleable buttons
@@ -1678,8 +1724,15 @@ Useful for using the button styles with Link components (e.g. from React Router
1678
1724
 
1679
1725
  - **Alert** — Important messages
1680
1726
  - `title: React.ReactNode` — Title of the alert
1681
- - `titleTag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6"` = "h4" — HTML tag used for the alert title
1682
- @default "h4"
1727
+ - `titleTag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div" | "p" | "strong" | "span"` = "div" — HTML tag used for the alert title.
1728
+
1729
+ The default is a `div`: an alert is a notice, not a section of the
1730
+ document, so its title does not belong in the heading outline. Making it
1731
+ one also breaks `heading-order` as soon as the alert sits under anything
1732
+ other than an `h3`. Pass a heading only when the alert really does head a
1733
+ section of the page.
1734
+
1735
+ @default "div"
1683
1736
  - `description: React.ReactNode` — Description text of the alert
1684
1737
  - `intent: FeedbackIntent` = "default" — Intent (semantic state) of the alert
1685
1738
  @default "default"
@@ -2527,6 +2580,12 @@ Defaults to the localized `form.optional` string.
2527
2580
  @default "normal"
2528
2581
  - `decoration: "line-through" | "underline" | "highlight" | "none"` = "none" — Visual decoration applied to the text.
2529
2582
  @default "none"
2583
+ - `nowrap: boolean` = false — Keep the text on one line instead of wrapping. Overflow is left visible —
2584
+ use `truncate` to clip it with an ellipsis.
2585
+ @default false
2586
+ - `truncate: boolean` = false — Keep the text on one line and clip the overflow with an ellipsis.
2587
+ Implies `nowrap`.
2588
+ @default false
2530
2589
  - `content: React.ReactNode` — Content of the text. Alternative to children (children take precedence only with asChild).
2531
2590
  - **Title** — Possesses visual weight (boldness/size) to indicate page structure.
2532
2591
  - `asChild: boolean` = false — If true, the heading will be rendered as its child, merging its props onto that child.
@@ -2581,7 +2640,10 @@ Defaults to the localized `form.optional` string.
2581
2640
  - `component: React.ComponentType<React.SVGProps<SVGSVGElement>>` — Icon component passed directly. Works without registration and is tree-shakable.
2582
2641
  - `size: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl"` = "md" — Size of the icon
2583
2642
  - `spin: boolean` — Apply the loading rotation animation
2584
- - `color: "danger" | "success" | "warning" | "info" | "primary" | "secondary" | "tertiary" | "disabled"` — Semantic color of the icon
2643
+ - `color: T | (string & {})` Colour of the icon. Takes the semantic names — `"danger"`, `"success"`,
2644
+ `"warning"`, `"info"`, `"primary"`, `"secondary"`, `"tertiary"`,
2645
+ `"disabled"` — and, like `Text`, any design token colour name such as
2646
+ `"text-tertiary"`, or any CSS colour value.
2585
2647
  - **Image** — Image content
2586
2648
  - `src: string` (required) — Source URL of the image
2587
2649
  - `alt: string` (required) — Alternative text for the image
package/dist/llms.txt CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.6.0 — a React 19 component library: 216 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
7
+ **wimui** v0.7.0 — a React 19 component library: 216 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
8
8
 
9
9
  ## Install & required setup
10
10