wimui 0.24.4 → 0.26.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 (88) hide show
  1. package/dist/components/_internal/ChartDataTable.cjs +2 -0
  2. package/dist/components/_internal/ChartDataTable.d.ts +43 -0
  3. package/dist/components/_internal/ChartDataTable.js +20 -0
  4. package/dist/components/_internal/chart-data-table.module.cjs +2 -0
  5. package/dist/components/_internal/chart-data-table.module.js +5 -0
  6. package/dist/components/_internal/chartTableData.cjs +0 -0
  7. package/dist/components/_internal/chartTableData.d.ts +53 -0
  8. package/dist/components/_internal/chartTableData.js +0 -0
  9. package/dist/components/ai/AgentStatus/agent-status.module.cjs +1 -1
  10. package/dist/components/ai/AgentStatus/agent-status.module.js +3 -3
  11. package/dist/components/ai/CodeDiffViewer/code-diff-viewer.module.cjs +1 -1
  12. package/dist/components/ai/CodeDiffViewer/code-diff-viewer.module.js +2 -2
  13. package/dist/components/ai/InteractiveGraph/interactive-graph.module.cjs +1 -1
  14. package/dist/components/ai/InteractiveGraph/interactive-graph.module.js +1 -1
  15. package/dist/components/charts/AreaChart/AreaChart.cjs +1 -1
  16. package/dist/components/charts/AreaChart/AreaChart.d.ts +7 -1
  17. package/dist/components/charts/AreaChart/AreaChart.js +85 -68
  18. package/dist/components/charts/BarChart/BarChart.cjs +1 -1
  19. package/dist/components/charts/BarChart/BarChart.d.ts +7 -1
  20. package/dist/components/charts/BarChart/BarChart.js +90 -73
  21. package/dist/components/charts/FunnelChart/FunnelChart.cjs +1 -1
  22. package/dist/components/charts/FunnelChart/FunnelChart.d.ts +7 -1
  23. package/dist/components/charts/FunnelChart/FunnelChart.js +60 -43
  24. package/dist/components/charts/GanttChart/gantt-chart.module.cjs +1 -1
  25. package/dist/components/charts/GanttChart/gantt-chart.module.js +1 -1
  26. package/dist/components/charts/GaugeChart/GaugeChart.cjs +1 -1
  27. package/dist/components/charts/GaugeChart/GaugeChart.d.ts +7 -1
  28. package/dist/components/charts/GaugeChart/GaugeChart.js +6 -4
  29. package/dist/components/charts/Heatmap/Heatmap.cjs +1 -1
  30. package/dist/components/charts/Heatmap/Heatmap.d.ts +7 -1
  31. package/dist/components/charts/Heatmap/Heatmap.js +101 -87
  32. package/dist/components/charts/LineChart/LineChart.cjs +1 -1
  33. package/dist/components/charts/LineChart/LineChart.d.ts +7 -1
  34. package/dist/components/charts/LineChart/LineChart.js +87 -70
  35. package/dist/components/charts/PieChart/PieChart.cjs +1 -1
  36. package/dist/components/charts/PieChart/PieChart.d.ts +7 -1
  37. package/dist/components/charts/PieChart/PieChart.js +65 -45
  38. package/dist/components/charts/RadarChart/RadarChart.cjs +1 -1
  39. package/dist/components/charts/RadarChart/RadarChart.d.ts +7 -1
  40. package/dist/components/charts/RadarChart/RadarChart.js +73 -56
  41. package/dist/components/charts/ScatterChart/ScatterChart.cjs +1 -1
  42. package/dist/components/charts/ScatterChart/ScatterChart.d.ts +7 -1
  43. package/dist/components/charts/ScatterChart/ScatterChart.js +85 -68
  44. package/dist/components/charts/Sparkline/Sparkline.cjs +1 -1
  45. package/dist/components/charts/Sparkline/Sparkline.js +52 -54
  46. package/dist/components/charts/Treemap/Treemap.cjs +1 -1
  47. package/dist/components/charts/Treemap/Treemap.d.ts +7 -1
  48. package/dist/components/charts/Treemap/Treemap.js +75 -61
  49. package/dist/components/data-display/CalendarHeatmap/calendar-heatmap.module.cjs +1 -1
  50. package/dist/components/data-display/CalendarHeatmap/calendar-heatmap.module.js +1 -1
  51. package/dist/components/data-display/Kanban/kanban.module.cjs +1 -1
  52. package/dist/components/data-display/Kanban/kanban.module.js +1 -1
  53. package/dist/components/data-display/NodeGraph/node-graph.module.cjs +1 -1
  54. package/dist/components/data-display/NodeGraph/node-graph.module.js +1 -1
  55. package/dist/components/feedback/Alert/alert.module.cjs +1 -1
  56. package/dist/components/feedback/Alert/alert.module.js +5 -5
  57. package/dist/components/feedback/ProgressRing/ProgressRing.d.ts +6 -1
  58. package/dist/components/feedback/Toast/toast.module.cjs +1 -1
  59. package/dist/components/feedback/Toast/toast.module.js +11 -11
  60. package/dist/components/form/FieldTemplate/field-template.module.cjs +1 -1
  61. package/dist/components/form/FieldTemplate/field-template.module.js +1 -1
  62. package/dist/components/helpers.cjs +1 -1
  63. package/dist/components/helpers.d.ts +18 -0
  64. package/dist/components/helpers.js +4 -1
  65. package/dist/components/layout/Footer/Footer.cjs +1 -1
  66. package/dist/components/layout/Footer/Footer.d.ts +15 -0
  67. package/dist/components/layout/Footer/Footer.js +15 -12
  68. package/dist/components/media/Gallery/gallery.module.cjs +1 -1
  69. package/dist/components/media/Gallery/gallery.module.js +11 -11
  70. package/dist/components/navigation/KeyboardShortcuts/KeyboardShortcuts.cjs +1 -1
  71. package/dist/components/navigation/KeyboardShortcuts/KeyboardShortcuts.d.ts +22 -0
  72. package/dist/components/navigation/KeyboardShortcuts/KeyboardShortcuts.js +31 -28
  73. package/dist/components/navigation/SpeedDial/SpeedDial.d.ts +24 -2
  74. package/dist/i18n/generated/keys.d.ts +1 -1
  75. package/dist/llms-full.txt +104 -11
  76. package/dist/llms.txt +1 -1
  77. package/dist/locales/en/common.json +1 -49
  78. package/dist/locales/en/form.json +1 -20
  79. package/dist/locales/ja/common.json +1 -49
  80. package/dist/locales/ja/form.json +1 -20
  81. package/dist/locales/pt/common.json +1 -49
  82. package/dist/locales/pt/form.json +1 -20
  83. package/dist/robots.txt +5 -0
  84. package/dist/styles.css +2 -2
  85. package/dist/types/generated-tokens.d.ts +1 -1
  86. package/dist/wimui.umd.css +1 -1
  87. package/dist/wimui.umd.js +3 -3
  88. package/package.json +35 -21
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.24.4 — a React 19 component library: 218 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.26.0 — a React 19 component library: 218 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
 
