wimui 0.5.2 → 0.6.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 (50) hide show
  1. package/dist/components/_internal/status-content.module.cjs +1 -1
  2. package/dist/components/_internal/status-content.module.js +1 -1
  3. package/dist/components/ai/ChatUI/ChatUI.cjs +1 -1
  4. package/dist/components/ai/ChatUI/ChatUI.js +80 -79
  5. package/dist/components/data-display/Calendar/Calendar.cjs +1 -1
  6. package/dist/components/data-display/Calendar/Calendar.js +88 -87
  7. package/dist/components/data-display/Card/card.module.cjs +1 -1
  8. package/dist/components/data-display/Card/card.module.js +15 -12
  9. package/dist/components/data-display/DataGrid/DataGrid.cjs +1 -1
  10. package/dist/components/data-display/DataGrid/DataGrid.d.ts +11 -4
  11. package/dist/components/data-display/DataGrid/DataGrid.js +52 -60
  12. package/dist/components/data-display/DataGrid/datagrid.module.cjs +1 -1
  13. package/dist/components/data-display/DataGrid/datagrid.module.js +15 -13
  14. package/dist/components/data-display/Kanban/Kanban.cjs +1 -1
  15. package/dist/components/data-display/Kanban/Kanban.js +87 -86
  16. package/dist/components/data-display/Table/Table.cjs +1 -1
  17. package/dist/components/data-display/Table/Table.d.ts +3 -2
  18. package/dist/components/data-display/Table/Table.js +1 -1
  19. package/dist/components/data-display/Table/table.module.cjs +1 -1
  20. package/dist/components/data-display/Table/table.module.js +28 -27
  21. package/dist/components/data-display/Tag/Tag.cjs +1 -1
  22. package/dist/components/data-display/Tag/Tag.js +34 -30
  23. package/dist/components/form/Button/button.module.cjs +1 -1
  24. package/dist/components/form/Button/button.module.js +2 -2
  25. package/dist/components/form/ImageCropper/ImageCropper.cjs +1 -1
  26. package/dist/components/form/ImageCropper/ImageCropper.js +1 -1
  27. package/dist/components/form/InlineEdit/InlineEdit.cjs +1 -1
  28. package/dist/components/form/InlineEdit/InlineEdit.js +31 -28
  29. package/dist/components/layout/Container/container.module.cjs +1 -1
  30. package/dist/components/layout/Container/container.module.js +1 -1
  31. package/dist/components/layout/Toolbar/toolbar.module.cjs +1 -1
  32. package/dist/components/layout/Toolbar/toolbar.module.js +4 -4
  33. package/dist/components/media/Audio/Audio.cjs +1 -1
  34. package/dist/components/media/Audio/Audio.js +66 -65
  35. package/dist/components/overlay/Dropdown/Dropdown.cjs +1 -1
  36. package/dist/components/overlay/Dropdown/Dropdown.js +106 -73
  37. package/dist/components/overlay/Dropdown/dropdown.module.cjs +1 -1
  38. package/dist/components/overlay/Dropdown/dropdown.module.js +3 -5
  39. package/dist/i18n/generated/keys.d.ts +1 -1
  40. package/dist/i18n/generated/resources.cjs +1 -1
  41. package/dist/i18n/generated/resources.js +44 -2
  42. package/dist/llms-full.txt +12 -4
  43. package/dist/llms.txt +3 -1
  44. package/dist/locales/en/common.json +12 -0
  45. package/dist/locales/ja/common.json +13 -1
  46. package/dist/locales/pt/common.json +13 -1
  47. package/dist/styles.css +1 -1
  48. package/dist/wimui.umd.css +1 -1
  49. package/dist/wimui.umd.js +2 -2
  50. package/package.json +27 -1
