@ryuzaki13/react-foundation-ui 3.4.3 → 3.5.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 (168) hide show
  1. package/dist/badge/index.js +65 -2
  2. package/dist/badge/index.js.map +1 -0
  3. package/dist/barcode-scanner/index.js +18 -18
  4. package/dist/base-table/index.js +2 -2
  5. package/dist/button/index.js +1 -1
  6. package/dist/check-box/index.js +1 -1
  7. package/dist/chunks/{CalendarView-Dm55k0bN.js → CalendarView-CwbPJG2Y.js} +86 -86
  8. package/dist/chunks/{CalendarView-Dm55k0bN.js.map → CalendarView-CwbPJG2Y.js.map} +1 -1
  9. package/dist/chunks/{ImageViewerRuntime-HGBWp9NM.js → ImageViewerRuntime-DZpgxzF1.js} +25 -25
  10. package/dist/chunks/{ImageViewerRuntime-HGBWp9NM.js.map → ImageViewerRuntime-DZpgxzF1.js.map} +1 -1
  11. package/dist/chunks/{TextEditorLexicalClient-C8nSoz85.js → TextEditorLexicalClient-BRp8jHId.js} +354 -354
  12. package/dist/chunks/{TextEditorLexicalClient-C8nSoz85.js.map → TextEditorLexicalClient-BRp8jHId.js.map} +1 -1
  13. package/dist/chunks/{base-table-BWvKfI2W.js → base-table-BHmboNzl.js} +138 -138
  14. package/dist/chunks/{base-table-BWvKfI2W.js.map → base-table-BHmboNzl.js.map} +1 -1
  15. package/dist/chunks/{button-DF21yxVp.js → button-D7GAU2Wa.js} +20 -20
  16. package/dist/chunks/{button-DF21yxVp.js.map → button-D7GAU2Wa.js.map} +1 -1
  17. package/dist/chunks/{check-box-CZyhzmR0.js → check-box-D_Y6iIWv.js} +19 -19
  18. package/dist/chunks/{check-box-CZyhzmR0.js.map → check-box-D_Y6iIWv.js.map} +1 -1
  19. package/dist/chunks/{context-menu-DgvXGCuI.js → context-menu-BQePxRpu.js} +159 -159
  20. package/dist/chunks/{context-menu-DgvXGCuI.js.map → context-menu-BQePxRpu.js.map} +1 -1
  21. package/dist/chunks/{date-input-D7aBsPJc.js → date-input-Crijdmmq.js} +67 -67
  22. package/dist/chunks/{date-input-D7aBsPJc.js.map → date-input-Crijdmmq.js.map} +1 -1
  23. package/dist/chunks/{date-range-preset-select-BLnY47cv.js → date-range-preset-select-CyzGMvVp.js} +6 -6
  24. package/dist/chunks/{date-range-preset-select-BLnY47cv.js.map → date-range-preset-select-CyzGMvVp.js.map} +1 -1
  25. package/dist/chunks/{dialog-1Z1zCNCe.js → dialog-BcQGVNbu.js} +13 -13
  26. package/dist/chunks/{dialog-1Z1zCNCe.js.map → dialog-BcQGVNbu.js.map} +1 -1
  27. package/dist/chunks/{flex-C7njxZ74.js → flex-DtXK7OM4.js} +29 -29
  28. package/dist/chunks/{flex-C7njxZ74.js.map → flex-DtXK7OM4.js.map} +1 -1
  29. package/dist/chunks/{floating-arrow-DPKwJfww.js → floating-arrow-DKUKx2ZQ.js} +7 -7
  30. package/dist/chunks/{floating-arrow-DPKwJfww.js.map → floating-arrow-DKUKx2ZQ.js.map} +1 -1
  31. package/dist/chunks/{input-DSPKgiCK.js → input-CuRK9Vbz.js} +78 -78
  32. package/dist/chunks/{input-DSPKgiCK.js.map → input-CuRK9Vbz.js.map} +1 -1
  33. package/dist/chunks/{input-files-tIS17-zX.js → input-files-B8j6Pb_M.js} +31 -31
  34. package/dist/chunks/{input-files-tIS17-zX.js.map → input-files-B8j6Pb_M.js.map} +1 -1
  35. package/dist/chunks/{misc-DeGboAt-.js → misc-CGQOXXCy.js} +110 -110
  36. package/dist/chunks/{misc-DeGboAt-.js.map → misc-CGQOXXCy.js.map} +1 -1
  37. package/dist/chunks/{modal-dplfAaER.js → modal-febBsMyR.js} +58 -58
  38. package/dist/chunks/{modal-dplfAaER.js.map → modal-febBsMyR.js.map} +1 -1
  39. package/dist/chunks/{picker-lvm82d0A.js → picker-BA6okKnz.js} +91 -91
  40. package/dist/chunks/{picker-lvm82d0A.js.map → picker-BA6okKnz.js.map} +1 -1
  41. package/dist/chunks/popover-yl5DVe06.js +245 -0
  42. package/dist/chunks/{popover-Bne-Ljbs.js.map → popover-yl5DVe06.js.map} +1 -1
  43. package/dist/chunks/radio-group-CW-K1n9c.js +125 -0
  44. package/dist/chunks/{radio-group-sSnlYjAX.js.map → radio-group-CW-K1n9c.js.map} +1 -1
  45. package/dist/chunks/select-DblNSc5H.js +363 -0
  46. package/dist/chunks/{select-aTGupQan.js.map → select-DblNSc5H.js.map} +1 -1
  47. package/dist/chunks/{separator-B72Aq-6a.js → separator-CIqnk2z9.js} +2 -2
  48. package/dist/chunks/{separator-B72Aq-6a.js.map → separator-CIqnk2z9.js.map} +1 -1
  49. package/dist/chunks/{sortable-BKIwlqhI.js → sortable-CQmMHAF8.js} +38 -38
  50. package/dist/chunks/{sortable-BKIwlqhI.js.map → sortable-CQmMHAF8.js.map} +1 -1
  51. package/dist/chunks/{table-DxoSOvQK.js → table-BnvjPaE1.js} +18 -18
  52. package/dist/chunks/{table-DxoSOvQK.js.map → table-BnvjPaE1.js.map} +1 -1
  53. package/dist/chunks/{table-column-interactions-DzEvVuXe.js → table-column-interactions-Do8LFtiv.js} +20 -20
  54. package/dist/chunks/{table-column-interactions-DzEvVuXe.js.map → table-column-interactions-Do8LFtiv.js.map} +1 -1
  55. package/dist/chunks/{types-D9Wj9wrg.js → types-CxXyru6U.js} +21 -21
  56. package/dist/chunks/{types-D9Wj9wrg.js.map → types-CxXyru6U.js.map} +1 -1
  57. package/dist/chunks/{useODataSelectBase-DR4PrY1j.js → useODataSelectBase-DwR4Lfv-.js} +5 -5
  58. package/dist/chunks/{useODataSelectBase-DR4PrY1j.js.map → useODataSelectBase-DwR4Lfv-.js.map} +1 -1
  59. package/dist/chunks/{wheel-picker-FS58cRsQ.js → wheel-picker-DUHGy7wE.js} +23 -23
  60. package/dist/chunks/{wheel-picker-FS58cRsQ.js.map → wheel-picker-DUHGy7wE.js.map} +1 -1
  61. package/dist/context-menu/index.js +1 -1
  62. package/dist/date-input/index.js +2 -2
  63. package/dist/date-range-preset-select/index.js +1 -1
  64. package/dist/date-time-input/index.js +122 -122
  65. package/dist/date-time-input/index.js.map +1 -1
  66. package/dist/detail/index.js +22 -22
  67. package/dist/dialog/index.js +1 -1
  68. package/dist/disclosure/index.js +9 -9
  69. package/dist/drop-zone/index.js +21 -21
  70. package/dist/errors/index.js +50 -50
  71. package/dist/expandable-action-panel/index.js +24 -24
  72. package/dist/flex/index.js +1 -1
  73. package/dist/flex/useFlexClasses.d.ts +1 -1
  74. package/dist/floating-arrow/index.js +1 -1
  75. package/dist/fullscreen-portal/index.js +8 -8
  76. package/dist/image/index.js +119 -119
  77. package/dist/input/index.js +1 -1
  78. package/dist/input-date-time/index.js +55 -55
  79. package/dist/input-file/index.js +16 -16
  80. package/dist/input-files/index.js +1 -1
  81. package/dist/input-image/index.js +17 -17
  82. package/dist/input-search/index.js +30 -2
  83. package/dist/input-search/index.js.map +1 -0
  84. package/dist/layout-picker/index.js +93 -93
  85. package/dist/layout-picker/index.js.map +1 -1
  86. package/dist/list/index.js +39 -39
  87. package/dist/listbox/index.js +33 -33
  88. package/dist/misc/index.js +1 -1
  89. package/dist/modal/index.js +1 -1
  90. package/dist/multi-select/index.js +466 -2
  91. package/dist/multi-select/index.js.map +1 -0
  92. package/dist/notifications/index.js +45 -45
  93. package/dist/option/index.js +30 -30
  94. package/dist/period-select/index.js +7 -7
  95. package/dist/picker/index.js +1 -1
  96. package/dist/popover/index.js +1 -1
  97. package/dist/preset-range-date-input/index.js +10 -10
  98. package/dist/preset-select/index.js +1 -1
  99. package/dist/radio-button/index.js +9 -9
  100. package/dist/radio-group/index.js +1 -1
  101. package/dist/select/index.js +1 -1
  102. package/dist/separator/index.js +1 -1
  103. package/dist/simple-table/index.js +5 -5
  104. package/dist/slider/index.js +82 -82
  105. package/dist/slider/index.js.map +1 -1
  106. package/dist/sortable/index.js +1 -1
  107. package/dist/splitter/index.js +55 -55
  108. package/dist/state-select/index.js +17 -17
  109. package/dist/styles.css +1 -1
  110. package/dist/switch/index.js +18 -18
  111. package/dist/table/index.js +1 -1
  112. package/dist/table-column-interactions/index.js +1 -1
  113. package/dist/table-editor/index.js +99 -99
  114. package/dist/table-sorting/index.js +13 -13
  115. package/dist/tabs/index.js +83 -83
  116. package/dist/tag-input/index.js +58 -58
  117. package/dist/tag-input/index.js.map +1 -1
  118. package/dist/text/index.js +18 -18
  119. package/dist/text-editor/index.js +3 -3
  120. package/dist/textarea/index.js +1 -1
  121. package/dist/three-scene/index.js +7 -7
  122. package/dist/toggle/index.js +20 -20
  123. package/dist/toolbar/index.js +16 -16
  124. package/dist/tree/index.js +24 -24
  125. package/dist/tree-select/index.js +189 -189
  126. package/dist/tree-select/index.js.map +1 -1
  127. package/dist/tree-table/index.js +33 -33
  128. package/dist/tree-table/index.js.map +1 -1
  129. package/dist/wheel-picker/index.js +1 -1
  130. package/package.json +1 -5
  131. package/storybook-static/project.json +1 -1
  132. package/dist/advanced-search/index.d.ts +0 -3
  133. package/dist/advanced-search/index.d.ts.map +0 -1
  134. package/dist/advanced-search/index.js +0 -399
  135. package/dist/advanced-search/index.js.map +0 -1
  136. package/dist/advanced-search/lib/index.d.ts +0 -2
  137. package/dist/advanced-search/lib/index.d.ts.map +0 -1
  138. package/dist/advanced-search/lib/searchParts.d.ts +0 -3
  139. package/dist/advanced-search/lib/searchParts.d.ts.map +0 -1
  140. package/dist/advanced-search/model/index.d.ts +0 -5
  141. package/dist/advanced-search/model/index.d.ts.map +0 -1
  142. package/dist/advanced-search/model/types.d.ts +0 -55
  143. package/dist/advanced-search/model/types.d.ts.map +0 -1
  144. package/dist/advanced-search/model/useAdvancedSearch.d.ts +0 -11
  145. package/dist/advanced-search/model/useAdvancedSearch.d.ts.map +0 -1
  146. package/dist/advanced-search/model/useAdvancedSearchInitialSelected.d.ts +0 -6
  147. package/dist/advanced-search/model/useAdvancedSearchInitialSelected.d.ts.map +0 -1
  148. package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts +0 -13
  149. package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts.map +0 -1
  150. package/dist/advanced-search/ui/AdvancedSearchModal.d.ts +0 -23
  151. package/dist/advanced-search/ui/AdvancedSearchModal.d.ts.map +0 -1
  152. package/dist/advanced-search/ui/AdvancedSearchModalSession.d.ts +0 -16
  153. package/dist/advanced-search/ui/AdvancedSearchModalSession.d.ts.map +0 -1
  154. package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts +0 -9
  155. package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts.map +0 -1
  156. package/dist/advanced-search/ui/AdvancedSearchSelectUI.d.ts +0 -9
  157. package/dist/advanced-search/ui/AdvancedSearchSelectUI.d.ts.map +0 -1
  158. package/dist/advanced-search/ui/index.d.ts +0 -2
  159. package/dist/advanced-search/ui/index.d.ts.map +0 -1
  160. package/dist/chunks/badge-6mXO9BWP.js +0 -65
  161. package/dist/chunks/badge-6mXO9BWP.js.map +0 -1
  162. package/dist/chunks/input-search-Cat4c7SM.js +0 -30
  163. package/dist/chunks/input-search-Cat4c7SM.js.map +0 -1
  164. package/dist/chunks/multi-select-BZ9N6Dal.js +0 -466
  165. package/dist/chunks/multi-select-BZ9N6Dal.js.map +0 -1
  166. package/dist/chunks/popover-Bne-Ljbs.js +0 -245
  167. package/dist/chunks/radio-group-sSnlYjAX.js +0 -125
  168. package/dist/chunks/select-aTGupQan.js +0 -363
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "../chunks/ui.module-oRwY3Zli.js";
2
- import { c as t, d as n, i as r, r as i } from "../chunks/input-DSPKgiCK.js";
3
- import { useCallback as a, useMemo as o, useRef as s, useState as c } from "react";
4
- import { cn as l } from "@ryuzaki13/react-foundation-lib/utils";
5
- import { jsx as u } from "react/jsx-runtime";
2
+ import { c as t, d as n, i as r, r as i } from "../chunks/input-CuRK9Vbz.js";
3
+ import { cn as a } from "@ryuzaki13/react-foundation-lib/utils";
4
+ import { jsx as o } from "react/jsx-runtime";
5
+ import { useCallback as s, useMemo as c, useRef as l, useState as u } from "react";
6
6
  import { dateToIndexedSegmentValues as d, indexedSegmentsToDate as f, parseDateSegmentMask as p } from "@ryuzaki13/react-foundation-lib/date-segments";
