@bysages/svelte 0.3.0 → 0.3.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 (87) hide show
  1. package/dist/{AiLoader-0jlig3fe.mjs → AiLoader-BEiPYOfW.mjs} +11 -6
  2. package/dist/{FileUploadRoot-IVcTAZp-.mjs → FileUploadTrigger-BgAcpLXx.mjs} +39 -3
  3. package/dist/JsonTreeViewTree-CqRP_PwV.mjs +71 -0
  4. package/dist/{Spinner-sd__23WT.mjs → Spinner-DGAzGJ_8.mjs} +6 -3
  5. package/dist/{StepsRoot-Dg_3-lRb.mjs → StepsRoot-C_FYfShw.mjs} +27 -1
  6. package/dist/TocIndicator-DPnZxTJ2.mjs +30 -0
  7. package/dist/TreeViewRoot-RBynRAly.mjs +108 -0
  8. package/dist/{ai-attachments-Y0Tf6UFL.mjs → ai-attachments-C0YVIKUc.mjs} +6 -2
  9. package/dist/{ai-prompt-input-BmyKyadu.mjs → ai-prompt-input-vh89e9EX.mjs} +67 -50
  10. package/dist/{ai-response-D5IkRFMN.mjs → ai-response-BPQPjMlC.mjs} +7 -3
  11. package/dist/{autocomplete-D7ZZ7Xpb.mjs → autocomplete-Dhuhqp-6.mjs} +10 -7
  12. package/dist/{banner-LEPWtGlY.mjs → banner-Bj3FFB-O.mjs} +7 -4
  13. package/dist/{block-ui-CpiV9qza.mjs → block-ui-CxsMoEoa.mjs} +1 -1
  14. package/dist/{breadcrumb-C01pAq93.mjs → breadcrumb-CtBjVdxv.mjs} +6 -3
  15. package/dist/{calendar-0tSnHuLj.mjs → calendar-BMXmRdwJ.mjs} +1 -1
  16. package/dist/{cascade-select-B-4Z6oWe.mjs → cascade-select-CfvWchiN.mjs} +26 -12
  17. package/dist/{command-fZuTfbz4.mjs → command-CZRC1T-6.mjs} +14 -8
  18. package/dist/components/ai/index.d.mts +1 -1
  19. package/dist/components/ai/index.mjs +3 -3
  20. package/dist/components/ai-attachments/index.mjs +1 -1
  21. package/dist/components/ai-prompt-input/index.mjs +1 -1
  22. package/dist/components/ai-response/index.mjs +1 -1
  23. package/dist/components/autocomplete/index.mjs +1 -1
  24. package/dist/components/banner/index.mjs +1 -1
  25. package/dist/components/block-ui/index.mjs +1 -1
  26. package/dist/components/breadcrumb/index.mjs +1 -1
  27. package/dist/components/calendar/index.mjs +1 -1
  28. package/dist/components/cascade-select/index.mjs +1 -1
  29. package/dist/components/command/index.mjs +1 -1
  30. package/dist/components/config-provider/index.d.mts +1 -1
  31. package/dist/components/config-provider/index.mjs +2 -1
  32. package/dist/components/data-view/index.mjs +1 -1
  33. package/dist/components/dynamic-input/index.mjs +1 -1
  34. package/dist/components/file-upload/index.d.mts +3 -2
  35. package/dist/components/file-upload/index.mjs +3 -2
  36. package/dist/components/float-button/index.mjs +1 -1
  37. package/dist/components/image/index.d.mts +1 -1
  38. package/dist/components/image/index.mjs +1 -1
  39. package/dist/components/image-viewer/index.d.mts +1 -1
  40. package/dist/components/image-viewer/index.mjs +1 -1
  41. package/dist/components/json-tree-view/index.d.mts +4 -4
  42. package/dist/components/json-tree-view/index.mjs +5 -1
  43. package/dist/components/layout/index.mjs +1 -1
  44. package/dist/components/list/index.mjs +1 -1
  45. package/dist/components/menubar/index.mjs +1 -1
  46. package/dist/components/order-list/index.mjs +1 -1
  47. package/dist/components/select/index.mjs +1 -1
  48. package/dist/components/spinner/index.mjs +1 -1
  49. package/dist/components/split-button/index.mjs +1 -1
  50. package/dist/components/steps/index.d.mts +3 -2
  51. package/dist/components/steps/index.mjs +3 -2
  52. package/dist/components/table/index.mjs +1 -1
  53. package/dist/components/terminal/index.mjs +1 -1
  54. package/dist/components/toc/index.d.mts +4 -1
  55. package/dist/components/toc/index.mjs +5 -1
  56. package/dist/components/transfer/index.mjs +1 -1
  57. package/dist/components/tree-select/index.mjs +1 -1
  58. package/dist/components/tree-view/index.d.mts +1 -1
  59. package/dist/components/tree-view/index.mjs +4 -2
  60. package/dist/components/virtual-list/index.mjs +1 -1
  61. package/dist/{config-provider-DW5wVzFr.mjs → config-provider-CZJyd3MX.mjs} +6 -14
  62. package/dist/context-Da-QMQRq.mjs +14 -0
  63. package/dist/{data-view-B3TY3rYl.mjs → data-view-BORK23XZ.mjs} +32 -20
  64. package/dist/{dynamic-input-B3IBAoLs.mjs → dynamic-input-D1a-5vy-.mjs} +6 -1
  65. package/dist/{float-button-CZAda2SI.mjs → float-button-BLIHnw2u.mjs} +3 -1
  66. package/dist/{image-1Lgj8xhS.mjs → image-u_H4LtAC.mjs} +4 -0
  67. package/dist/{image-viewer-Dv3_Iyu8.mjs → image-viewer-DzoEcVSn.mjs} +20 -4
  68. package/dist/{index-D6PrX-hf.d.mts → index-BJvo4qep.d.mts} +4 -2
  69. package/dist/{index-DTAcdUAd.d.mts → index-BkGvErBJ.d.mts} +5 -1
  70. package/dist/{index-DAesWvpj.d.mts → index-D1tQgtT0.d.mts} +4 -0
  71. package/dist/{index-CiHanb4T.d.mts → index-DG4OAuIf.d.mts} +4 -0
  72. package/dist/index.d.mts +5 -5
  73. package/dist/index.mjs +29 -28
  74. package/dist/{layout-WRo4P9-_.mjs → layout-GfxGYYhg.mjs} +7 -4
  75. package/dist/{list-B23lA_sc.mjs → list-BgEM9H3z.mjs} +2 -1
  76. package/dist/{menubar-Crrkg2tZ.mjs → menubar-2MPo9w5z.mjs} +1 -0
  77. package/dist/messages-DNzA55pH.mjs +17 -0
  78. package/dist/{order-list-q7VlsbmU.mjs → order-list-D3EhH7EX.mjs} +15 -6
  79. package/dist/{select-rkY0qJKI.mjs → select-8ume4i2e.mjs} +5 -1
  80. package/dist/{split-button-CGjPB9DQ.mjs → split-button-DnmVc_J0.mjs} +5 -3
  81. package/dist/{table-BnNK4_su.mjs → table-BsdqRuvj.mjs} +63 -44
  82. package/dist/{terminal-B3b4KzoN.mjs → terminal-Dgw5JEz4.mjs} +5 -3
  83. package/dist/{transfer-0IAuhFCe.mjs → transfer-C0FLA8W1.mjs} +16 -5
  84. package/dist/{tree-select-BSf4a_En.mjs → tree-select-CSYSYZDN.mjs} +71 -70
  85. package/dist/{virtual-list-psKQ_NVr.mjs → virtual-list-_10ypBUP.mjs} +1 -0
  86. package/package.json +3 -3
  87. package/dist/TreeViewRoot-ConQj9TX.mjs +0 -37
