@revikornmann/muka-ui 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/build/manifest.json +4 -1
  2. package/dist/cjs/components/Button/Button.css +29 -0
  3. package/dist/cjs/components/Button/Button.js +1 -1
  4. package/dist/cjs/components/Checkbox/Checkbox.js +44 -5
  5. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  6. package/dist/cjs/components/DatePicker/DatePicker.js +51 -6
  7. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  8. package/dist/cjs/components/Form/Form.css +17 -0
  9. package/dist/cjs/components/Form/Form.js +31 -0
  10. package/dist/cjs/components/Form/Form.js.map +1 -0
  11. package/dist/cjs/components/Form/index.js +13 -0
  12. package/dist/cjs/components/Form/index.js.map +1 -0
  13. package/dist/cjs/components/Form/useForm.js +95 -0
  14. package/dist/cjs/components/Form/useForm.js.map +1 -0
  15. package/dist/cjs/components/Input/Input.js +52 -5
  16. package/dist/cjs/components/Input/Input.js.map +1 -1
  17. package/dist/cjs/components/LicensePlateInput/LicensePlateInput.js +50 -5
  18. package/dist/cjs/components/LicensePlateInput/LicensePlateInput.js.map +1 -1
  19. package/dist/cjs/components/NumberInput/NumberInput.js +51 -6
  20. package/dist/cjs/components/NumberInput/NumberInput.js.map +1 -1
  21. package/dist/cjs/components/Radio/Radio.js +37 -5
  22. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  23. package/dist/cjs/components/RangeSlider/RangeSlider.js +37 -5
  24. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  25. package/dist/cjs/components/SegmentGroup/SegmentGroup.css +4 -4
  26. package/dist/cjs/components/SegmentGroup/SegmentGroup.js +11 -6
  27. package/dist/cjs/components/SegmentGroup/SegmentGroup.js.map +1 -1
  28. package/dist/cjs/components/Select/Select.js +53 -7
  29. package/dist/cjs/components/Select/Select.js.map +1 -1
  30. package/dist/cjs/components/Textarea/Textarea.js +43 -5
  31. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  32. package/dist/cjs/components/Toggle/Toggle.js +37 -5
  33. package/dist/cjs/components/Toggle/Toggle.js.map +1 -1
  34. package/dist/cjs/components/index.js +6 -3
  35. package/dist/cjs/components/index.js.map +1 -1
  36. package/dist/esm/components/Button/Button.css +29 -0
  37. package/dist/esm/components/Button/Button.js +1 -1
  38. package/dist/esm/components/Checkbox/Checkbox.js +11 -4
  39. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  40. package/dist/esm/components/DatePicker/DatePicker.js +18 -5
  41. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  42. package/dist/esm/components/Form/Form.css +17 -0
  43. package/dist/esm/components/Form/Form.js +27 -0
  44. package/dist/esm/components/Form/Form.js.map +1 -0
  45. package/dist/esm/components/Form/index.js +4 -0
  46. package/dist/esm/components/Form/index.js.map +1 -0
  47. package/dist/esm/components/Form/useForm.js +92 -0
  48. package/dist/esm/components/Form/useForm.js.map +1 -0
  49. package/dist/esm/components/Input/Input.js +19 -4
  50. package/dist/esm/components/Input/Input.js.map +1 -1
  51. package/dist/esm/components/LicensePlateInput/LicensePlateInput.js +17 -4
  52. package/dist/esm/components/LicensePlateInput/LicensePlateInput.js.map +1 -1
  53. package/dist/esm/components/NumberInput/NumberInput.js +18 -5
  54. package/dist/esm/components/NumberInput/NumberInput.js.map +1 -1
  55. package/dist/esm/components/Radio/Radio.js +4 -4
  56. package/dist/esm/components/Radio/Radio.js.map +1 -1
  57. package/dist/esm/components/RangeSlider/RangeSlider.js +4 -4
  58. package/dist/esm/components/RangeSlider/RangeSlider.js.map +1 -1
  59. package/dist/esm/components/SegmentGroup/SegmentGroup.css +4 -4
  60. package/dist/esm/components/SegmentGroup/SegmentGroup.js +11 -6
  61. package/dist/esm/components/SegmentGroup/SegmentGroup.js.map +1 -1
  62. package/dist/esm/components/Select/Select.js +18 -5
  63. package/dist/esm/components/Select/Select.js.map +1 -1
  64. package/dist/esm/components/Textarea/Textarea.js +10 -4
  65. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  66. package/dist/esm/components/Toggle/Toggle.js +4 -4
  67. package/dist/esm/components/Toggle/Toggle.js.map +1 -1
  68. package/dist/esm/components/index.js +1 -0
  69. package/dist/esm/components/index.js.map +1 -1
  70. package/dist/styles/components/Button.css +29 -0
  71. package/dist/styles/components/Form.css +17 -0
  72. package/dist/styles/components/SegmentGroup.css +4 -4
  73. package/dist/styles/index.css +522 -433
  74. package/dist/styles/muka-dark.css +522 -433
  75. package/dist/styles/muka-light.css +522 -433
  76. package/dist/styles/tokens-bouwplan-dark.css +40 -0
  77. package/dist/styles/tokens-bouwplan-light.css +40 -0
  78. package/dist/styles/tokens-fscl-dark.css +40 -0
  79. package/dist/styles/tokens-fscl-light.css +40 -0
  80. package/dist/styles/tokens-grip-dark.css +40 -0
  81. package/dist/styles/tokens-grip-light.css +40 -0
  82. package/dist/styles/tokens-muka-dark.css +40 -0
  83. package/dist/styles/tokens-muka-light.css +40 -0
  84. package/dist/styles/tokens-wireframe-dark.css +82 -42
  85. package/dist/styles/tokens-wireframe-light.css +82 -42
  86. package/dist/styles/wireframe-dark.css +564 -475
  87. package/dist/styles/wireframe-light.css +564 -475
  88. package/dist/types/components/Button/Button.d.ts +2 -2
  89. package/dist/types/components/Button/Button.d.ts.map +1 -1
  90. package/dist/types/components/Checkbox/Checkbox.d.ts +1 -1
  91. package/dist/types/components/Checkbox/Checkbox.d.ts.map +1 -1
  92. package/dist/types/components/DatePicker/DatePicker.d.ts +5 -1
  93. package/dist/types/components/DatePicker/DatePicker.d.ts.map +1 -1
  94. package/dist/types/components/Form/Form.d.ts +34 -0
  95. package/dist/types/components/Form/Form.d.ts.map +1 -0
  96. package/dist/types/components/Form/index.d.ts +4 -0
  97. package/dist/types/components/Form/index.d.ts.map +1 -0
  98. package/dist/types/components/Form/useForm.d.ts +74 -0
  99. package/dist/types/components/Form/useForm.d.ts.map +1 -0
  100. package/dist/types/components/Input/Input.d.ts +5 -1
  101. package/dist/types/components/Input/Input.d.ts.map +1 -1
  102. package/dist/types/components/LicensePlateInput/LicensePlateInput.d.ts +5 -1
  103. package/dist/types/components/LicensePlateInput/LicensePlateInput.d.ts.map +1 -1
  104. package/dist/types/components/NumberInput/NumberInput.d.ts +5 -1
  105. package/dist/types/components/NumberInput/NumberInput.d.ts.map +1 -1
  106. package/dist/types/components/Radio/Radio.d.ts +1 -1
  107. package/dist/types/components/Radio/Radio.d.ts.map +1 -1
  108. package/dist/types/components/RangeSlider/RangeSlider.d.ts +1 -1
  109. package/dist/types/components/RangeSlider/RangeSlider.d.ts.map +1 -1
  110. package/dist/types/components/SegmentGroup/SegmentGroup.d.ts +4 -0
  111. package/dist/types/components/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  112. package/dist/types/components/Select/Select.d.ts +7 -1
  113. package/dist/types/components/Select/Select.d.ts.map +1 -1
  114. package/dist/types/components/Textarea/Textarea.d.ts +5 -1
  115. package/dist/types/components/Textarea/Textarea.d.ts.map +1 -1
  116. package/dist/types/components/Toggle/Toggle.d.ts +1 -1
  117. package/dist/types/components/Toggle/Toggle.d.ts.map +1 -1
  118. package/dist/types/components/index.d.ts +1 -0
  119. package/dist/types/components/index.d.ts.map +1 -1
  120. package/package.json +1 -1
  121. package/tokens/t2-alias/brand/wireframe/radius.json +34 -0
  122. package/tokens/t4-components/button.json +56 -0
  123. package/tokens/t4-components/segmentgroup.json +8 -0
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useState, useId, useRef } from 'react';
3
+ import React, { useState, useId, useRef } from 'react';
4
4
  import '../Input/Input.css';