@@ -981,7 +981,7 @@ Useful for using the button styles with Link components (e.g. from React Router
981
981
  - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
982
982
  `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
983
983
  so the unit does not have to be repeated in the label.
984
- - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
984
+ - `styles: { root?: string; inner?: string; icon?: string; icons?: string; iconItem?: string; iconButton?: string; }` — Custom styles for internal parts
985
985
  - `asChild: boolean` = false — Whether to render as a child element.
986
986
  - **ColorPicker** — Color selection picker
987
987
  - `intent: FieldIntent` = "default" — Semantic intent of the field (e.g. error state)
@@ -1009,7 +1009,7 @@ so the unit does not have to be repeated in the label.
1009
1009
  - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
1010
1010
  `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
1011
1011
  so the unit does not have to be repeated in the label.
1012
- - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
1012
+ - `styles: { root?: string; inner?: string; icon?: string; icons?: string; iconItem?: string; iconButton?: string; }` — Custom styles for internal parts
1013
1013
  - `asChild: boolean` = false — Whether to render as a child element.
1014
1014
  - **Combobox** — Select with search
1015
1015
  - `options: ComboboxOption[]` = [] — List of suggestion options
@@ -1080,7 +1080,7 @@ so the unit does not have to be repeated in the label.
1080
1080
  - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
1081
1081
  `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
1082
1082
  so the unit does not have to be repeated in the label.
1083
- - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
1083
+ - `styles: { root?: string; inner?: string; icon?: string; icons?: string; iconItem?: string; iconButton?: string; }` — Custom styles for internal parts
1084
1084
  - **DatePicker** — Date selection
1085
1085
  - `intent: FieldIntent` = "default" — Semantic intent of the field (e.g. error state)
1086
1086
  - `variant: "outline" | "ghost"` = "outline" — Visual style variant of the field
@@ -1200,6 +1200,17 @@ SCSS には誰も付けない `.default_intent` が「temporary name」のまま
1200
1200
  - **IconButton** — Icon-only button
1201
1201
  - `iconName: React.ComponentProps<typeof Icon>["name"]` (required) — Icon name to display
1202
1202
  - `aria-label: string` (required) — Accessible label for the icon-only button
1203
+ - `backgroundColor: T | (string & {})` — Overrides the button background color with a design token. Usually the `variant` prop is enough; use this prop only as a last resort.
1204
+ - `size: Extract<ComponentSize, "sm" | "md" | "lg">` = "md" — Size of the button
1205
+ - `variant: "solid" | "outline" | "ghost"` = "outline" — Visual style variant of the button
1206
+ - `intent: ButtonIntent` = "default" — Design intent of the button (visual / semantic state). Unrelated to the ARIA role attribute.
1207
+ - `icon: React.ComponentProps<typeof Icon>["name"] | React.ReactNode` — Icon name or custom icon element
1208
+ - `loading: boolean` = false — Whether to show a loading indicator and disable interaction
1209
+ - `justify: "start" | "center" | "end" | "between"` = "center" — Horizontal alignment of the button content
1210
+ - `animateWidth: boolean` = false — Whether to animate the width change when label changes
1211
+ - `fullWidth: boolean` = false — Whether the button should take up the full width of its container
1212
+ - `styles: { root?: string; loader?: string; icon?: string; }` — Custom styles for internal parts
1213
+ - `className: string` — Additional class names
1203
1214
  - **ImageCropper** — Front-end image crop and rotate tool
1204
1215
  - `src: string` — URL or data URL of the image to crop
1205
1216
  - `aspectRatio: number` = 1 — Aspect ratio (width / height); 1 produces a square
@@ -1247,7 +1258,7 @@ SCSS には誰も付けない `.default_intent` が「temporary name」のまま
1247
1258
  - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
1248
1259
  `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
1249
1260
  so the unit does not have to be repeated in the label.
1250
- - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
1261
+ - `styles: { root?: string; inner?: string; icon?: string; icons?: string; iconItem?: string; iconButton?: string; }` — Custom styles for internal parts
1251
1262
  - `asChild: boolean` = false — Whether to render as a child element.
1252
1263
  - **InputBase** — Standardizes the visual container, icon slots (Prefix/Suffix), and clear button behavior for text-based inputs.
1253
1264
  - `children: React.ReactNode` (required) — Inner form control element(s) wrapped by the shell
@@ -1303,7 +1314,7 @@ make room rather than running underneath it.
1303
1314
  - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
1304
1315
  `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
1305
1316
  so the unit does not have to be repeated in the label.
1306
- - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
1317
+ - `styles: { root?: string; inner?: string; icon?: string; icons?: string; iconItem?: string; iconButton?: string; }` — Custom styles for internal parts
1307
1318
  - `asChild: boolean` = false — Whether to render as a child element.
1308
1319
  - **LinkButton** — Anchor styled as button
1309
1320
  - `iconPosition: "left" | "right"` = "left" — Position of the icon relative to the label
@@ -1379,7 +1390,7 @@ box and receives a **1-based** position — the first box is `1`, not `0`.
1379
1390
  - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
1380
1391
  `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
1381
1392
  so the unit does not have to be repeated in the label.
1382
- - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
1393
+ - `styles: { root?: string; inner?: string; icon?: string; icons?: string; iconItem?: string; iconButton?: string; }` — Custom styles for internal parts
1383
1394
  - `asChild: boolean` = false — Whether to render as a child element.
1384
1395
  - **PasswordStrength** — Visual meter to indicate password security level (aka Strength Meter)
1385
1396
  - `password: string` = "" — Password string to evaluate
@@ -1533,7 +1544,7 @@ so the unit does not have to be repeated in the label.
1533
1544
  - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
1534
1545
  `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
1535
1546
  so the unit does not have to be repeated in the label.
1536
- - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
1547
+ - `styles: { root?: string; inner?: string; icon?: string; icons?: string; iconItem?: string; iconButton?: string; }` — Custom styles for internal parts
1537
1548
  - `asChild: boolean` = false — Whether to render as a child element.
1538
1549
  - **SegmentedControl** — Button-style controls for switching between a small set of mutually exclusive options (aka Segmented Buttons, Segmented Picker)
1539
1550
  - `options: Option[]` (required) — List of segment options
@@ -1605,7 +1616,7 @@ so the unit does not have to be repeated in the label.
1605
1616
  - `layout: "vertical" | "horizontal"` = "vertical" — Layout direction of label and field
1606
1617
  - `id: string` — Custom ID
1607
1618
  - `asChild: boolean` = false — Whether to render as a child element.
1608
- - `styles: React.ComponentPropsWithoutRef<typeof FieldTemplate>["styles"]` — Custom styles for internal parts
1619
+ - `styles: { root?: string; labelWrapper?: string; label?: string; content?: string; error?: string; }` — Custom styles for internal parts
1609
1620
  - **SmartSearchInput** — Smart search input enabling both traditional search and AI prompting.
1610
1621
  - `intent: FieldIntent` = "default" — Semantic intent of the field (e.g. error state)
1611
1622
  - `variant: "outline" | "ghost"` = "outline" — Visual style variant of the field
@@ -1715,7 +1726,7 @@ but the toggle only shows a chevron, so it needs one of its own.
1715
1726
  - `suffix: React.ReactNode` — Static text shown after the field, inside the same shell — a unit such as
1716
1727
  `kg`, `%` or `円`. It is announced with the field via `aria-describedby`,
1717
1728
  so the unit does not have to be repeated in the label.
1718
- - `styles: React.ComponentProps<typeof InputBase>["styles"]` — Custom styles for internal parts
1729
+ - `styles: { root?: string; inner?: string; icon?: string; icons?: string; iconItem?: string; iconButton?: string; }` — Custom styles for internal parts
1719
1730
  - `asChild: boolean` = false — Whether to render as a child element.
1720
1731
  - **ToggleGroup** — Toggleable buttons
1721
1732
  - `options: Option[]` (required) — List of toggle options
@@ -1880,7 +1891,43 @@ origin while the card it was meant to cover was 1248x75.
1880
1891
  - `className: string` — Additional class name
1881
1892
  - **Progress** — Progress bar
1882
1893
  - ⚠️ Not the same as elsewhere: Material's "Progress Indicator" covers indeterminate spinners as well. WIM's `Progress` is determinate and linear only — for the indeterminate case use `Spinner`.
1894
+ - `value: number` = 0 — Current value of the progress bar.
1895
+ @default 0
1896
+ - `max: number` = 100 — Maximum value of the progress bar.
1897
+ @default 100
1898
+ - `intent: IndicatorIntent` = "primary" — Intent (semantic color) of the bar.
1899
+ @default "primary"
1900
+ - `size: Extract<ComponentSize, "sm" | "md" | "lg">` = "md" — Size of the bar.
1901
+ @default "md"
1902
+ - `label: string` — Text label displayed above the bar. Also used as the accessible name unless
1903
+ `aria-label` / `aria-labelledby` is given.
1904
+
1905
+ A progress bar always carries `role="progressbar"`, and a progressbar with no
1906
+ accessible name is a WCAG failure (axe `aria-progressbar-name`, serious). The
1907
+ type therefore requires one of `label` / `aria-label` / `aria-labelledby`.
1908
+ - `showValue: boolean` = false — Whether to display the current value as a percentage.
1909
+ @default false
1910
+ - `indeterminate: boolean` = false — If true, shows an indeterminate animation instead of a value.
1911
+ @default false
1883
1912
  - **ProgressRing** — ProgressRing description.
1913
+ - `value: number` = 0 — Current value of the progress ring.
1914
+ @default 0
1915
+ - `max: number` = 100 — Maximum value of the progress ring.
1916
+ @default 100
1917
+ - `intent: IndicatorIntent` = "primary" — Intent (semantic color) of the ring.
1918
+ @default "primary"
1919
+ - `size: Extract<ComponentSize, "sm" | "md" | "lg">` = "md" — Size of the ring.
1920
+ @default "md"
1921
+ - `label: string` — Text label displayed below the ring. Also used as the accessible name unless
1922
+ `aria-label` / `aria-labelledby` is given.
1923
+
1924
+ A progress ring always carries `role="progressbar"`, and a progressbar with no
1925
+ accessible name is a WCAG failure (axe `aria-progressbar-name`, serious). The
1926
+ type therefore requires one of `label` / `aria-label` / `aria-labelledby`.
1927
+ - `showValue: boolean` = false — Whether to display the current value as a percentage inside the ring.
1928
+ @default false
1929
+ - `indeterminate: boolean` = false — If true, shows an indeterminate animation instead of a value.
1930
+ @default false
1884
1931
  - **Result** — Task status indicator
1885
1932
  - `intent: Extract< WimIntent, "default" | "success" | "danger" | "info" | "warning" >` = "default" — Semantic intent — determines the icon and color.
1886
1933
  @default "default"
@@ -2010,6 +2057,13 @@ follows the theme and never needs a hand-mixed colour.
2010
2057
  - **KeyboardShortcuts** — Display a structured list of keyboard shortcuts
2011
2058
  - `shortcuts: ShortcutItem[]` (required) — List of shortcuts to display
2012
2059
  - `title: string` — Section title
2060
+ - `titleLevel: 2 | 3 | 4 | 5 | 6` — `title` を見出しとして描くときの段(T211)。渡さなければ見出しにならず `p` のまま。
2061
+
2062
+ ショートカット一覧は「編集」「移動」のように節ごとに積んで使うので、段で辿れると
2063
+ 効く。ただし既定を見出しにはしない ── 段を決め打つとページに `h1` / `h2` がある
2064
+ 場合に段が飛び、axe の `heading-order` が鳴る(T191 で `Footer` が実際に踏んだ)。
2065
+ 段を決めるのはページ側の構造を知っている呼び出し元の仕事で、`Alert` の `titleTag`
2066
+ (既定 `div`)と同じ形。
2013
2067
  - `separator: string` = "+" — Separator displayed between keys
2014
2068
  @default "+"
2015
2069
  - `size: Extract<ComponentSize, "sm" | "md" | "lg">` = "md" — Size of the list
@@ -2053,7 +2107,16 @@ Useful for URL-based pagination (e.g. wrap with a Link via PaginationPage asChil
2053
2107
  - `actions: SpeedDialAction[]` (required) — Actions to display when SpeedDial is open
2054
2108
  - `icon: keyof typeof ALL_ICONS` = "PlusIcon" — Icon name for the main button when closed
2055
2109
  - `activeIcon: keyof typeof ALL_ICONS` = "CloseIcon" — Icon name for the main button when open
2056
- - `direction: "up" | "down" | "left" | "right"` = "up" — Direction in which actions expand
2110
+ - `direction: "up" | "down" | "left" | "right"` = "up" — Direction in which actions expand.
2111
+
2112
+ **The caller picks a direction that has room.** Actions are placed with
2113
+ plain CSS (`left: 100%` and friends) and are never measured, so this
2114
+ component does not flip when the viewport runs out — a `right` dial placed
2115
+ near the right edge pushes the page into a horizontal scroll. Anchor a
2116
+ `right` dial to the leading edge (and a `left` one to the trailing edge);
2117
+ `up` / `down` already grow inward from the trailing corner (T175).
2118
+
2119
+ @default "up"
2057
2120
  - `trigger: "hover" | "click"` = "hover" — Trigger mode to open the SpeedDial
2058
2121
  - `open: boolean` — Controlled open state
2059
2122
  - `onOpenChange: (open: boolean) => void` — Callback when open state changes
@@ -2857,6 +2920,9 @@ the value, so cutting the axis lies about the ratio between them.
2857
2920
  @default true
2858
2921
  - `animated: boolean` = false — If true, animates the chart on mount.
2859
2922
  @default false
2923
+ - `aria-label: string` — Accessible name for the chart. Defaults to `title` when omitted; pass this
2924
+ when the chart has no visible title, or when the title is not descriptive
2925
+ enough on its own.
2860
2926
  - **BarChart** — Bar charts
2861
2927
  - `data: ChartDataPoint[]` (required) — Data to display in the chart.
2862
2928
  - `keys: string[]` (required) — Keys in the data objects to render as bars (series).
@@ -2874,6 +2940,9 @@ the value, so cutting the axis lies about the ratio between them.
2874
2940
  - `title: string` — Optional title displayed above the chart.
2875
2941
  - `animated: boolean` = false — If true, animates the chart on mount.
2876
2942
  @default false
2943
+ - `aria-label: string` — Accessible name for the chart. Defaults to `title` when omitted; pass this
2944
+ when the chart has no visible title, or when the title is not descriptive
2945
+ enough on its own.
2877
2946
  - **FunnelChart** — Process stage abandonment chart
2878
2947
  - `data: ChartDataPoint[]` (required) — Data to display in the chart. Each entry represents one funnel stage.
2879
2948
  - `dataKey: string` (required) — The key in the data objects that represents the value of each stage.
@@ -2885,6 +2954,9 @@ the value, so cutting the axis lies about the ratio between them.
2885
2954
  - `title: string` — Optional title displayed above the chart.
2886
2955
  - `animated: boolean` = false — If true, animates the chart on mount.
2887
2956
  @default false
2957
+ - `aria-label: string` — Accessible name for the chart. Defaults to `title` when omitted; pass this
2958
+ when the chart has no visible title, or when the title is not descriptive
2959
+ enough on its own.
2888
2960
  - **GanttChart** — Project schedule and timeline visualization
2889
2961
  - `tasks: GanttTask[]` (required) — Tasks to render as bars in the chart.
2890
2962
  - `startDate: Date` — Start of the visible date range. Defaults to the earliest task start date.
@@ -2912,6 +2984,9 @@ the value, so cutting the axis lies about the ratio between them.
2912
2984
  - `color: string` — Color of the gauge arc. Defaults to the first chart color.
2913
2985
  - `animated: boolean` = false — If true, animates the chart on mount.
2914
2986
  @default false
2987
+ - `aria-label: string` — Accessible name for the chart. Defaults to `title` when omitted; pass this
2988
+ when the chart has no visible title, or when the title is not descriptive
2989
+ enough on its own.
2915
2990
  - **Heatmap** — Graphical representation of data where individual values are contained in a matrix as colors.
2916
2991
  - `data: { x: string; y: string; value: number }[]` (required) — Cells to display. Each entry maps an x/y category pair to a value.
2917
2992
  - `xAxisKey: string[]` (required) — Ordered list of X axis category labels.
@@ -2925,6 +3000,9 @@ the value, so cutting the axis lies about the ratio between them.
2925
3000
  @default ["var(--wim-color-surface-variant)", "var(--wim-color-chart-primary)"]
2926
3001
  - `animated: boolean` = false — Whether to animate the cells on mount.
2927
3002
  @default false
3003
+ - `aria-label: string` — Accessible name for the chart. Defaults to `title` when omitted; pass this
3004
+ when the chart has no visible title, or when the title is not descriptive
3005
+ enough on its own.
2928
3006
  - **LineChart** — Line charts
2929
3007
  - `data: ChartDataPoint[]` (required) — Data to display in the chart.
2930
3008
  - `keys: string[]` (required) — Keys in the data objects to render as lines (series).
@@ -2942,6 +3020,9 @@ line on a 0–100 axis).
2942
3020
  @default [0, "auto"]
2943
3021
  - `animated: boolean` = false — If true, animates the chart on mount.
2944
3022
  @default false
3023
+ - `aria-label: string` — Accessible name for the chart. Defaults to `title` when omitted; pass this
3024
+ when the chart has no visible title, or when the title is not descriptive
3025
+ enough on its own.
2945
3026
  - **PieChart** — Proportional parts of a whole chart
2946
3027
  - `data: { name: string; value: number }[]` (required) — Slices to display. Each entry has a name (label) and a value.
2947
3028
  - `height: number` = 300 — The height of the chart in pixels.
@@ -2953,6 +3034,9 @@ line on a 0–100 axis).
2953
3034
  @default false
2954
3035
  - `animated: boolean` = false — If true, animates the chart on mount.
2955
3036
  @default false
3037
+ - `aria-label: string` — Accessible name for the chart. Defaults to `title` when omitted; pass this
3038
+ when the chart has no visible title, or when the title is not descriptive
3039
+ enough on its own.
2956
3040
  - **RadarChart** — Multivariate data on concentric axes chart
2957
3041
  - `data: ChartDataPoint[]` (required) — Data to display in the chart.
2958
3042
  - `keys: string[]` (required) — Keys in the data objects to render as radar areas (series).
@@ -2964,6 +3048,9 @@ line on a 0–100 axis).
2964
3048
  - `title: string` — Optional title displayed above the chart.
2965
3049
  - `animated: boolean` = false — If true, animates the chart on mount.
2966
3050
  @default false
3051
+ - `aria-label: string` — Accessible name for the chart. Defaults to `title` when omitted; pass this
3052
+ when the chart has no visible title, or when the title is not descriptive
3053
+ enough on its own.
2967
3054
  - **ScatterChart** — Scatter plots
2968
3055
  - `data: { x: number; y: number; z?: number; name: string }[]` (required) — Points to plot. `z` optionally controls the point size.
2969
3056
  - `xAxisName: string` = "X" — Name of the X axis, shown in the tooltip.
@@ -2981,6 +3068,9 @@ line on a 0–100 axis).
2981
3068
  - `title: string` — Optional title displayed above the chart.
2982
3069
  - `animated: boolean` = false — If true, animates the chart on mount.
2983
3070
  @default false
3071
+ - `aria-label: string` — Accessible name for the chart. Defaults to `title` when omitted; pass this
3072
+ when the chart has no visible title, or when the title is not descriptive
3073
+ enough on its own.
2984
3074
  - **Sparkline** — Tiny inline trend chart
2985
3075
  - `data: number[]` (required) — Sequence of values to plot, in order
2986
3076
  - `type: "line" | "area" | "bar"` = "line" — Visual form of the sparkline
@@ -3003,6 +3093,9 @@ line on a 0–100 axis).
3003
3093
  - `width: string | number` = "100%" — The width of the chart (e.g., "100%", 500).
3004
3094
  @default "100%"
3005
3095
  - `title: string` — Optional title displayed above the chart.
3096
+ - `aria-label: string` — Accessible name for the chart. Defaults to `title` when omitted; pass this
3097
+ when the chart has no visible title, or when the title is not descriptive
3098
+ enough on its own.
3006
3099
 
3007
3100
  ### ai — `import { … } from "wimui/ai"`
3008
3101
 
package/dist/llms.txt CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.24.4 — a React 19 component library: 218 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.26.0 — a React 19 component library: 218 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
 
@@ -23,7 +23,6 @@
23
23
  "go_to_next_page": "Go to next page",
24
24
  "go_to_page": "Go to page {{page}}",
25
25
  "go_to_prev_page": "Go to previous page",
26
- "guideline_desc": "Consider assistive technologies and diverse viewing environments.",
27
26
  "hide_password": "Hide password",
28
27
  "icon_fallback": "Icon: {{name}}",
29
28
  "items_per_page": "Items per page",
@@ -207,29 +206,6 @@
207
206
  "description": "Description",
208
207
  "design_intent_title": "Design Intent",
209
208
  "fieldTemplate_a11y_desc": "Connects the label to the input via id, and the error message via aria-describedby.",
210
- "fieldTemplate_anatomy_content_desc": "The actual component slot (Input, Select, etc.).",
211
- "fieldTemplate_anatomy_content_label": "Field Area",
212
- "fieldTemplate_anatomy_error_desc": "Validation feedback text displayed below the field.",
213
- "fieldTemplate_anatomy_error_label": "Error Message",
214
- "fieldTemplate_anatomy_label_desc": "The name of the field displayed above or beside the input.",
215
- "fieldTemplate_anatomy_label_label": "Label",
216
- "fieldTemplate_anatomy_required_desc": "An asterisk or (required) text appended to the label.",
217
- "fieldTemplate_anatomy_required_label": "Required Indicator",
218
- "fieldTemplate_best_practice_1": "Use horizontal layout for dense desktop forms.",
219
- "fieldTemplate_best_practice_2": "Clearly highlight required fields to reduce user errors.",
220
- "fieldTemplate_choice_alt_when": "Use InputBase directly for internal controls or dense UIs where a label is not required.",
221
- "fieldTemplate_choice_matrix_desc": "Comparing FieldTemplate against using InputBase directly.",
222
- "fieldTemplate_choice_use_when": "Use for virtually all user-facing form fields that require a label, error message, or required indicator.",
223
- "fieldTemplate_content_guideline_1": "Keep labels short and descriptive.",
224
- "fieldTemplate_content_guideline_2": "Error messages should be specific and actionable.",
225
- "fieldTemplate_design_intent": "Standardizes label and error presentation to ensure consistent form layout across the product.",
226
- "fieldTemplate_i18n_desc": "Label and error text are provided by the consumer; the component itself has no hardcoded strings.",
227
- "fieldTemplate_keyboard_desc": "Focus management follows the wrapped input component behavior.",
228
- "fieldTemplate_motion_desc": "Error messages fade in to draw attention without being disruptive.",
229
- "fieldTemplate_scenario_1": "A standard user registration form.",
230
- "fieldTemplate_scenario_2": "A settings page with vertical or horizontal field layouts.",
231
- "label_title": "Descriptive text for input fields, including required/optional marks",
232
- "label_long_desc": "A component for displaying descriptions or captions for form elements.",
233
209
  "label_design_intent": "Provides clear, accessible labels for form controls to guide user input.",
234
210
  "label_choice_self_when": "Use when you need to provide a text label for a single form input.",
235
211
  "label_choice_alt_when": "Use Heading for section titles or FieldTemplate for a complete field wrapper with error handling.",
@@ -240,7 +216,7 @@
240
216
  "label_anatomy_content": "The actual descriptive text for the form element.",
241
217
  "label_content_guideline": "Keep labels short, descriptive, and avoid using them for help text.",
242
218
  "label_motion_desc": "No specific interactions or animations.",
243
- "label_a11y_desc": "Ensure the Label is associated with an input via htmlFor/id.",
219
+ "label_a11y_desc": "This renders a real <label>, so passing htmlFor is what connects it to its control — that association is what lets a click on the text focus the field and what gives the field its accessible name. When asChild is used the element is replaced but the same attributes are merged onto the child, so the association must still be maintained by the caller. The required and optional markers are drawn by FieldLabelContent and are aria-hidden, because the requirement belongs on the control itself (aria-required) rather than being read as part of the label text.",
244
220
  "label_scenario_1": "A standard contact form.",
245
221
  "label_scenario_2": "An admin dashboard settings panel.",
246
222
  "label_best_practice_1": "Keep labels visible at all times.",
@@ -253,25 +229,6 @@
253
229
  "i18n_docgen_none": "This component renders no text of its own — localize any content you pass into it.",
254
230
  "i18n_title": "Internationalization (i18n)",
255
231
  "inputBase_a11y_desc": "Ensures interactive icons have correct roles and labels.",
256
- "inputBase_anatomy_content_desc": "Space for the actual input value or selected value.",
257
- "inputBase_anatomy_content_label": "Content Area",
258
- "inputBase_anatomy_root_desc": "The main wrapper that defines the border and background.",
259
- "inputBase_anatomy_root_label": "Container",
260
- "inputBase_best_practice_1": "Use semantic colors for validation states.",
261
- "inputBase_best_practice_2": "Always provide a visible label externally (via FieldTemplate).",
262
- "inputBase_choice_alt_when": "Use FieldTemplate when you need to wrap an existing input component with a label or error message.",
263
- "inputBase_choice_matrix_desc": "Deciding between InputBase and FieldTemplate.",
264
- "inputBase_choice_use_when": "Use when building a custom input field (e.g., Search, Select) that needs uniform border and icon styling.",
265
- "inputBase_content_guideline_1": "Keep icon usage minimal to avoid visual clutter.",
266
- "inputBase_content_guideline_2": "Ensure the focus ring is clearly visible.",
267
- "inputBase_design_intent": "InputBase provides a consistent UI shell for text-based inputs, managing icon placement, clear button, and semantic state styling.",
268
- "inputBase_i18n_desc": "All visible text is provided by the consumer; InputBase itself has no hardcoded strings.",
269
- "inputBase_keyboard_desc": "Delegates keyboard behavior to the wrapped native input element.",
270
- "inputBase_motion_desc": "Subtle transitions on border color and clear button visibility.",
271
- "inputBase_responsive_desc": "The container scales with its parent; icon widths remain fixed.",
272
- "inputBase_scenario_1": "A custom search box with an action icon.",
273
- "inputBase_scenario_2": "A complex input wrapper for specialized data entry.",
274
- "inputBase_tokens_desc": "Border, background, and spacing tokens control the visual container styling.",
275
232
  "recommendation": "Recommendation",
276
233
  "scenario": "Scenario",
277
234
  "summary": "Summary",
@@ -352,7 +309,6 @@
352
309
  "anatomy_module_note": "This component uses CSS Modules; the class names above are local names that are hashed at build time. To override styles, use the design token CSS variables instead of targeting these classes.",
353
310
  "test_title": "Testing",
354
311
  "test_description": "You can run the unit tests for this component by executing the following command:",
355
- "tokens_title": "Design Tokens",
356
312
  "usage": "Usage",
357
313
  "usage_scenario": "Usage Scenario",
358
314
  "transfer_i18n_desc": "Full support for localizing labels, placeholders, and status messages.",
@@ -412,10 +368,6 @@
412
368
  "json_viewer_responsive_desc": "Responsive container with horizontal scrolling for deep nesting.",
413
369
  "json_viewer_keyboard_desc": "Full keyboard support for tree navigation and copying.",
414
370
  "json_viewer_i18n_desc": "Toolbar labels and counts are localized.",
415
- "fieldTemplate_long_desc": "A wrapper that adds a label, error message, and required indicator to any input field.",
416
- "fieldTemplate_usage_desc": "Wrap any form control to provide a standardized label and error layout.",
417
- "inputBase_long_desc": "Internal primitive that underlies all text-based input components.",
418
- "inputBase_usage_desc": "Used mainly to build other components. Owns the input-container styling such as border, background, and icon placement.",
419
371
  "baseListItem_long_desc": "Internal list-row primitive for building selectable list behaviors.",
420
372
  "baseListItem_usage_desc": "Use as a primitive when composing list item interactions.",
421
373
  "std_column_component": "Component",
@@ -26,26 +26,7 @@
26
26
  "close": "Close",
27
27
  "dismiss": "Dismiss",
28
28
  "label": "Button",
29
- "guide_title": "Button Overview",
30
- "guide_desc": "Guidelines for choosing and implementing the correct button type for your interface.",
31
- "priority_weighting": "A matrix describing when to use Primary, Secondary, or Tertiary buttons.",
32
- "semantics_desc": "Buttons trigger actions, while Links change page location or scroll position.",
33
- "semantics_guide_ref": "Refer to the Link vs Button guide for more detailed information.",
34
- "standard_desc": "Standard rectangular button for general actions.",
35
- "standard_usage": "Main CTAs like Submit, Save, or Add Item.",
36
- "icon_usage": "Dense toolbars, media controls, or social sharing.",
37
- "link_desc": "A button styled like a text link for secondary navigating actions.",
38
- "group_desc": "A container that groups multiple logically related buttons together.",
39
- "group_usage": "Filter bars, pagination, or multi-step form actions.",
40
- "copy_desc": "A specialized button for copying text to the clipboard with visual feedback.",
41
- "copy_usage": "API keys, transaction IDs, or sharing links.",
42
- "guideline_principle": "Principle",
43
- "guideline_detail": "Detail",
44
- "consistency": "Consistency",
45
- "consistency_desc": "Maintain identical label casing (Sentence case) and icon placement across all buttons.",
46
- "placement_desc": "Buttons should be grouped at the bottom-right for modals or bottom-left for forms.",
47
- "placement_conflict": "Placement Conflict",
48
- "placement_conflict_desc": "Avoid placing multiple primary buttons on the same view."
29
+ "consistency": "Consistency"
49
30
  },
50
31
  "btn": {
51
32
  "page_transition": "Standard page transitions or footer links."
@@ -23,7 +23,6 @@
23
23
  "go_to_next_page": "次のページへ",
24
24
  "go_to_page": "{{page}}ページへ移動",
25
25
  "go_to_prev_page": "前のページへ",
26
- "guideline_desc": "支援技術や多様な閲覧環境に配慮します。",
27
26
  "hide_password": "パスワードを隠す",
28
27
  "icon_fallback": "アイコン: {{name}}",
29
28
  "items_per_page": "1ページあたりの件数",
@@ -208,55 +207,11 @@
208
207
  "description": "説明",
209
208
  "design_intent_title": "デザインの意図",
210
209
  "fieldTemplate_a11y_desc": "IDを介してラベルを入力に、aria-describedby を介してエラーを入力に接続します。",
211
- "fieldTemplate_anatomy_content_desc": "実際のコンポーネント(Input、Selectなど)。",
212
- "fieldTemplate_anatomy_content_label": "フィールドエリア",
213
- "fieldTemplate_anatomy_error_desc": "バリデーションのフィードバックテキスト。",
214
- "fieldTemplate_anatomy_error_label": "エラーメッセージ",
215
- "fieldTemplate_anatomy_label_desc": "フィールドの名前。",
216
- "fieldTemplate_anatomy_label_label": "ラベル",
217
- "fieldTemplate_anatomy_required_desc": "アスタリスクまたは(必須)のテキスト。",
218
- "fieldTemplate_anatomy_required_label": "必須インジケーター",
219
- "fieldTemplate_best_practice_1": "デスクトップの高密度なフォームには水平レイアウトを使用してください。",
220
- "fieldTemplate_best_practice_2": "必須フィールドを明確に強調してください。",
221
- "fieldTemplate_choice_alt_when": "内部コントロールや、ラベルが不要な高密度な UI の場合。",
222
- "fieldTemplate_choice_matrix_desc": "FieldTemplate と直接使用の比較。",
223
- "fieldTemplate_choice_use_when": "ほぼすべてのユーザー向けフォームフィールドにおいて使用します。",
224
- "fieldTemplate_content_guideline_1": "ラベルは短く簡潔にしてください。",
225
- "fieldTemplate_content_guideline_2": "エラーメッセージは具体的で、次のアクションを促すものにしてください。",
226
- "fieldTemplate_design_intent": "ラベルとエラーの表示方法を標準化することで、フォームレイアウトの一貫性を保ちます。",
227
- "fieldTemplate_i18n_desc": "ラベルとエラーテキストはコンシューマーが提供します。コンポーネント自体にハードコードされた文字列はありません。",
228
- "fieldTemplate_keyboard_desc": "フォーカス管理はラップされた入力コンポーネントの動作に従います。",
229
- "fieldTemplate_long_desc": "任意の入力フィールドにラベル、エラーメッセージ、および必須インジケーターを追加するラッパーコンポーネントです。",
230
- "fieldTemplate_motion_desc": "エラーメッセージはフェードインして注意を引きます。",
231
- "fieldTemplate_scenario_1": "標準的な登録フォーム。",
232
- "fieldTemplate_scenario_2": "垂直または水平レイアウトの設定ページ。",
233
- "fieldTemplate_usage_desc": "任意のフォームコンポーネントをラップして、標準化されたラベルとエラー処理のレイアウトを提供します。",
234
210
  "i18n_docgen_intro": "ユーザーに表示されるテキストはすべて props 経由で渡します。翻訳済みの文字列を i18n レイヤーから次の props に渡してください:",
235
211
  "i18n_docgen_none": "このコンポーネント自体は固有のテキストを描画しません。渡すコンテンツ側でローカライズしてください。",
236
212
  "i18n_title": "多言語化(i18n)の対応",
237
213
  "iconButton_desc": "テキストラベルのないアイコンのみを含む正方形のボタン。",
238
214
  "inputBase_a11y_desc": "インタラクティブなアイコンが正しいロールとラベルを持つことを保証します。",
239
- "inputBase_anatomy_content_desc": "実際の入力値または選択された値のためのスペース。",
240
- "inputBase_anatomy_content_label": "コンテンツエリア",
241
- "inputBase_anatomy_root_desc": "境界線と背景を定義するメインのラッパー。",
242
- "inputBase_anatomy_root_label": "コンテナ",
243
- "inputBase_best_practice_1": "バリデーション状態にはセマンティックカラーを使用してください。",
244
- "inputBase_best_practice_2": "常に外部から(FieldTemplate経由で)明確なラベルを提供してください。",
245
- "inputBase_choice_alt_when": "既存の入力コンポーネントをラベルやエラーメッセージでラップする必要がある場合。",
246
- "inputBase_choice_matrix_desc": "InputBase と FieldTemplate のどちらを使用するかを決定します。",
247
- "inputBase_choice_use_when": "境界線やアイコンに同一のスタイリングが必要なカスタム入力フィールド(SearchやSelectなど)を作成する場合。",
248
- "inputBase_content_guideline_1": "煩雑さを避けるため、アイコンの使用は最小限に抑えてください。",
249
- "inputBase_content_guideline_2": "フォーカスリングが明確に見えるようにしてください。",
250
- "inputBase_design_intent": "InputBase は、入力フィールドに一貫した UI を提供し、アイコン、クリアボタン、およびセマンティック状態のレイアウトを管理します。",
251
- "inputBase_i18n_desc": "表示されるテキストはすべてコンシューマーが提供します。InputBase 自体にハードコードされた文字列はありません。",
252
- "inputBase_keyboard_desc": "キーボード動作はラップされたネイティブ入力要素に委譲されます。",
253
- "inputBase_long_desc": "すべてのテキストベースの入力コンポーネントの基礎となる内部コンポーネントです。",
254
- "inputBase_motion_desc": "境界線の色やクリアボタンの表示に関する微妙なトランジション。",
255
- "inputBase_responsive_desc": "コンテナは親に合わせてスケールします。アイコンの幅は固定のままです。",
256
- "inputBase_scenario_1": "アクションアイコン付きのカスタム検索ボックス。",
257
- "inputBase_scenario_2": "専門的なデータ入力のための複雑な入力ラッパー。",
258
- "inputBase_tokens_desc": "ボーダー、背景、スペーシングトークンがビジュアルコンテナのスタイリングを制御します。",
259
- "inputBase_usage_desc": "主に他のコンポーネントを構築するために使用されます。境界線、背景、アイコンの配置など、「入力コンテナー」のスタイリングを処理します。",
260
215
  "json_viewer_a11y_desc": "キーボードで操作可能なツリーナビゲーション(矢印キーでの移動と切り替え)。",
261
216
  "json_viewer_best_practice_1": "巨大なJSONオブジェクトのために、検索やフィルタ機能を含めることを検討してください。",
262
217
  "json_viewer_best_practice_2": "クリップボードへのコピー機能をショートカットとして提供してください。",
@@ -273,7 +228,7 @@
273
228
  "json_viewer_scenario_2": "システム管理パネルでの設定ファイルの編集。",
274
229
  "keyboard_nav_title": "キーボードナビゲーション",
275
230
  "label": "ラベル",
276
- "label_a11y_desc": "htmlFor/id を使用して Label が入力に関連付けられていることを確認してください。",
231
+ "label_a11y_desc": "描画されるのは本物の <label> なので、コントロールとの結びつきは htmlFor を渡すことで成立します。この関連付けがあるからこそ、テキストのクリックでフィールドにフォーカスが移り、フィールドがアクセシブル名を得ます。asChild を使うと要素は差し替わりますが同じ属性は子へマージされるため、関連付けの維持は呼び出し側の責任のままです。必須・任意の印は FieldLabelContent が描き、aria-hidden にしています ── 必須であることはラベル文の一部として読ませるのではなく、コントロール側(aria-required)が持つべき情報だからです。",
277
232
  "label_anatomy_content": "フォーム要素の実際の説明テキスト。",
278
233
  "label_anatomy_content_label": "ラベルテキスト",
279
234
  "label_anatomy_root": "テキストとインジケーターをラップするルート要素。",
@@ -287,12 +242,10 @@
287
242
  "label_design_intent": "ユーザー入力をガイドするために、フォームコントロールに対して明確でアクセシブルなラベルを提供します。",
288
243
  "label_i18n_desc": "ラベルはコンシューマーによって提供されます。コンポーネントにはハードコードされた文字列はありません。",
289
244
  "label_keyboard_desc": "ラベル自体はインタラクティブではなく、フォーカスを受け取りません。",
290
- "label_long_desc": "フォーム要素の説明やキャプションを表示するためのコンポーネントです。",
291
245
  "label_motion_desc": "特定のインタラクションやアニメーションはありません。",
292
246
  "label_responsive_desc": "ラベルはすべてのブレークポイントで読み取り可能なままです。視覚的階層を維持するため、フォントサイズは固定されています。",
293
247
  "label_scenario_1": "標準的なお問い合わせフォーム。",
294
248
  "label_scenario_2": "管理ダッシュボードの設定パネル。",
295
- "label_title": "入力フィールドの説明テキスト(必須・任意マークを含む)",
296
249
  "label_tokens_desc": "フォントサイズ、ウェイト、テキストカラーにタイポグラフィとカラートークンが使用されています。",
297
250
  "location": "場所",
298
251
  "motion_spec_title": "モーション仕様",
@@ -425,7 +378,6 @@
425
378
  "tag_deletable_desc": "onDelete プロップが渡されると、削除用アイコンが表示され、クリック時にコールバックが実行されます。",
426
379
  "test_description": "以下のコマンドを実行して、このコンポーネントの単体テストを実行できます。",
427
380
  "test_title": "テストの実行方法",
428
- "tokens_title": "デザイントークンの活用",
429
381
  "transfer_i18n_desc": "ラベル、プレースホルダー、ステータスメッセージのローカライズを完全にサポートします。",
430
382
  "transition": "トランジション",
431
383
  "usage": "使用法",
@@ -24,27 +24,8 @@
24
24
  "clear": "クリア",
25
25
  "close": "閉じる",
26
26
  "consistency": "一貫性",
27
- "consistency_desc": "すべてのボタンで同一のラベルのケーシング(文の最初の文字のみ大文字)とアイコンの配置を維持します。",
28
- "copy_desc": "視覚的なフィードバックを伴ってテキストをクリップボードにコピーするための専用ボタン。",
29
- "copy_usage": "APIキー、トランザションID、または共有リンク。",
30
27
  "dismiss": "閉じる",
31
- "group_desc": "論理的に関連する複数のボタンをグループ化するコンテナ。",
32
- "group_usage": "フィルターバー、ページネーション、または複数ステップのフォームアクション。",
33
- "guide_desc": "インターフェースに適切なボタンタイプを選択し、実装するためのガイドライン。",
34
- "guide_title": "ボタンの概要",
35
- "guideline_detail": "詳細",
36
- "guideline_principle": "原則",
37
- "icon_usage": "高密度のツールバー、メディアコントロール、またはソーシャル共有。",
38
- "label": "ボタン",
39
- "link_desc": "二次的なナビゲーションアクション用のテキストリンクのようにスタイル設定されたボタン。",
40
- "placement_conflict": "配置の競合",
41
- "placement_conflict_desc": "同じビューに複数のプライマリボタンを配置しないでください。",
42
- "placement_desc": "ボタンは、モーダルの場合は右下に、フォームの場合は左下にグループ化する必要があります。",
43
- "priority_weighting": "プライマリ、セカンダリ、またはターシャリボタンを使用するタイミングを説明するマトリックス。",
44
- "semantics_desc": "ボタンはアクションをトリガーし、リンクはページの場所やスクロール位置を変更します。",
45
- "semantics_guide_ref": "詳細については、リンクとボタンの対比ガイドを参照してください。",
46
- "standard_desc": "一般的なアクション用の標準的な長方形ボタン。",
47
- "standard_usage": "送信、保存、アイテムの追加などの主要なCTA。"
28
+ "label": "ボタン"
48
29
  },
49
30
  "code_block": {
50
31
  "collapse_label": "折りたたむ",