7
7
  var m = {
8
8
  segmentInput: "t1iysX",
@@ -43,62 +43,62 @@ function y(e) {
43
43
  }), t;
44
44
  }
45
45
  function b({ mask: e, value: t, onChange: n, onClearError: r, disabled: i }) {
46
- let l = o(() => h(e), [e]), u = o(() => y(l), [l]), d = o(() => v(t, l), [t, l]), [f, p] = c(null), [m, g] = c(() => t?.getTime()), b = t?.getTime();
46
+ let a = c(() => h(e), [e]), o = c(() => y(a), [a]), d = c(() => v(t, a), [t, a]), [f, p] = u(null), [m, g] = u(() => t?.getTime()), b = t?.getTime();
47
47
  b !== m && (g(b), p(null));
48
- let x = f ?? d, S = s(/* @__PURE__ */ new Map()), C = s(0), [w, T] = c(!1), E = a((e) => {
48
+ let x = f ?? d, S = l(/* @__PURE__ */ new Map()), C = l(0), [w, T] = u(!1), E = s((e) => {
49
49
  let t = /* @__PURE__ */ new Map();
50
- l.forEach((n, r) => {
50
+ a.forEach((n, r) => {
51
51
  n.kind === "editable" && t.set(n.type, e.get(r) ?? "");
52
52
  });
53
- let r = _(l, t);
53
+ let r = _(a, t);
54
54
  r !== null && n(r);
55
- }, [l, n]), D = a((e, t = !0) => {
55
+ }, [a, n]), D = s((e, t = !0) => {
56
56
  let n = S.current.get(e);
57
57
  n && (n.focus(), t && requestAnimationFrame(() => n.select()));
58
- }, []), O = a((e) => {
59
- let t = u.indexOf(e);
60
- return t < u.length - 1 ? u[t + 1] : null;
61
- }, [u]), k = a((e) => {
62
- let t = u.indexOf(e);
63
- return t > 0 ? u[t - 1] : null;
64
- }, [u]), A = a((e, t) => e.padStart(t.length, "0"), []);
58
+ }, []), O = s((e) => {
59
+ let t = o.indexOf(e);
60
+ return t < o.length - 1 ? o[t + 1] : null;
61
+ }, [o]), k = s((e) => {
62
+ let t = o.indexOf(e);
63
+ return t > 0 ? o[t - 1] : null;
64
+ }, [o]), A = s((e, t) => e.padStart(t.length, "0"), []);
65
65
  return {
66
- segments: l,
66
+ segments: a,
67
67
  segmentValues: x,
68
68
  isFocused: w,
69
- registerRef: a((e) => (t) => {
69
+ registerRef: s((e) => (t) => {
70
70
  t ? S.current.set(e, t) : S.current.delete(e);
71
71
  }, []),
72
- handleInput: a((e) => (t) => {
72
+ handleInput: s((e) => (t) => {
73
73
  if (i) return;
74
- let n = l[e], a = t.target.value.replace(/\D/g, "").slice(0, n.length), o = new Map(x);
75
- if (o.set(e, a), p(o), r?.(), a.length === n.length) {
74
+ let n = a[e], o = t.target.value.replace(/\D/g, "").slice(0, n.length), s = new Map(x);
75
+ if (s.set(e, o), p(s), r?.(), o.length === n.length) {
76
76
  let t = O(e);
77
77
  t !== null && requestAnimationFrame(() => D(t));
78
78
  }
79
- E(o);
79
+ E(s);
80
80
  }, [
81
81
  i,
82
- l,
82
+ a,
83
83
  x,
84
84
  r,
85
85
  O,
86
86
  D,
87
87
  E
88
88
  ]),
89
- handleKeyDown: a((e) => (t) => {
89
+ handleKeyDown: s((e) => (t) => {
90
90
  if (i) return;
91
- let n = l[e], r = x.get(e) ?? "", a = t.currentTarget;
91
+ let n = a[e], r = x.get(e) ?? "", o = t.currentTarget;
92
92
  switch (t.key) {
93
93
  case "ArrowRight":
94
- if (a.selectionStart === r.length || r === "") {
94
+ if (o.selectionStart === r.length || r === "") {
95
95
  t.preventDefault();
96
96
  let n = O(e);
97
97
  n !== null && D(n);
98
98
  }
99
99
  break;
100
100
  case "ArrowLeft":
101
- if (a.selectionStart === 0 || r === "") {
101
+ if (o.selectionStart === 0 || r === "") {
102
102
  t.preventDefault();
103
103
  let n = k(e);
104
104
  n !== null && D(n);
@@ -108,16 +108,16 @@ function b({ mask: e, value: t, onChange: n, onClearError: r, disabled: i }) {
108
108
  t.preventDefault();
109
109
  let i = r === "" ? n.min : parseInt(r, 10) + 1;
110
110
  i > n.max && (i = n.min);
111
- let o = A(i.toString(), n), s = new Map(x);
112
- s.set(e, o), p(s), E(s), requestAnimationFrame(() => a.select());
111
+ let a = A(i.toString(), n), s = new Map(x);
112
+ s.set(e, a), p(s), E(s), requestAnimationFrame(() => o.select());
113
113
  break;
114
114
  }
115
115
  case "ArrowDown": {
116
116
  t.preventDefault();
117
117
  let i = r === "" ? n.max : parseInt(r, 10) - 1;
118
118
  i < n.min && (i = n.max);
119
- let o = A(i.toString(), n), s = new Map(x);
120
- s.set(e, o), p(s), E(s), requestAnimationFrame(() => a.select());
119
+ let a = A(i.toString(), n), s = new Map(x);
120
+ s.set(e, a), p(s), E(s), requestAnimationFrame(() => o.select());
121
121
  break;
122
122
  }
123
123
  case "Backspace":
@@ -136,7 +136,7 @@ function b({ mask: e, value: t, onChange: n, onClearError: r, disabled: i }) {
136
136
  }
137
137
  }, [
138
138
  i,
139
- l,
139
+ a,
140
140
  x,
141
141
  O,
142
142
  k,
@@ -144,22 +144,22 @@ function b({ mask: e, value: t, onChange: n, onClearError: r, disabled: i }) {
144
144
  A,
145
145
  E
146
146
  ]),
147
- handleFocus: a(() => (e) => {
147
+ handleFocus: s(() => (e) => {
148
148
  e.target.select();
149
149
  }, []),
150
- handleContainerFocus: a(() => {
150
+ handleContainerFocus: s(() => {
151
151
  clearTimeout(C.current), T(!0);
152
152
  }, []),
153
- handleContainerBlur: a(() => {
153
+ handleContainerBlur: s(() => {
154
154
  C.current = window.setTimeout(() => {
155
155
  T(!1), p(null);
156
156
  }, 0);
157
157
  }, []),
158
- focusFirstEmpty: a(() => {
159
- let e = u.find((e) => !(x.get(e) ?? "")) ?? u[u.length - 1];
158
+ focusFirstEmpty: s(() => {
159
+ let e = o.find((e) => !(x.get(e) ?? "")) ?? o[o.length - 1];
160
160
  e !== void 0 && D(e);
161
161
  }, [
162
- u,
162
+ o,
163
163
  x,
164
164
  D
165
165
  ])
@@ -167,20 +167,20 @@ function b({ mask: e, value: t, onChange: n, onClearError: r, disabled: i }) {
167
167
  }
168
168
  //#endregion
169
169
  //#region src/input-date-time/InputDateTime.tsx
170
- function x({ mask: a, value: o, onChange: s, label: c, description: d, disabled: f, size: p, className: h, error: g, onClearError: _, onClear: v, "aria-label": y }) {
170
+ function x({ mask: s, value: c, onChange: l, label: u, description: d, disabled: f, size: p, className: h, error: g, onClearError: _, onClear: v, "aria-label": y }) {
171
171
  let { segments: x, segmentValues: S, registerRef: C, handleInput: w, handleKeyDown: T, handleFocus: E, handleContainerFocus: D, handleContainerBlur: O, focusFirstEmpty: k } = b({
172
- mask: a,
173
- value: o,
174
- onChange: s,
172
+ mask: s,
173
+ value: c,
174
+ onChange: l,
175
175
  onClearError: _,
176
176
  disabled: f
177
177
  }), { controlId: A, labelId: j, descriptionId: M, errorId: N, describedBy: P } = n({
178
- hasLabel: c != null,
178
+ hasLabel: u != null,
179
179
  hasDescription: !!d,
180
180
  hasError: !!g
181
181
  });
182
- return /* @__PURE__ */ u(t, {
183
- label: c,
182
+ return /* @__PURE__ */ o(t, {
183
+ label: u,
184
184
  description: d,
185
185
  disabled: f,
186
186
  className: h,
@@ -189,20 +189,20 @@ function x({ mask: a, value: o, onChange: s, label: c, description: d, disabled:
189
189
  labelId: j,
190
190
  descriptionId: M,
191
191
  errorId: N,
192
- children: /* @__PURE__ */ u(r, {
193
- endAdornment: v ? /* @__PURE__ */ u(i, {
192
+ children: /* @__PURE__ */ o(r, {
193
+ endAdornment: v ? /* @__PURE__ */ o(i, {
194
194
  onClick: v,
195
195
  disabled: f
196
196
  }) : void 0,
197
197
  endAdornmentWidth: v ? "var(--control-height)" : void 0,
198
- children: ({ controlClassName: t }) => /* @__PURE__ */ u("div", {
198
+ children: ({ controlClassName: t }) => /* @__PURE__ */ o("div", {
199
199
  id: A,
200
- className: l(e.uiInputControlFake, t),
200
+ className: a(e.uiInputControlFake, t),
201
201
  "data-invalid": g ? "" : void 0,
202
202
  "data-disabled": f || void 0,
203
203
  role: "group",
204
204
  "aria-invalid": !!g || void 0,
205
- "aria-label": y || (typeof c == "string" ? c : void 0),
205
+ "aria-label": y || (typeof u == "string" ? u : void 0),
206
206
  "aria-labelledby": y ? void 0 : j,
207
207
  "aria-describedby": P,
208
208
  onFocus: D,
@@ -210,11 +210,11 @@ function x({ mask: a, value: o, onChange: s, label: c, description: d, disabled:
210
210
  onClick: (e) => {
211
211
  e.target === e.currentTarget && k();
212
212
  },
213
- children: x.map((e, t) => e.kind === "literal" ? /* @__PURE__ */ u("span", {
213
+ children: x.map((e, t) => e.kind === "literal" ? /* @__PURE__ */ o("span", {
214
214
  className: m.separator,
215
215
  "data-disabled": f || void 0,
216
216
  children: e.text
217
- }, t) : /* @__PURE__ */ u("input", {
217
+ }, t) : /* @__PURE__ */ o("input", {
218
218
  ref: C(t),
219
219
  type: "text",
220
220
  inputMode: "numeric",
@@ -235,19 +235,19 @@ function x({ mask: a, value: o, onChange: s, label: c, description: d, disabled:
235
235
  });
236
236
  }
237
237
  function S({ mask: e = "YYYY.MM.DD", ...t }) {
238
- return /* @__PURE__ */ u(x, {
238
+ return /* @__PURE__ */ o(x, {
239
239
  mask: e,
240
240
  ...t
241
241
  });
242
242
  }
243
243
  function C({ mask: e = "hh:mm", ...t }) {
244
- return /* @__PURE__ */ u(x, {
244
+ return /* @__PURE__ */ o(x, {
245
245
  mask: e,
246
246
  ...t
247
247
  });
248
248
  }
249
249
  function w({ mask: e = "YYYY.MM.DD hh:mm", ...t }) {
250
- return /* @__PURE__ */ u(x, {
250
+ return /* @__PURE__ */ o(x, {
251
251
  mask: e,
252
252
  ...t
253
253
  });
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "../chunks/ui.module-oRwY3Zli.js";
2
- import { c as t, d as n, i as r, r as i } from "../chunks/input-DSPKgiCK.js";
3
- import { useCallback as a, useRef as o } from "react";
4
- import { cn as s, handleKeyboardActivation as c } from "@ryuzaki13/react-foundation-lib/utils";
5
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
2
+ import { c as t, d as n, i as r, r as i } from "../chunks/input-CuRK9Vbz.js";
3
+ import { cn as a, handleKeyboardActivation as o } from "@ryuzaki13/react-foundation-lib/utils";
4
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
5
+ import { useCallback as l, useRef as u } from "react";
6
6
  import { ReadFileError as d, assertValidAccept as f, assertValidAllowedMime as p, readFile as m } from "@ryuzaki13/react-foundation-lib/file";
7
7
  var h = {
8
8
  control: "Ggxyuj",
@@ -14,11 +14,11 @@ var h = {
14
14
  function g(g) {
15
15
  let { value: _, onClear: v, onReadError: y, accept: b, allowedMime: x, maxBytes: S, label: C, description: w, placeholder: T = "Выберите файл", disabled: E, size: D, error: O, onClearError: k, className: A } = g;
16
16
  p(x), f(b);
17
- let j = o(null), { controlId: M, labelId: N, descriptionId: P, errorId: F, describedBy: I } = n({
17
+ let j = u(null), { controlId: M, labelId: N, descriptionId: P, errorId: F, describedBy: I } = n({
18
18
  hasLabel: C != null,
19
19
  hasDescription: !!w,
20
20
  hasError: !!O
21
- }), L = a(async (e) => {
21
+ }), L = l(async (e) => {
22
22
  let t = e.target.files?.[0];
23
23
  if (t) {
24
24
  e.target.value = "", O && k && k();
@@ -48,10 +48,10 @@ function g(g) {
48
48
  y,
49
49
  O,
50
50
  k
51
- ]), R = a(() => {
51
+ ]), R = l(() => {
52
52
  j.current?.click();
53
53
  }, []);
54
- return /* @__PURE__ */ u(t, {
54
+ return /* @__PURE__ */ c(t, {
55
55
  label: C,
56
56
  description: w,
57
57
  disabled: E,
@@ -62,7 +62,7 @@ function g(g) {
62
62
  labelId: N,
63
63
  descriptionId: P,
64
64
  errorId: F,
65
- children: [/* @__PURE__ */ l("input", {
65
+ children: [/* @__PURE__ */ s("input", {
66
66
  ref: j,
67
67
  id: M,
68
68
  type: "file",
@@ -71,27 +71,27 @@ function g(g) {
71
71
  className: h.hiddenInput,
72
72
  onChange: L,
73
73
  tabIndex: -1
74
- }), /* @__PURE__ */ l(r, {
75
- endAdornment: v ? /* @__PURE__ */ l(i, {
74
+ }), /* @__PURE__ */ s(r, {
75
+ endAdornment: v ? /* @__PURE__ */ s(i, {
76
76
  onClick: v,
77
77
  disabled: E
78
78
  }) : void 0,
79
79
  endAdornmentWidth: v ? "var(--control-height)" : void 0,
80
- children: ({ controlClassName: t }) => /* @__PURE__ */ l("div", {
80
+ children: ({ controlClassName: t }) => /* @__PURE__ */ s("div", {
81
81
  role: "button",
82
82
  tabIndex: E ? -1 : 0,
83
83
  onClick: R,
84
- onKeyDown: (e) => c(e, R, { disabled: E }),
85
- className: s(e.uiInputControl, h.control, t, !!O && e.invalid),
84
+ onKeyDown: (e) => o(e, R, { disabled: E }),
85
+ className: a(e.uiInputControl, h.control, t, !!O && e.invalid),
86
86
  "data-disabled": E || void 0,
87
87
  "aria-invalid": !!O || void 0,
88
88
  "aria-disabled": E,
89
89
  "aria-labelledby": N,
90
90
  "aria-describedby": I,
91
- children: _ ? /* @__PURE__ */ l("span", {
91
+ children: _ ? /* @__PURE__ */ s("span", {
92
92
  className: h.fileName,
93
93
  children: _.meta.name
94
- }) : /* @__PURE__ */ l("span", {
94
+ }) : /* @__PURE__ */ s("span", {
95
95
  className: e.uiPlaceholder,
96
96
  children: T
97
97
  })
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../chunks/input-files-tIS17-zX.js";
1
+ import { n as e, t } from "../chunks/input-files-B8j6Pb_M.js";
2
2
  export { t as InputFiles, e as InputFilesList };
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "../chunks/ui.module-oRwY3Zli.js";
2
- import { c as t, d as n, i as r, r as i } from "../chunks/input-DSPKgiCK.js";
3
- import { useCallback as a, useMemo as o, useRef as s } from "react";
4
- import { cn as c, handleKeyboardActivation as l } from "@ryuzaki13/react-foundation-lib/utils";
5
- import { jsx as u, jsxs as d } from "react/jsx-runtime";
2
+ import { c as t, d as n, i as r, r as i } from "../chunks/input-CuRK9Vbz.js";
3
+ import { cn as a, handleKeyboardActivation as o } from "@ryuzaki13/react-foundation-lib/utils";
4
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
5
+ import { useCallback as l, useMemo as u, useRef as d } from "react";
6
6
  import { ReadImageError as f, readImageFile as p } from "@ryuzaki13/react-foundation-lib/file";
7
7
  var m = {
8
8
  control: "EV-Vji",
@@ -12,11 +12,11 @@ var m = {
12
12
  //#endregion
13
13
  //#region src/input-image/InputImage.tsx
14
14
  function h({ value: h, onChange: g, onClear: _, onReadError: v, allowedMime: y, maxBytes: b, readMode: x, label: S, description: C, placeholder: w = "Выберите изображение", disabled: T, size: E, error: D, onClearError: O, className: k }) {
15
- let A = s(null), { controlId: j, labelId: M, descriptionId: N, errorId: P, describedBy: F } = n({
15
+ let A = d(null), { controlId: j, labelId: M, descriptionId: N, errorId: P, describedBy: F } = n({
16
16
  hasLabel: S != null,
17
17
  hasDescription: !!C,
18
18
  hasError: !!D
19
- }), I = a((e) => x === "array-buffer" ? p(e, {
19
+ }), I = l((e) => x === "array-buffer" ? p(e, {
20
20
  allowedMime: y,
21
21
  maxBytes: b,
22
22
  mode: "array-buffer"
@@ -27,7 +27,7 @@ function h({ value: h, onChange: g, onClear: _, onReadError: v, allowedMime: y,
27
27
  y,
28
28
  b,
29
29
  x
30
- ]), L = o(() => y && y.length > 0 ? y.join(",") : "image/*", [y]), R = a(async (e) => {
30
+ ]), L = u(() => y && y.length > 0 ? y.join(",") : "image/*", [y]), R = l(async (e) => {
31
31
  let t = e.target.files?.[0];
32
32
  if (t) {
33
33
  e.target.value = "", D && O && O();
@@ -43,10 +43,10 @@ function h({ value: h, onChange: g, onClear: _, onReadError: v, allowedMime: y,
43
43
  v,
44
44
  D,
45
45
  O
46
- ]), z = a(() => {
46
+ ]), z = l(() => {
47
47
  A.current?.click();
48
48
  }, []);
49
- return /* @__PURE__ */ d(t, {
49
+ return /* @__PURE__ */ c(t, {
50
50
  label: S,
51
51
  description: C,
52
52
  disabled: T,
@@ -57,7 +57,7 @@ function h({ value: h, onChange: g, onClear: _, onReadError: v, allowedMime: y,
57
57
  labelId: M,
58
58
  descriptionId: N,
59
59
  errorId: P,
60
- children: [/* @__PURE__ */ u("input", {
60
+ children: [/* @__PURE__ */ s("input", {
61
61
  ref: A,
62
62
  id: j,
63
63
  type: "file",
@@ -66,27 +66,27 @@ function h({ value: h, onChange: g, onClear: _, onReadError: v, allowedMime: y,
66
66
  className: m.hiddenInput,
67
67
  onChange: R,
68
68
  tabIndex: -1
69
- }), /* @__PURE__ */ u(r, {
70
- endAdornment: _ ? /* @__PURE__ */ u(i, {
69
+ }), /* @__PURE__ */ s(r, {
70
+ endAdornment: _ ? /* @__PURE__ */ s(i, {
71
71
  onClick: _,
72
72
  disabled: T
73
73
  }) : void 0,
74
74
  endAdornmentWidth: _ ? "var(--control-height)" : void 0,
75
- children: ({ controlClassName: t }) => /* @__PURE__ */ u("div", {
75
+ children: ({ controlClassName: t }) => /* @__PURE__ */ s("div", {
76
76
  role: "button",
77
77
  tabIndex: T ? -1 : 0,
78
78
  onClick: z,
79
- onKeyDown: (e) => l(e, z, { disabled: T }),
80
- className: c(e.uiInputControl, m.control, t, !!D && "invalid"),
79
+ onKeyDown: (e) => o(e, z, { disabled: T }),
80
+ className: a(e.uiInputControl, m.control, t, !!D && "invalid"),
81
81
  "data-disabled": T || void 0,
82
82
  "aria-invalid": !!D || void 0,
83
83
  "aria-disabled": T,
84
84
  "aria-labelledby": M,
85
85
  "aria-describedby": F,
86
- children: h ? /* @__PURE__ */ u("span", {
86
+ children: h ? /* @__PURE__ */ s("span", {
87
87
  className: m.fileName,
88
88
  children: h.meta.name
89
- }) : /* @__PURE__ */ u("span", {
89
+ }) : /* @__PURE__ */ s("span", {
90
90
  className: e.uiPlaceholder,
91
91
  children: w
92
92
  })
@@ -1,2 +1,30 @@
1
- import { t as e } from "../chunks/input-search-Cat4c7SM.js";
2
- export { e as InputSearch };
1
+ import { n as e } from "../chunks/input-CuRK9Vbz.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ import { useState as n } from "react";
4
+ //#region src/input-search/InputSearch.tsx
5
+ function r({ onChange: r, ...i }) {
6
+ let [a, o] = n(() => i.defaultValue ?? i.value ?? ""), [s, c] = n(() => i.defaultValue ?? i.value ?? ""), l = (e) => {
7
+ let t = e.trim();
8
+ t !== s && (c(t), r(t));
9
+ }, u = () => {
10
+ o(""), c(""), r("");
11
+ }, d = (e) => {
12
+ e.key === "Enter" && (e.preventDefault(), l(a));
13
+ }, f = () => {
14
+ l(a);
15
+ }, p = (e) => {
16
+ o(e);
17
+ };
18
+ return /* @__PURE__ */ t(e, {
19
+ ...i,
20
+ value: a,
21
+ onChange: p,
22
+ onKeyDown: d,
23
+ onBlur: f,
24
+ onClear: u
25
+ });
26
+ }
27
+ //#endregion
28
+ export { r as InputSearch };
29
+
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/input-search/InputSearch.tsx"],"sourcesContent":["import React, { useState } from \"react\";\n\nimport { BaseInputProps, Input } from \"../input\";\n\ninterface SearchInputProps extends BaseInputProps<string> {\n\tonChange: (value: string) => void;\n}\n\nexport function InputSearch({ onChange, ...props }: SearchInputProps) {\n\tconst [searchTerm, setSearchTerm] = useState(() => props.defaultValue ?? props.value ?? \"\");\n\tconst [previousSearch, setPreviousSearch] = useState(() => props.defaultValue ?? props.value ?? \"\");\n\n\tconst handleSearch = (term: string) => {\n\t\tconst changedTerm = term.trim();\n\n\t\t// Проверяем, изменилось ли значение с предыдущего поиска\n\t\tif (changedTerm === previousSearch) return;\n\n\t\tsetPreviousSearch(changedTerm);\n\t\tonChange(changedTerm);\n\t};\n\n\tconst handleClear = () => {\n\t\tsetSearchTerm(\"\");\n\t\tsetPreviousSearch(\"\");\n\t\tonChange(\"\");\n\t};\n\n\tconst handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n\t\tif (event.key === \"Enter\") {\n\t\t\tevent.preventDefault();\n\t\t\thandleSearch(searchTerm);\n\t\t}\n\t};\n\n\tconst handleBlur = () => {\n\t\thandleSearch(searchTerm);\n\t};\n\n\tconst handleChange = (value: string) => {\n\t\tsetSearchTerm(value);\n\t\t// Не вызываем onSearch здесь - только по Enter/blur\n\t};\n\n\treturn (\n\t\t<Input {...props} value={searchTerm} onChange={handleChange} onKeyDown={handleKeyDown} onBlur={handleBlur} onClear={handleClear} />\n\t);\n}\n"],"mappings":";;;;AAQA,SAAgB,EAAY,EAAE,aAAU,GAAG,KAA2B;CACrE,IAAM,CAAC,GAAY,KAAiB,QAAe,EAAM,gBAAgB,EAAM,SAAS,EAAE,GACpF,CAAC,GAAgB,KAAqB,QAAe,EAAM,gBAAgB,EAAM,SAAS,EAAE,GAE5F,KAAgB,MAAiB;EACtC,IAAM,IAAc,EAAK,KAAK;EAG1B,MAAgB,MAEpB,EAAkB,CAAW,GAC7B,EAAS,CAAW;CACrB,GAEM,UAAoB;EAGzB,AAFA,EAAc,EAAE,GAChB,EAAkB,EAAE,GACpB,EAAS,EAAE;CACZ,GAEM,KAAiB,MAAiD;EACvE,AAAI,EAAM,QAAQ,YACjB,EAAM,eAAe,GACrB,EAAa,CAAU;CAEzB,GAEM,UAAmB;EACxB,EAAa,CAAU;CACxB,GAEM,KAAgB,MAAkB;EACvC,EAAc,CAAK;CAEpB;CAEA,OACC,kBAAC,GAAD;EAAO,GAAI;EAAO,OAAO;EAAY,UAAU;EAAc,WAAW;EAAe,QAAQ;EAAY,SAAS;CAAc,CAAA;AAEpI"}