5
5
  import './NumberInput.css';
6
6
  /**
@@ -14,7 +14,7 @@ import './NumberInput.css';
14
14
  * - input.field.radius / padding / height
15
15
  * - text.input.{size} / text.label.{size}.semibold
16
16
  */
17
- export const NumberInput = ({ value, onChange, label, helperText, error = false, errorMessage, disabled = false, size = 'md', prefix, suffix, step, min, max, placeholder, fullWidth = false, className = '', id, name, required = false, readOnly = false, }) => {
17
+ export const NumberInput = React.forwardRef(function NumberInput({ value, onChange, label, helperText, error = false, errorMessage, disabled = false, size = 'md', prefix, suffix, step, min, max, placeholder, fullWidth = false, className = '', id, name, required = false, readOnly = false, onBlur, onFocus, }, forwardedRef) {
18
18
  const [isFocused, setIsFocused] = useState(false);
19
19
  const inputRef = useRef(null);
20
20
  const generatedId = useId();
@@ -46,14 +46,27 @@ export const NumberInput = ({ value, onChange, label, helperText, error = false,
46
46
  e.preventDefault();
47
47
  inputRef.current?.focus();
48
48
  }
49
- }, children: [hasPrefix && (_jsx("span", { className: "muka-numberinput__addon muka-numberinput__addon--prefix", children: prefix })), _jsx("input", { ref: inputRef, id: inputId, className: "muka-input__native", type: "number", inputMode: "decimal", value: Number.isFinite(value) ? value : 0, step: step, min: min, max: max, placeholder: placeholder, disabled: disabled, readOnly: readOnly, name: name, required: required, "aria-invalid": error || undefined, "aria-describedby": describedBy, onChange: (e) => {
49
+ }, children: [hasPrefix && (_jsx("span", { className: "muka-numberinput__addon muka-numberinput__addon--prefix", children: prefix })), _jsx("input", { ref: (node) => {
50
+ inputRef.current = node;
51
+ if (typeof forwardedRef === 'function')
52
+ forwardedRef(node);
53
+ else if (forwardedRef)
54
+ forwardedRef.current =
55
+ node;
56
+ }, id: inputId, className: "muka-input__native", type: "number", inputMode: "decimal", value: Number.isFinite(value) ? value : 0, step: step, min: min, max: max, placeholder: placeholder, disabled: disabled, readOnly: readOnly, name: name, required: required, "aria-invalid": error || undefined, "aria-describedby": describedBy, onChange: (e) => {
50
57
  const parsed = e.target.valueAsNumber;
51
58
  onChange?.(Number.isFinite(parsed) ? parsed : 0);
52
- }, onFocus: () => setIsFocused(true), onBlur: () => setIsFocused(false), onKeyDownCapture: (e) => {
59
+ }, onFocus: (e) => {
60
+ setIsFocused(true);
61
+ onFocus?.(e);
62
+ }, onBlur: (e) => {
63
+ setIsFocused(false);
64
+ onBlur?.(e);
65
+ }, onKeyDownCapture: (e) => {
53
66
  if ((e.metaKey || e.ctrlKey) && e.key === 'a') {
54
67
  e.stopPropagation();
55
68
  }
56
69
  } }), hasSuffix && (_jsx("span", { className: "muka-numberinput__addon muka-numberinput__addon--suffix", children: suffix }))] }), showError && (_jsx("p", { className: "muka-input__error", id: errorMessageId, role: "alert", children: errorMessage })), !showError && helperText && (_jsx("p", { className: "muka-input__helper", id: helperTextId, children: helperText }))] }));
