@vanelsas/baredom-react 1.0.0 → 2.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 (42) hide show
  1. package/README.md +46 -1
  2. package/dist/x-checkbox.d.ts +1 -0
  3. package/dist/x-checkbox.d.ts.map +1 -1
  4. package/dist/x-checkbox.js +24 -6
  5. package/dist/x-checkbox.js.map +1 -1
  6. package/dist/x-combobox.d.ts +6 -0
  7. package/dist/x-combobox.d.ts.map +1 -1
  8. package/dist/x-combobox.js +22 -3
  9. package/dist/x-combobox.js.map +1 -1
  10. package/dist/x-currency-field.d.ts +6 -0
  11. package/dist/x-currency-field.d.ts.map +1 -1
  12. package/dist/x-currency-field.js +22 -3
  13. package/dist/x-currency-field.js.map +1 -1
  14. package/dist/x-pagination.d.ts +5 -0
  15. package/dist/x-pagination.d.ts.map +1 -1
  16. package/dist/x-pagination.js +22 -3
  17. package/dist/x-pagination.js.map +1 -1
  18. package/dist/x-radio.d.ts +1 -0
  19. package/dist/x-radio.d.ts.map +1 -1
  20. package/dist/x-radio.js +24 -6
  21. package/dist/x-radio.js.map +1 -1
  22. package/dist/x-select.d.ts +6 -0
  23. package/dist/x-select.d.ts.map +1 -1
  24. package/dist/x-select.js +22 -3
  25. package/dist/x-select.js.map +1 -1
  26. package/dist/x-slider.d.ts +7 -0
  27. package/dist/x-slider.d.ts.map +1 -1
  28. package/dist/x-slider.js +22 -3
  29. package/dist/x-slider.js.map +1 -1
  30. package/dist/x-switch.d.ts +1 -0
  31. package/dist/x-switch.d.ts.map +1 -1
  32. package/dist/x-switch.js +24 -6
  33. package/dist/x-switch.js.map +1 -1
  34. package/dist/x-tabs.d.ts +5 -0
  35. package/dist/x-tabs.d.ts.map +1 -1
  36. package/dist/x-tabs.js +22 -3
  37. package/dist/x-tabs.js.map +1 -1
  38. package/dist/x-text-area.d.ts +6 -0
  39. package/dist/x-text-area.d.ts.map +1 -1
  40. package/dist/x-text-area.js +22 -3
  41. package/dist/x-text-area.js.map +1 -1
  42. package/package.json +2 -2
package/README.md CHANGED
@@ -60,6 +60,51 @@ BareDOM event names are automatically converted to React-style callback props:
60
60
 
61
61
  The component's tag-name prefix (e.g. `x-alert-`) is stripped, and the remainder is camelCased with an `on` prefix.
62
62
 
63
+ ## Controlled inputs
64
+
65
+ Input components support React's controlled component pattern. When you pass a `value` (or `checked`) prop, the wrapper prevents the component from updating its own state — React becomes the source of truth.
66
+
67
+ ```tsx
68
+ import { useState } from "react";
69
+ import { XCheckbox } from "@vanelsas/baredom-react/x-checkbox";
70
+ import { XSlider } from "@vanelsas/baredom-react/x-slider";
71
+
72
+ function Form() {
73
+ const [checked, setChecked] = useState(false);
74
+ const [volume, setVolume] = useState("50");
75
+
76
+ return (
77
+ <>
78
+ {/* Controlled: React owns the state */}
79
+ <XCheckbox
80
+ checked={checked}
81
+ onChangeRequest={(e) => setChecked(e.detail.nextChecked)}
82
+ />
83
+
84
+ <XSlider
85
+ value={volume}
86
+ min="0" max="100"
87
+ onChangeRequest={(e) => setVolume(String(e.detail.value))}
88
+ />
89
+
90
+ {/* Uncontrolled: component manages itself */}
91
+ <XCheckbox
92
+ defaultChecked={true}
93
+ onChange={(e) => console.log(e.detail.checked)}
94
+ />
95
+ </>
96
+ );
97
+ }
98
+ ```
99
+
100
+ **Controlled components:** XCheckbox, XSwitch, XRadio (`checked`), XSlider, XTextArea, XSelect, XCombobox, XCurrencyField, XTabs (`value`), XPagination (`page`).
101
+
102
+ | Mode | Prop | Behavior |
103
+ |------|------|----------|
104
+ | Controlled | `checked` / `value` / `page` | Component state blocked, React owns updates via `onChangeRequest` |
105
+ | Uncontrolled | `defaultChecked` / `defaultValue` / `defaultPage` | Sets initial value, component manages itself afterwards |
106
+ | Uncontrolled | *(neither)* | Component manages itself from default |
107
+
63
108
  ## Refs and methods
64
109
 
65
110
  Access the underlying DOM element and its methods via ref:
@@ -102,7 +147,7 @@ function App() {
102
147
  ## Requirements
103
148
 
104
149
  - React 19+
105
- - @vanelsas/baredom 2.4.1+
150
+ - @vanelsas/baredom 2.6.0+
106
151
 
107
152
  ## Auto-generated
108
153
 
@@ -8,6 +8,7 @@ export interface XCheckboxProps {
8
8
  required?: boolean;
9
9
  name?: string;
10
10
  value?: string;
11
+ defaultChecked?: boolean;
11
12
  onChangeRequest?: (e: CustomEvent<{
12
13
  value: string;
13
14
  previousChecked: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"x-checkbox.d.ts","sourceRoot":"","sources":["../src/x-checkbox.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKlF,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC9G,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,SAAS,yFA8BrB,CAAC"}
1
+ {"version":3,"file":"x-checkbox.d.ts","sourceRoot":"","sources":["../src/x-checkbox.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKlF,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC9G,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,SAAS,yFA4CrB,CAAC"}
@@ -5,7 +5,7 @@ import { forwardRef, useRef, useEffect } from "react";
5
5
  import { init } from "@vanelsas/baredom/x-checkbox";
6
6
  init();
7
7
  export const XCheckbox = forwardRef(function XCheckbox(props, forwardedRef) {
8
- const { onChangeRequest, onChange, children, ...rest } = props;
8
+ const { checked, defaultChecked, onChangeRequest, onChange, children, ...rest } = props;
9
9
  const innerRef = useRef(null);
10
10
  const setRef = (el) => {
11
11
  innerRef.current = el;
@@ -14,21 +14,39 @@ export const XCheckbox = forwardRef(function XCheckbox(props, forwardedRef) {
14
14
  else if (forwardedRef)
15
15
  forwardedRef.current = el;
16
16
  };
17
+ // Set initial value from defaultChecked (uncontrolled mode)
18
+ useEffect(() => {
19
+ const el = innerRef.current;
20
+ if (!el || checked !== undefined || defaultChecked === undefined)
21
+ return;
22
+ if (defaultChecked)
23
+ el.setAttribute("checked", "");
24
+ else
25
+ el.removeAttribute("checked");
26
+ // eslint-disable-next-line react-hooks/exhaustive-deps
27
+ }, []);
17
28
  useEffect(() => {
18
29
  const el = innerRef.current;
19
30
  if (!el)
20
31
  return;
21
32
  const cleanup = [];
22
- if (onChangeRequest) {
23
- el.addEventListener("x-checkbox-change-request", onChangeRequest);
24
- cleanup.push(() => el.removeEventListener("x-checkbox-change-request", onChangeRequest));
33
+ {
34
+ const controlled = checked !== undefined;
35
+ const wrappedHandler = (e) => {
36
+ if (controlled)
37
+ e.preventDefault();
38
+ if (onChangeRequest)
39
+ onChangeRequest(e);
40
+ };
41
+ el.addEventListener("x-checkbox-change-request", wrappedHandler);
42
+ cleanup.push(() => el.removeEventListener("x-checkbox-change-request", wrappedHandler));
25
43
  }
26
44
  if (onChange) {
27
45
  el.addEventListener("x-checkbox-change", onChange);
28
46
  cleanup.push(() => el.removeEventListener("x-checkbox-change", onChange));
29
47
  }
30
48
  return () => cleanup.forEach(fn => fn());
31
- }, [onChangeRequest, onChange]);
32
- return _jsx("x-checkbox", { ref: setRef, ...rest, children: children });
49
+ }, [checked, onChangeRequest, onChange]);
50
+ return _jsx("x-checkbox", { ref: setRef, checked: checked, ...rest, children: children });
33
51
  });
34
52
  //# sourceMappingURL=x-checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-checkbox.js","sourceRoot":"","sources":["../src/x-checkbox.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,oEAAoE;AAEpE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEpD,IAAI,EAAE,CAAC;AAmBP,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,SAAS,SAAS,CAAC,KAAK,EAAE,YAAY;IACpC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,CAAC,EAA2B,EAAE,EAAE;QAC7C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,eAAe,EAAE,CAAC;YACpB,EAAE,CAAC,gBAAgB,CAAC,2BAA2B,EAAE,eAAgC,CAAC,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,2BAA2B,EAAE,eAAgC,CAAC,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,QAAyB,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhC,OAAO,qBAAY,GAAG,EAAE,MAAM,KAAM,IAAI,YAAG,QAAQ,GAAc,CAAC;AACpE,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"x-checkbox.js","sourceRoot":"","sources":["../src/x-checkbox.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,oEAAoE;AAEpE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEpD,IAAI,EAAE,CAAC;AAoBP,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,SAAS,SAAS,CAAC,KAAK,EAAE,YAAY;IACpC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACxF,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,CAAC,EAA2B,EAAE,EAAE;QAC7C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,4DAA4D;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,IAAI,OAAO,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS;YAAE,OAAO;QACzE,IAAI,cAAc;YAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;;YAC9C,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACrC,uDAAuD;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,CAAC;YACC,MAAM,UAAU,GAAG,OAAO,KAAK,SAAS,CAAC;YACzC,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;gBAClC,IAAI,UAAU;oBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,eAAe;oBAAG,eAAiC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC;YACF,EAAE,CAAC,gBAAgB,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,QAAyB,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzC,OAAO,qBAAY,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAM,IAAI,YAAG,QAAQ,GAAc,CAAC;AACtF,CAAC,CACF,CAAC"}
@@ -8,6 +8,12 @@ export interface XComboboxProps {
8
8
  required?: boolean;
9
9
  open?: boolean;
10
10
  placement?: string;
11
+ defaultValue?: string;
12
+ onChangeRequest?: (e: CustomEvent<{
13
+ value: string;
14
+ label: string;
15
+ previousValue: string;
16
+ }>) => void;
11
17
  onChange?: (e: CustomEvent<{
12
18
  value: string;
13
19
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"x-combobox.d.ts","sourceRoot":"","sources":["../src/x-combobox.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKlF,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACtE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACvE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,SAAS,yFAkCrB,CAAC"}
1
+ {"version":3,"file":"x-combobox.d.ts","sourceRoot":"","sources":["../src/x-combobox.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKlF,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACpG,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACtE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACvE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,SAAS,yFAmDrB,CAAC"}
@@ -5,7 +5,7 @@ import { forwardRef, useRef, useEffect } from "react";
5
5
  import { init } from "@vanelsas/baredom/x-combobox";
6
6
  init();
7
7
  export const XCombobox = forwardRef(function XCombobox(props, forwardedRef) {
8
- const { onChange, onInput, onToggle, children, ...rest } = props;
8
+ const { value, defaultValue, onChangeRequest, onChange, onInput, onToggle, children, ...rest } = props;
9
9
  const innerRef = useRef(null);
10
10
  const setRef = (el) => {
11
11
  innerRef.current = el;
@@ -14,11 +14,30 @@ export const XCombobox = forwardRef(function XCombobox(props, forwardedRef) {
14
14
  else if (forwardedRef)
15
15
  forwardedRef.current = el;
16
16
  };
17
+ // Set initial value from defaultValue (uncontrolled mode)
18
+ useEffect(() => {
19
+ const el = innerRef.current;
20
+ if (!el || value !== undefined || defaultValue === undefined)
21
+ return;
22
+ el.setAttribute("value", String(defaultValue));
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ }, []);
17
25
  useEffect(() => {
18
26
  const el = innerRef.current;
19
27
  if (!el)
20
28
  return;
21
29
  const cleanup = [];
30
+ {
31
+ const controlled = value !== undefined;
32
+ const wrappedHandler = (e) => {
33
+ if (controlled)
34
+ e.preventDefault();
35
+ if (onChangeRequest)
36
+ onChangeRequest(e);
37
+ };
38
+ el.addEventListener("x-combobox-change-request", wrappedHandler);
39
+ cleanup.push(() => el.removeEventListener("x-combobox-change-request", wrappedHandler));
40
+ }
22
41
  if (onChange) {
23
42
  el.addEventListener("x-combobox-change", onChange);
24
43
  cleanup.push(() => el.removeEventListener("x-combobox-change", onChange));
@@ -32,7 +51,7 @@ export const XCombobox = forwardRef(function XCombobox(props, forwardedRef) {
32
51
  cleanup.push(() => el.removeEventListener("x-combobox-toggle", onToggle));
33
52
  }
34
53
  return () => cleanup.forEach(fn => fn());
35
- }, [onChange, onInput, onToggle]);
36
- return _jsx("x-combobox", { ref: setRef, ...rest, children: children });
54
+ }, [value, onChangeRequest, onChange, onInput, onToggle]);
55
+ return _jsx("x-combobox", { ref: setRef, value: value, ...rest, children: children });
37
56
  });
38
57
  //# sourceMappingURL=x-combobox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-combobox.js","sourceRoot":"","sources":["../src/x-combobox.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,oEAAoE;AAEpE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEpD,IAAI,EAAE,CAAC;AAoBP,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,SAAS,SAAS,CAAC,KAAK,EAAE,YAAY;IACpC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,CAAC,EAA2B,EAAE,EAAE;QAC7C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,QAAyB,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAwB,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,OAAwB,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,QAAyB,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAElC,OAAO,qBAAY,GAAG,EAAE,MAAM,KAAM,IAAI,YAAG,QAAQ,GAAc,CAAC;AACpE,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"x-combobox.js","sourceRoot":"","sources":["../src/x-combobox.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,oEAAoE;AAEpE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEpD,IAAI,EAAE,CAAC;AAsBP,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,SAAS,SAAS,CAAC,KAAK,EAAE,YAAY;IACpC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACvG,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,CAAC,EAA2B,EAAE,EAAE;QAC7C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,0DAA0D;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,IAAI,KAAK,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO;QACrE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACjD,uDAAuD;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,CAAC;YACC,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC;YACvC,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;gBAClC,IAAI,UAAU;oBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,eAAe;oBAAG,eAAiC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC;YACF,EAAE,CAAC,gBAAgB,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,QAAyB,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAwB,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,OAAwB,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,QAAyB,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1D,OAAO,qBAAY,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAM,IAAI,YAAG,QAAQ,GAAc,CAAC;AAClF,CAAC,CACF,CAAC"}
@@ -14,6 +14,12 @@ export interface XCurrencyFieldProps {
14
14
  label?: string;
15
15
  error?: string;
16
16
  required?: boolean;
17
+ defaultValue?: string;
18
+ onChangeRequest?: (e: CustomEvent<{
19
+ name: string;
20
+ value: string;
21
+ previousValue: string;
22
+ }>) => void;
17
23
  onInput?: (e: CustomEvent<{
18
24
  name: string;
19
25
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"x-currency-field.d.ts","sourceRoot":"","sources":["../src/x-currency-field.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAKlG,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,cAAc,mGA8B1B,CAAC"}
1
+ {"version":3,"file":"x-currency-field.d.ts","sourceRoot":"","sources":["../src/x-currency-field.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAKlG,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACnG,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,cAAc,mGA+C1B,CAAC"}
@@ -5,7 +5,7 @@ import { forwardRef, useRef, useEffect } from "react";
5
5
  import { init } from "@vanelsas/baredom/x-currency-field";
6
6
  init();
7
7
  export const XCurrencyField = forwardRef(function XCurrencyField(props, forwardedRef) {
8
- const { onInput, onChange, children, ...rest } = props;
8
+ const { value, defaultValue, onChangeRequest, onInput, onChange, children, ...rest } = props;
9
9
  const innerRef = useRef(null);
10
10
  const setRef = (el) => {
11
11
  innerRef.current = el;
@@ -14,11 +14,30 @@ export const XCurrencyField = forwardRef(function XCurrencyField(props, forwarde
14
14
  else if (forwardedRef)
15
15
  forwardedRef.current = el;
16
16
  };
17
+ // Set initial value from defaultValue (uncontrolled mode)
18
+ useEffect(() => {
19
+ const el = innerRef.current;
20
+ if (!el || value !== undefined || defaultValue === undefined)
21
+ return;
22
+ el.setAttribute("value", String(defaultValue));
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ }, []);
17
25
  useEffect(() => {
18
26
  const el = innerRef.current;
19
27
  if (!el)
20
28
  return;
21
29
  const cleanup = [];
30
+ {
31
+ const controlled = value !== undefined;
32
+ const wrappedHandler = (e) => {
33
+ if (controlled)
34
+ e.preventDefault();
35
+ if (onChangeRequest)
36
+ onChangeRequest(e);
37
+ };
38
+ el.addEventListener("x-currency-field-change-request", wrappedHandler);
39
+ cleanup.push(() => el.removeEventListener("x-currency-field-change-request", wrappedHandler));
40
+ }
22
41
  if (onInput) {
23
42
  el.addEventListener("x-currency-field-input", onInput);
24
43
  cleanup.push(() => el.removeEventListener("x-currency-field-input", onInput));
@@ -28,7 +47,7 @@ export const XCurrencyField = forwardRef(function XCurrencyField(props, forwarde
28
47
  cleanup.push(() => el.removeEventListener("x-currency-field-change", onChange));
29
48
  }
30
49
  return () => cleanup.forEach(fn => fn());
31
- }, [onInput, onChange]);
32
- return _jsx("x-currency-field", { ref: setRef, ...rest, children: children });
50
+ }, [value, onChangeRequest, onInput, onChange]);
51
+ return _jsx("x-currency-field", { ref: setRef, value: value, ...rest, children: children });
33
52
  });
34
53
  //# sourceMappingURL=x-currency-field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-currency-field.js","sourceRoot":"","sources":["../src/x-currency-field.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,0EAA0E;AAE1E,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,IAAI,EAAE,CAAC;AAyBP,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CACtC,SAAS,cAAc,CAAC,KAAK,EAAE,YAAY;IACzC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,CAAC,EAAgC,EAAE,EAAE;QAClD,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,OAAO,EAAE,CAAC;YACZ,EAAE,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,OAAwB,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,OAAwB,CAAC,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,QAAyB,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,QAAyB,CAAC,CAAC,CAAC;QACnG,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAExB,OAAO,2BAAkB,GAAG,EAAE,MAAM,KAAM,IAAI,YAAG,QAAQ,GAAoB,CAAC;AAChF,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"x-currency-field.js","sourceRoot":"","sources":["../src/x-currency-field.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,0EAA0E;AAE1E,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,IAAI,EAAE,CAAC;AA2BP,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CACtC,SAAS,cAAc,CAAC,KAAK,EAAE,YAAY;IACzC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7F,MAAM,QAAQ,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,CAAC,EAAgC,EAAE,EAAE;QAClD,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,0DAA0D;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,IAAI,KAAK,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO;QACrE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACjD,uDAAuD;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,CAAC;YACC,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC;YACvC,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;gBAClC,IAAI,UAAU;oBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,eAAe;oBAAG,eAAiC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC;YACF,EAAE,CAAC,gBAAgB,CAAC,iCAAiC,EAAE,cAAc,CAAC,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,iCAAiC,EAAE,cAAc,CAAC,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,EAAE,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,OAAwB,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,OAAwB,CAAC,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,QAAyB,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,QAAyB,CAAC,CAAC,CAAC;QACnG,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhD,OAAO,2BAAkB,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAM,IAAI,YAAG,QAAQ,GAAoB,CAAC;AAC9F,CAAC,CACF,CAAC"}
@@ -8,6 +8,11 @@ export interface XPaginationProps {
8
8
  size?: string;
9
9
  disabled?: boolean;
10
10
  label?: string;
11
+ defaultPage?: number;
12
+ onPageChangeRequest?: (e: CustomEvent<{
13
+ page: number;
14
+ previousPage: number;
15
+ }>) => void;
11
16
  onPageChange?: (e: CustomEvent<{
12
17
  page: number;
13
18
  }>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"x-pagination.d.ts","sourceRoot":"","sources":["../src/x-pagination.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAKxF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,WAAW,6FA0BvB,CAAC"}
1
+ {"version":3,"file":"x-pagination.d.ts","sourceRoot":"","sources":["../src/x-pagination.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAKxF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACvF,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,WAAW,6FA2CvB,CAAC"}
@@ -5,7 +5,7 @@ import { forwardRef, useRef, useEffect } from "react";
5
5
  import { init } from "@vanelsas/baredom/x-pagination";
6
6
  init();
7
7
  export const XPagination = forwardRef(function XPagination(props, forwardedRef) {
8
- const { onPageChange, children, ...rest } = props;
8
+ const { page, defaultPage, onPageChangeRequest, onPageChange, children, ...rest } = props;
9
9
  const innerRef = useRef(null);
10
10
  const setRef = (el) => {
11
11
  innerRef.current = el;
@@ -14,17 +14,36 @@ export const XPagination = forwardRef(function XPagination(props, forwardedRef)
14
14
  else if (forwardedRef)
15
15
  forwardedRef.current = el;
16
16
  };
17
+ // Set initial value from defaultPage (uncontrolled mode)
18
+ useEffect(() => {
19
+ const el = innerRef.current;
20
+ if (!el || page !== undefined || defaultPage === undefined)
21
+ return;
22
+ el.setAttribute("page", String(defaultPage));
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ }, []);
17
25
  useEffect(() => {
18
26
  const el = innerRef.current;
19
27
  if (!el)
20
28
  return;
21
29
  const cleanup = [];
30
+ {
31
+ const controlled = page !== undefined;
32
+ const wrappedHandler = (e) => {
33
+ if (controlled)
34
+ e.preventDefault();
35
+ if (onPageChangeRequest)
36
+ onPageChangeRequest(e);
37
+ };
38
+ el.addEventListener("page-change-request", wrappedHandler);
39
+ cleanup.push(() => el.removeEventListener("page-change-request", wrappedHandler));
40
+ }
22
41
  if (onPageChange) {
23
42
  el.addEventListener("page-change", onPageChange);
24
43
  cleanup.push(() => el.removeEventListener("page-change", onPageChange));
25
44
  }
26
45
  return () => cleanup.forEach(fn => fn());
27
- }, [onPageChange]);
28
- return _jsx("x-pagination", { ref: setRef, ...rest, children: children });
46
+ }, [page, onPageChangeRequest, onPageChange]);
47
+ return _jsx("x-pagination", { ref: setRef, page: page, ...rest, children: children });
29
48
  });
30
49
  //# sourceMappingURL=x-pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-pagination.js","sourceRoot":"","sources":["../src/x-pagination.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,sEAAsE;AAEtE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAEtD,IAAI,EAAE,CAAC;AAkBP,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CACnC,SAAS,WAAW,CAAC,KAAK,EAAE,YAAY;IACtC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,CAAC,EAA6B,EAAE,EAAE;QAC/C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,YAAY,EAAE,CAAC;YACjB,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,YAA6B,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE,YAA6B,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,uBAAc,GAAG,EAAE,MAAM,KAAM,IAAI,YAAG,QAAQ,GAAgB,CAAC;AACxE,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"x-pagination.js","sourceRoot":"","sources":["../src/x-pagination.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,sEAAsE;AAEtE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAEtD,IAAI,EAAE,CAAC;AAoBP,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CACnC,SAAS,WAAW,CAAC,KAAK,EAAE,YAAY;IACtC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC1F,MAAM,QAAQ,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,CAAC,EAA6B,EAAE,EAAE;QAC/C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,yDAAyD;IACzD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,IAAI,IAAI,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO;QACnE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/C,uDAAuD;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,CAAC;YACC,MAAM,UAAU,GAAG,IAAI,KAAK,SAAS,CAAC;YACtC,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;gBAClC,IAAI,UAAU;oBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,mBAAmB;oBAAG,mBAAqC,CAAC,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC;YACF,EAAE,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,YAA6B,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE,YAA6B,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9C,OAAO,uBAAc,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAM,IAAI,YAAG,QAAQ,GAAgB,CAAC;AACpF,CAAC,CACF,CAAC"}
package/dist/x-radio.d.ts CHANGED
@@ -7,6 +7,7 @@ export interface XRadioProps {
7
7
  required?: boolean;
8
8
  name?: string;
9
9
  value?: string;
10
+ defaultChecked?: boolean;
10
11
  onChangeRequest?: (e: CustomEvent<{
11
12
  value: string;
12
13
  previousChecked: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"x-radio.d.ts","sourceRoot":"","sources":["../src/x-radio.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAKzE,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC9G,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,MAAM,mFA8BlB,CAAC"}
1
+ {"version":3,"file":"x-radio.d.ts","sourceRoot":"","sources":["../src/x-radio.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAKzE,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC9G,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,MAAM,mFA4ClB,CAAC"}
package/dist/x-radio.js CHANGED
@@ -5,7 +5,7 @@ import { forwardRef, useRef, useEffect } from "react";
5
5
  import { init } from "@vanelsas/baredom/x-radio";
6
6
  init();
7
7
  export const XRadio = forwardRef(function XRadio(props, forwardedRef) {
8
- const { onChangeRequest, onChange, children, ...rest } = props;
8
+ const { checked, defaultChecked, onChangeRequest, onChange, children, ...rest } = props;
9
9
  const innerRef = useRef(null);
10
10
  const setRef = (el) => {
11
11
  innerRef.current = el;
@@ -14,21 +14,39 @@ export const XRadio = forwardRef(function XRadio(props, forwardedRef) {
14
14
  else if (forwardedRef)
15
15
  forwardedRef.current = el;
16
16
  };
17
+ // Set initial value from defaultChecked (uncontrolled mode)
18
+ useEffect(() => {
19
+ const el = innerRef.current;
20
+ if (!el || checked !== undefined || defaultChecked === undefined)
21
+ return;
22
+ if (defaultChecked)
23
+ el.setAttribute("checked", "");
24
+ else
25
+ el.removeAttribute("checked");
26
+ // eslint-disable-next-line react-hooks/exhaustive-deps
27
+ }, []);
17
28
  useEffect(() => {
18
29
  const el = innerRef.current;
19
30
  if (!el)
20
31
  return;
21
32
  const cleanup = [];
22
- if (onChangeRequest) {
23
- el.addEventListener("x-radio-change-request", onChangeRequest);
24
- cleanup.push(() => el.removeEventListener("x-radio-change-request", onChangeRequest));
33
+ {
34
+ const controlled = checked !== undefined;
35
+ const wrappedHandler = (e) => {
36
+ if (controlled)
37
+ e.preventDefault();
38
+ if (onChangeRequest)
39
+ onChangeRequest(e);
40
+ };
41
+ el.addEventListener("x-radio-change-request", wrappedHandler);
42
+ cleanup.push(() => el.removeEventListener("x-radio-change-request", wrappedHandler));
25
43
  }
26
44
  if (onChange) {
27
45
  el.addEventListener("x-radio-change", onChange);
28
46
  cleanup.push(() => el.removeEventListener("x-radio-change", onChange));
29
47
  }
30
48
  return () => cleanup.forEach(fn => fn());
31
- }, [onChangeRequest, onChange]);
32
- return _jsx("x-radio", { ref: setRef, ...rest, children: children });
49
+ }, [checked, onChangeRequest, onChange]);
50
+ return _jsx("x-radio", { ref: setRef, checked: checked, ...rest, children: children });
33
51
  });
34
52
  //# sourceMappingURL=x-radio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-radio.js","sourceRoot":"","sources":["../src/x-radio.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,iEAAiE;AAEjE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAEjD,IAAI,EAAE,CAAC;AAkBP,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAC9B,SAAS,MAAM,CAAC,KAAK,EAAE,YAAY;IACjC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,CAAC,EAAwB,EAAE,EAAE;QAC1C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,eAAe,EAAE,CAAC;YACpB,EAAE,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,eAAgC,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,eAAgC,CAAC,CAAC,CAAC;QACzG,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,QAAyB,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhC,OAAO,kBAAS,GAAG,EAAE,MAAM,KAAM,IAAI,YAAG,QAAQ,GAAW,CAAC;AAC9D,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"x-radio.js","sourceRoot":"","sources":["../src/x-radio.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,iEAAiE;AAEjE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAEjD,IAAI,EAAE,CAAC;AAmBP,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAC9B,SAAS,MAAM,CAAC,KAAK,EAAE,YAAY;IACjC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACxF,MAAM,QAAQ,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,CAAC,EAAwB,EAAE,EAAE;QAC1C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,4DAA4D;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,IAAI,OAAO,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS;YAAE,OAAO;QACzE,IAAI,cAAc;YAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;;YAC9C,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACrC,uDAAuD;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,CAAC;YACC,MAAM,UAAU,GAAG,OAAO,KAAK,SAAS,CAAC;YACzC,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;gBAClC,IAAI,UAAU;oBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,eAAe;oBAAG,eAAiC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC;YACF,EAAE,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,QAAyB,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzC,OAAO,kBAAS,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAM,IAAI,YAAG,QAAQ,GAAW,CAAC;AAChF,CAAC,CACF,CAAC"}
@@ -4,6 +4,12 @@ export interface XSelectProps {
4
4
  disabled?: boolean;
5
5
  required?: boolean;
6
6
  value?: string;
7
+ defaultValue?: string;
8
+ onChangeRequest?: (e: CustomEvent<{
9
+ value: string;
10
+ label: string;
11
+ previousValue: string;
12
+ }>) => void;
7
13
  onSelectChange?: (e: CustomEvent<{
8
14
  value: string;
9
15
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"x-select.d.ts","sourceRoot":"","sources":["../src/x-select.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAK5E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC5E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,OAAO,qFA0BnB,CAAC"}
1
+ {"version":3,"file":"x-select.d.ts","sourceRoot":"","sources":["../src/x-select.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAK5E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACpG,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC5E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,OAAO,qFA2CnB,CAAC"}
package/dist/x-select.js CHANGED
@@ -5,7 +5,7 @@ import { forwardRef, useRef, useEffect } from "react";
5
5
  import { init } from "@vanelsas/baredom/x-select";
6
6
  init();
7
7
  export const XSelect = forwardRef(function XSelect(props, forwardedRef) {
8
- const { onSelectChange, children, ...rest } = props;
8
+ const { value, defaultValue, onChangeRequest, onSelectChange, children, ...rest } = props;
9
9
  const innerRef = useRef(null);
10
10
  const setRef = (el) => {
11
11
  innerRef.current = el;
@@ -14,17 +14,36 @@ export const XSelect = forwardRef(function XSelect(props, forwardedRef) {
14
14
  else if (forwardedRef)
15
15
  forwardedRef.current = el;
16
16
  };
17
+ // Set initial value from defaultValue (uncontrolled mode)
18
+ useEffect(() => {
19
+ const el = innerRef.current;
20
+ if (!el || value !== undefined || defaultValue === undefined)
21
+ return;
22
+ el.setAttribute("value", String(defaultValue));
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ }, []);
17
25
  useEffect(() => {
18
26
  const el = innerRef.current;
19
27
  if (!el)
20
28
  return;
21
29
  const cleanup = [];
30
+ {
31
+ const controlled = value !== undefined;
32
+ const wrappedHandler = (e) => {
33
+ if (controlled)
34
+ e.preventDefault();
35
+ if (onChangeRequest)
36
+ onChangeRequest(e);
37
+ };
38
+ el.addEventListener("x-select-change-request", wrappedHandler);
39
+ cleanup.push(() => el.removeEventListener("x-select-change-request", wrappedHandler));
40
+ }
22
41
  if (onSelectChange) {
23
42
  el.addEventListener("select-change", onSelectChange);
24
43
  cleanup.push(() => el.removeEventListener("select-change", onSelectChange));
25
44
  }
26
45
  return () => cleanup.forEach(fn => fn());
27
- }, [onSelectChange]);
28
- return _jsx("x-select", { ref: setRef, ...rest, children: children });
46
+ }, [value, onChangeRequest, onSelectChange]);
47
+ return _jsx("x-select", { ref: setRef, value: value, ...rest, children: children });
29
48
  });
30
49
  //# sourceMappingURL=x-select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-select.js","sourceRoot":"","sources":["../src/x-select.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,kEAAkE;AAElE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,IAAI,EAAE,CAAC;AAcP,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAC/B,SAAS,OAAO,CAAC,KAAK,EAAE,YAAY;IAClC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,CAAC,EAAyB,EAAE,EAAE;QAC3C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,cAAc,EAAE,CAAC;YACnB,EAAE,CAAC,gBAAgB,CAAC,eAAe,EAAE,cAA+B,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,eAAe,EAAE,cAA+B,CAAC,CAAC,CAAC;QAC/F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO,mBAAU,GAAG,EAAE,MAAM,KAAM,IAAI,YAAG,QAAQ,GAAY,CAAC;AAChE,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"x-select.js","sourceRoot":"","sources":["../src/x-select.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,kEAAkE;AAElE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,IAAI,EAAE,CAAC;AAgBP,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAC/B,SAAS,OAAO,CAAC,KAAK,EAAE,YAAY;IAClC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC1F,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,CAAC,EAAyB,EAAE,EAAE;QAC3C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,0DAA0D;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,IAAI,KAAK,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO;QACrE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACjD,uDAAuD;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,CAAC;YACC,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC;YACvC,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;gBAClC,IAAI,UAAU;oBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,eAAe;oBAAG,eAAiC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC;YACF,EAAE,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,EAAE,CAAC,gBAAgB,CAAC,eAAe,EAAE,cAA+B,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,eAAe,EAAE,cAA+B,CAAC,CAAC,CAAC;QAC/F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;IAE7C,OAAO,mBAAU,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAM,IAAI,YAAG,QAAQ,GAAY,CAAC;AAC9E,CAAC,CACF,CAAC"}
@@ -11,6 +11,13 @@ export interface XSliderProps {
11
11
  max?: string;
12
12
  label?: string;
13
13
  step?: string;
14
+ defaultValue?: string;
15
+ onChangeRequest?: (e: CustomEvent<{
16
+ value: number;
17
+ previousValue: number;
18
+ min: number;
19
+ max: number;
20
+ }>) => void;
14
21
  onInput?: (e: CustomEvent<{
15
22
  value: number;
16
23
  min: number;
@@ -1 +1 @@
1
- {"version":3,"file":"x-slider.d.ts","sourceRoot":"","sources":["../src/x-slider.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAK5E,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAChF,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACjF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,OAAO,qFA8BnB,CAAC"}
1
+ {"version":3,"file":"x-slider.d.ts","sourceRoot":"","sources":["../src/x-slider.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAK5E,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC/G,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAChF,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACjF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,OAAO,qFA+CnB,CAAC"}
package/dist/x-slider.js CHANGED
@@ -5,7 +5,7 @@ import { forwardRef, useRef, useEffect } from "react";
5
5
  import { init } from "@vanelsas/baredom/x-slider";
6
6
  init();
7
7
  export const XSlider = forwardRef(function XSlider(props, forwardedRef) {
8
- const { onInput, onChange, children, ...rest } = props;
8
+ const { value, defaultValue, onChangeRequest, onInput, onChange, children, ...rest } = props;
9
9
  const innerRef = useRef(null);
10
10
  const setRef = (el) => {
11
11
  innerRef.current = el;
@@ -14,11 +14,30 @@ export const XSlider = forwardRef(function XSlider(props, forwardedRef) {
14
14
  else if (forwardedRef)
15
15
  forwardedRef.current = el;
16
16
  };
17
+ // Set initial value from defaultValue (uncontrolled mode)
18
+ useEffect(() => {
19
+ const el = innerRef.current;
20
+ if (!el || value !== undefined || defaultValue === undefined)
21
+ return;
22
+ el.setAttribute("value", String(defaultValue));
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ }, []);
17
25
  useEffect(() => {
18
26
  const el = innerRef.current;
19
27
  if (!el)
20
28
  return;
21
29
  const cleanup = [];
30
+ {
31
+ const controlled = value !== undefined;
32
+ const wrappedHandler = (e) => {
33
+ if (controlled)
34
+ e.preventDefault();
35
+ if (onChangeRequest)
36
+ onChangeRequest(e);
37
+ };
38
+ el.addEventListener("x-slider-change-request", wrappedHandler);
39
+ cleanup.push(() => el.removeEventListener("x-slider-change-request", wrappedHandler));
40
+ }
22
41
  if (onInput) {
23
42
  el.addEventListener("x-slider-input", onInput);
24
43
  cleanup.push(() => el.removeEventListener("x-slider-input", onInput));
@@ -28,7 +47,7 @@ export const XSlider = forwardRef(function XSlider(props, forwardedRef) {
28
47
  cleanup.push(() => el.removeEventListener("x-slider-change", onChange));
29
48
  }
30
49
  return () => cleanup.forEach(fn => fn());
31
- }, [onInput, onChange]);
32
- return _jsx("x-slider", { ref: setRef, ...rest, children: children });
50
+ }, [value, onChangeRequest, onInput, onChange]);
51
+ return _jsx("x-slider", { ref: setRef, value: value, ...rest, children: children });
33
52
  });
34
53
  //# sourceMappingURL=x-slider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-slider.js","sourceRoot":"","sources":["../src/x-slider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,kEAAkE;AAElE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,IAAI,EAAE,CAAC;AAsBP,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAC/B,SAAS,OAAO,CAAC,KAAK,EAAE,YAAY;IAClC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,CAAC,EAAyB,EAAE,EAAE;QAC3C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,OAAO,EAAE,CAAC;YACZ,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,OAAwB,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,OAAwB,CAAC,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,QAAyB,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAExB,OAAO,mBAAU,GAAG,EAAE,MAAM,KAAM,IAAI,YAAG,QAAQ,GAAY,CAAC;AAChE,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"x-slider.js","sourceRoot":"","sources":["../src/x-slider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,kEAAkE;AAElE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,IAAI,EAAE,CAAC;AAwBP,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAC/B,SAAS,OAAO,CAAC,KAAK,EAAE,YAAY;IAClC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7F,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,CAAC,EAAyB,EAAE,EAAE;QAC3C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,0DAA0D;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,IAAI,KAAK,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO;QACrE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACjD,uDAAuD;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,CAAC;YACC,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC;YACvC,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;gBAClC,IAAI,UAAU;oBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,eAAe;oBAAG,eAAiC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC;YACF,EAAE,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,OAAwB,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,OAAwB,CAAC,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,QAAyB,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhD,OAAO,mBAAU,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAM,IAAI,YAAG,QAAQ,GAAY,CAAC;AAC9E,CAAC,CACF,CAAC"}
@@ -7,6 +7,7 @@ export interface XSwitchProps {
7
7
  required?: boolean;
8
8
  name?: string;
9
9
  value?: string;
10
+ defaultChecked?: boolean;
10
11
  onChangeRequest?: (e: CustomEvent<{
11
12
  value: string;
12
13
  previousChecked: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"x-switch.d.ts","sourceRoot":"","sources":["../src/x-switch.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAK5E,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC9G,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,OAAO,qFA8BnB,CAAC"}
1
+ {"version":3,"file":"x-switch.d.ts","sourceRoot":"","sources":["../src/x-switch.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAK5E,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC9G,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,OAAO,qFA4CnB,CAAC"}
package/dist/x-switch.js CHANGED
@@ -5,7 +5,7 @@ import { forwardRef, useRef, useEffect } from "react";
5
5
  import { init } from "@vanelsas/baredom/x-switch";
6
6
  init();
7
7
  export const XSwitch = forwardRef(function XSwitch(props, forwardedRef) {
8
- const { onChangeRequest, onChange, children, ...rest } = props;
8
+ const { checked, defaultChecked, onChangeRequest, onChange, children, ...rest } = props;
9
9
  const innerRef = useRef(null);
10
10
  const setRef = (el) => {
11
11
  innerRef.current = el;
@@ -14,21 +14,39 @@ export const XSwitch = forwardRef(function XSwitch(props, forwardedRef) {
14
14
  else if (forwardedRef)
15
15
  forwardedRef.current = el;
16
16
  };
17
+ // Set initial value from defaultChecked (uncontrolled mode)
18
+ useEffect(() => {
19
+ const el = innerRef.current;
20
+ if (!el || checked !== undefined || defaultChecked === undefined)
21
+ return;
22
+ if (defaultChecked)
23
+ el.setAttribute("checked", "");
24
+ else
25
+ el.removeAttribute("checked");
26
+ // eslint-disable-next-line react-hooks/exhaustive-deps
27
+ }, []);
17
28
  useEffect(() => {
18
29
  const el = innerRef.current;
19
30
  if (!el)
20
31
  return;
21
32
  const cleanup = [];
22
- if (onChangeRequest) {
23
- el.addEventListener("x-switch-change-request", onChangeRequest);
24
- cleanup.push(() => el.removeEventListener("x-switch-change-request", onChangeRequest));
33
+ {
34
+ const controlled = checked !== undefined;
35
+ const wrappedHandler = (e) => {
36
+ if (controlled)
37
+ e.preventDefault();
38
+ if (onChangeRequest)
39
+ onChangeRequest(e);
40
+ };
41
+ el.addEventListener("x-switch-change-request", wrappedHandler);
42
+ cleanup.push(() => el.removeEventListener("x-switch-change-request", wrappedHandler));
25
43
  }
26
44
  if (onChange) {
27
45
  el.addEventListener("x-switch-change", onChange);
28
46
  cleanup.push(() => el.removeEventListener("x-switch-change", onChange));
29
47
  }
30
48
  return () => cleanup.forEach(fn => fn());
31
- }, [onChangeRequest, onChange]);
32
- return _jsx("x-switch", { ref: setRef, ...rest, children: children });
49
+ }, [checked, onChangeRequest, onChange]);
50
+ return _jsx("x-switch", { ref: setRef, checked: checked, ...rest, children: children });
33
51
  });
34
52
  //# sourceMappingURL=x-switch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-switch.js","sourceRoot":"","sources":["../src/x-switch.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,kEAAkE;AAElE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,IAAI,EAAE,CAAC;AAkBP,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAC/B,SAAS,OAAO,CAAC,KAAK,EAAE,YAAY;IAClC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,CAAC,EAAyB,EAAE,EAAE;QAC3C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,eAAe,EAAE,CAAC;YACpB,EAAE,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,eAAgC,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,eAAgC,CAAC,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,QAAyB,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhC,OAAO,mBAAU,GAAG,EAAE,MAAM,KAAM,IAAI,YAAG,QAAQ,GAAY,CAAC;AAChE,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"x-switch.js","sourceRoot":"","sources":["../src/x-switch.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,kEAAkE;AAElE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,IAAI,EAAE,CAAC;AAmBP,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAC/B,SAAS,OAAO,CAAC,KAAK,EAAE,YAAY;IAClC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACxF,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,CAAC,EAAyB,EAAE,EAAE;QAC3C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,4DAA4D;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,IAAI,OAAO,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS;YAAE,OAAO;QACzE,IAAI,cAAc;YAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;;YAC9C,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACrC,uDAAuD;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,CAAC;YACC,MAAM,UAAU,GAAG,OAAO,KAAK,SAAS,CAAC;YACzC,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;gBAClC,IAAI,UAAU;oBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,eAAe;oBAAG,eAAiC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC;YACF,EAAE,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,QAAyB,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzC,OAAO,mBAAU,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAM,IAAI,YAAG,QAAQ,GAAY,CAAC;AAClF,CAAC,CACF,CAAC"}
package/dist/x-tabs.d.ts CHANGED
@@ -2,6 +2,11 @@ import React from "react";
2
2
  import type { XTabs as XTabsElement } from "@vanelsas/baredom/x-tabs";
3
3
  export interface XTabsProps {
4
4
  value?: string;
5
+ defaultValue?: string;
6
+ onValueChangeRequest?: (e: CustomEvent<{
7
+ value: string;
8
+ previousValue: string;
9
+ }>) => void;
5
10
  onValueChange?: (e: CustomEvent<{
6
11
  value: string;
7
12
  }>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"x-tabs.d.ts","sourceRoot":"","sources":["../src/x-tabs.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKtE,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,KAAK,iFA0BjB,CAAC"}
1
+ {"version":3,"file":"x-tabs.d.ts","sourceRoot":"","sources":["../src/x-tabs.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKtE,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC1F,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,KAAK,iFA2CjB,CAAC"}
package/dist/x-tabs.js CHANGED
@@ -5,7 +5,7 @@ import { forwardRef, useRef, useEffect } from "react";
5
5
  import { init } from "@vanelsas/baredom/x-tabs";
6
6
  init();
7
7
  export const XTabs = forwardRef(function XTabs(props, forwardedRef) {
8
- const { onValueChange, children, ...rest } = props;
8
+ const { value, defaultValue, onValueChangeRequest, onValueChange, children, ...rest } = props;
9
9
  const innerRef = useRef(null);
10
10
  const setRef = (el) => {
11
11
  innerRef.current = el;
@@ -14,17 +14,36 @@ export const XTabs = forwardRef(function XTabs(props, forwardedRef) {
14
14
  else if (forwardedRef)
15
15
  forwardedRef.current = el;
16
16
  };
17
+ // Set initial value from defaultValue (uncontrolled mode)
18
+ useEffect(() => {
19
+ const el = innerRef.current;
20
+ if (!el || value !== undefined || defaultValue === undefined)
21
+ return;
22
+ el.setAttribute("value", String(defaultValue));
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ }, []);
17
25
  useEffect(() => {
18
26
  const el = innerRef.current;
19
27
  if (!el)
20
28
  return;
21
29
  const cleanup = [];
30
+ {
31
+ const controlled = value !== undefined;
32
+ const wrappedHandler = (e) => {
33
+ if (controlled)
34
+ e.preventDefault();
35
+ if (onValueChangeRequest)
36
+ onValueChangeRequest(e);
37
+ };
38
+ el.addEventListener("value-change-request", wrappedHandler);
39
+ cleanup.push(() => el.removeEventListener("value-change-request", wrappedHandler));
40
+ }
22
41
  if (onValueChange) {
23
42
  el.addEventListener("value-change", onValueChange);
24
43
  cleanup.push(() => el.removeEventListener("value-change", onValueChange));
25
44
  }
26
45
  return () => cleanup.forEach(fn => fn());
27
- }, [onValueChange]);
28
- return _jsx("x-tabs", { ref: setRef, ...rest, children: children });
46
+ }, [value, onValueChangeRequest, onValueChange]);
47
+ return _jsx("x-tabs", { ref: setRef, value: value, ...rest, children: children });
29
48
  });
30
49
  //# sourceMappingURL=x-tabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-tabs.js","sourceRoot":"","sources":["../src/x-tabs.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,gEAAgE;AAEhE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,IAAI,EAAE,CAAC;AAYP,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAC7B,SAAS,KAAK,CAAC,KAAK,EAAE,YAAY;IAChC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAe,IAAI,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,CAAC,EAAuB,EAAE,EAAE;QACzC,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,aAAa,EAAE,CAAC;YAClB,EAAE,CAAC,gBAAgB,CAAC,cAAc,EAAE,aAA8B,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,cAAc,EAAE,aAA8B,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,iBAAQ,GAAG,EAAE,MAAM,KAAM,IAAI,YAAG,QAAQ,GAAU,CAAC;AAC5D,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"x-tabs.js","sourceRoot":"","sources":["../src/x-tabs.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,gEAAgE;AAEhE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,IAAI,EAAE,CAAC;AAcP,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAC7B,SAAS,KAAK,CAAC,KAAK,EAAE,YAAY;IAChC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC9F,MAAM,QAAQ,GAAG,MAAM,CAAe,IAAI,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,CAAC,EAAuB,EAAE,EAAE;QACzC,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,0DAA0D;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,IAAI,KAAK,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO;QACrE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACjD,uDAAuD;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,CAAC;YACC,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC;YACvC,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;gBAClC,IAAI,UAAU;oBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,oBAAoB;oBAAG,oBAAsC,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC;YACF,EAAE,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,EAAE,CAAC,gBAAgB,CAAC,cAAc,EAAE,aAA8B,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,cAAc,EAAE,aAA8B,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC,CAAC;IAEjD,OAAO,iBAAQ,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAM,IAAI,YAAG,QAAQ,GAAU,CAAC;AAC1E,CAAC,CACF,CAAC"}
@@ -10,6 +10,12 @@ export interface XTextAreaProps {
10
10
  maxLength?: number;
11
11
  autocomplete?: string;
12
12
  required?: boolean;
13
+ defaultValue?: string;
14
+ onChangeRequest?: (e: CustomEvent<{
15
+ name: string;
16
+ value: string;
17
+ previousValue: string;
18
+ }>) => void;
13
19
  onInput?: (e: CustomEvent<{
14
20
  name: string;
15
21
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"x-text-area.d.ts","sourceRoot":"","sources":["../src/x-text-area.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKnF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,SAAS,yFA8BrB,CAAC"}
1
+ {"version":3,"file":"x-text-area.d.ts","sourceRoot":"","sources":["../src/x-text-area.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKnF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACnG,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,SAAS,yFA+CrB,CAAC"}
@@ -5,7 +5,7 @@ import { forwardRef, useRef, useEffect } from "react";
5
5
  import { init } from "@vanelsas/baredom/x-text-area";
6
6
  init();
7
7
  export const XTextArea = forwardRef(function XTextArea(props, forwardedRef) {
8
- const { onInput, onChange, children, ...rest } = props;
8
+ const { value, defaultValue, onChangeRequest, onInput, onChange, children, ...rest } = props;
9
9
  const innerRef = useRef(null);
10
10
  const setRef = (el) => {
11
11
  innerRef.current = el;
@@ -14,11 +14,30 @@ export const XTextArea = forwardRef(function XTextArea(props, forwardedRef) {
14
14
  else if (forwardedRef)
15
15
  forwardedRef.current = el;
16
16
  };
17
+ // Set initial value from defaultValue (uncontrolled mode)
18
+ useEffect(() => {
19
+ const el = innerRef.current;
20
+ if (!el || value !== undefined || defaultValue === undefined)
21
+ return;
22
+ el.setAttribute("value", String(defaultValue));
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ }, []);
17
25
  useEffect(() => {
18
26
  const el = innerRef.current;
19
27
  if (!el)
20
28
  return;
21
29
  const cleanup = [];
30
+ {
31
+ const controlled = value !== undefined;
32
+ const wrappedHandler = (e) => {
33
+ if (controlled)
34
+ e.preventDefault();
35
+ if (onChangeRequest)
36
+ onChangeRequest(e);
37
+ };
38
+ el.addEventListener("x-text-area-change-request", wrappedHandler);
39
+ cleanup.push(() => el.removeEventListener("x-text-area-change-request", wrappedHandler));
40
+ }
22
41
  if (onInput) {
23
42
  el.addEventListener("x-text-area-input", onInput);
24
43
  cleanup.push(() => el.removeEventListener("x-text-area-input", onInput));
@@ -28,7 +47,7 @@ export const XTextArea = forwardRef(function XTextArea(props, forwardedRef) {
28
47
  cleanup.push(() => el.removeEventListener("x-text-area-change", onChange));
29
48
  }
30
49
  return () => cleanup.forEach(fn => fn());
31
- }, [onInput, onChange]);
32
- return _jsx("x-text-area", { ref: setRef, ...rest, children: children });
50
+ }, [value, onChangeRequest, onInput, onChange]);
51
+ return _jsx("x-text-area", { ref: setRef, value: value, ...rest, children: children });
33
52
  });
34
53
  //# sourceMappingURL=x-text-area.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-text-area.js","sourceRoot":"","sources":["../src/x-text-area.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,qEAAqE;AAErE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAErD,IAAI,EAAE,CAAC;AAqBP,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,SAAS,SAAS,CAAC,KAAK,EAAE,YAAY;IACpC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,CAAC,EAA2B,EAAE,EAAE;QAC7C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,OAAO,EAAE,CAAC;YACZ,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,OAAwB,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,OAAwB,CAAC,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,QAAyB,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC9F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAExB,OAAO,sBAAa,GAAG,EAAE,MAAM,KAAM,IAAI,YAAG,QAAQ,GAAe,CAAC;AACtE,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"x-text-area.js","sourceRoot":"","sources":["../src/x-text-area.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,qEAAqE;AAErE,OAAc,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAErD,IAAI,EAAE,CAAC;AAuBP,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,SAAS,SAAS,CAAC,KAAK,EAAE,YAAY;IACpC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7F,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,CAAC,EAA2B,EAAE,EAAE;QAC7C,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,YAAY,KAAK,UAAU;YAAE,YAAY,CAAC,EAAE,CAAC,CAAC;aACpD,IAAI,YAAY;YAAE,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC;IAEF,0DAA0D;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,IAAI,KAAK,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO;QACrE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACjD,uDAAuD;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,CAAC;YACC,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC;YACvC,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;gBAClC,IAAI,UAAU;oBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,eAAe;oBAAG,eAAiC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC;YACF,EAAE,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,OAAwB,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,OAAwB,CAAC,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,QAAyB,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,QAAyB,CAAC,CAAC,CAAC;QAC9F,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhD,OAAO,sBAAa,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAM,IAAI,YAAG,QAAQ,GAAe,CAAC;AACpF,CAAC,CACF,CAAC"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  },
8
8
  "license" : "MIT",
9
9
  "peerDependencies" : {
10
- "@vanelsas/baredom" : ">=2.4.1",
10
+ "@vanelsas/baredom" : ">=2.6.0",
11
11
  "react" : ">=19.0.0"
12
12
  },
13
13
  "name" : "@vanelsas/baredom-react",
@@ -395,7 +395,7 @@
395
395
  "@vanelsas/baredom" : "file:../../"
396
396
  },
397
397
  "files" : [ "dist", "README.md", "LICENSE" ],
398
- "version" : "1.0.0",
398
+ "version" : "2.0.0",
399
399
  "main" : "./dist/index.js",
400
400
  "sideEffects" : true
401
401
  }