@vanelsas/baredom-react 1.0.0 → 2.1.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 (54) hide show
  1. package/README.md +76 -1
  2. package/dist/hooks/index.d.ts +2 -0
  3. package/dist/hooks/index.d.ts.map +1 -0
  4. package/dist/hooks/index.js +3 -0
  5. package/dist/hooks/index.js.map +1 -0
  6. package/dist/hooks/useRegisterPreset.d.ts +46 -0
  7. package/dist/hooks/useRegisterPreset.d.ts.map +1 -0
  8. package/dist/hooks/useRegisterPreset.js +40 -0
  9. package/dist/hooks/useRegisterPreset.js.map +1 -0
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +2 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/x-checkbox.d.ts +1 -0
  15. package/dist/x-checkbox.d.ts.map +1 -1
  16. package/dist/x-checkbox.js +24 -6
  17. package/dist/x-checkbox.js.map +1 -1
  18. package/dist/x-combobox.d.ts +6 -0
  19. package/dist/x-combobox.d.ts.map +1 -1
  20. package/dist/x-combobox.js +22 -3
  21. package/dist/x-combobox.js.map +1 -1
  22. package/dist/x-currency-field.d.ts +6 -0
  23. package/dist/x-currency-field.d.ts.map +1 -1
  24. package/dist/x-currency-field.js +22 -3
  25. package/dist/x-currency-field.js.map +1 -1
  26. package/dist/x-pagination.d.ts +5 -0
  27. package/dist/x-pagination.d.ts.map +1 -1
  28. package/dist/x-pagination.js +22 -3
  29. package/dist/x-pagination.js.map +1 -1
  30. package/dist/x-radio.d.ts +1 -0
  31. package/dist/x-radio.d.ts.map +1 -1
  32. package/dist/x-radio.js +24 -6
  33. package/dist/x-radio.js.map +1 -1
  34. package/dist/x-select.d.ts +6 -0
  35. package/dist/x-select.d.ts.map +1 -1
  36. package/dist/x-select.js +22 -3
  37. package/dist/x-select.js.map +1 -1
  38. package/dist/x-slider.d.ts +7 -0
  39. package/dist/x-slider.d.ts.map +1 -1
  40. package/dist/x-slider.js +22 -3
  41. package/dist/x-slider.js.map +1 -1
  42. package/dist/x-switch.d.ts +1 -0
  43. package/dist/x-switch.d.ts.map +1 -1
  44. package/dist/x-switch.js +24 -6
  45. package/dist/x-switch.js.map +1 -1
  46. package/dist/x-tabs.d.ts +5 -0
  47. package/dist/x-tabs.d.ts.map +1 -1
  48. package/dist/x-tabs.js +22 -3
  49. package/dist/x-tabs.js.map +1 -1
  50. package/dist/x-text-area.d.ts +6 -0
  51. package/dist/x-text-area.d.ts.map +1 -1
  52. package/dist/x-text-area.js +22 -3
  53. package/dist/x-text-area.js.map +1 -1
  54. package/package.json +6 -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:
@@ -99,10 +144,40 @@ function App() {
99
144
  }