57
- };
70
+ });
58
71
  export default NumberInput;
59
72
  //# sourceMappingURL=NumberInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["../../../../components/NumberInput/NumberInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["../../../../components/NumberInput/NumberInput.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useId } from 'react';
3
+ import React, { useId } from 'react';
4
4
  import './Radio.css';
5
5
  /**
6
6
  * Radio Component
@@ -17,7 +17,7 @@ import './Radio.css';
17
17
  * - radio.dot.size.{size}
18
18
  * - radio.color.{state}.{background|border|dot}
19
19
  */
20
- export const Radio = ({ checked, defaultChecked, onChange, label, disabled = false, name, value, size = 'md', className = '', id, ...props }) => {
20
+ export const Radio = React.forwardRef(function Radio({ checked, defaultChecked, onChange, label, disabled = false, name, value, size = 'md', className = '', id, ...props }, forwardedRef) {
21
21
  const generatedId = useId();
22
22
  const inputId = id || generatedId;
23
23
  const wrapperClasses = [
@@ -26,7 +26,7 @@ export const Radio = ({ checked, defaultChecked, onChange, label, disabled = fal
26
26
  disabled && 'muka-radio--disabled',
27
27
  className
28
28
  ].filter(Boolean).join(' ');
29
- return (_jsxs("label", { className: wrapperClasses, htmlFor: inputId, children: [_jsxs("span", { className: "muka-radio__control", children: [_jsx("input", { type: "radio", id: inputId, className: "muka-radio__input", checked: checked, defaultChecked: defaultChecked, onChange: onChange, disabled: disabled, name: name, value: value, ...props }), _jsx("span", { className: "muka-radio__indicator", children: _jsx("span", { className: "muka-radio__dot" }) })] }), label && _jsx("span", { className: "muka-radio__label", children: label })] }));
30
- };
29
+ return (_jsxs("label", { className: wrapperClasses, htmlFor: inputId, children: [_jsxs("span", { className: "muka-radio__control", children: [_jsx("input", { ref: forwardedRef, type: "radio", id: inputId, className: "muka-radio__input", checked: checked, defaultChecked: defaultChecked, onChange: onChange, disabled: disabled, name: name, value: value, ...props }), _jsx("span", { className: "muka-radio__indicator", children: _jsx("span", { className: "muka-radio__dot" }) })] }), label && _jsx("span", { className: "muka-radio__label", children: label })] }));
30
+ });
31
31
  export default Radio;
32
32
  //# sourceMappingURL=Radio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../../components/Radio/Radio.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,aAAa,CAAC;AAkCrB;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,KAAK,GAAyB,CAAC,EAC1C,OAAO,EACP,cAAc,EACd,QAAQ,EACR,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,IAAI,EACJ,KAAK,EACL,IAAI,GAAG,IAAI,EACX,SAAS,GAAG,EAAE,EACd,EAAE,EACF,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,EAAE,IAAI,WAAW,CAAC;IAElC,MAAM,cAAc,GAAG;QACrB,YAAY;QACZ,eAAe,IAAI,EAAE;QACrB,QAAQ,IAAI,sBAAsB;QAClC,SAAS;KACV,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,OAAO,CACL,iBAAO,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,aAChD,gBAAM,SAAS,EAAC,qBAAqB,aACnC,gBACE,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,OAAO,EACX,SAAS,EAAC,mBAAmB,EAC7B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,KACR,KAAK,GACT,EACF,eAAM,SAAS,EAAC,uBAAuB,YACrC,eAAM,SAAS,EAAC,iBAAiB,GAAG,GAC/B,IACF,EACN,KAAK,IAAI,eAAM,SAAS,EAAC,mBAAmB,YAAE,KAAK,GAAQ,IACtD,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../../components/Radio/Radio.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,aAAa,CAAC;AAkCrB;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA+B,SAAS,KAAK,CAChF,EACE,OAAO,EACP,cAAc,EACd,QAAQ,EACR,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,IAAI,EACJ,KAAK,EACL,IAAI,GAAG,IAAI,EACX,SAAS,GAAG,EAAE,EACd,EAAE,EACF,GAAG,KAAK,EACT,EACD,YAAY;IAEZ,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,EAAE,IAAI,WAAW,CAAC;IAElC,MAAM,cAAc,GAAG;QACrB,YAAY;QACZ,eAAe,IAAI,EAAE;QACrB,QAAQ,IAAI,sBAAsB;QAClC,SAAS;KACV,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,OAAO,CACL,iBAAO,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,aAChD,gBAAM,SAAS,EAAC,qBAAqB,aACnC,gBACE,GAAG,EAAE,YAAY,EACjB,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,OAAO,EACX,SAAS,EAAC,mBAAmB,EAC7B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,KACR,KAAK,GACT,EACF,eAAM,SAAS,EAAC,uBAAuB,YACrC,eAAM,SAAS,EAAC,iBAAiB,GAAG,GAC/B,IACF,EACN,KAAK,IAAI,eAAM,SAAS,EAAC,mBAAmB,YAAE,KAAK,GAAQ,IACtD,CACT,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,KAAK,CAAC"}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useId } from 'react';
3
+ import React, { useId } from 'react';
4
4
  import { Icon } from '../Icon';
5
5
  import './RangeSlider.css';
6
6
  /**
@@ -19,7 +19,7 @@ import './RangeSlider.css';
19
19
  * - Wraps a native <input type="range">, so keyboard and screen-reader support
20
20
  * come for free. Provide a visible `label` or an `aria-label`.
21
21
  */
22
- export const RangeSlider = ({ value, onChange, min, max, step = 1, label, tooltip, optional = false, showValue = true, formatValue, helperText, size = 'md', disabled = false, id, className = '', 'aria-label': ariaLabel, }) => {
22
+ export const RangeSlider = React.forwardRef(function RangeSlider({ value, onChange, min, max, step = 1, label, tooltip, optional = false, showValue = true, formatValue, helperText, size = 'md', disabled = false, id, className = '', 'aria-label': ariaLabel, }, forwardedRef) {
23
23
  const generatedId = useId();
24
24
  const inputId = id ?? generatedId;
25
25
  const helperId = helperText ? `${inputId}-helper` : undefined;
@@ -35,7 +35,7 @@ export const RangeSlider = ({ value, onChange, min, max, step = 1, label, toolti
35
35
  disabled ? 'muka-range-slider--disabled' : '',
36
36
  className,
37
37
  ].filter(Boolean).join(' ');
38
- return (_jsxs("div", { className: rootClasses, children: [showHeader && (_jsxs("div", { className: "muka-range-slider__header", children: [_jsxs("span", { className: "muka-range-slider__label-group", children: [label && (_jsx("label", { htmlFor: inputId, className: "muka-range-slider__label", children: label })), tooltip && (_jsx(Icon, { name: "information", variant: "line", size: "sm", colorVariant: "subtle", label: tooltip, className: "muka-range-slider__info" })), optional && (_jsx("span", { className: "muka-range-slider__optional", children: "Optional" }))] }), showValue && (_jsx("span", { className: "muka-range-slider__value", children: formatValue ? formatValue(value) : value }))] })), _jsx("div", { className: "muka-range-slider__bar", children: _jsx("input", { id: inputId, type: "range", className: "muka-range-slider__input", value: value, min: min, max: max, step: step, disabled: disabled, "aria-label": label ? undefined : ariaLabel, "aria-describedby": helperId, style: { ['--muka-range-fill']: `${fillPct}%` }, onChange: (e) => onChange(Number(e.target.value)) }) }), helperText && (_jsx("p", { id: helperId, className: "muka-range-slider__helper", children: helperText }))] }));
39
- };
38
+ return (_jsxs("div", { className: rootClasses, children: [showHeader && (_jsxs("div", { className: "muka-range-slider__header", children: [_jsxs("span", { className: "muka-range-slider__label-group", children: [label && (_jsx("label", { htmlFor: inputId, className: "muka-range-slider__label", children: label })), tooltip && (_jsx(Icon, { name: "information", variant: "line", size: "sm", colorVariant: "subtle", label: tooltip, className: "muka-range-slider__info" })), optional && (_jsx("span", { className: "muka-range-slider__optional", children: "Optional" }))] }), showValue && (_jsx("span", { className: "muka-range-slider__value", children: formatValue ? formatValue(value) : value }))] })), _jsx("div", { className: "muka-range-slider__bar", children: _jsx("input", { ref: forwardedRef, id: inputId, type: "range", className: "muka-range-slider__input", value: value, min: min, max: max, step: step, disabled: disabled, "aria-label": label ? undefined : ariaLabel, "aria-describedby": helperId, style: { ['--muka-range-fill']: `${fillPct}%` }, onChange: (e) => onChange(Number(e.target.value)) }) }), helperText && (_jsx("p", { id: helperId, className: "muka-range-slider__helper", children: helperText }))] }));
39
+ });
40
40
  export default RangeSlider;
41
41
  //# sourceMappingURL=RangeSlider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RangeSlider.js","sourceRoot":"","sources":["../../../../components/RangeSlider/RangeSlider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RangeSlider.js","sourceRoot":"","sources":["../../../../components/RangeSlider/RangeSlider.tsx"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  background-color: var(--segmentgroup-container-background);
10
10
  border-radius: var(--segmentgroup-container-radius);
11
11
  position: relative;
12
- transition: all 0.2s ease;
12
+ transition: background-color 0.2s ease, box-shadow 0.2s ease;
13
13
  }
14
14
 
15
15
  /* Inset shadow on container */
@@ -50,17 +50,18 @@
50
50
  display: inline-flex;
51
51
  align-items: center;
52
52
  justify-content: center;
53
+ gap: var(--segmentgroup-segment-gap);
53
54
  border: none;
54
55
  background-color: var(--segmentgroup-segment-color-unselected-background);
55
56
  color: var(--segmentgroup-segment-color-unselected-foreground);
56
57
  border-radius: var(--segmentgroup-segment-radius);
57
58
  cursor: pointer;
58
- transition: all 0.2s ease;
59
+ transition: background-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
59
60
  position: relative;
60
61
  outline: none;
61
62
  box-shadow: var(--segmentgroup-segment-shadow-unselected);
62
63
  font-family: var(--alias-font-plain-family);
63
- font-weight: var(--alias-font-plain-weight-regular);
64
+ font-weight: var(--segmentgroup-segment-fontWeight);
64
65
  z-index: 1; /* Keep above pill */
65
66
  }
66
67
 
@@ -153,7 +154,6 @@
153
154
  background-color: transparent;
154
155
  box-shadow: none;
155
156
  color: var(--segmentgroup-segment-color-selected-foreground);
156
- font-weight: var(--alias-font-plain-weight-semibold);
157
157
  z-index: 2; /* Highlight pill when focused is tested below */
158
158
  }
