@latty-ds/react 0.10.4 → 1.0.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 (33) hide show
  1. package/README.md +4 -3
  2. package/dist/components/Accordion/Accordion.d.ts +4 -4
  3. package/dist/components/Alert/Alert.d.ts +8 -2
  4. package/dist/components/Breadcrumb/Breadcrumb.d.ts +2 -0
  5. package/dist/components/Button/Button.d.ts +6 -0
  6. package/dist/components/Calendar/Calendar.d.ts +14 -8
  7. package/dist/components/Checkbox/Checkbox.d.ts +6 -4
  8. package/dist/components/Chip/Chip.d.ts +4 -2
  9. package/dist/components/ColorInput/ColorInput.d.ts +6 -4
  10. package/dist/components/Combobox/Combobox.d.ts +6 -4
  11. package/dist/components/DateInput/DateInput.d.ts +6 -4
  12. package/dist/components/Datepicker/Datepicker.d.ts +8 -8
  13. package/dist/components/Dialog/Dialog.d.ts +8 -8
  14. package/dist/components/Dropdown/Dropdown.d.ts +4 -4
  15. package/dist/components/DropdownItem/DropdownItem.d.ts +4 -4
  16. package/dist/components/Image/Image.d.ts +10 -12
  17. package/dist/components/NavItem/NavItem.d.ts +8 -6
  18. package/dist/components/Pagination/Pagination.d.ts +6 -4
  19. package/dist/components/Progress/Progress.d.ts +4 -0
  20. package/dist/components/Radio/Radio.d.ts +8 -4
  21. package/dist/components/RadioGroup/RadioGroup.d.ts +4 -4
  22. package/dist/components/Select/Select.d.ts +12 -8
  23. package/dist/components/SidePanel/SidePanel.d.ts +2 -0
  24. package/dist/components/Slider/Slider.d.ts +8 -8
  25. package/dist/components/Snackbar/Snackbar.d.ts +8 -6
  26. package/dist/components/Switch/Switch.d.ts +6 -4
  27. package/dist/components/Tab/Tab.d.ts +0 -2
  28. package/dist/components/TabGroup/TabGroup.d.ts +4 -4
  29. package/dist/components/Table/Table.d.ts +4 -2
  30. package/dist/components/Textfield/Textfield.d.ts +14 -8
  31. package/dist/index.cjs +162 -103
  32. package/dist/index.js +185 -126
  33. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ var Accordion = forwardRef(function Accordion2({ onToggle, children, ...props },
10
10
  useEffect(() => {
11
11
  const el = innerRef.current;
12
12
  if (!el || !onToggle) return;
13
- const h = (ev) => onToggle(ev.detail);
13
+ const h = (ev) => onToggle(ev);
14
14
  el.addEventListener("toggle", h);
15
15
  return () => el.removeEventListener("toggle", h);
16
16
  }, [onToggle]);
@@ -19,18 +19,23 @@ var Accordion = forwardRef(function Accordion2({ onToggle, children, ...props },
19
19
  Accordion.displayName = "Accordion";
20
20
 
21
21
  // src/components/Alert/Alert.tsx
22
- import { useRef as useRef2, useEffect as useEffect2, useImperativeHandle as useImperativeHandle2, forwardRef as forwardRef2 } from "react";
22
+ import { useRef as useRef2, useLayoutEffect, useEffect as useEffect2, useImperativeHandle as useImperativeHandle2, forwardRef as forwardRef2 } from "react";
23
23
  import { jsx as jsx2 } from "react/jsx-runtime";
24
- var Alert = forwardRef2(function Alert2({ onClose, children, ...props }, forwardedRef) {
24
+ var Alert = forwardRef2(function Alert2({ onClose, labels, children, ...props }, forwardedRef) {
25
25
  const innerRef = useRef2(null);
26
26
  useImperativeHandle2(forwardedRef, () => innerRef.current);
27
27
  useEffect2(() => {
28
28
  const el = innerRef.current;
29
29
  if (!el || !onClose) return;
30
- const h = () => onClose();
30
+ const h = (ev) => onClose(ev);
31
31
  el.addEventListener("close", h);
32
32
  return () => el.removeEventListener("close", h);
33
33
  }, [onClose]);
34
+ useLayoutEffect(() => {
35
+ const el = innerRef.current;
36
+ if (!el) return;
37
+ if (labels !== void 0) el.labels = labels;
38
+ }, [labels]);
34
39
  return /* @__PURE__ */ jsx2("lt-alert", { ref: innerRef, ...props, children });
35
40
  });
36
41
  Alert.displayName = "Alert";
@@ -56,11 +61,16 @@ var Badge = forwardRef4(function Badge2({ children, ...props }, forwardedRef) {
56
61
  Badge.displayName = "Badge";
57
62
 
58
63
  // src/components/Breadcrumb/Breadcrumb.tsx
59
- import { useRef as useRef5, useImperativeHandle as useImperativeHandle5, forwardRef as forwardRef5 } from "react";
64
+ import { useRef as useRef5, useLayoutEffect as useLayoutEffect2, useImperativeHandle as useImperativeHandle5, forwardRef as forwardRef5 } from "react";
60
65
  import { jsx as jsx5 } from "react/jsx-runtime";
61
- var Breadcrumb = forwardRef5(function Breadcrumb2({ children, ...props }, forwardedRef) {
66
+ var Breadcrumb = forwardRef5(function Breadcrumb2({ labels, children, ...props }, forwardedRef) {
62
67
  const innerRef = useRef5(null);
63
68
  useImperativeHandle5(forwardedRef, () => innerRef.current);
69
+ useLayoutEffect2(() => {
70
+ const el = innerRef.current;
71
+ if (!el) return;
72
+ if (labels !== void 0) el.labels = labels;
73
+ }, [labels]);
64
74
  return /* @__PURE__ */ jsx5("lt-breadcrumb", { ref: innerRef, ...props, children });
65
75
  });
66
76
  Breadcrumb.displayName = "Breadcrumb";
@@ -86,110 +96,145 @@ var Button = forwardRef7(function Button2({ children, ...props }, forwardedRef)
86
96
  Button.displayName = "Button";
87
97
 
88
98
  // src/components/Calendar/Calendar.tsx
89
- import { useRef as useRef8, useEffect as useEffect3, useImperativeHandle as useImperativeHandle8, forwardRef as forwardRef8 } from "react";
99
+ import { useRef as useRef8, useLayoutEffect as useLayoutEffect3, useEffect as useEffect3, useImperativeHandle as useImperativeHandle8, forwardRef as forwardRef8 } from "react";
90
100
  import { jsx as jsx8 } from "react/jsx-runtime";
91
- var Calendar = forwardRef8(function Calendar2({ onChange, onMonthChange, children, ...props }, forwardedRef) {
101
+ var Calendar = forwardRef8(function Calendar2({ onChange, onMonthChange, weekStart, disabledDates, labels, children, ...props }, forwardedRef) {
92
102
  const innerRef = useRef8(null);
93
103
  useImperativeHandle8(forwardedRef, () => innerRef.current);
94
104
  useEffect3(() => {
95
105
  const el = innerRef.current;
96
106
  if (!el || !onChange) return;
97
- const h = (ev) => onChange(ev.detail);
107
+ const h = (ev) => onChange(ev);
98
108
  el.addEventListener("change", h);
99
109
  return () => el.removeEventListener("change", h);
100
110
  }, [onChange]);
101
111
  useEffect3(() => {
102
112
  const el = innerRef.current;
103
113
  if (!el || !onMonthChange) return;
104
- const h = (ev) => onMonthChange(ev.detail);
105
- el.addEventListener("month-change", h);
106
- return () => el.removeEventListener("month-change", h);
114
+ const h = (ev) => onMonthChange(ev);
115
+ el.addEventListener("monthchange", h);
116
+ return () => el.removeEventListener("monthchange", h);
107
117
  }, [onMonthChange]);
118
+ useLayoutEffect3(() => {
119
+ const el = innerRef.current;
120
+ if (!el) return;
121
+ if (weekStart !== void 0) el.weekStart = weekStart;
122
+ if (disabledDates !== void 0) el.disabledDates = disabledDates;
123
+ if (labels !== void 0) el.labels = labels;
124
+ }, [weekStart, disabledDates, labels]);
108
125
  return /* @__PURE__ */ jsx8("lt-calendar", { ref: innerRef, ...props, children });
109
126
  });
110
127
  Calendar.displayName = "Calendar";
111
128
 
112
129
  // src/components/Checkbox/Checkbox.tsx
113
- import { useRef as useRef9, useEffect as useEffect4, useImperativeHandle as useImperativeHandle9, forwardRef as forwardRef9 } from "react";
130
+ import { useRef as useRef9, useLayoutEffect as useLayoutEffect4, useEffect as useEffect4, useImperativeHandle as useImperativeHandle9, forwardRef as forwardRef9 } from "react";
114
131
  import { jsx as jsx9 } from "react/jsx-runtime";
115
- var Checkbox = forwardRef9(function Checkbox2({ onChange, children, ...props }, forwardedRef) {
132
+ var Checkbox = forwardRef9(function Checkbox2({ onChange, labels, children, ...props }, forwardedRef) {
116
133
  const innerRef = useRef9(null);
117
134
  useImperativeHandle9(forwardedRef, () => innerRef.current);
118
135
  useEffect4(() => {
119
136
  const el = innerRef.current;
120
137
  if (!el || !onChange) return;
121
- const h = (ev) => onChange(ev.detail);
138
+ const h = (ev) => onChange(ev);
122
139
  el.addEventListener("change", h);
123
140
  return () => el.removeEventListener("change", h);
124
141
  }, [onChange]);
142
+ useLayoutEffect4(() => {
143
+ const el = innerRef.current;
144
+ if (!el) return;
145
+ if (labels !== void 0) el.labels = labels;
146
+ }, [labels]);
125
147
  return /* @__PURE__ */ jsx9("lt-checkbox", { ref: innerRef, ...props, children });
126
148
  });
127
149
  Checkbox.displayName = "Checkbox";
128
150
 
129
151
  // src/components/Chip/Chip.tsx
130
- import { useRef as useRef10, useEffect as useEffect5, useImperativeHandle as useImperativeHandle10, forwardRef as forwardRef10 } from "react";
152
+ import { useRef as useRef10, useLayoutEffect as useLayoutEffect5, useEffect as useEffect5, useImperativeHandle as useImperativeHandle10, forwardRef as forwardRef10 } from "react";
131
153
  import { jsx as jsx10 } from "react/jsx-runtime";
132
- var Chip = forwardRef10(function Chip2({ onDelete, children, ...props }, forwardedRef) {
154
+ var Chip = forwardRef10(function Chip2({ onDelete, labels, children, ...props }, forwardedRef) {
133
155
  const innerRef = useRef10(null);
134
156
  useImperativeHandle10(forwardedRef, () => innerRef.current);
135
157
  useEffect5(() => {
136
158
  const el = innerRef.current;
137
159
  if (!el || !onDelete) return;
138
- const h = () => onDelete();
160
+ const h = (ev) => onDelete(ev);
139
161
  el.addEventListener("delete", h);
140
162
  return () => el.removeEventListener("delete", h);
141
163
  }, [onDelete]);
164
+ useLayoutEffect5(() => {
165
+ const el = innerRef.current;
166
+ if (!el) return;
167
+ if (labels !== void 0) el.labels = labels;
168
+ }, [labels]);
142
169
  return /* @__PURE__ */ jsx10("lt-chip", { ref: innerRef, ...props, children });
143
170
  });
144
171
  Chip.displayName = "Chip";
145
172
 
146
173
  // src/components/ColorInput/ColorInput.tsx
147
- import { useRef as useRef11, useEffect as useEffect6, useImperativeHandle as useImperativeHandle11, forwardRef as forwardRef11 } from "react";
174
+ import { useRef as useRef11, useLayoutEffect as useLayoutEffect6, useEffect as useEffect6, useImperativeHandle as useImperativeHandle11, forwardRef as forwardRef11 } from "react";
148
175
  import { jsx as jsx11 } from "react/jsx-runtime";
149
- var ColorInput = forwardRef11(function ColorInput2({ onChange, children, ...props }, forwardedRef) {
176
+ var ColorInput = forwardRef11(function ColorInput2({ onChange, labels, children, ...props }, forwardedRef) {
150
177
  const innerRef = useRef11(null);
151
178
  useImperativeHandle11(forwardedRef, () => innerRef.current);
152
179
  useEffect6(() => {
153
180
  const el = innerRef.current;
154
181
  if (!el || !onChange) return;
155
- const h = (ev) => onChange(ev.detail);
182
+ const h = (ev) => onChange(ev);
156
183
  el.addEventListener("change", h);
157
184
  return () => el.removeEventListener("change", h);
158
185
  }, [onChange]);
186
+ useLayoutEffect6(() => {
187
+ const el = innerRef.current;
188
+ if (!el) return;
189
+ if (labels !== void 0) el.labels = labels;
190
+ }, [labels]);
159
191
  return /* @__PURE__ */ jsx11("lt-color-input", { ref: innerRef, ...props, children });
160
192
  });
161
193
  ColorInput.displayName = "ColorInput";
162
194
 
163
195
  // src/components/Combobox/Combobox.tsx
164
- import { useRef as useRef12, useEffect as useEffect7, useImperativeHandle as useImperativeHandle12, forwardRef as forwardRef12 } from "react";
196
+ import { useRef as useRef12, useLayoutEffect as useLayoutEffect7, useEffect as useEffect7, useImperativeHandle as useImperativeHandle12, forwardRef as forwardRef12 } from "react";
165
197
  import { jsx as jsx12 } from "react/jsx-runtime";
166
- var Combobox = forwardRef12(function Combobox2({ onChange, children, ...props }, forwardedRef) {
198
+ var Combobox = forwardRef12(function Combobox2({ onChange, options, labels, children, ...props }, forwardedRef) {
167
199
  const innerRef = useRef12(null);
168
200
  useImperativeHandle12(forwardedRef, () => innerRef.current);
169
201
  useEffect7(() => {
170
202
  const el = innerRef.current;
171
203
  if (!el || !onChange) return;
172
- const h = (ev) => onChange(ev.detail);
204
+ const h = (ev) => onChange(ev);
173
205
  el.addEventListener("change", h);
174
206
  return () => el.removeEventListener("change", h);
175
207
  }, [onChange]);
208
+ useLayoutEffect7(() => {
209
+ const el = innerRef.current;
210
+ if (!el) return;
211
+ if (options !== void 0) el.options = options;
212
+ if (labels !== void 0) el.labels = labels;
213
+ }, [options, labels]);
176
214
  return /* @__PURE__ */ jsx12("lt-combobox", { ref: innerRef, ...props, children });
177
215
  });
178
216
  Combobox.displayName = "Combobox";
179
217
 
180
218
  // src/components/DateInput/DateInput.tsx
181
- import { useRef as useRef13, useEffect as useEffect8, useImperativeHandle as useImperativeHandle13, forwardRef as forwardRef13 } from "react";
219
+ import { useRef as useRef13, useLayoutEffect as useLayoutEffect8, useEffect as useEffect8, useImperativeHandle as useImperativeHandle13, forwardRef as forwardRef13 } from "react";
182
220
  import { jsx as jsx13 } from "react/jsx-runtime";
183
- var DateInput = forwardRef13(function DateInput2({ onChange, children, ...props }, forwardedRef) {
221
+ var DateInput = forwardRef13(function DateInput2({ onChange, weekStart, disabledDates, labels, children, ...props }, forwardedRef) {
184
222
  const innerRef = useRef13(null);
185
223
  useImperativeHandle13(forwardedRef, () => innerRef.current);
186
224
  useEffect8(() => {
187
225
  const el = innerRef.current;
188
226
  if (!el || !onChange) return;
189
- const h = (ev) => onChange(ev.detail);
227
+ const h = (ev) => onChange(ev);
190
228
  el.addEventListener("change", h);
191
229
  return () => el.removeEventListener("change", h);
192
230
  }, [onChange]);
231
+ useLayoutEffect8(() => {
232
+ const el = innerRef.current;
233
+ if (!el) return;
234
+ if (weekStart !== void 0) el.weekStart = weekStart;
235
+ if (disabledDates !== void 0) el.disabledDates = disabledDates;
236
+ if (labels !== void 0) el.labels = labels;
237
+ }, [weekStart, disabledDates, labels]);
193
238
  return /* @__PURE__ */ jsx13("lt-date-input", { ref: innerRef, ...props, children });
194
239
  });
195
240
  DateInput.displayName = "DateInput";
@@ -203,14 +248,14 @@ var Datepicker = forwardRef14(function Datepicker2({ onChange, onInput, children
203
248
  useEffect9(() => {
204
249
  const el = innerRef.current;
205
250
  if (!el || !onChange) return;
206
- const h = (ev) => onChange(ev.detail);
251
+ const h = (ev) => onChange(ev);
207
252
  el.addEventListener("change", h);
208
253
  return () => el.removeEventListener("change", h);
209
254
  }, [onChange]);
210
255
  useEffect9(() => {
211
256
  const el = innerRef.current;
212
257
  if (!el || !onInput) return;
213
- const h = (ev) => onInput(ev.detail);
258
+ const h = (ev) => onInput(ev);
214
259
  el.addEventListener("input", h);
215
260
  return () => el.removeEventListener("input", h);
216
261
  }, [onInput]);
@@ -219,39 +264,30 @@ var Datepicker = forwardRef14(function Datepicker2({ onChange, onInput, children
219
264
  Datepicker.displayName = "Datepicker";
220
265
 
221
266
  // src/components/Dialog/Dialog.tsx
222
- import { useRef as useRef15, useEffect as useEffect10, useImperativeHandle as useImperativeHandle15, forwardRef as forwardRef15 } from "react";
267
+ import { useRef as useRef15, useLayoutEffect as useLayoutEffect9, useEffect as useEffect10, useImperativeHandle as useImperativeHandle15, forwardRef as forwardRef15 } from "react";
223
268
  import { jsx as jsx15 } from "react/jsx-runtime";
224
- var Dialog = forwardRef15(function Dialog2({ onDialogOpen, onClose, onDialogClose, onOpen, children, ...props }, forwardedRef) {
269
+ var Dialog = forwardRef15(function Dialog2({ onOpen, onClose, labels, children, ...props }, forwardedRef) {
225
270
  const innerRef = useRef15(null);
226
271
  useImperativeHandle15(forwardedRef, () => innerRef.current);
227
272
  useEffect10(() => {
228
273
  const el = innerRef.current;
229
- if (!el || !onDialogOpen) return;
230
- const h = () => onDialogOpen();
231
- el.addEventListener("dialog-open", h);
232
- return () => el.removeEventListener("dialog-open", h);
233
- }, [onDialogOpen]);
274
+ if (!el || !onOpen) return;
275
+ const h = (ev) => onOpen(ev);
276
+ el.addEventListener("open", h);
277
+ return () => el.removeEventListener("open", h);
278
+ }, [onOpen]);
234
279
  useEffect10(() => {
235
280
  const el = innerRef.current;
236
281
  if (!el || !onClose) return;
237
- const h = () => onClose();
282
+ const h = (ev) => onClose(ev);
238
283
  el.addEventListener("close", h);
239
284
  return () => el.removeEventListener("close", h);
240
285
  }, [onClose]);
241
- useEffect10(() => {
242
- const el = innerRef.current;
243
- if (!el || !onDialogClose) return;
244
- const h = () => onDialogClose();
245
- el.addEventListener("dialog-close", h);
246
- return () => el.removeEventListener("dialog-close", h);
247
- }, [onDialogClose]);
248
- useEffect10(() => {
286
+ useLayoutEffect9(() => {
249
287
  const el = innerRef.current;
250
- if (!el || !onOpen) return;
251
- const h = () => onOpen();
252
- el.addEventListener("open", h);
253
- return () => el.removeEventListener("open", h);
254
- }, [onOpen]);
288
+ if (!el) return;
289
+ if (labels !== void 0) el.labels = labels;
290
+ }, [labels]);
255
291
  return /* @__PURE__ */ jsx15("lt-dialog", { ref: innerRef, ...props, children });
256
292
  });
257
293
  Dialog.displayName = "Dialog";
@@ -275,14 +311,14 @@ var Dropdown = forwardRef17(function Dropdown2({ onOpen, onClose, children, ...p
275
311
  useEffect11(() => {
276
312
  const el = innerRef.current;
277
313
  if (!el || !onOpen) return;
278
- const h = () => onOpen();
314
+ const h = (ev) => onOpen(ev);
279
315
  el.addEventListener("open", h);
280
316
  return () => el.removeEventListener("open", h);
281
317
  }, [onOpen]);
282
318
  useEffect11(() => {
283
319
  const el = innerRef.current;
284
320
  if (!el || !onClose) return;
285
- const h = () => onClose();
321
+ const h = (ev) => onClose(ev);
286
322
  el.addEventListener("close", h);
287
323
  return () => el.removeEventListener("close", h);
288
324
  }, [onClose]);
@@ -299,7 +335,7 @@ var DropdownItem = forwardRef18(function DropdownItem2({ onSelect, children, ...
299
335
  useEffect12(() => {
300
336
  const el = innerRef.current;
301
337
  if (!el || !onSelect) return;
302
- const h = () => onSelect();
338
+ const h = (ev) => onSelect(ev);
303
339
  el.addEventListener("select", h);
304
340
  return () => el.removeEventListener("select", h);
305
341
  }, [onSelect]);
@@ -335,29 +371,22 @@ IconButton.displayName = "IconButton";
335
371
  // src/components/Image/Image.tsx
336
372
  import { useRef as useRef21, useEffect as useEffect13, useImperativeHandle as useImperativeHandle21, forwardRef as forwardRef21 } from "react";
337
373
  import { jsx as jsx21 } from "react/jsx-runtime";
338
- var Image = forwardRef21(function Image2({ onName, onLoad, onError, children, ...props }, forwardedRef) {
374
+ var Image = forwardRef21(function Image2({ onLoad, onError, children, ...props }, forwardedRef) {
339
375
  const innerRef = useRef21(null);
340
376
  useImperativeHandle21(forwardedRef, () => innerRef.current);
341
- useEffect13(() => {
342
- const el = innerRef.current;
343
- if (!el || !onName) return;
344
- const h = () => onName();
345
- el.addEventListener("name", h);
346
- return () => el.removeEventListener("name", h);
347
- }, [onName]);
348
377
  useEffect13(() => {
349
378
  const el = innerRef.current;
350
379
  if (!el || !onLoad) return;
351
- const h = (ev) => onLoad(ev.detail);
352
- el.addEventListener("lt-load", h);
353
- return () => el.removeEventListener("lt-load", h);
380
+ const h = (ev) => onLoad(ev);
381
+ el.addEventListener("load", h);
382
+ return () => el.removeEventListener("load", h);
354
383
  }, [onLoad]);
355
384
  useEffect13(() => {
356
385
  const el = innerRef.current;
357
386
  if (!el || !onError) return;
358
- const h = (ev) => onError(ev.detail);
359
- el.addEventListener("lt-error", h);
360
- return () => el.removeEventListener("lt-error", h);
387
+ const h = (ev) => onError(ev);
388
+ el.addEventListener("error", h);
389
+ return () => el.removeEventListener("error", h);
361
390
  }, [onError]);
362
391
  return /* @__PURE__ */ jsx21("lt-image", { ref: innerRef, ...props, children });
363
392
  });
@@ -406,23 +435,16 @@ Nav.displayName = "Nav";
406
435
  // src/components/NavItem/NavItem.tsx
407
436
  import { useRef as useRef26, useEffect as useEffect14, useImperativeHandle as useImperativeHandle26, forwardRef as forwardRef26 } from "react";
408
437
  import { jsx as jsx26 } from "react/jsx-runtime";
409
- var NavItem = forwardRef26(function NavItem2({ onNavItemClick, onNavCollapse, iconStart, children, ...props }, forwardedRef) {
438
+ var NavItem = forwardRef26(function NavItem2({ onToggle, iconStart, children, ...props }, forwardedRef) {
410
439
  const innerRef = useRef26(null);
411
440
  useImperativeHandle26(forwardedRef, () => innerRef.current);
412
441
  useEffect14(() => {
413
442
  const el = innerRef.current;
414
- if (!el || !onNavItemClick) return;
415
- const h = (ev) => onNavItemClick(ev);
416
- el.addEventListener("nav-item-click", h);
417
- return () => el.removeEventListener("nav-item-click", h);
418
- }, [onNavItemClick]);
419
- useEffect14(() => {
420
- const el = innerRef.current;
421
- if (!el || !onNavCollapse) return;
422
- const h = (ev) => onNavCollapse(ev);
423
- el.addEventListener("nav-collapse", h);
424
- return () => el.removeEventListener("nav-collapse", h);
425
- }, [onNavCollapse]);
443
+ if (!el || !onToggle) return;
444
+ const h = (ev) => onToggle(ev);
445
+ el.addEventListener("toggle", h);
446
+ return () => el.removeEventListener("toggle", h);
447
+ }, [onToggle]);
426
448
  useEffect14(() => {
427
449
  const el = innerRef.current;
428
450
  if (!el) return;
@@ -434,18 +456,23 @@ var NavItem = forwardRef26(function NavItem2({ onNavItemClick, onNavCollapse, ic
434
456
  NavItem.displayName = "NavItem";
435
457
 
436
458
  // src/components/Pagination/Pagination.tsx
437
- import { useRef as useRef27, useEffect as useEffect15, useImperativeHandle as useImperativeHandle27, forwardRef as forwardRef27 } from "react";
459
+ import { useRef as useRef27, useLayoutEffect as useLayoutEffect10, useEffect as useEffect15, useImperativeHandle as useImperativeHandle27, forwardRef as forwardRef27 } from "react";
438
460
  import { jsx as jsx27 } from "react/jsx-runtime";
439
- var Pagination = forwardRef27(function Pagination2({ onChange, children, ...props }, forwardedRef) {
461
+ var Pagination = forwardRef27(function Pagination2({ onChange, labels, children, ...props }, forwardedRef) {
440
462
  const innerRef = useRef27(null);
441
463
  useImperativeHandle27(forwardedRef, () => innerRef.current);
442
464
  useEffect15(() => {
443
465
  const el = innerRef.current;
444
466
  if (!el || !onChange) return;
445
- const h = (ev) => onChange(ev.detail);
467
+ const h = (ev) => onChange(ev);
446
468
  el.addEventListener("change", h);
447
469
  return () => el.removeEventListener("change", h);
448
470
  }, [onChange]);
471
+ useLayoutEffect10(() => {
472
+ const el = innerRef.current;
473
+ if (!el) return;
474
+ if (labels !== void 0) el.labels = labels;
475
+ }, [labels]);
449
476
  return /* @__PURE__ */ jsx27("lt-pagination", { ref: innerRef, ...props, children });
450
477
  });
451
478
  Pagination.displayName = "Pagination";
@@ -461,18 +488,23 @@ var Progress = forwardRef28(function Progress2({ children, ...props }, forwarded
461
488
  Progress.displayName = "Progress";
462
489
 
463
490
  // src/components/Radio/Radio.tsx
464
- import { useRef as useRef29, useEffect as useEffect16, useImperativeHandle as useImperativeHandle29, forwardRef as forwardRef29 } from "react";
491
+ import { useRef as useRef29, useLayoutEffect as useLayoutEffect11, useEffect as useEffect16, useImperativeHandle as useImperativeHandle29, forwardRef as forwardRef29 } from "react";
465
492
  import { jsx as jsx29 } from "react/jsx-runtime";
466
- var Radio = forwardRef29(function Radio2({ onChange, children, ...props }, forwardedRef) {
493
+ var Radio = forwardRef29(function Radio2({ onChange, labels, children, ...props }, forwardedRef) {
467
494
  const innerRef = useRef29(null);
468
495
  useImperativeHandle29(forwardedRef, () => innerRef.current);
469
496
  useEffect16(() => {
470
497
  const el = innerRef.current;
471
498
  if (!el || !onChange) return;
472
- const h = (ev) => onChange(ev.detail);
499
+ const h = (ev) => onChange(ev);
473
500
  el.addEventListener("change", h);
474
501
  return () => el.removeEventListener("change", h);
475
502
  }, [onChange]);
503
+ useLayoutEffect11(() => {
504
+ const el = innerRef.current;
505
+ if (!el) return;
506
+ if (labels !== void 0) el.labels = labels;
507
+ }, [labels]);
476
508
  return /* @__PURE__ */ jsx29("lt-radio", { ref: innerRef, ...props, children });
477
509
  });
478
510
  Radio.displayName = "Radio";
@@ -486,7 +518,7 @@ var RadioGroup = forwardRef30(function RadioGroup2({ onChange, children, ...prop
486
518
  useEffect17(() => {
487
519
  const el = innerRef.current;
488
520
  if (!el || !onChange) return;
489
- const h = (ev) => onChange(ev.detail);
521
+ const h = (ev) => onChange(ev);
490
522
  el.addEventListener("change", h);
491
523
  return () => el.removeEventListener("change", h);
492
524
  }, [onChange]);
@@ -495,26 +527,33 @@ var RadioGroup = forwardRef30(function RadioGroup2({ onChange, children, ...prop
495
527
  RadioGroup.displayName = "RadioGroup";
496
528
 
497
529
  // src/components/Select/Select.tsx
498
- import { useRef as useRef31, useEffect as useEffect18, useImperativeHandle as useImperativeHandle31, forwardRef as forwardRef31 } from "react";
530
+ import { useRef as useRef31, useLayoutEffect as useLayoutEffect12, useEffect as useEffect18, useImperativeHandle as useImperativeHandle31, forwardRef as forwardRef31 } from "react";
499
531
  import { jsx as jsx31 } from "react/jsx-runtime";
500
- var Select = forwardRef31(function Select2({ onChange, children, ...props }, forwardedRef) {
532
+ var Select = forwardRef31(function Select2({ onChange, value, options, labels, children, ...props }, forwardedRef) {
501
533
  const innerRef = useRef31(null);
502
534
  useImperativeHandle31(forwardedRef, () => innerRef.current);
503
535
  useEffect18(() => {
504
536
  const el = innerRef.current;
505
537
  if (!el || !onChange) return;
506
- const h = (ev) => onChange(ev.detail);
538
+ const h = (ev) => onChange(ev);
507
539
  el.addEventListener("change", h);
508
540
  return () => el.removeEventListener("change", h);
509
541
  }, [onChange]);
542
+ useLayoutEffect12(() => {
543
+ const el = innerRef.current;
544
+ if (!el) return;
545
+ if (value !== void 0) el.value = value;
546
+ if (options !== void 0) el.options = options;
547
+ if (labels !== void 0) el.labels = labels;
548
+ }, [value, options, labels]);
510
549
  return /* @__PURE__ */ jsx31("lt-select", { ref: innerRef, ...props, children });
511
550
  });
512
551
  Select.displayName = "Select";
513
552
 
514
553
  // src/components/SidePanel/SidePanel.tsx
515
- import { useRef as useRef32, useEffect as useEffect19, useImperativeHandle as useImperativeHandle32, forwardRef as forwardRef32 } from "react";
554
+ import { useRef as useRef32, useEffect as useEffect19, useLayoutEffect as useLayoutEffect13, useImperativeHandle as useImperativeHandle32, forwardRef as forwardRef32 } from "react";
516
555
  import { jsx as jsx32 } from "react/jsx-runtime";
517
- var SidePanel = forwardRef32(function SidePanel2({ onClose, noCloseButton, children, ...props }, forwardedRef) {
556
+ var SidePanel = forwardRef32(function SidePanel2({ onClose, noCloseButton, labels, children, ...props }, forwardedRef) {
518
557
  const innerRef = useRef32(null);
519
558
  useImperativeHandle32(forwardedRef, () => innerRef.current);
520
559
  useEffect19(() => {
@@ -530,6 +569,11 @@ var SidePanel = forwardRef32(function SidePanel2({ onClose, noCloseButton, child
530
569
  if (noCloseButton) el.setAttribute("no-close-button", "");
531
570
  else el.removeAttribute("no-close-button");
532
571
  }, [noCloseButton]);
572
+ useLayoutEffect13(() => {
573
+ const el = innerRef.current;
574
+ if (!el) return;
575
+ if (labels !== void 0) el.labels = labels;
576
+ }, [labels]);
533
577
  return /* @__PURE__ */ jsx32("lt-sidepanel", { ref: innerRef, ...props, children });
534
578
  });
535
579
  SidePanel.displayName = "SidePanel";
@@ -553,14 +597,14 @@ var Slider = forwardRef34(function Slider2({ onInput, onChange, children, ...pro
553
597
  useEffect20(() => {
554
598
  const el = innerRef.current;
555
599
  if (!el || !onInput) return;
556
- const h = (ev) => onInput(ev.detail);
600
+ const h = (ev) => onInput(ev);
557
601
  el.addEventListener("input", h);
558
602
  return () => el.removeEventListener("input", h);
559
603
  }, [onInput]);
560
604
  useEffect20(() => {
561
605
  const el = innerRef.current;
562
606
  if (!el || !onChange) return;
563
- const h = (ev) => onChange(ev.detail);
607
+ const h = (ev) => onChange(ev);
564
608
  el.addEventListener("change", h);
565
609
  return () => el.removeEventListener("change", h);
566
610
  }, [onChange]);
@@ -569,32 +613,37 @@ var Slider = forwardRef34(function Slider2({ onInput, onChange, children, ...pro
569
613
  Slider.displayName = "Slider";
570
614
 
571
615
  // src/components/Snackbar/Snackbar.tsx
572
- import { useRef as useRef35, useEffect as useEffect21, useImperativeHandle as useImperativeHandle35, forwardRef as forwardRef35 } from "react";
616
+ import { useRef as useRef35, useLayoutEffect as useLayoutEffect14, useEffect as useEffect21, useImperativeHandle as useImperativeHandle35, forwardRef as forwardRef35 } from "react";
573
617
  import { jsx as jsx35 } from "react/jsx-runtime";
574
- var Snackbar = forwardRef35(function Snackbar2({ onShow, onHide, onAction, children, ...props }, forwardedRef) {
618
+ var Snackbar = forwardRef35(function Snackbar2({ onShow, onHide, onAction, labels, children, ...props }, forwardedRef) {
575
619
  const innerRef = useRef35(null);
576
620
  useImperativeHandle35(forwardedRef, () => innerRef.current);
577
621
  useEffect21(() => {
578
622
  const el = innerRef.current;
579
623
  if (!el || !onShow) return;
580
- const h = () => onShow();
624
+ const h = (ev) => onShow(ev);
581
625
  el.addEventListener("show", h);
582
626
  return () => el.removeEventListener("show", h);
583
627
  }, [onShow]);
584
628
  useEffect21(() => {
585
629
  const el = innerRef.current;
586
630
  if (!el || !onHide) return;
587
- const h = () => onHide();
631
+ const h = (ev) => onHide(ev);
588
632
  el.addEventListener("hide", h);
589
633
  return () => el.removeEventListener("hide", h);
590
634
  }, [onHide]);
591
635
  useEffect21(() => {
592
636
  const el = innerRef.current;
593
637
  if (!el || !onAction) return;
594
- const h = () => onAction();
638
+ const h = (ev) => onAction(ev);
595
639
  el.addEventListener("action", h);
596
640
  return () => el.removeEventListener("action", h);
597
641
  }, [onAction]);
642
+ useLayoutEffect14(() => {
643
+ const el = innerRef.current;
644
+ if (!el) return;
645
+ if (labels !== void 0) el.labels = labels;
646
+ }, [labels]);
598
647
  return /* @__PURE__ */ jsx35("lt-snackbar", { ref: innerRef, ...props, children });
599
648
  });
600
649
  Snackbar.displayName = "Snackbar";
@@ -620,49 +669,47 @@ var Surface = forwardRef37(function Surface2({ children, ...props }, forwardedRe
620
669
  Surface.displayName = "Surface";
621
670
 
622
671
  // src/components/Switch/Switch.tsx
623
- import { useRef as useRef38, useEffect as useEffect22, useImperativeHandle as useImperativeHandle38, forwardRef as forwardRef38 } from "react";
672
+ import { useRef as useRef38, useLayoutEffect as useLayoutEffect15, useEffect as useEffect22, useImperativeHandle as useImperativeHandle38, forwardRef as forwardRef38 } from "react";
624
673
  import { jsx as jsx38 } from "react/jsx-runtime";
625
- var Switch = forwardRef38(function Switch2({ onChange, children, ...props }, forwardedRef) {
674
+ var Switch = forwardRef38(function Switch2({ onChange, labels, children, ...props }, forwardedRef) {
626
675
  const innerRef = useRef38(null);
627
676
  useImperativeHandle38(forwardedRef, () => innerRef.current);
628
677
  useEffect22(() => {
629
678
  const el = innerRef.current;
630
679
  if (!el || !onChange) return;
631
- const h = (ev) => onChange(ev.detail);
680
+ const h = (ev) => onChange(ev);
632
681
  el.addEventListener("change", h);
633
682
  return () => el.removeEventListener("change", h);
634
683
  }, [onChange]);
684
+ useLayoutEffect15(() => {
685
+ const el = innerRef.current;
686
+ if (!el) return;
687
+ if (labels !== void 0) el.labels = labels;
688
+ }, [labels]);
635
689
  return /* @__PURE__ */ jsx38("lt-switch", { ref: innerRef, ...props, children });
636
690
  });
637
691
  Switch.displayName = "Switch";
638
692
 
639
693
  // src/components/Tab/Tab.tsx
640
- import { useRef as useRef39, useEffect as useEffect23, useImperativeHandle as useImperativeHandle39, forwardRef as forwardRef39 } from "react";
694
+ import { useRef as useRef39, useImperativeHandle as useImperativeHandle39, forwardRef as forwardRef39 } from "react";
641
695
  import { jsx as jsx39 } from "react/jsx-runtime";
642
- var Tab = forwardRef39(function Tab2({ onTabClick, children, ...props }, forwardedRef) {
696
+ var Tab = forwardRef39(function Tab2({ children, ...props }, forwardedRef) {
643
697
  const innerRef = useRef39(null);
644
698
  useImperativeHandle39(forwardedRef, () => innerRef.current);
645
- useEffect23(() => {
646
- const el = innerRef.current;
647
- if (!el || !onTabClick) return;
648
- const h = (ev) => onTabClick(ev);
649
- el.addEventListener("tab-click", h);
650
- return () => el.removeEventListener("tab-click", h);
651
- }, [onTabClick]);
652
699
  return /* @__PURE__ */ jsx39("lt-tab", { ref: innerRef, ...props, children });
653
700
  });
654
701
  Tab.displayName = "Tab";
655
702
 
656
703
  // src/components/TabGroup/TabGroup.tsx
657
- import { useRef as useRef40, useEffect as useEffect24, useImperativeHandle as useImperativeHandle40, forwardRef as forwardRef40 } from "react";
704
+ import { useRef as useRef40, useEffect as useEffect23, useImperativeHandle as useImperativeHandle40, forwardRef as forwardRef40 } from "react";
658
705
  import { jsx as jsx40 } from "react/jsx-runtime";
659
706
  var TabGroup = forwardRef40(function TabGroup2({ onChange, children, ...props }, forwardedRef) {
660
707
  const innerRef = useRef40(null);
661
708
  useImperativeHandle40(forwardedRef, () => innerRef.current);
662
- useEffect24(() => {
709
+ useEffect23(() => {
663
710
  const el = innerRef.current;
664
711
  if (!el || !onChange) return;
665
- const h = (ev) => onChange(ev.detail);
712
+ const h = (ev) => onChange(ev);
666
713
  el.addEventListener("change", h);
667
714
  return () => el.removeEventListener("change", h);
668
715
  }, [onChange]);
@@ -671,18 +718,25 @@ var TabGroup = forwardRef40(function TabGroup2({ onChange, children, ...props },
671
718
  TabGroup.displayName = "TabGroup";
672
719
 
673
720
  // src/components/Table/Table.tsx
674
- import { useRef as useRef41, useEffect as useEffect25, useImperativeHandle as useImperativeHandle41, forwardRef as forwardRef41 } from "react";
721
+ import { useRef as useRef41, useLayoutEffect as useLayoutEffect16, useEffect as useEffect24, useImperativeHandle as useImperativeHandle41, forwardRef as forwardRef41 } from "react";
675
722
  import { jsx as jsx41 } from "react/jsx-runtime";
676
- var Table = forwardRef41(function Table2({ onSortChange, children, ...props }, forwardedRef) {
723
+ var Table = forwardRef41(function Table2({ onSortChange, columns, data, sort, children, ...props }, forwardedRef) {
677
724
  const innerRef = useRef41(null);
678
725
  useImperativeHandle41(forwardedRef, () => innerRef.current);
679
- useEffect25(() => {
726
+ useEffect24(() => {
680
727
  const el = innerRef.current;
681
728
  if (!el || !onSortChange) return;
682
- const h = () => onSortChange();
683
- el.addEventListener("sort-change", h);
684
- return () => el.removeEventListener("sort-change", h);
729
+ const h = (ev) => onSortChange(ev);
730
+ el.addEventListener("sortchange", h);
731
+ return () => el.removeEventListener("sortchange", h);
685
732
  }, [onSortChange]);
733
+ useLayoutEffect16(() => {
734
+ const el = innerRef.current;
735
+ if (!el) return;
736
+ if (columns !== void 0) el.columns = columns;
737
+ if (data !== void 0) el.data = data;
738
+ if (sort !== void 0) el.sort = sort;
739
+ }, [columns, data, sort]);
686
740
  return /* @__PURE__ */ jsx41("lt-table", { ref: innerRef, ...props, children });
687
741
  });
688
742
  Table.displayName = "Table";
@@ -708,25 +762,30 @@ var Text = forwardRef43(function Text2({ children, ...props }, forwardedRef) {
708
762
  Text.displayName = "Text";
709
763
 
710
764
  // src/components/Textfield/Textfield.tsx
711
- import { useRef as useRef44, useEffect as useEffect26, useImperativeHandle as useImperativeHandle44, forwardRef as forwardRef44 } from "react";
765
+ import { useRef as useRef44, useLayoutEffect as useLayoutEffect17, useEffect as useEffect25, useImperativeHandle as useImperativeHandle44, forwardRef as forwardRef44 } from "react";
712
766
  import { jsx as jsx44 } from "react/jsx-runtime";
713
- var Textfield = forwardRef44(function Textfield2({ onInput, onChange, children, ...props }, forwardedRef) {
767
+ var Textfield = forwardRef44(function Textfield2({ onInput, onChange, labels, children, ...props }, forwardedRef) {
714
768
  const innerRef = useRef44(null);
715
769
  useImperativeHandle44(forwardedRef, () => innerRef.current);
716
- useEffect26(() => {
770
+ useEffect25(() => {
717
771
  const el = innerRef.current;
718
772
  if (!el || !onInput) return;
719
- const h = (ev) => onInput(ev.detail);
773
+ const h = (ev) => onInput(ev);
720
774
  el.addEventListener("input", h);
721
775
  return () => el.removeEventListener("input", h);
722
776
  }, [onInput]);
723
- useEffect26(() => {
777
+ useEffect25(() => {
724
778
  const el = innerRef.current;
725
779
  if (!el || !onChange) return;
726
- const h = (ev) => onChange(ev.detail);
780
+ const h = (ev) => onChange(ev);
727
781
  el.addEventListener("change", h);
728
782
  return () => el.removeEventListener("change", h);
729
783
  }, [onChange]);
784
+ useLayoutEffect17(() => {
785
+ const el = innerRef.current;
786
+ if (!el) return;
787
+ if (labels !== void 0) el.labels = labels;
788
+ }, [labels]);
730
789
  return /* @__PURE__ */ jsx44("lt-textfield", { ref: innerRef, ...props, children });
731
790
  });
732
791
  Textfield.displayName = "Textfield";