@@ -1,4 +1,5 @@
1
1
  import { t as Button } from "./button-BCcX7lHq.mjs";
2
+ import { n as useComponentMessages } from "./messages-DNzA55pH.mjs";
2
3
  import { injectComponentStyle } from "@bysages/core";
3
4
  import "svelte/internal/disclose-version";
4
5
  import * as $ from "svelte/internal/client";
@@ -25,6 +26,7 @@ function SplitButton$1($$anchor, $$props) {
25
26
  $.push($$props, true);
26
27
  injectComponentStyle("split-button");
27
28
  let items = $.prop($$props, "items", 19, () => []), variant = $.prop($$props, "variant", 3, "solid"), tone = $.prop($$props, "tone", 3, "ink"), size = $.prop($$props, "size", 3, "md"), disabled = $.prop($$props, "disabled", 3, false), rest = $.rest_props($$props, rest_excludes);
29
+ const messages = useComponentMessages();
28
30
  var div = root_2();
29
31
  $.attribute_effect(div, () => ({
30
32
  ...rest,
@@ -64,16 +66,16 @@ function SplitButton$1($$anchor, $$props) {
64
66
  {
65
67
  const asChild = ($$anchor, props = $.noop) => {
66
68
  var button = root();
67
- $.attribute_effect(button, ($0) => ({
69
+ $.attribute_effect(button, ($0, $1) => ({
68
70
  ...$0,
69
71
  disabled: disabled(),
70
- "aria-label": "More actions",
72
+ "aria-label": $1,
71
73
  "data-variant": variant(),
72
74
  "data-tone": tone(),
73
75
  "data-size": size(),
74
76
  "data-square": "true",
75
77
  "data-motion": "ink-ripple lit"
76
- }), [() => props()()]);
78
+ }), [() => props()(), () => messages().more.actions]);
77
79
  $.append($$anchor, button);
78
80
  };
79
81
  $.component(node_2, () => Menu.Trigger, ($$anchor, ArkMenu_Trigger) => {
@@ -1,5 +1,6 @@
1
+ import { n as useComponentMessages, t as formatMessage } from "./messages-DNzA55pH.mjs";
1
2
  import { Pagination } from "./components/pagination/index.mjs";
2
- import { n as Select$1 } from "./select-rkY0qJKI.mjs";
3
+ import { n as Select$1 } from "./select-8ume4i2e.mjs";
3
4
  import { injectComponentStyle } from "@bysages/core";
4
5
  import "svelte/internal/disclose-version";
5
6
  import * as $ from "svelte/internal/client";
@@ -85,13 +86,13 @@ var rest_excludes = /* @__PURE__ */ new Set([
85
86
  "onRowReorder",
86
87
  "onColumnReorder"
87
88
  ]);
88
- var root = $.from_html(`<input type="checkbox" aria-label="Select row"/>`);
89
+ var root = $.from_html(`<input type="checkbox"/>`);
89
90
  var root_1 = $.from_html(`<div data-scope="table" data-part="cell-main"><button type="button" data-scope="table" data-part="expander"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 6 6 6-6 6"></path></svg></button> <!></div>`);
90
91
  var root_2 = $.from_html(`<div><!></div>`);
91
92
  var root_3 = $.from_html(`<div role="row" data-scope="table" data-part="row"></div>`);
92
- var root_4 = $.from_html(`<div data-scope="table" data-part="toolbar"><input type="search" data-scope="table" data-part="global-filter" aria-label="Filter all columns"/></div>`);
93
- var root_5 = $.from_html(`<div><input type="checkbox" aria-label="Select all rows"/></div>`);
94
- var root_6 = $.from_html(`<input type="text" data-scope="table" data-part="header-filter" placeholder="Filter"/>`);
93
+ var root_4 = $.from_html(`<div data-scope="table" data-part="toolbar"><input type="search" data-scope="table" data-part="global-filter"/></div>`);
94
+ var root_5 = $.from_html(`<div><input type="checkbox"/></div>`);
95
+ var root_6 = $.from_html(`<input type="text" data-scope="table" data-part="header-filter"/>`);
95
96
  var root_7 = $.from_html(`<div><!> <!></div>`);
96
97
  var root_8 = $.from_html(`<div data-scope="table" data-part="empty"> </div>`);
97
98
  var root_9 = $.from_html(`<div role="rowgroup" data-scope="table" data-part="footer"></div>`);
@@ -129,7 +130,10 @@ function DataTable$1($$anchor, $$props) {
129
130
  var input = root();
130
131
  $.remove_input_defaults(input);
131
132
  input.indeterminate = false;
132
- $.template_effect(($0) => $.set_checked(input, $0), [() => row().getIsSelected()]);
133
+ $.template_effect(($0, $1) => {
134
+ $.set_checked(input, $0);
135
+ $.set_attribute(input, "aria-label", $1);
136
+ }, [() => row().getIsSelected(), () => messages().table.selectRow]);
133
137
  $.delegated("change", input, () => row().toggleSelected(!row().getIsSelected()));
134
138
  $.append($$anchor, input);
135
139
  };
@@ -151,7 +155,7 @@ function DataTable$1($$anchor, $$props) {
151
155
  () => String(row().depth),
152
156
  () => row().getIsExpanded() || void 0,
153
157
  () => !row().getCanExpand() || void 0,
154
- () => row().getIsExpanded() ? "Collapse row" : "Expand row"
158
+ () => row().getIsExpanded() ? messages().table.collapseRow : messages().table.expandRow
155
159
  ]);
156
160
  $.delegated("click", button, () => row().toggleExpanded());
157
161
  $.append($$anchor, div_2);
@@ -199,7 +203,9 @@ function DataTable$1($$anchor, $$props) {
199
203
  10,
200
204
  20,
201
205
  50
202
- ]), stickyFooter = $.prop($$props, "stickyFooter", 3, false), globalFilterPlaceholder = $.prop($$props, "globalFilterPlaceholder", 3, "Filter rows"), emptyText = $.prop($$props, "emptyText", 3, "No rows"), reorderable = $.prop($$props, "reorderable", 3, false), rest = $.rest_props($$props, rest_excludes);
206
+ ]), stickyFooter = $.prop($$props, "stickyFooter", 3, false), reorderable = $.prop($$props, "reorderable", 3, false), rest = $.rest_props($$props, rest_excludes);
207
+ const messages = useComponentMessages();
208
+ const globalFilterText = $.derived(() => $$props.globalFilterPlaceholder ?? messages().table.filterAll);
203
209
  const SELECT_COL_ID = "__select";
204
210
  const SELECT_COL_WIDTH = 48;
205
211
  if (virtual() && $$props.merge) console.warn("[DataTable] `virtual` and `merge` are mutually exclusive; merge wins.");
@@ -526,10 +532,11 @@ function DataTable$1($$anchor, $$props) {
526
532
  var input_1 = $.child(div_4);
527
533
  $.remove_input_defaults(input_1);
528
534
  $.reset(div_4);
529
- $.template_effect(($0) => {
530
- $.set_attribute(input_1, "placeholder", globalFilterPlaceholder());
531
- $.set_value(input_1, $0);
532
- }, [() => table.atoms.globalFilter.get() ?? ""]);
535
+ $.template_effect(($0, $1) => {
536
+ $.set_attribute(input_1, "aria-label", $0);
537
+ $.set_attribute(input_1, "placeholder", $.get(globalFilterText));
538
+ $.set_value(input_1, $1);
539
+ }, [() => messages().table.filterAll, () => table.atoms.globalFilter.get() ?? ""]);
533
540
  $.delegated("input", input_1, (e) => table.setGlobalFilter(e.currentTarget.value));
534
541
  $.append($$anchor, div_4);
535
542
  };
@@ -537,6 +544,7 @@ function DataTable$1($$anchor, $$props) {
537
544
  if (filterable() && showToolbar()) $$render(consequent_3);
538
545
  });
539
546
  var div_5 = $.sibling(node_4, 2);
547
+ $.set_attribute(div_5, "tabindex", 0);
540
548
  var div_6 = $.child(div_5);
541
549
  let styles_1;
542
550
  var div_7 = $.child(div_6);
@@ -559,10 +567,11 @@ function DataTable$1($$anchor, $$props) {
559
567
  var input_2 = $.child(div_9);
560
568
  $.remove_input_defaults(input_2);
561
569
  $.reset(div_9);
562
- $.template_effect(($0) => {
570
+ $.template_effect(($0, $1) => {
563
571
  $.set_checked(input_2, $.get(all));
564
572
  input_2.indeterminate = $0;
565
- }, [() => table.getIsSomeRowsSelected() && !$.get(all)]);
573
+ $.set_attribute(input_2, "aria-label", $1);
574
+ }, [() => table.getIsSomeRowsSelected() && !$.get(all), () => messages().table.selectAllRows]);
566
575
  $.delegated("change", input_2, () => table.toggleAllRowsSelected(!$.get(all)));
567
576
  $.append($$anchor, div_9);
568
577
  };
@@ -606,10 +615,15 @@ function DataTable$1($$anchor, $$props) {
606
615
  var input_3 = root_6();
607
616
  $.remove_input_defaults(input_3);
608
617
  $.set_attribute(input_3, "draggable", false);
609
- $.template_effect(($0) => {
610
- $.set_attribute(input_3, "aria-label", `Filter ${$.get(column).id}`);
611
- $.set_value(input_3, $0);
612
- }, [() => $.get(column).getFilterValue() ?? ""]);
618
+ $.template_effect(($0, $1, $2) => {
619
+ $.set_attribute(input_3, "aria-label", $0);
620
+ $.set_value(input_3, $1);
621
+ $.set_attribute(input_3, "placeholder", $2);
622
+ }, [
623
+ () => formatMessage(messages().table.filterColumn, { name: $.get(column).id }),
624
+ () => $.get(column).getFilterValue() ?? "",
625
+ () => messages().command.filter
626
+ ]);
613
627
  $.delegated("click", input_3, (e) => e.stopPropagation());
614
628
  $.event("dragstart", input_3, (e) => e.stopPropagation());
615
629
  $.delegated("input", input_3, (e) => $.get(column).setFilterValue(e.currentTarget.value));
@@ -658,7 +672,7 @@ function DataTable$1($$anchor, $$props) {
658
672
  var consequent_8 = ($$anchor) => {
659
673
  var div_12 = root_8();
660
674
  var text = $.only_child(div_12, true);
661
- $.template_effect(() => $.set_text(text, emptyText()));
675
+ $.template_effect(($0) => $.set_text(text, $0), [() => $$props.emptyText ?? messages().table.empty]);
662
676
  $.append($$anchor, div_12);
663
677
  };
664
678
  $.if(node_11, ($$render) => {
@@ -673,7 +687,7 @@ function DataTable$1($$anchor, $$props) {
673
687
  $.each(div_14, 21, () => $.get(group).headers, (header) => header.column.id, ($$anchor, header) => {
674
688
  var div_15 = root_2();
675
689
  $.attribute_effect(div_15, ($0, $1) => ({
676
- role: "columnheader",
690
+ role: "cell",
677
691
  "data-scope": "table",
678
692
  "data-part": "footer-cell",
679
693
  "data-numeric": $.get(header).column.columnDef.meta?.numeric ? "" : void 0,
@@ -708,7 +722,7 @@ function DataTable$1($$anchor, $$props) {
708
722
  var consequent_12 = ($$anchor) => {
709
723
  const pagination = $.derived(() => table.atoms.pagination.get());
710
724
  const sizeItems = $.derived(() => createListCollection({ items: pageSizeOptions().map((size) => ({
711
- label: `${size} / page`,
725
+ label: formatMessage(messages().table.perPage, { size }),
712
726
  value: String(size)
713
727
  })) }));
714
728
  var div_16 = root_14();
@@ -736,30 +750,35 @@ function DataTable$1($$anchor, $$props) {
736
750
  children: ($$anchor, $$slotProps) => {
737
751
  var fragment_10 = $.comment();
738
752
  var node_17 = $.first_child(fragment_10);
739
- $.component(node_17, () => Select$1.Trigger, ($$anchor, ArkSelect_Trigger) => {
740
- ArkSelect_Trigger($$anchor, {
741
- "aria-label": "Rows per page",
742
- children: ($$anchor, $$slotProps) => {
743
- var fragment_11 = root_11();
744
- var node_18 = $.first_child(fragment_11);
745
- $.component(node_18, () => Select$1.ValueText, ($$anchor, ArkSelect_ValueText) => {
746
- ArkSelect_ValueText($$anchor, {});
747
- });
748
- var node_19 = $.sibling(node_18, 2);
749
- $.component(node_19, () => Select$1.Indicator, ($$anchor, ArkSelect_Indicator) => {
750
- ArkSelect_Indicator($$anchor, {
751
- children: ($$anchor, $$slotProps) => {
752
- var svg = root_10();
753
- $.append($$anchor, svg);
754
- },
755
- $$slots: { default: true }
753
+ {
754
+ let $0 = $.derived(() => messages().table.rowsPerPage);
755
+ $.component(node_17, () => Select$1.Trigger, ($$anchor, ArkSelect_Trigger) => {
756
+ ArkSelect_Trigger($$anchor, {
757
+ get "aria-label"() {
758
+ return $.get($0);
759
+ },
760
+ children: ($$anchor, $$slotProps) => {
761
+ var fragment_11 = root_11();
762
+ var node_18 = $.first_child(fragment_11);
763
+ $.component(node_18, () => Select$1.ValueText, ($$anchor, ArkSelect_ValueText) => {
764
+ ArkSelect_ValueText($$anchor, {});
756
765
  });
757
- });
758
- $.append($$anchor, fragment_11);
759
- },
760
- $$slots: { default: true }
766
+ var node_19 = $.sibling(node_18, 2);
767
+ $.component(node_19, () => Select$1.Indicator, ($$anchor, ArkSelect_Indicator) => {
768
+ ArkSelect_Indicator($$anchor, {
769
+ children: ($$anchor, $$slotProps) => {
770
+ var svg = root_10();
771
+ $.append($$anchor, svg);
772
+ },
773
+ $$slots: { default: true }
774
+ });
775
+ });
776
+ $.append($$anchor, fragment_11);
777
+ },
778
+ $$slots: { default: true }
779
+ });
761
780
  });
762
- });
781
+ }
763
782
  $.append($$anchor, fragment_10);
764
783
  },
765
784
  $$slots: { default: true }
@@ -941,7 +960,7 @@ function DataTable$1($$anchor, $$props) {
941
960
  }
942
961
  $.reset(div_17);
943
962
  $.reset(div_16);
944
- $.template_effect(($0) => $.set_text(text_1, $0), [() => `${table.getRowCount()} rows`]);
963
+ $.template_effect(($0) => $.set_text(text_1, $0), [() => formatMessage(messages().table.rowsCount, { count: table.getRowCount() })]);
945
964
  $.append($$anchor, div_16);
946
965
  };
947
966
  $.if(node_14, ($$render) => {
@@ -1,3 +1,4 @@
1
+ import { n as useComponentMessages } from "./messages-DNzA55pH.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
2
3
  import "svelte/internal/disclose-version";
3
4
  import * as $ from "svelte/internal/client";
@@ -18,6 +19,7 @@ function Terminal$1($$anchor, $$props) {
18
19
  $.push($$props, true);
19
20
  injectComponentStyle("terminal");
20
21
  let lines = $.prop($$props, "lines", 19, () => []), prompt = $.prop($$props, "prompt", 3, "$"), rest = $.rest_props($$props, rest_excludes);
22
+ const messages = useComponentMessages();
21
23
  let draft = $.state("");
22
24
  let scroll = $.state(void 0);
23
25
  $.user_effect(() => {
@@ -54,11 +56,11 @@ function Terminal$1($$anchor, $$props) {
54
56
  $.remove_input_defaults(input);
55
57
  $.reset(div_3);
56
58
  $.reset(div);
57
- $.template_effect(() => {
59
+ $.template_effect(($0) => {
58
60
  $.set_text(text_2, prompt());
59
61
  $.set_attribute(input, "placeholder", $$props.placeholder);
60
- $.set_attribute(input, "aria-label", $$props.label ? `${$$props.label} command line` : "Command line");
61
- });
62
+ $.set_attribute(input, "aria-label", $0);
63
+ }, [() => messages().terminal.commandLine]);
62
64
  $.delegated("keydown", input, (event) => {
63
65
  if (event.key === "Enter") {
64
66
  event.preventDefault();
@@ -1,4 +1,5 @@
1
1
  import { t as Button } from "./button-BCcX7lHq.mjs";
2
+ import { n as useComponentMessages, t as formatMessage } from "./messages-DNzA55pH.mjs";
2
3
  import { Input } from "./components/input/index.mjs";
3
4
  import { injectComponentStyle } from "@bysages/core";
4
5
  import "svelte/internal/disclose-version";
@@ -39,16 +40,19 @@ function Transfer$1($$anchor, $$props) {
39
40
  var node_1 = $.child(div_2);
40
41
  {
41
42
  let $0 = $.derived(() => side() === "source" ? $.get(sourceQuery) : $.get(targetQuery));
42
- let $1 = $.derived(() => `Filter ${title()}`);
43
+ let $1 = $.derived(() => formatMessage(messages().transfer.filter, { name: title() ?? "" }));
44
+ let $2 = $.derived(() => formatMessage(messages().transfer.filter, { name: title() ?? "" }));
43
45
  Input(node_1, {
44
46
  size: "sm",
45
47
  get value() {
46
48
  return $.get($0);
47
49
  },
48
- placeholder: "Filter…",
49
- get "aria-label"() {
50
+ get placeholder() {
50
51
  return $.get($1);
51
52
  },
53
+ get "aria-label"() {
54
+ return $.get($2);
55
+ },
52
56
  oninput: (event) => {
53
57
  const query = event.currentTarget.value;
54
58
  if (side() === "source") $.set(sourceQuery, query, true);
@@ -150,6 +154,7 @@ function Transfer$1($$anchor, $$props) {
150
154
  };
151
155
  injectComponentStyle("transfer");
152
156
  let value = $.prop($$props, "value", 31, () => $.proxy([])), titles = $.prop($$props, "titles", 19, () => ["Source", "Target"]), searchable = $.prop($$props, "searchable", 3, false), disabled = $.prop($$props, "disabled", 3, false), rest = $.rest_props($$props, rest_excludes);
157
+ const messages = useComponentMessages();
153
158
  let checkedSource = $.proxy(/* @__PURE__ */ new Set());
154
159
  let checkedTarget = $.proxy(/* @__PURE__ */ new Set());
155
160
  let sourceQuery = $.state("");
@@ -183,6 +188,7 @@ function Transfer$1($$anchor, $$props) {
183
188
  var node_10 = $.child(div_5);
184
189
  {
185
190
  let $0 = $.derived(() => checkedSource.size === 0 || disabled());
191
+ let $1 = $.derived(() => messages().transfer.moveRight);
186
192
  Button(node_10, {
187
193
  variant: "outline",
188
194
  size: "sm",
@@ -190,7 +196,9 @@ function Transfer$1($$anchor, $$props) {
190
196
  get disabled() {
191
197
  return $.get($0);
192
198
  },
193
- "aria-label": "Move right",
199
+ get "aria-label"() {
200
+ return $.get($1);
201
+ },
194
202
  onclick: () => move(true),
195
203
  children: ($$anchor, $$slotProps) => {
196
204
  var svg_1 = root_5();
@@ -202,6 +210,7 @@ function Transfer$1($$anchor, $$props) {
202
210
  var node_11 = $.sibling(node_10, 2);
203
211
  {
204
212
  let $0 = $.derived(() => checkedTarget.size === 0 || disabled());
213
+ let $1 = $.derived(() => messages().transfer.moveLeft);
205
214
  Button(node_11, {
206
215
  variant: "outline",
207
216
  size: "sm",
@@ -209,7 +218,9 @@ function Transfer$1($$anchor, $$props) {
209
218
  get disabled() {
210
219
  return $.get($0);
211
220
  },
212
- "aria-label": "Move left",
221
+ get "aria-label"() {
222
+ return $.get($1);
223
+ },
213
224
  onclick: () => move(false),
214
225
  children: ($$anchor, $$slotProps) => {
215
226
  var svg_2 = root_6();
@@ -1,3 +1,4 @@
1
+ import { n as useComponentMessages } from "./messages-DNzA55pH.mjs";
1
2
  import { t as Input } from "./Input-CZhcEeFU.mjs";
2
3
  import { injectComponentStyle } from "@bysages/core";
3
4
  import "svelte/internal/disclose-version";
@@ -91,35 +92,27 @@ const row = ($$anchor, node = $.noop, indexPath = $.noop) => {
91
92
  var alternate = ($$anchor) => {
92
93
  var fragment_8 = $.comment();
93
94
  var node_10 = $.first_child(fragment_8);
94
- {
95
- const asChild = ($$anchor, props = $.noop) => {
96
- var span = root_2();
97
- $.attribute_effect(span, ($0) => ({
98
- ...$0,
99
- style: "display: flex; inline-size: 100%"
100
- }), [() => props()()]);
101
- var node_11 = $.child(span);
102
- $.component(node_11, () => TreeView.ItemText, ($$anchor, ArkTreeView_ItemText) => {
103
- ArkTreeView_ItemText($$anchor, {
104
- children: ($$anchor, $$slotProps) => {
105
- $.next();
106
- var text_1 = $.text();
107
- $.template_effect(() => $.set_text(text_1, node().label));
108
- $.append($$anchor, text_1);
109
- },
110
- $$slots: { default: true }
95
+ $.component(node_10, () => TreeView.Item, ($$anchor, ArkTreeView_Item) => {
96
+ ArkTreeView_Item($$anchor, {
97
+ children: ($$anchor, $$slotProps) => {
98
+ var fragment_9 = $.comment();
99
+ var node_11 = $.first_child(fragment_9);
100
+ $.component(node_11, () => TreeView.ItemText, ($$anchor, ArkTreeView_ItemText) => {
101
+ ArkTreeView_ItemText($$anchor, {
102
+ children: ($$anchor, $$slotProps) => {
103
+ $.next();
104
+ var text_1 = $.text();
105
+ $.template_effect(() => $.set_text(text_1, node().label));
106
+ $.append($$anchor, text_1);
107
+ },
108
+ $$slots: { default: true }
109
+ });
111
110
  });
112
- });
113
- $.reset(span);
114
- $.append($$anchor, span);
115
- };
116
- $.component(node_10, () => TreeView.Item, ($$anchor, ArkTreeView_Item) => {
117
- ArkTreeView_Item($$anchor, {
118
- asChild,
119
- $$slots: { asChild: true }
120
- });
111
+ $.append($$anchor, fragment_9);
112
+ },
113
+ $$slots: { default: true }
121
114
  });
122
- }
115
+ });
123
116
  $.append($$anchor, fragment_8);
124
117
  };
125
118
  $.if(node_2, ($$render) => {
@@ -146,15 +139,15 @@ var rest_excludes = /* @__PURE__ */ new Set([
146
139
  ]);
147
140
  var root = $.from_svg(`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg>`);
148
141
  var root_1 = $.from_html(`<!> <!>`, 1);
149
- var root_2 = $.from_html(`<span><!></span>`);
150
- var root_3 = $.from_html(`<button> <span data-part="chevron" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></span></button>`);
151
- var root_4 = $.from_html(`<div data-scope="tree-select" data-part="search"><!></div>`);
152
- var root_5 = $.from_html(`<p data-scope="tree-select" data-part="empty">Nothing matches</p>`);
153
- var root_6 = $.from_html(`<!> <div data-scope="tree-select" data-part="body"><!></div>`, 1);
142
+ var root_2 = $.from_html(`<button> <span data-part="chevron" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></span></button>`);
143
+ var root_3 = $.from_html(`<div data-scope="tree-select" data-part="search"><!></div>`);
144
+ var root_4 = $.from_html(`<p data-scope="tree-select" data-part="empty">Nothing matches</p>`);
145
+ var root_5 = $.from_html(`<!> <div data-scope="tree-select" data-part="body"><!></div>`, 1);
154
146
  function TreeSelect$1($$anchor, $$props) {
155
147
  $.push($$props, true);
156
148
  injectComponentStyle("tree-select");
157
149
  let value = $.prop($$props, "value", 15), placeholder = $.prop($$props, "placeholder", 3, "Select…"), filterable = $.prop($$props, "filterable", 3, false), size = $.prop($$props, "size", 3, "md"), disabled = $.prop($$props, "disabled", 3, false), rest = $.rest_props($$props, rest_excludes);
150
+ const messages = useComponentMessages();
158
151
  let open = $.state(false);
159
152
  let query = $.state("");
160
153
  const filterFns = useFilter({ sensitivity: "base" });
@@ -201,8 +194,8 @@ function TreeSelect$1($$anchor, $$props) {
201
194
  value(selected);
202
195
  $.set(open, false);
203
196
  }
204
- var fragment_10 = $.comment();
205
- var node_12 = $.first_child(fragment_10);
197
+ var fragment_11 = $.comment();
198
+ var node_12 = $.first_child(fragment_11);
206
199
  $.component(node_12, () => Popover.Root, ($$anchor, ArkPopover_Root) => {
207
200
  ArkPopover_Root($$anchor, {
208
201
  get open() {
@@ -217,11 +210,11 @@ function TreeSelect$1($$anchor, $$props) {
217
210
  if (!details.open) $.set(query, "");
218
211
  },
219
212
  children: ($$anchor, $$slotProps) => {
220
- var fragment_11 = root_1();
221
- var node_13 = $.first_child(fragment_11);
213
+ var fragment_12 = root_1();
214
+ var node_13 = $.first_child(fragment_12);
222
215
  {
223
216
  const asChild = ($$anchor, props = $.noop) => {
224
- var button = root_3();
217
+ var button = root_2();
225
218
  $.attribute_effect(button, ($0) => ({
226
219
  ...$0,
227
220
  ...rest,
@@ -252,13 +245,13 @@ function TreeSelect$1($$anchor, $$props) {
252
245
  var node_14 = $.sibling(node_13, 2);
253
246
  Portal(node_14, {
254
247
  children: ($$anchor, $$slotProps) => {
255
- var fragment_12 = $.comment();
256
- var node_15 = $.first_child(fragment_12);
248
+ var fragment_13 = $.comment();
249
+ var node_15 = $.first_child(fragment_13);
257
250
  $.component(node_15, () => Popover.Positioner, ($$anchor, ArkPopover_Positioner) => {
258
251
  ArkPopover_Positioner($$anchor, {
259
252
  children: ($$anchor, $$slotProps) => {
260
- var fragment_13 = $.comment();
261
- var node_16 = $.first_child(fragment_13);
253
+ var fragment_14 = $.comment();
254
+ var node_16 = $.first_child(fragment_14);
262
255
  $.component(node_16, () => Popover.Content, ($$anchor, ArkPopover_Content) => {
263
256
  ArkPopover_Content($$anchor, {
264
257
  "data-scope": "tree-select",
@@ -267,22 +260,30 @@ function TreeSelect$1($$anchor, $$props) {
267
260
  return size();
268
261
  },
269
262
  children: ($$anchor, $$slotProps) => {
270
- var fragment_14 = root_6();
271
- var node_17 = $.first_child(fragment_14);
263
+ var fragment_15 = root_5();
264
+ var node_17 = $.first_child(fragment_15);
272
265
  var consequent_1 = ($$anchor) => {
273
- var div = root_4();
266
+ var div = root_3();
274
267
  var node_18 = $.child(div);
275
- Input(node_18, {
276
- size: "sm",
277
- placeholder: "Filter…",
278
- "aria-label": "Filter options",
279
- get value() {
280
- return $.get(query);
281
- },
282
- set value($$value) {
283
- $.set(query, $$value, true);
284
- }
285
- });
268
+ {
269
+ let $0 = $.derived(() => messages().select.filter);
270
+ let $1 = $.derived(() => messages().select.filter);
271
+ Input(node_18, {
272
+ size: "sm",
273
+ get placeholder() {
274
+ return $.get($0);
275
+ },
276
+ get "aria-label"() {
277
+ return $.get($1);
278
+ },
279
+ get value() {
280
+ return $.get(query);
281
+ },
282
+ set value($$value) {
283
+ $.set(query, $$value, true);
284
+ }
285
+ });
286
+ }
286
287
  $.reset(div);
287
288
  $.append($$anchor, div);
288
289
  };
@@ -292,12 +293,12 @@ function TreeSelect$1($$anchor, $$props) {
292
293
  var div_1 = $.sibling(node_17, 2);
293
294
  var node_19 = $.child(div_1);
294
295
  var consequent_2 = ($$anchor) => {
295
- var p = root_5();
296
+ var p = root_4();
296
297
  $.append($$anchor, p);
297
298
  };
298
299
  var alternate_1 = ($$anchor) => {
299
- var fragment_15 = $.comment();
300
- var node_20 = $.first_child(fragment_15);
300
+ var fragment_16 = $.comment();
301
+ var node_20 = $.first_child(fragment_16);
301
302
  {
302
303
  let $0 = $.derived(() => value() ? [value()] : []);
303
304
  let $1 = $.derived(() => $.get(filtering) ? $.get(expandedWhileFiltering) : void 0);
@@ -319,54 +320,54 @@ function TreeSelect$1($$anchor, $$props) {
319
320
  },
320
321
  onSelectionChange: pick,
321
322
  children: ($$anchor, $$slotProps) => {
322
- var fragment_16 = $.comment();
323
- var node_21 = $.first_child(fragment_16);
323
+ var fragment_17 = $.comment();
324
+ var node_21 = $.first_child(fragment_17);
324
325
  $.component(node_21, () => TreeView.Tree, ($$anchor, ArkTreeView_Tree) => {
325
326
  ArkTreeView_Tree($$anchor, {
326
327
  children: ($$anchor, $$slotProps) => {
327
- var fragment_17 = $.comment();
328
- var node_22 = $.first_child(fragment_17);
328
+ var fragment_18 = $.comment();
329
+ var node_22 = $.first_child(fragment_18);
329
330
  $.each(node_22, 19, () => $.get(visibleCollection).rootNode.children ?? [], (node) => node.value, ($$anchor, node, index) => {
330
331
  row($$anchor, () => $.get(node), () => [$.get(index)]);
331
332
  });
332
- $.append($$anchor, fragment_17);
333
+ $.append($$anchor, fragment_18);
333
334
  },
334
335
  $$slots: { default: true }
335
336
  });
336
337
  });
337
- $.append($$anchor, fragment_16);
338
+ $.append($$anchor, fragment_17);
338
339
  },
339
340
  $$slots: { default: true }
340
341
  });
341
342
  });
342
343
  }
343
- $.append($$anchor, fragment_15);
344
+ $.append($$anchor, fragment_16);
344
345
  };
345
346
  $.if(node_19, ($$render) => {
346
347
  if (($.get(visibleCollection).rootNode.children ?? []).length === 0) $$render(consequent_2);
347
348
  else $$render(alternate_1, -1);
348
349
  });
349
350
  $.reset(div_1);
350
- $.append($$anchor, fragment_14);
351
+ $.append($$anchor, fragment_15);
351
352
  },
352
353
  $$slots: { default: true }
353
354
  });
354
355
  });
355
- $.append($$anchor, fragment_13);
356
+ $.append($$anchor, fragment_14);
356
357
  },
357
358
  $$slots: { default: true }
358
359
  });
359
360
  });
360
- $.append($$anchor, fragment_12);
361
+ $.append($$anchor, fragment_13);
361
362
  },
362
363
  $$slots: { default: true }
363
364
  });
364
- $.append($$anchor, fragment_11);
365
+ $.append($$anchor, fragment_12);
365
366
  },
366
367
  $$slots: { default: true }
367
368
  });
368
369
  });
369
- $.append($$anchor, fragment_10);
370
+ $.append($$anchor, fragment_11);
370
371
  $.pop();
371
372
  }
372
373
  //#endregion
@@ -31,6 +31,7 @@ function VirtualList$1($$anchor, $$props) {
31
31
  var div = root_1();
32
32
  $.attribute_effect(div, () => ({
33
33
  ...rest,
34
+ tabindex: 0,
34
35
  "data-scope": "virtual-list",
35
36
  "data-part": "root",
36
37
  style: `block-size: ${$.get(blockHeight) ?? ""}`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bysages/svelte",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "By Sages Elements components for Svelte — styled by the paper-and-ink design tokens",
5
5
  "keywords": [
6
6
  "accessible",
@@ -79,8 +79,8 @@
79
79
  "@tanstack/svelte-virtual": "3.13.39",
80
80
  "@zag-js/cascade-select": "1.44.0",
81
81
  "@zag-js/svelte": "1.44.0",
82
- "@bysages/core": "0.3.0",
83
- "@bysages/icons": "0.3.0"
82
+ "@bysages/icons": "0.3.1",
83
+ "@bysages/core": "0.3.1"
84
84
  },
85
85
  "devDependencies": {
86
86
  "@json-render/core": "0.21.0",