100
145
  ```
101
146
 
147
+ ### Custom presets
148
+
149
+ Use the `useRegisterPreset` hook to register a custom theme preset. Any tokens you omit fall back to the default BareDOM preset.
150
+
151
+ ```tsx
152
+ import { useRegisterPreset } from "@vanelsas/baredom-react/hooks";
153
+ import { XTheme } from "@vanelsas/baredom-react/x-theme";
154
+
155
+ const brandTokens = {
156
+ light: {
157
+ "--x-color-primary": "#e11d48",
158
+ "--x-color-primary-hover": "#be123c",
159
+ "--x-font-family": "'Inter', sans-serif",
160
+ },
161
+ dark: {
162
+ "--x-color-primary": "#fb7185",
163
+ "--x-color-primary-hover": "#f43f5e",
164
+ },
165
+ };
166
+
167
+ function App() {
168
+ useRegisterPreset("brand", brandTokens);
169
+ return (
170
+ <XTheme preset="brand">
171
+ {/* Components use your brand tokens */}
172
+ </XTheme>
173
+ );
174
+ }
175
+ ```
176
+
102
177
  ## Requirements
103
178
 
104
179
  - React 19+
105
- - @vanelsas/baredom 2.4.1+
180
+ - @vanelsas/baredom 2.6.0+
106
181
 
107
182
  ## Auto-generated
108
183
 
@@ -0,0 +1,2 @@
1
+ export { useRegisterPreset, type PresetData, type TokenMap } from "./useRegisterPreset";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ // hooks/index.ts — hand-written, not auto-generated
2
+ export { useRegisterPreset } from "./useRegisterPreset";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAEpD,OAAO,EAAE,iBAAiB,EAAkC,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Token map: CSS custom property names to CSS values.
3
+ * e.g. `{ "--x-color-primary": "#3b82f6" }`
4
+ */
5
+ export type TokenMap = Record<string, string>;
6
+ /**
7
+ * Preset data with light and optional dark mode tokens.
8
+ * Tokens not specified fall back to the `default` BareDOM preset.
9
+ */
10
+ export interface PresetData {
11
+ light: TokenMap;
12
+ dark?: TokenMap;
13
+ }
14
+ /**
15
+ * Register a custom BareDOM theme preset. The preset becomes available
16
+ * to any `<XTheme preset="name">` in the tree.
17
+ *
18
+ * The registration runs once on mount (or when `name` / `data` change).
19
+ * Partial presets are supported — any tokens you omit automatically
20
+ * fall back to the default preset.
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * import { useRegisterPreset } from "@vanelsas/baredom-react/hooks";
25
+ * import { XTheme } from "@vanelsas/baredom-react/x-theme";
26
+ *
27
+ * const brandTokens = {
28
+ * light: {
29
+ * "--x-color-primary": "#e11d48",
30
+ * "--x-color-primary-hover": "#be123c",
31
+ * "--x-font-family": "'Inter', sans-serif",
32
+ * },
33
+ * dark: {
34
+ * "--x-color-primary": "#fb7185",
35
+ * "--x-color-primary-hover": "#f43f5e",
36
+ * },
37
+ * };
38
+ *
39
+ * function App() {
40
+ * useRegisterPreset("brand", brandTokens);
41
+ * return <XTheme preset="brand">...</XTheme>;
42
+ * }
43
+ * ```
44
+ */
45
+ export declare function useRegisterPreset(name: string, data: PresetData): void;
46
+ //# sourceMappingURL=useRegisterPreset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRegisterPreset.d.ts","sourceRoot":"","sources":["../../src/hooks/useRegisterPreset.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9C;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAItE"}
@@ -0,0 +1,40 @@
1
+ "use client";
2
+ import { useEffect } from "react";
3
+ import { registerPreset } from "@vanelsas/baredom/x-theme";
4
+ /**
5
+ * Register a custom BareDOM theme preset. The preset becomes available
6
+ * to any `<XTheme preset="name">` in the tree.
7
+ *
8
+ * The registration runs once on mount (or when `name` / `data` change).
9
+ * Partial presets are supported — any tokens you omit automatically
10
+ * fall back to the default preset.
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * import { useRegisterPreset } from "@vanelsas/baredom-react/hooks";
15
+ * import { XTheme } from "@vanelsas/baredom-react/x-theme";
16
+ *
17
+ * const brandTokens = {
18
+ * light: {
19
+ * "--x-color-primary": "#e11d48",
20
+ * "--x-color-primary-hover": "#be123c",
21
+ * "--x-font-family": "'Inter', sans-serif",
22
+ * },
23
+ * dark: {
24
+ * "--x-color-primary": "#fb7185",
25
+ * "--x-color-primary-hover": "#f43f5e",
26
+ * },
27
+ * };
28
+ *
29
+ * function App() {
30
+ * useRegisterPreset("brand", brandTokens);
31
+ * return <XTheme preset="brand">...</XTheme>;
32
+ * }
33
+ * ```
34
+ */
35
+ export function useRegisterPreset(name, data) {
36
+ useEffect(() => {
37
+ registerPreset(name, data);
38
+ }, [name, data]);
39
+ }
40
+ //# sourceMappingURL=useRegisterPreset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRegisterPreset.js","sourceRoot":"","sources":["../../src/hooks/useRegisterPreset.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAiB3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,IAAgB;IAC9D,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACnB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -88,4 +88,5 @@ export { XToaster, type XToasterProps } from "./x-toaster";
88
88
  export { XTooltip, type XTooltipProps } from "./x-tooltip";
89
89
  export { XTypography, type XTypographyProps } from "./x-typography";
90
90
  export { XWelcomeTour, type XWelcomeTourProps } from "./x-welcome-tour";
91
+ export { useRegisterPreset, type PresetData, type TokenMap } from "./hooks/useRegisterPreset";
91
92
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -89,4 +89,6 @@ export { XToaster } from "./x-toaster";
89
89
  export { XTooltip } from "./x-tooltip";
90
90
  export { XTypography } from "./x-typography";
91
91
  export { XWelcomeTour } from "./x-welcome-tour";
92
+ // Hooks (hand-written)
93
+ export { useRegisterPreset } from "./hooks/useRegisterPreset";
92
94
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
@@ -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",
@@ -27,6 +27,10 @@
27
27
  "import" : "./dist/index.js",
28
28
  "types" : "./dist/index.d.ts"
29
29
  },
30
+ "./hooks" : {
31
+ "import" : "./dist/hooks/index.js",
32
+ "types" : "./dist/hooks/index.d.ts"
33
+ },
30
34
  "./x-alert" : {
31
35
  "import" : "./dist/x-alert.js",
32
36
  "types" : "./dist/x-alert.d.ts"
@@ -395,7 +399,7 @@
395
399
  "@vanelsas/baredom" : "file:../../"
396
400
  },
397
401
  "files" : [ "dist", "README.md", "LICENSE" ],
398
- "version" : "1.0.0",
402
+ "version" : "2.1.0",
399
403
  "main" : "./dist/index.js",
400
404
  "sideEffects" : true
401
405
  }