@@ -9,11 +9,15 @@ var e = [
9
9
  en: {
10
10
  common: {
11
11
  a11y: {
12
+ attach_file: "Attach file",
12
13
  back_to_top: "Back to top",
13
14
  breadcrumb: "Breadcrumb",
15
+ calendar: "Calendar",
14
16
  clear_input: "Clear input",
15
17
  close: "Close",
16
18
  close_menu: "Close menu",
19
+ cover_art: "Cover art",
20
+ crop_target: "Image being cropped",
17
21
  data_grid: "Data Grid",
18
22
  delete: "Delete",
19
23
  exit_fullscreen: "Exit Fullscreen",
@@ -24,9 +28,13 @@ var e = [
24
28
  hide_password: "Hide password",
25
29
  items_per_page: "Items per page",
26
30
  jump_to_page: "Jump to page",
31
+ kanban_board: "Kanban board",
27
32
  left_icon_action: "Perform action",
28
33
  loading: "Loading",
34
+ move_card: "Move card",
35
+ move_to_column: "Move to column",
29
36
  mute: "Mute",
37
+ next_month: "Next month",
30
38
  next_track: "Next track",
31
39
  open_menu: "Open menu",
32
40
  pagination_nav: "Pagination navigation",
@@ -34,6 +42,7 @@ var e = [
34
42
  picture_in_picture: "Picture-in-Picture",
35
43
  play: "Play",
36
44
  playlist: "Playlist",
45
+ prev_month: "Previous month",
37
46
  resize_panel: "Resize panel",
38
47
  right_icon_action: "Perform action",
39
48
  scroll_progress: "Scroll progress",
@@ -96,6 +105,11 @@ var e = [
96
105
  saved: "Saved",
97
106
  saved_at: "Saved at {{time}}",
98
107
  error: "Failed to save"
108
+ },
109
+ dataGrid: {
110
+ displaying: "Showing {{shown}} of {{total}}",
111
+ loading_more: "Loading more…",
112
+ rows_selected: "({{selected}} selected)"
99
113
  }
100
114
  },
101
115
  components: {
@@ -268,11 +282,15 @@ var e = [
268
282
  ja: {
269
283
  common: {
270
284
  a11y: {
285
+ attach_file: "ファイルを添付",
271
286
  back_to_top: "トップへ戻る",
272
287
  breadcrumb: "パンくずリスト",
288
+ calendar: "カレンダー",
273
289
  clear_input: "入力をクリア",
274
290
  close: "閉じる",
275
291
  close_menu: "メニューを閉じる",
292
+ cover_art: "カバー画像",
293
+ crop_target: "切り抜き対象の画像",
276
294
  data_grid: "データグリッド",
277
295
  delete: "削除",
278
296
  exit_fullscreen: "全画面を終了",
@@ -283,9 +301,13 @@ var e = [
283
301
  hide_password: "パスワードを隠す",
284
302
  items_per_page: "1ページあたりの件数",
285
303
  jump_to_page: "特定のページへ移動",
304
+ kanban_board: "かんばんボード",
286
305
  left_icon_action: "アクションを実行",
287
306
  loading: "読み込み中",
307
+ move_card: "カードを移動",
308
+ move_to_column: "列へ移動",
288
309
  mute: "ミュート",
310
+ next_month: "翌月",
289
311
  next_track: "次のトラック",
290
312
  open_menu: "メニューを開く",
291
313
  pagination_nav: "ページネーション ナビゲーション",
@@ -293,6 +315,7 @@ var e = [
293
315
  picture_in_picture: "ピクチャーインピクチャー",
294
316
  play: "再生",
295
317
  playlist: "プレイリスト",
318
+ prev_month: "前月",
296
319
  resize_panel: "パネルのサイズ変更",
297
320
  right_icon_action: "アクションを実行",
298
321
  scroll_progress: "スクロール進捗",
@@ -355,7 +378,12 @@ var e = [
355
378
  sun: "日",
356
379
  thu: "木",
357
380
  tue: "火",
358
- wed: "水"
381
+ wed: "水",
382
+ dataGrid: {
383
+ displaying: "{{total}} 件中 {{shown}} 件を表示",
384
+ loading_more: "さらに読み込み中…",
385
+ rows_selected: "({{selected}} 件を選択中)"
386
+ }
359
387
  },
360
388
  components: {
361
389
  a11y: {
@@ -527,11 +555,15 @@ var e = [
527
555
  pt: {
528
556
  common: {
529
557
  a11y: {
558
+ attach_file: "Anexar arquivo",
530
559
  back_to_top: "Voltar ao topo",
531
560
  breadcrumb: "Trilha de navegação",
561
+ calendar: "Calendário",
532
562
  clear_input: "Limpar entrada",
533
563
  close: "Fechar",
534
564
  close_menu: "Fechar menu",
565
+ cover_art: "Capa",
566
+ crop_target: "Imagem sendo recortada",
535
567
  data_grid: "Grade de Dados",
536
568
  delete: "Excluir",
537
569
  exit_fullscreen: "Sair da tela cheia",
@@ -542,9 +574,13 @@ var e = [
542
574
  hide_password: "Ocultar senha",
543
575
  items_per_page: "Itens por página",
544
576
  jump_to_page: "Ir para a página",
577
+ kanban_board: "Quadro Kanban",
545
578
  left_icon_action: "Executar ação",
546
579
  loading: "Carregando",
580
+ move_card: "Mover cartão",
581
+ move_to_column: "Mover para a coluna",
547
582
  mute: "Mudo",
583
+ next_month: "Próximo mês",
548
584
  next_track: "Próxima faixa",
549
585
  open_menu: "Abrir menu",
550
586
  pagination_nav: "Navegação da paginação",
@@ -552,6 +588,7 @@ var e = [
552
588
  picture_in_picture: "Picture-in-Picture",
553
589
  play: "Reproduzir",
554
590
  playlist: "Lista de reprodução",
591
+ prev_month: "Mês anterior",
555
592
  resize_panel: "Redimensionar painel",
556
593
  right_icon_action: "Executar ação",
557
594
  scroll_progress: "Progresso de rolagem",
@@ -614,7 +651,12 @@ var e = [
614
651
  sun: "Dom",
615
652
  thu: "Qui",
616
653
  tue: "Ter",
617
- wed: "Qua"
654
+ wed: "Qua",
655
+ dataGrid: {
656
+ displaying: "Exibindo {{shown}} de {{total}}",
657
+ loading_more: "Carregando mais…",
658
+ rows_selected: "({{selected}} selecionados)"
659
+ }
618
660
  },
619
661
  components: {
620
662
  a11y: {
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.5.2 — 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.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).
8
8
 
9
9
  ## Install & required setup
10
10
 
@@ -75,6 +75,8 @@ Single components are judged by state/a11y/token compliance. **Composed screens*
75
75
  6. Limit accent color: primary surfaces (solid buttons, emphasis backgrounds) 1–2 per view.
76
76
  7. Give demo content real substance (product-context copy, internally consistent numbers/dates/names — active ≤ total, dates not evenly spaced).
77
77
  8. Add intentional "wobble": mix in 1–2 incomplete rows (a truncated long name, a missing optional field, an extreme value, an error/unread state) and show non-happy-path states (hover/focus/disabled/error/empty/loading).
78
+ 9. Keep the chrome quiet. Breadcrumb, page title, summary line, toolbar and filter bar frame the content; they must not compete with the protagonist. Don't promote a one-line summary to an `Alert`/`Banner`, don't wrap the filter bar in a `Card` (its border doubles up with the data region's), keep primary surfaces out of the chrome, and don't stack a KPI tile row above a table screen. Corollary of 1 and 6, but it is the rule most often broken on admin/list screens — the test is whether the eye lands on the data first.
79
+ 10. Check the screen at 390px and 768px before calling it done. The page itself must never scroll sideways (`document.scrollWidth > document.documentElement.clientWidth` is a bug — the usual cause is a group of controls that cannot wrap, e.g. several buttons packed into one `Toolbar.Group`; split them into separate groups). Data tables need their narrow mode turned on (`<DataGrid mobileCard>`) rather than an inner scrollbar: without it columns collapse and a short string like a `Code` lot number breaks one character per line. The switch to cards happens at the `md` container width, so tablets get cards too.
78
80
 
79
81
  ## Recipes — copy-paste starting points
80
82
 
@@ -2087,7 +2089,12 @@ target is already in the past). Not called when baseDate is set.
2087
2089
  - `columns: DataGridColumn<T>[]` (required) — Column definitions
2088
2090
  - `data: T[]` (required) — Row data
2089
2091
  - `rowKey: string | ((record: T) => string)` = "id" — Row key: a field name or a function that derives the key from a record
2090
- - `loading: boolean` = false — Whether the grid is in a loading state
2092
+ - `loading: boolean | "blocking" | "refresh"` = false — Loading state.
2093
+ `true` / `"blocking"` fades the grid and blocks interaction (first load — the
2094
+ rows are not there yet, or are about to be replaced wholesale).
2095
+ `"refresh"` only announces `aria-busy`: the rows stay readable and usable while
2096
+ fresh data is fetched. It deliberately does not dim, because fading the content
2097
+ drops secondary text below the AA contrast floor.
2091
2098
  - `striped: boolean` = false — Whether to show striped (zebra) rows
2092
2099
  - `bordered: boolean` = false — Whether to show borders between cells
2093
2100
  - `hoverable: boolean` = true — Whether rows highlight on hover
@@ -2095,7 +2102,7 @@ target is already in the past). Not called when baseDate is set.
2095
2102
  - `height: string | number` — Height of the grid (enables vertical scrolling)
2096
2103
  - `maxHeight: string | number` — Maximum height of the grid (enables vertical scrolling)
2097
2104
  - `emptyMessage: React.ReactNode` — Message or element to display when data is empty
2098
- - `mobileCard: boolean` = false — Enable mobile card layout
2105
+ - `mobileCard: boolean | "sm" | "md"` = false — Enable the card layout below a container width (`true`/`"sm"` = 576px, `"md"` = 768px)
2099
2106
  - `selection: boolean | SelectionConfig<T>` — Row selection: a boolean shorthand or a full configuration object
2100
2107
  - `selectedRowKeys: string[]` — Selected row keys (used with boolean `selection`)
2101
2108
  - `onSelectionChange: (keys: string[], records: T[]) => void` — Selection change callback (used with boolean `selection`)
@@ -2287,7 +2294,8 @@ target is already in the past). Not called when baseDate is set.
2287
2294
  - `fullWidth: boolean` = false — Whether to take full width of parent
2288
2295
  - `stickyHeader: boolean` = false — Whether the header sticks to the top while scrolling
2289
2296
  - `scrollbar: "default" | "subtle" | "hidden"` = "default" — Scrollbar style of the container
2290
- - `mobileCard: boolean` = false — Mobile view: Switch to card layout
2297
+ - `mobileCard: boolean | "sm" | "md"` = false — Mobile view: switch to a card layout below a container width.
2298
+ `true` / `"sm"` switches under 576px, `"md"` under 768px (the old default).
2291
2299
  - `height: string | number` — Height of the container (enables vertical scrolling)
2292
2300
  - `maxHeight: string | number` — Maximum height of the container (enables vertical scrolling)
2293
2301
  - `containerClassName: string` — Additional class name for the scroll container
package/dist/llms.txt CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.5.2 — 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.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).
8
8
 
9
9
  ## Install & required setup
10
10
 
@@ -75,6 +75,8 @@ Single components are judged by state/a11y/token compliance. **Composed screens*
75
75
  6. Limit accent color: primary surfaces (solid buttons, emphasis backgrounds) 1–2 per view.
76
76
  7. Give demo content real substance (product-context copy, internally consistent numbers/dates/names — active ≤ total, dates not evenly spaced).
77
77
  8. Add intentional "wobble": mix in 1–2 incomplete rows (a truncated long name, a missing optional field, an extreme value, an error/unread state) and show non-happy-path states (hover/focus/disabled/error/empty/loading).
78
+ 9. Keep the chrome quiet. Breadcrumb, page title, summary line, toolbar and filter bar frame the content; they must not compete with the protagonist. Don't promote a one-line summary to an `Alert`/`Banner`, don't wrap the filter bar in a `Card` (its border doubles up with the data region's), keep primary surfaces out of the chrome, and don't stack a KPI tile row above a table screen. Corollary of 1 and 6, but it is the rule most often broken on admin/list screens — the test is whether the eye lands on the data first.
79
+ 10. Check the screen at 390px and 768px before calling it done. The page itself must never scroll sideways (`document.scrollWidth > document.documentElement.clientWidth` is a bug — the usual cause is a group of controls that cannot wrap, e.g. several buttons packed into one `Toolbar.Group`; split them into separate groups). Data tables need their narrow mode turned on (`<DataGrid mobileCard>`) rather than an inner scrollbar: without it columns collapse and a short string like a `Code` lot number breaks one character per line. The switch to cards happens at the `md` container width, so tablets get cards too.
78
80
 
79
81
  ## Recipes — copy-paste starting points
80
82
 
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "a11y": {
3
+ "attach_file": "Attach file",
3
4
  "back_to_top": "Back to top",
4
5
  "breadcrumb": "Breadcrumb",
6
+ "calendar": "Calendar",
5
7
  "clear_date": "Clear date",
6
8
  "clear_input": "Clear input",
7
9
  "clear_selection": "Clear selection",
@@ -10,6 +12,8 @@
10
12
  "close_dialog": "Close dialog",
11
13
  "close_menu": "Close menu",
12
14
  "considerations": "Accessibility",
15
+ "cover_art": "Cover art",
16
+ "crop_target": "Image being cropped",
13
17
  "data_grid": "Data Grid",
14
18
  "delete": "Delete",
15
19
  "edit": "Edit",
@@ -23,8 +27,11 @@
23
27
  "icon_fallback": "Icon: {{name}}",
24
28
  "items_per_page": "Items per page",
25
29
  "jump_to_page": "Jump to page",
30
+ "kanban_board": "Kanban board",
26
31
  "left_icon_action": "Perform action",
27
32
  "loading": "Loading",
33
+ "move_card": "Move card",
34
+ "move_to_column": "Move to column",
28
35
  "mute": "Mute",
29
36
  "next_month": "Next month",
30
37
  "next_slide": "Next slide",
@@ -688,5 +695,10 @@
688
695
  "saved": "Saved",
689
696
  "saved_at": "Saved at {{time}}",
690
697
  "error": "Failed to save"
698
+ },
699
+ "dataGrid": {
700
+ "displaying": "Showing {{shown}} of {{total}}",
701
+ "loading_more": "Loading more…",
702
+ "rows_selected": "({{selected}} selected)"
691
703
  }
692
704
  }
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "a11y": {
3
+ "attach_file": "ファイルを添付",
3
4
  "back_to_top": "トップへ戻る",
4
5
  "breadcrumb": "パンくずリスト",
6
+ "calendar": "カレンダー",
5
7
  "clear_date": "日付をクリア",
6
8
  "clear_input": "入力をクリア",
7
9
  "clear_selection": "選択をクリア",
@@ -10,6 +12,8 @@
10
12
  "close_dialog": "ダイアログを閉じる",
11
13
  "close_menu": "メニューを閉じる",
12
14
  "considerations": "アクセシビリティ",
15
+ "cover_art": "カバー画像",
16
+ "crop_target": "切り抜き対象の画像",
13
17
  "data_grid": "データグリッド",
14
18
  "delete": "削除",
15
19
  "edit": "編集",
@@ -23,8 +27,11 @@
23
27
  "icon_fallback": "アイコン: {{name}}",
24
28
  "items_per_page": "1ページあたりの件数",
25
29
  "jump_to_page": "特定のページへ移動",
30
+ "kanban_board": "かんばんボード",
26
31
  "left_icon_action": "アクションを実行",
27
32
  "loading": "読み込み中",
33
+ "move_card": "カードを移動",
34
+ "move_to_column": "列へ移動",
28
35
  "mute": "ミュート",
29
36
  "next_month": "翌月",
30
37
  "next_slide": "次のスライド",
@@ -688,5 +695,10 @@
688
695
  "upload": "アップロード",
689
696
  "username": "ユーザー名",
690
697
  "wed": "水",
691
- "welcome": "アプリケーションへようこそ"
698
+ "welcome": "アプリケーションへようこそ",
699
+ "dataGrid": {
700
+ "displaying": "{{total}} 件中 {{shown}} 件を表示",
701
+ "loading_more": "さらに読み込み中…",
702
+ "rows_selected": "({{selected}} 件を選択中)"
703
+ }
692
704
  }
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "a11y": {
3
+ "attach_file": "Anexar arquivo",
3
4
  "back_to_top": "Voltar ao topo",
4
5
  "breadcrumb": "Trilha de navegação",
6
+ "calendar": "Calendário",
5
7
  "clear_date": "Limpar data",
6
8
  "clear_input": "Limpar entrada",
7
9
  "clear_selection": "Limpar seleção",
@@ -10,6 +12,8 @@
10
12
  "close_dialog": "Fechar diálogo",
11
13
  "close_menu": "Fechar menu",
12
14
  "considerations": "Acessibilidade",
15
+ "cover_art": "Capa",
16
+ "crop_target": "Imagem sendo recortada",
13
17
  "data_grid": "Grade de Dados",
14
18
  "delete": "Excluir",
15
19
  "edit": "Editar",
@@ -23,8 +27,11 @@
23
27
  "icon_fallback": "Ícone: {{name}}",
24
28
  "items_per_page": "Itens por página",
25
29
  "jump_to_page": "Ir para a página",
30
+ "kanban_board": "Quadro Kanban",
26
31
  "left_icon_action": "Executar ação",
27
32
  "loading": "Carregando",
33
+ "move_card": "Mover cartão",
34
+ "move_to_column": "Mover para a coluna",
28
35
  "mute": "Mudo",
29
36
  "next_month": "Próximo mês",
30
37
  "next_slide": "Próximo slide",
@@ -688,5 +695,10 @@
688
695
  "upload": "Upload",
689
696
  "username": "Nome de usuário",
690
697
  "wed": "Qua",
691
- "welcome": "Bem-vindo ao nosso aplicativo"
698
+ "welcome": "Bem-vindo ao nosso aplicativo",
699
+ "dataGrid": {
700
+ "displaying": "Exibindo {{shown}} de {{total}}",
701
+ "loading_more": "Carregando mais…",
702
+ "rows_selected": "({{selected}} selecionados)"
703
+ }
692
704
  }