159
159
 
@@ -27,10 +27,11 @@ import './SegmentGroup.css';
27
27
  * />
28
28
  * ```
29
29
  */
30
- export const SegmentGroup = ({ options, value, defaultValue, onChange, size = 'sm', className = '', fullWidth = false, disabled = false, iconOnly = false, }) => {
30
+ export const SegmentGroup = ({ options, value, defaultValue, onChange, size = 'sm', className = '', fullWidth = false, disabled = false, iconOnly = false, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, }) => {
31
31
  const [internalValue, setInternalValue] = useState(defaultValue ?? options[0]?.value ?? '');
32
32
  const selectedValue = value !== undefined ? value : internalValue;
33
33
  const containerRef = useRef(null);
34
+ const segmentRefs = useRef({});
34
35
  const [pillStyle, setPillStyle] = useState({ left: 0, width: 0, opacity: 0 });
35
36
  useEffect(() => {
36
37
  const updatePill = () => {
@@ -60,7 +61,7 @@ export const SegmentGroup = ({ options, value, defaultValue, onChange, size = 's
60
61
  }
61
62
  onChange?.(newValue);
62
63
  }, [value, onChange, disabled]);
63
- const handleKeyDown = (e, optionValue, _index) => {
64
+ const handleKeyDown = (e, optionValue) => {
64
65
  const enabledOptions = options.filter((opt) => !opt.disabled);
65
66
  const currentIndex = enabledOptions.findIndex((opt) => opt.value === optionValue);
66
67
  let nextIndex = null;
@@ -92,17 +93,21 @@ export const SegmentGroup = ({ options, value, defaultValue, onChange, size = 's
92
93
  return;
93
94
  }
94
95
  if (nextIndex !== null) {
95
- handleChange(enabledOptions[nextIndex].value);
96
+ const nextValue = enabledOptions[nextIndex].value;
97
+ handleChange(nextValue);
98
+ segmentRefs.current[nextValue]?.focus();
96
99
  }
97
100
  };
98
- return (_jsxs("div", { ref: containerRef, className: `muka-segmentgroup muka-segmentgroup--${size} ${fullWidth ? 'muka-segmentgroup--full-width' : ''} ${iconOnly ? 'muka-segmentgroup--icon-only' : ''} ${className}`.trim(), role: "radiogroup", children: [_jsx("div", { className: "muka-segmentgroup__pill", style: {
101
+ return (_jsxs("div", { ref: containerRef, className: `muka-segmentgroup muka-segmentgroup--${size} ${fullWidth ? 'muka-segmentgroup--full-width' : ''} ${iconOnly ? 'muka-segmentgroup--icon-only' : ''} ${className}`.trim(), role: "radiogroup", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, children: [_jsx("div", { className: "muka-segmentgroup__pill", style: {
99
102
  transform: `translateX(${pillStyle.left}px)`,
100
103
  width: `${pillStyle.width}px`,
101
104
  opacity: pillStyle.opacity,
102
- } }), options.map((option, index) => {
105
+ } }), options.map((option) => {
103
106
  const isSelected = selectedValue === option.value;
104
107
  const isDisabled = disabled || option.disabled;
105
- return (_jsx("button", { type: "button", role: "radio", "aria-checked": isSelected, "aria-label": option.label, disabled: isDisabled, tabIndex: isSelected ? 0 : -1, className: `muka-segmentgroup__segment ${isSelected ? 'muka-segmentgroup__segment--selected' : ''} ${isDisabled ? 'muka-segmentgroup__segment--disabled' : ''}`.trim(), onClick: () => !isDisabled && handleChange(option.value), onKeyDown: (e) => !isDisabled && handleKeyDown(e, option.value, index), children: iconOnly && option.icon ? (_jsx("span", { className: "muka-segmentgroup__icon", children: option.icon })) : (_jsx("span", { className: "muka-segmentgroup__label", children: option.label })) }, option.value));
108
+ return (_jsxs("button", { ref: (element) => {
109
+ segmentRefs.current[option.value] = element;
110
+ }, type: "button", role: "radio", "aria-checked": isSelected, "aria-label": option.label, disabled: isDisabled, tabIndex: isSelected ? 0 : -1, className: `muka-segmentgroup__segment ${isSelected ? 'muka-segmentgroup__segment--selected' : ''} ${isDisabled ? 'muka-segmentgroup__segment--disabled' : ''}`.trim(), onClick: () => !isDisabled && handleChange(option.value), onKeyDown: (e) => !isDisabled && handleKeyDown(e, option.value), children: [option.icon && (_jsx("span", { className: "muka-segmentgroup__icon", "aria-hidden": "true", children: option.icon })), !iconOnly && _jsx("span", { className: "muka-segmentgroup__label", children: option.label })] }, option.value));
106
111
  })] }));
107
112
  };
108
113
  export default SegmentGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentGroup.js","sourceRoot":"","sources":["../../../../components/SegmentGroup/SegmentGroup.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SegmentGroup.js","sourceRoot":"","sources":["../../../../components/SegmentGroup/SegmentGroup.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useState, useId, useRef } from 'react';
3
+ import React, { useState, useId, useRef } from 'react';
4
4
  import './Select.css';
5
5
  import { Icon } from '../Icon';
6
6
  /**
@@ -17,7 +17,7 @@ import { Icon } from '../Icon';
17
17
  * - text.input.{size}
18
18
  * - text.label.{size}.semibold
19
19
  */
20
- export function Select({ options, value, onChange, onValueChange, placeholder, label, helperText, error = false, errorMessage, disabled = false, size = 'md', fullWidth = false, required = false, name, className = '', ...props }) {
20
+ export const Select = React.forwardRef(function Select({ options, value, onChange, onValueChange, placeholder, label, helperText, error = false, errorMessage, disabled = false, size = 'md', fullWidth = false, required = false, name, className = '', onBlur, onFocus, ...props }, forwardedRef) {
21
21
  const [isFocused, setIsFocused] = useState(false);
22
22
  const selectRef = useRef(null);
23
23
  const generatedId = useId();
@@ -45,10 +45,23 @@ export function Select({ options, value, onChange, onValueChange, placeholder, l
45
45
  e.preventDefault();
46
46
  selectRef.current?.focus();
47
47
  }
48
- }, children: [_jsxs("select", { ref: selectRef, id: selectId, className: "muka-select__native", value: value, onChange: (e) => {
48
+ }, children: [_jsxs("select", { ref: (node) => {
49
+ selectRef.current = node;
50
+ if (typeof forwardedRef === 'function')
51
+ forwardedRef(node);
52
+ else if (forwardedRef)
53
+ forwardedRef.current =
54
+ node;
55
+ }, id: selectId, className: "muka-select__native", value: value, onChange: (e) => {
49
56
  onChange?.(e);
50
57
  onValueChange?.(e.target.value);
51
- }, disabled: disabled, name: name, required: required, "aria-invalid": error || undefined, "aria-describedby": describedBy, onFocus: () => setIsFocused(true), onBlur: () => setIsFocused(false), ...props, children: [placeholder && (_jsx("option", { value: "", disabled: true, children: placeholder })), options.map((option) => (_jsx("option", { value: option.value, disabled: option.disabled, children: option.label }, option.value)))] }), _jsx("span", { className: "muka-select__chevron", "aria-hidden": "true", children: _jsx(Icon, { name: "arrow-down-s", variant: "line", size: "sm" }) })] }), showError && (_jsx("p", { className: "muka-select__error", id: errorMessageId, role: "alert", children: errorMessage })), !showError && helperText && (_jsx("p", { className: "muka-select__helper", id: helperTextId, children: helperText }))] }));
52
- }
58
+ }, disabled: disabled, name: name, required: required, "aria-invalid": error || undefined, "aria-describedby": describedBy, onFocus: (e) => {
59
+ setIsFocused(true);
60
+ onFocus?.(e);
61
+ }, onBlur: (e) => {
62
+ setIsFocused(false);
63
+ onBlur?.(e);
64
+ }, ...props, children: [placeholder && (_jsx("option", { value: "", disabled: true, children: placeholder })), options.map((option) => (_jsx("option", { value: option.value, disabled: option.disabled, children: option.label }, option.value)))] }), _jsx("span", { className: "muka-select__chevron", "aria-hidden": "true", children: _jsx(Icon, { name: "arrow-down-s", variant: "line", size: "sm" }) })] }), showError && (_jsx("p", { className: "muka-select__error", id: errorMessageId, role: "alert", children: errorMessage })), !showError && helperText && (_jsx("p", { className: "muka-select__helper", id: helperTextId, children: helperText }))] }));
65
+ });
53
66
  export default Select;
54
67
  //# sourceMappingURL=Select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../components/Select/Select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../components/Select/Select.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useState, useId } from 'react';
3
+ import React, { useState, useId } from 'react';
4
4
  import './Textarea.css';
5
- export const Textarea = ({ value, onChange, placeholder, label, helperText, error = false, errorMessage, disabled = false, readOnly = false, size = 'md', rows, resize = 'vertical', showCount = false, maxLength, className = '', name, id, required = false, }) => {
5
+ export const Textarea = React.forwardRef(function Textarea({ value, onChange, placeholder, label, helperText, error = false, errorMessage, disabled = false, readOnly = false, size = 'md', rows, resize = 'vertical', showCount = false, maxLength, className = '', name, id, required = false, onBlur, onFocus, }, forwardedRef) {
6
6
  const [isFocused, setIsFocused] = useState(false);
7
7
  const generatedId = useId();
8
8
  const textareaId = id || name || generatedId;
@@ -22,7 +22,13 @@ export const Textarea = ({ value, onChange, placeholder, label, helperText, erro
22
22
  error && 'muka-textarea__field--error',
23
23
  disabled && 'muka-textarea__field--disabled',
24
24
  ].filter(Boolean).join(' ');
25
- return (_jsxs("div", { className: wrapperClasses, children: [label && (_jsxs("label", { className: `muka-textarea__label muka-textarea__label--${size}`, htmlFor: textareaId, children: [label, required && _jsx("span", { className: "muka-textarea__required", "aria-hidden": "true", children: " *" })] })), _jsx("div", { className: fieldClasses, children: _jsx("textarea", { id: textareaId, className: "muka-textarea__native", value: value, onChange: onChange, placeholder: placeholder, disabled: disabled, readOnly: readOnly, name: name, required: required, rows: rows, maxLength: maxLength, "aria-invalid": error || undefined, "aria-describedby": describedBy, onFocus: () => setIsFocused(true), onBlur: () => setIsFocused(false), style: { resize } }) }), _jsxs("div", { className: "muka-textarea__footer", children: [showError && (_jsx("p", { className: "muka-textarea__error", id: errorMessageId, role: "alert", children: errorMessage })), !showError && helperText && (_jsx("p", { className: "muka-textarea__helper", id: helperTextId, children: helperText })), showCount && (_jsxs("span", { className: "muka-textarea__count", children: [charCount, maxLength ? `/${maxLength}` : ''] }))] })] }));
26
- };
25
+ return (_jsxs("div", { className: wrapperClasses, children: [label && (_jsxs("label", { className: `muka-textarea__label muka-textarea__label--${size}`, htmlFor: textareaId, children: [label, required && _jsx("span", { className: "muka-textarea__required", "aria-hidden": "true", children: " *" })] })), _jsx("div", { className: fieldClasses, children: _jsx("textarea", { ref: forwardedRef, id: textareaId, className: "muka-textarea__native", value: value, onChange: onChange, placeholder: placeholder, disabled: disabled, readOnly: readOnly, name: name, required: required, rows: rows, maxLength: maxLength, "aria-invalid": error || undefined, "aria-describedby": describedBy, onFocus: (e) => {
26
+ setIsFocused(true);
27
+ onFocus?.(e);
28
+ }, onBlur: (e) => {
29
+ setIsFocused(false);
30
+ onBlur?.(e);
31
+ }, style: { resize } }) }), _jsxs("div", { className: "muka-textarea__footer", children: [showError && (_jsx("p", { className: "muka-textarea__error", id: errorMessageId, role: "alert", children: errorMessage })), !showError && helperText && (_jsx("p", { className: "muka-textarea__helper", id: helperTextId, children: helperText })), showCount && (_jsxs("span", { className: "muka-textarea__count", children: [charCount, maxLength ? `/${maxLength}` : ''] }))] })] }));
32
+ });
27
33
  export default Textarea;
28
34
  //# sourceMappingURL=Textarea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../../../components/Textarea/Textarea.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../../../components/Textarea/Textarea.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useId } from 'react';
3
+ import React, { useId } from 'react';
4
4
  import './Toggle.css';
5
5
  /**
6
6
  * Toggle Component
@@ -20,7 +20,7 @@ import './Toggle.css';
20
20
  * - text.label.lg.* (for label)
21
21
  * - text.body.base.regular (for caption)
22
22
  */
23
- export const Toggle = ({ checked, defaultChecked, onChange, label, caption, showDivider = false, icon, disabled = false, name, className = '', id, ...props }) => {
23
+ export const Toggle = React.forwardRef(function Toggle({ checked, defaultChecked, onChange, label, caption, showDivider = false, icon, disabled = false, name, className = '', id, ...props }, forwardedRef) {
24
24
  const generatedId = useId();
25
25
  const inputId = id || generatedId;
26
26
  const wrapperClasses = [
@@ -30,7 +30,7 @@ export const Toggle = ({ checked, defaultChecked, onChange, label, caption, show
30
30
  caption && 'muka-toggle--with-caption',
31
31
  className
32
32
  ].filter(Boolean).join(' ');
33
- return (_jsxs("div", { className: wrapperClasses, children: [icon && _jsx("span", { className: "muka-toggle__icon", "aria-hidden": "true", children: icon }), _jsxs("div", { className: "muka-toggle__content", children: [label && (_jsx("label", { className: "muka-toggle__label", htmlFor: inputId, children: label })), caption && (_jsx("span", { className: "muka-toggle__caption", children: caption }))] }), _jsxs("label", { className: "muka-toggle__switch", htmlFor: inputId, children: [_jsx("input", { type: "checkbox", role: "switch", id: inputId, className: "muka-toggle__input", checked: checked, defaultChecked: defaultChecked, onChange: onChange, disabled: disabled, name: name, "aria-checked": checked, ...props }), _jsx("span", { className: "muka-toggle__track", children: _jsx("span", { className: "muka-toggle__knob" }) })] }), showDivider && _jsx("div", { className: "muka-toggle__divider" })] }));
34
- };
33
+ return (_jsxs("div", { className: wrapperClasses, children: [icon && _jsx("span", { className: "muka-toggle__icon", "aria-hidden": "true", children: icon }), _jsxs("div", { className: "muka-toggle__content", children: [label && (_jsx("label", { className: "muka-toggle__label", htmlFor: inputId, children: label })), caption && (_jsx("span", { className: "muka-toggle__caption", children: caption }))] }), _jsxs("label", { className: "muka-toggle__switch", htmlFor: inputId, children: [_jsx("input", { ref: forwardedRef, type: "checkbox", role: "switch", id: inputId, className: "muka-toggle__input", checked: checked, defaultChecked: defaultChecked, onChange: onChange, disabled: disabled, name: name, "aria-checked": checked, ...props }), _jsx("span", { className: "muka-toggle__track", children: _jsx("span", { className: "muka-toggle__knob" }) })] }), showDivider && _jsx("div", { className: "muka-toggle__divider" })] }));
34
+ });
35
35
  export default Toggle;
36
36
  //# sourceMappingURL=Toggle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.js","sourceRoot":"","sources":["../../../../components/Toggle/Toggle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,cAAc,CAAC;AAqCtB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,MAAM,GAA0B,CAAC,EAC5C,OAAO,EACP,cAAc,EACd,QAAQ,EACR,KAAK,EACL,OAAO,EACP,WAAW,GAAG,KAAK,EACnB,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,IAAI,EACJ,SAAS,GAAG,EAAE,EACd,EAAE,EACF,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,EAAE,IAAI,WAAW,CAAC;IAElC,MAAM,cAAc,GAAG;QACrB,aAAa;QACb,QAAQ,IAAI,uBAAuB;QACnC,WAAW,IAAI,2BAA2B;QAC1C,OAAO,IAAI,2BAA2B;QACtC,SAAS;KACV,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,OAAO,CACL,eAAK,SAAS,EAAE,cAAc,aAC3B,IAAI,IAAI,eAAM,SAAS,EAAC,mBAAmB,iBAAa,MAAM,YAAE,IAAI,GAAQ,EAE7E,eAAK,SAAS,EAAC,sBAAsB,aAClC,KAAK,IAAI,CACR,gBAAO,SAAS,EAAC,oBAAoB,EAAC,OAAO,EAAE,OAAO,YACnD,KAAK,GACA,CACT,EACA,OAAO,IAAI,CACV,eAAM,SAAS,EAAC,sBAAsB,YAAE,OAAO,GAAQ,CACxD,IACG,EAEN,iBAAO,SAAS,EAAC,qBAAqB,EAAC,OAAO,EAAE,OAAO,aACrD,gBACE,IAAI,EAAC,UAAU,EACf,IAAI,EAAC,QAAQ,EACb,EAAE,EAAE,OAAO,EACX,SAAS,EAAC,oBAAoB,EAC9B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,kBACI,OAAO,KACjB,KAAK,GACT,EACF,eAAM,SAAS,EAAC,oBAAoB,YAClC,eAAM,SAAS,EAAC,mBAAmB,GAAG,GACjC,IACD,EAEP,WAAW,IAAI,cAAK,SAAS,EAAC,sBAAsB,GAAG,IACpD,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Toggle.js","sourceRoot":"","sources":["../../../../components/Toggle/Toggle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,cAAc,CAAC;AAqCtB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAgC,SAAS,MAAM,CACnF,EACE,OAAO,EACP,cAAc,EACd,QAAQ,EACR,KAAK,EACL,OAAO,EACP,WAAW,GAAG,KAAK,EACnB,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,IAAI,EACJ,SAAS,GAAG,EAAE,EACd,EAAE,EACF,GAAG,KAAK,EACT,EACD,YAAY;IAEZ,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,EAAE,IAAI,WAAW,CAAC;IAElC,MAAM,cAAc,GAAG;QACrB,aAAa;QACb,QAAQ,IAAI,uBAAuB;QACnC,WAAW,IAAI,2BAA2B;QAC1C,OAAO,IAAI,2BAA2B;QACtC,SAAS;KACV,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,OAAO,CACL,eAAK,SAAS,EAAE,cAAc,aAC3B,IAAI,IAAI,eAAM,SAAS,EAAC,mBAAmB,iBAAa,MAAM,YAAE,IAAI,GAAQ,EAE7E,eAAK,SAAS,EAAC,sBAAsB,aAClC,KAAK,IAAI,CACR,gBAAO,SAAS,EAAC,oBAAoB,EAAC,OAAO,EAAE,OAAO,YACnD,KAAK,GACA,CACT,EACA,OAAO,IAAI,CACV,eAAM,SAAS,EAAC,sBAAsB,YAAE,OAAO,GAAQ,CACxD,IACG,EAEN,iBAAO,SAAS,EAAC,qBAAqB,EAAC,OAAO,EAAE,OAAO,aACrD,gBACE,GAAG,EAAE,YAAY,EACjB,IAAI,EAAC,UAAU,EACf,IAAI,EAAC,QAAQ,EACb,EAAE,EAAE,OAAO,EACX,SAAS,EAAC,oBAAoB,EAC9B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,kBACI,OAAO,KACjB,KAAK,GACT,EACF,eAAM,SAAS,EAAC,oBAAoB,YAClC,eAAM,SAAS,EAAC,mBAAmB,GAAG,GACjC,IACD,EAEP,WAAW,IAAI,cAAK,SAAS,EAAC,sBAAsB,GAAG,IACpD,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
@@ -2,6 +2,7 @@
2
2
  export { Button } from './Button';
3
3
  export { ListItem } from './ListItem';
4
4
  export { Input } from './Input';
5
+ export { Form, useForm, } from './Form';
5
6
  export { NumberInput } from './NumberInput';
6
7
  export { Card } from './Card';
7
8
  export { Label } from './Label';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAmB,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAmB,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,IAAI,EAAiC,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,MAAM,EAAuC,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAmB,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAmB,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,KAAK,EAAmB,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,eAAe,EAAuD,MAAM,mBAAmB,CAAC;AACzG,OAAO,EACL,iBAAiB,GAIlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAoB,UAAU,EAAwB,MAAM,UAAU,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,YAAY,EAA+C,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAkC,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAmB,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAA2C,MAAM,UAAU,CAAC;AACxF,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAA4C,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,SAAS,EACT,eAAe,EACf,eAAe,EACf,iBAAiB,GAWlB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,SAAS,GAKV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAA8C,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAmD,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,UAAU,EACV,cAAc,GAMf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,WAAW,EACX,QAAQ,EACR,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,QAAQ,CAAC;AAehB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAgBvB,8EAA8E;AAC9E,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,UAAU,EAA6C,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAC;AACvD,OAAO,EACL,OAAO,EACP,cAAc,EACd,WAAW,EACX,cAAc,EACd,YAAY,GAGb,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAmB,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAyC,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,GAAG,EAAiB,MAAM,OAAO,CAAC;AAC3C,OAAO,EACL,WAAW,GAGZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACL,aAAa,GAGd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,GAGT,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,YAAY,GAGb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AACzE,OAAO,EACL,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,aAAa,GAEd,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/index.ts"],"names":[],"mappings":"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"}
@@ -200,6 +200,35 @@
200
200
  opacity: 1;
201
201
  }
202
202
 
203
+ /* Muted variant - same as ghost but resting foreground is subtle, darkens on interaction */
204
+ .muka-button--muted {
205
+ background-color: var(--button-color-muted-background-default);
206
+ color: var(--button-color-muted-foreground-default);
207
+ border: 1px solid var(--button-color-muted-border-default);
208
+ }
209
+
210
+ .muka-button--muted:hover:not(:disabled) {
211
+ background-color: var(--button-color-muted-background-hover);
212
+ color: var(--button-color-muted-foreground-hover);
213
+ border-color: var(--button-color-muted-border-hover);
214
+ }
215
+
216
+ .muka-button--muted:active:not(:disabled),
217
+ .muka-button--muted.muka-button--pressed:not(:disabled),
218
+ .muka-button--muted[data-state="open"]:not(:disabled) {
219
+ background-color: var(--button-color-muted-background-pressed);
220
+ color: var(--button-color-muted-foreground-pressed);
221
+ border-color: var(--button-color-muted-border-pressed);
222
+ }
223
+
224
+ .muka-button--muted:disabled {
225
+ background-color: var(--button-color-muted-background-disabled);
226
+ color: var(--button-color-muted-foreground-disabled);
227
+ border-color: var(--button-color-muted-border-disabled);
228
+ cursor: not-allowed;
229
+ opacity: 1;
230
+ }
231
+
203
232
  /* General disabled state - fallback */
204
233
  .muka-button:disabled {
205
234
  cursor: not-allowed;
@@ -0,0 +1,17 @@
1
+ .muka-form {
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ }
6
+
7
+ .muka-form--gap-sm {
8
+ gap: var(--size-sm);
9
+ }
10
+
11
+ .muka-form--gap-md {
12
+ gap: var(--size-md);
13
+ }
14
+
15
+ .muka-form--gap-lg {
16
+ gap: var(--size-lg);
17
+ }
@@ -9,7 +9,7 @@
9
9
  background-color: var(--segmentgroup-container-background);
10
10
  border-radius: var(--segmentgroup-container-radius);
11
11
  position: relative;
12
- transition: all 0.2s ease;
12
+ transition: background-color 0.2s ease, box-shadow 0.2s ease;
13
13
  }
14
14
 
15
15
  /* Inset shadow on container */
@@ -50,17 +50,18 @@
50
50
  display: inline-flex;
51
51
  align-items: center;
52
52
  justify-content: center;
53
+ gap: var(--segmentgroup-segment-gap);
53
54
  border: none;
54
55
  background-color: var(--segmentgroup-segment-color-unselected-background);
55
56
  color: var(--segmentgroup-segment-color-unselected-foreground);
56
57
  border-radius: var(--segmentgroup-segment-radius);
57
58
  cursor: pointer;
58
- transition: all 0.2s ease;
59
+ transition: background-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
59
60
  position: relative;
60
61
  outline: none;
61
62
  box-shadow: var(--segmentgroup-segment-shadow-unselected);
62
63
  font-family: var(--alias-font-plain-family);
63
- font-weight: var(--alias-font-plain-weight-regular);
64
+ font-weight: var(--segmentgroup-segment-fontWeight);
64
65
  z-index: 1; /* Keep above pill */
65
66
  }
66
67
 
@@ -153,7 +154,6 @@
153
154
  background-color: transparent;
154
155
  box-shadow: none;
155
156
  color: var(--segmentgroup-segment-color-selected-foreground);
156
- font-weight: var(--alias-font-plain-weight-semibold);
157
157
  z-index: 2; /* Highlight pill when focused is tested below */
158
158
  }
159
159