@revikornmann/muka-ui 0.8.0 → 0.9.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 (113) 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/Select/Select.js +53 -7
  26. package/dist/cjs/components/Select/Select.js.map +1 -1
  27. package/dist/cjs/components/Textarea/Textarea.js +43 -5
  28. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  29. package/dist/cjs/components/Toggle/Toggle.js +37 -5
  30. package/dist/cjs/components/Toggle/Toggle.js.map +1 -1
  31. package/dist/cjs/components/index.js +6 -3
  32. package/dist/cjs/components/index.js.map +1 -1
  33. package/dist/esm/components/Button/Button.css +29 -0
  34. package/dist/esm/components/Button/Button.js +1 -1
  35. package/dist/esm/components/Checkbox/Checkbox.js +11 -4
  36. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  37. package/dist/esm/components/DatePicker/DatePicker.js +18 -5
  38. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  39. package/dist/esm/components/Form/Form.css +17 -0
  40. package/dist/esm/components/Form/Form.js +27 -0
  41. package/dist/esm/components/Form/Form.js.map +1 -0
  42. package/dist/esm/components/Form/index.js +4 -0
  43. package/dist/esm/components/Form/index.js.map +1 -0
  44. package/dist/esm/components/Form/useForm.js +92 -0
  45. package/dist/esm/components/Form/useForm.js.map +1 -0
  46. package/dist/esm/components/Input/Input.js +19 -4
  47. package/dist/esm/components/Input/Input.js.map +1 -1
  48. package/dist/esm/components/LicensePlateInput/LicensePlateInput.js +17 -4
  49. package/dist/esm/components/LicensePlateInput/LicensePlateInput.js.map +1 -1
  50. package/dist/esm/components/NumberInput/NumberInput.js +18 -5
  51. package/dist/esm/components/NumberInput/NumberInput.js.map +1 -1
  52. package/dist/esm/components/Radio/Radio.js +4 -4
  53. package/dist/esm/components/Radio/Radio.js.map +1 -1
  54. package/dist/esm/components/RangeSlider/RangeSlider.js +4 -4
  55. package/dist/esm/components/RangeSlider/RangeSlider.js.map +1 -1
  56. package/dist/esm/components/Select/Select.js +18 -5
  57. package/dist/esm/components/Select/Select.js.map +1 -1
  58. package/dist/esm/components/Textarea/Textarea.js +10 -4
  59. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  60. package/dist/esm/components/Toggle/Toggle.js +4 -4
  61. package/dist/esm/components/Toggle/Toggle.js.map +1 -1
  62. package/dist/esm/components/index.js +1 -0
  63. package/dist/esm/components/index.js.map +1 -1
  64. package/dist/styles/components/Button.css +29 -0
  65. package/dist/styles/components/Form.css +17 -0
  66. package/dist/styles/index.css +772 -685
  67. package/dist/styles/muka-dark.css +772 -685
  68. package/dist/styles/muka-light.css +772 -685
  69. package/dist/styles/tokens-bouwplan-dark.css +38 -0
  70. package/dist/styles/tokens-bouwplan-light.css +38 -0
  71. package/dist/styles/tokens-fscl-dark.css +38 -0
  72. package/dist/styles/tokens-fscl-light.css +38 -0
  73. package/dist/styles/tokens-grip-dark.css +38 -0
  74. package/dist/styles/tokens-grip-light.css +38 -0
  75. package/dist/styles/tokens-muka-dark.css +38 -0
  76. package/dist/styles/tokens-muka-light.css +38 -0
  77. package/dist/styles/tokens-wireframe-dark.css +80 -42
  78. package/dist/styles/tokens-wireframe-light.css +80 -42
  79. package/dist/styles/wireframe-dark.css +814 -727
  80. package/dist/styles/wireframe-light.css +814 -727
  81. package/dist/types/components/Button/Button.d.ts +2 -2
  82. package/dist/types/components/Button/Button.d.ts.map +1 -1
  83. package/dist/types/components/Checkbox/Checkbox.d.ts +1 -1
  84. package/dist/types/components/Checkbox/Checkbox.d.ts.map +1 -1
  85. package/dist/types/components/DatePicker/DatePicker.d.ts +5 -1
  86. package/dist/types/components/DatePicker/DatePicker.d.ts.map +1 -1
  87. package/dist/types/components/Form/Form.d.ts +34 -0
  88. package/dist/types/components/Form/Form.d.ts.map +1 -0
  89. package/dist/types/components/Form/index.d.ts +4 -0
  90. package/dist/types/components/Form/index.d.ts.map +1 -0
  91. package/dist/types/components/Form/useForm.d.ts +74 -0
  92. package/dist/types/components/Form/useForm.d.ts.map +1 -0
  93. package/dist/types/components/Input/Input.d.ts +5 -1
  94. package/dist/types/components/Input/Input.d.ts.map +1 -1
  95. package/dist/types/components/LicensePlateInput/LicensePlateInput.d.ts +5 -1
  96. package/dist/types/components/LicensePlateInput/LicensePlateInput.d.ts.map +1 -1
  97. package/dist/types/components/NumberInput/NumberInput.d.ts +5 -1
  98. package/dist/types/components/NumberInput/NumberInput.d.ts.map +1 -1
  99. package/dist/types/components/Radio/Radio.d.ts +1 -1
  100. package/dist/types/components/Radio/Radio.d.ts.map +1 -1
  101. package/dist/types/components/RangeSlider/RangeSlider.d.ts +1 -1
  102. package/dist/types/components/RangeSlider/RangeSlider.d.ts.map +1 -1
  103. package/dist/types/components/Select/Select.d.ts +7 -1
  104. package/dist/types/components/Select/Select.d.ts.map +1 -1
  105. package/dist/types/components/Textarea/Textarea.d.ts +5 -1
  106. package/dist/types/components/Textarea/Textarea.d.ts.map +1 -1
  107. package/dist/types/components/Toggle/Toggle.d.ts +1 -1
  108. package/dist/types/components/Toggle/Toggle.d.ts.map +1 -1
  109. package/dist/types/components/index.d.ts +1 -0
  110. package/dist/types/components/index.d.ts.map +1 -1
  111. package/package.json +1 -1
  112. package/tokens/t2-alias/brand/wireframe/radius.json +34 -0
  113. package/tokens/t4-components/button.json +56 -0
@@ -1294,11 +1294,11 @@ body {
1294
1294
  --alias-font-brand-weight-medium: 500;
1295
1295
  --alias-font-brand-weight-semibold: 600;
1296
1296
  --alias-font-brand-weight-bold: 700;
1297
- --alias-radius-sm: 0.1875rem;
1298
- --alias-radius-md: 0.375rem;
1299
- --alias-radius-lg: 0.75rem;
1300
- --alias-radius-xl: 1.5rem;
1301
- --alias-radius-2xl: 3rem;
1297
+ --alias-radius-sm: 0px;
1298
+ --alias-radius-md: 0px;
1299
+ --alias-radius-lg: 0px;
1300
+ --alias-radius-xl: 0px;
1301
+ --alias-radius-2xl: 0px;
1302
1302
  --alias-radius-full: 999rem;
1303
1303
  --alias-motion-duration-none: 0ms;
1304
1304
  --alias-motion-duration-instant: 100ms;
@@ -1320,11 +1320,11 @@ body {
1320
1320
  --wrapper-gap-default: 1rem;
1321
1321
  --wrapper-gap-compact: 0.75rem;
1322
1322
  --wrapper-gap-spacious: 2rem;
1323
- --border-radius-sm: 0.1875rem;
1324
- --border-radius-md: 0.375rem;
1325
- --border-radius-lg: 0.75rem;
1326
- --border-radius-xl: 1.5rem;
1327
- --border-radius-2xl: 3rem;
1323
+ --border-radius-sm: 0px;
1324
+ --border-radius-md: 0px;
1325
+ --border-radius-lg: 0px;
1326
+ --border-radius-xl: 0px;
1327
+ --border-radius-2xl: 0px;
1328
1328
  --border-radius-full: 999rem;
1329
1329
  --border-width-regular: 0.0625rem;
1330
1330
  --border-width-bold: 0.125rem;
@@ -1560,6 +1560,18 @@ body {
1560
1560
  --button-color-ghost-border-hover: #313131;
1561
1561
  --button-color-ghost-border-pressed: #313131;
1562
1562
  --button-color-ghost-border-disabled: transparent;
1563
+ --button-color-muted-background-default: transparent;
1564
+ --button-color-muted-background-hover: transparent;
1565
+ --button-color-muted-background-pressed: transparent;
1566
+ --button-color-muted-background-disabled: transparent;
1567
+ --button-color-muted-foreground-default: #7b7b7b;
1568
+ --button-color-muted-foreground-hover: #eeeeee;
1569
+ --button-color-muted-foreground-pressed: #eeeeee;
1570
+ --button-color-muted-foreground-disabled: #7b7b7b;
1571
+ --button-color-muted-border-default: transparent;
1572
+ --button-color-muted-border-hover: #313131;
1573
+ --button-color-muted-border-pressed: #313131;
1574
+ --button-color-muted-border-disabled: transparent;
1563
1575
  --button-color-tertiary-background-default: #111111;
1564
1576
  --button-color-tertiary-background-hover: #111111;
1565
1577
  --button-color-tertiary-background-pressed: #2a2a2a;
@@ -1572,10 +1584,10 @@ body {
1572
1584
  --button-color-tertiary-border-hover: #606060;
1573
1585
  --button-color-tertiary-border-pressed: #606060;
1574
1586
  --button-color-tertiary-border-disabled: #313131;
1575
- --button-radius-sm: 0.75rem;
1576
- --button-radius-md: 0.75rem;
1577
- --button-radius-lg: 0.75rem;
1578
- --button-radius-xl: 0.75rem;
1587
+ --button-radius-sm: 0px;
1588
+ --button-radius-md: 0px;
1589
+ --button-radius-lg: 0px;
1590
+ --button-radius-xl: 0px;
1579
1591
  --button-padding-sm-x: 0.75rem;
1580
1592
  --button-padding-md-x: 0.75rem;
1581
1593
  --button-padding-lg-x: 1rem;
@@ -1600,9 +1612,9 @@ body {
1600
1612
  --card-color-selected-background: #2a2a2a;
1601
1613
  --card-color-selected-foreground: #eeeeee;
1602
1614
  --card-color-selected-border: #b4b4b4;
1603
- --card-radius-sm: 0.1875rem;
1604
- --card-radius-md: 0.375rem;
1605
- --card-radius-lg: 0.75rem;
1615
+ --card-radius-sm: 0px;
1616
+ --card-radius-md: 0px;
1617
+ --card-radius-lg: 0px;
1606
1618
  --card-padding-sm: 0.75rem;
1607
1619
  --card-padding-md: 1rem;
1608
1620
  --card-padding-lg: 1.5rem;
@@ -1629,9 +1641,9 @@ body {
1629
1641
  --input-field-color-disabled-background: #313131;
1630
1642
  --input-field-color-disabled-foreground: #7b7b7b;
1631
1643
  --input-field-color-disabled-border: #313131;
1632
- --input-field-radius-sm: 0.1875rem;
1633
- --input-field-radius-md: 0.375rem;
1634
- --input-field-radius-lg: 0.75rem;
1644
+ --input-field-radius-sm: 0px;
1645
+ --input-field-radius-md: 0px;
1646
+ --input-field-radius-lg: 0px;
1635
1647
  --input-field-padding-x: 0.75rem;
1636
1648
  --input-field-padding-y: 0.5rem;
1637
1649
  --input-field-border-default: 0.125rem solid #606060;
@@ -1713,7 +1725,7 @@ body {
1713
1725
  --checkbox-size-sm: 1.25rem;
1714
1726
  --checkbox-size-default: 1.5rem;
1715
1727
  --checkbox-size-lg: 2rem;
1716
- --checkbox-radius: 0.1875rem;
1728
+ --checkbox-radius: 0px;
1717
1729
  --checkbox-icon-size-sm: 1rem;
1718
1730
  --checkbox-icon-size-default: 1.25rem;
1719
1731
  --checkbox-icon-size-lg: 1.5rem;
@@ -1750,7 +1762,7 @@ body {
1750
1762
  --alert-padding-md-y: 0.75rem;
1751
1763
  --alert-padding-lg-x: 1.25rem;
1752
1764
  --alert-padding-lg-y: 1rem;
1753
- --alert-radius: 0.375rem;
1765
+ --alert-radius: 0px;
1754
1766
  --alert-gap: 0.75rem;
1755
1767
  --alert-icon-size: 1rem;
1756
1768
  --alert-border-width: 0.0625rem;
@@ -1769,9 +1781,9 @@ body {
1769
1781
  --select-field-color-disabled-background: #313131;
1770
1782
  --select-field-color-disabled-foreground: #7b7b7b;
1771
1783
  --select-field-color-disabled-border: #313131;
1772
- --select-field-radius-sm: 0.1875rem;
1773
- --select-field-radius-md: 0.375rem;
1774
- --select-field-radius-lg: 0.75rem;
1784
+ --select-field-radius-sm: 0px;
1785
+ --select-field-radius-md: 0px;
1786
+ --select-field-radius-lg: 0px;
1775
1787
  --select-field-padding-x: 0.75rem;
1776
1788
  --select-field-padding-y: 0.5rem;
1777
1789
  --select-field-height-sm: 2rem;
@@ -1780,8 +1792,8 @@ body {
1780
1792
  --dialog-color-backdrop: rgba(0, 0, 0, 0.565);
1781
1793
  --dialog-color-background: #111111;
1782
1794
  --dialog-color-body-background: #111111;
1783
- --dialog-border-radius: 1.5rem;
1784
- --dialog-border-radius-desktop: 1.5rem;
1795
+ --dialog-border-radius: 0px;
1796
+ --dialog-border-radius-desktop: 0px;
1785
1797
  --dialog-shadow-default: 0 48px 96px 0 rgba(0, 0, 0, 0.220), inset 0 0 1px 0 rgba(0, 0, 0, 0.220);
1786
1798
  --dialog-width-sm: 35rem;
1787
1799
  --dialog-width-md: 54.5rem;
@@ -1801,7 +1813,7 @@ body {
1801
1813
  --dialog-padding-x: 1rem;
1802
1814
  --menu-content-color-background: #111111;
1803
1815
  --menu-content-color-border: #2a2a2a;
1804
- --menu-content-border-radius: 0.75rem;
1816
+ --menu-content-border-radius: 0px;
1805
1817
  --menu-content-border-width: 0.0625rem;
1806
1818
  --menu-content-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.090), 0 8px 16px 0 rgba(0, 0, 0, 0.090);
1807
1819
  --menu-content-padding: 0.25rem;
@@ -1824,7 +1836,7 @@ body {
1824
1836
  --menu-item-color-destructive-hover-background: #3d181e;
1825
1837
  --menu-item-color-destructive-hover-foreground: #fea6a6;
1826
1838
  --menu-item-color-destructive-hover-icon: #fea6a6;
1827
- --menu-item-border-radius: 0.1875rem;
1839
+ --menu-item-border-radius: 0px;
1828
1840
  --menu-item-padding-x: 0.75rem;
1829
1841
  --menu-item-padding-y: 0.5rem;
1830
1842
  --menu-item-gap: 0.5rem;
@@ -1858,7 +1870,7 @@ body {
1858
1870
  --tabs-trigger-padding-x: 0.75rem;
1859
1871
  --tabs-trigger-padding-y: 0.5rem;
1860
1872
  --tabs-trigger-height: 3rem;
1861
- --tabs-trigger-radius: 0.75rem;
1873
+ --tabs-trigger-radius: 0px;
1862
1874
  --tabs-panel-background: #111111;
1863
1875
  --tabs-panel-border: #606060;
1864
1876
  --separator-color-default: #313131;
@@ -1908,7 +1920,7 @@ body {
1908
1920
  --avatar-color-status-busy: #e54d4e;
1909
1921
  --avatar-color-status-away: #ffc53d;
1910
1922
  --avatar-radius-circle: 999rem;
1911
- --avatar-radius-square: 0.75rem;
1923
+ --avatar-radius-square: 0px;
1912
1924
  --avatar-font-size-xs: 0.75rem;
1913
1925
  --avatar-font-size-sm: 0.875rem;
1914
1926
  --avatar-font-size-md: 1.125rem;
@@ -1936,7 +1948,7 @@ body {
1936
1948
  --toast-color-error-accent: #3d181e;
1937
1949
  --toast-padding-x: 1rem;
1938
1950
  --toast-padding-y: 0.75rem;
1939
- --toast-radius: 0.75rem;
1951
+ --toast-radius: 0px;
1940
1952
  --toast-gap: 0.75rem;
1941
1953
  --toast-icon-size: 1rem;
1942
1954
  --toast-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.090), 0 8px 16px 0 rgba(0, 0, 0, 0.090);
@@ -1982,13 +1994,13 @@ body {
1982
1994
  --controlbar-padding-bottom-lg: 1rem;
1983
1995
  --controlbar-gap-sm: 0.5rem;
1984
1996
  --controlbar-gap-lg: 1rem;
1985
- --controlbar-content-radius-sm: 0.75rem;
1986
- --controlbar-content-radius-lg: 0.375rem;
1997
+ --controlbar-content-radius-sm: 0px;
1998
+ --controlbar-content-radius-lg: 0px;
1987
1999
  --bottombar-color-background: #111111;
1988
2000
  --bottombar-color-border: #313131;
1989
2001
  --bottombar-color-tab-active: #eeeeee;
1990
2002
  --bottombar-color-tab-inactive: #7b7b7b;
1991
- --bottombar-floating-radius: 1.5rem;
2003
+ --bottombar-floating-radius: 0px;
1992
2004
  --bottombar-floating-padding: 0.75rem;
1993
2005
  --bottombar-floating-margin-x: 0.75rem;
1994
2006
  --bottombar-floating-margin-bottom: 0.75rem;
@@ -2070,7 +2082,7 @@ body {
2070
2082
  --segmentgroup-segment-color-hover-foreground: #eeeeee;
2071
2083
  --segmentgroup-segment-shadow-selected: 0px 0px 1px 0px rgba(0, 0, 0, 0.090), 0px 2px 4px 0px rgba(0, 0, 0, 0.090);
2072
2084
  --segmentgroup-segment-shadow-unselected: none;
2073
- --segmentgroup-segment-radius: 1.5rem;
2085
+ --segmentgroup-segment-radius: 0px;
2074
2086
  --segmentgroup-segment-padding-sm-x: 1rem;
2075
2087
  --segmentgroup-segment-padding-sm-y: 0;
2076
2088
  --segmentgroup-segment-padding-md-x: 1.25rem;
@@ -2092,7 +2104,7 @@ body {
2092
2104
  --emptystate-actions-gap: 0.75rem;
2093
2105
  --emptystate-actions-marginTop: 1rem;
2094
2106
  --documentviewer-container-background: #111111;
2095
- --documentviewer-container-borderRadius: 0.75rem;
2107
+ --documentviewer-container-borderRadius: 0px;
2096
2108
  --documentviewer-toolbar-height: 3rem;
2097
2109
  --documentviewer-toolbar-padding-x: 1rem;
2098
2110
  --documentviewer-toolbar-padding-y: 0.5rem;
@@ -2105,7 +2117,7 @@ body {
2105
2117
  --documentviewer-thumbnails-background: #313131;
2106
2118
  --documentviewer-thumbnails-border: #313131;
2107
2119
  --documentviewer-thumbnails-item-padding: 0.5rem;
2108
- --documentviewer-thumbnails-item-borderRadius: 0.1875rem;
2120
+ --documentviewer-thumbnails-item-borderRadius: 0px;
2109
2121
  --documentviewer-thumbnails-item-gap: 0.25rem;
2110
2122
  --documentviewer-thumbnails-item-background-default: transparent;
2111
2123
  --documentviewer-thumbnails-item-background-hover: #2a2a2a;
@@ -2115,7 +2127,7 @@ body {
2115
2127
  --documentviewer-page-background: #ffffff;
2116
2128
  --documentviewer-page-foreground: #000000;
2117
2129
  --documentviewer-page-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.090), 0 2px 4px 0 rgba(0, 0, 0, 0.090);
2118
- --documentviewer-page-borderRadius: 0.1875rem;
2130
+ --documentviewer-page-borderRadius: 0px;
2119
2131
  --documentviewer-zoom-button-width: 2rem;
2120
2132
  --documentviewer-loading-overlay-background: rgba(0, 0, 0, 0.565);
2121
2133
  --documentviewer-error-background: #313131;
@@ -2135,7 +2147,7 @@ body {
2135
2147
  --fileupload-dropzone-padding-sm: 1rem;
2136
2148
  --fileupload-dropzone-padding-md: 1.5rem;
2137
2149
  --fileupload-dropzone-padding-lg: 2rem;
2138
- --fileupload-dropzone-radius: 0.75rem;
2150
+ --fileupload-dropzone-radius: 0px;
2139
2151
  --fileupload-dropzone-border-width: 0.125rem;
2140
2152
  --fileupload-dropzone-border-style: dashed;
2141
2153
  --fileupload-dropzone-gap: 0.75rem;
@@ -2147,10 +2159,10 @@ body {
2147
2159
  --fileupload-item-color-success-foreground: #30a46c;
2148
2160
  --fileupload-item-padding-x: 0.75rem;
2149
2161
  --fileupload-item-padding-y: 0.75rem;
2150
- --fileupload-item-radius: 0.375rem;
2162
+ --fileupload-item-radius: 0px;
2151
2163
  --fileupload-item-gap: 0.75rem;
2152
2164
  --fileupload-preview-size: 2.5rem;
2153
- --fileupload-preview-radius: 0.1875rem;
2165
+ --fileupload-preview-radius: 0px;
2154
2166
  --piechart-color-categorical-1: #0091ff;
2155
2167
  --piechart-color-categorical-2: #f76808;
2156
2168
  --piechart-color-categorical-3: #30a46c;
@@ -2194,6 +2206,20 @@ body {
2194
2206
  }
2195
2207
  }
2196
2208
 
2209
+ /* Responsive overrides: xl (min-width: 1280px) */
2210
+ @media (min-width: 1280px) {
2211
+ :root {
2212
+ --section-padding-vertical-default: 3rem;
2213
+ --section-padding-vertical-compact: 2.5rem;
2214
+ --section-padding-vertical-spacious: 4rem;
2215
+ --section-padding-horizontal-default: 2.5rem;
2216
+ --section-padding-horizontal-compact: 1.5rem;
2217
+ --section-padding-horizontal-spacious: 3rem;
2218
+ --container-gap-default: 2rem;
2219
+ --container-gap-spacious: 3rem;
2220
+ }
2221
+ }
2222
+
2197
2223
  /* Layout mode: tablet (forced via data-layout attribute) */
2198
2224
  [data-layout="tablet"] {
2199
2225
  --section-padding-vertical-default: 2.5rem;
@@ -2219,6 +2245,18 @@ body {
2219
2245
  --container-gap-spacious: 3rem;
2220
2246
  }
2221
2247
 
2248
+ /* Layout mode: widescreen (forced via data-layout attribute) */
2249
+ [data-layout="widescreen"] {
2250
+ --section-padding-vertical-default: 3rem;
2251
+ --section-padding-vertical-compact: 2.5rem;
2252
+ --section-padding-vertical-spacious: 4rem;
2253
+ --section-padding-horizontal-default: 2.5rem;
2254
+ --section-padding-horizontal-compact: 1.5rem;
2255
+ --section-padding-horizontal-spacious: 3rem;
2256
+ --container-gap-default: 2rem;
2257
+ --container-gap-spacious: 3rem;
2258
+ }
2259
+
2222
2260
  /* Accessibility: disable motion for users who prefer reduced motion */
2223
2261
  @media (prefers-reduced-motion: reduce) {
2224
2262
  :root {
@@ -2761,6 +2799,196 @@ body {
2761
2799
  }
2762
2800
 
2763
2801
 
2802
+ /* Toast */
2803
+ /* Toast Component Styles - Using Muka Design Tokens */
2804
+
2805
+ .muka-toast {
2806
+ display: flex;
2807
+ align-items: flex-start;
2808
+ gap: var(--toast-gap);
2809
+ padding: var(--toast-padding-y) var(--toast-padding-x);
2810
+ border-radius: var(--toast-radius);
2811
+ box-shadow: var(--toast-shadow);
2812
+ min-width: var(--toast-width-min);
2813
+ max-width: var(--toast-width-max);
2814
+ pointer-events: auto;
2815
+ animation: muka-toast-slide-in 0.2s ease-out;
2816
+ }
2817
+
2818
+ /* Entry animation */
2819
+ @keyframes muka-toast-slide-in {
2820
+ from {
2821
+ opacity: 0;
2822
+ transform: translateY(8px);
2823
+ }
2824
+ to {
2825
+ opacity: 1;
2826
+ transform: translateY(0);
2827
+ }
2828
+ }
2829
+
2830
+ /* Position variants (for standalone use - typically managed by ToastProvider) */
2831
+ .muka-toast--top-right,
2832
+ .muka-toast--top-left,
2833
+ .muka-toast--top-center,
2834
+ .muka-toast--bottom-right,
2835
+ .muka-toast--bottom-left,
2836
+ .muka-toast--bottom-center {
2837
+ position: fixed;
2838
+ z-index: 9999;
2839
+ }
2840
+
2841
+ .muka-toast--top-right {
2842
+ top: var(--spacing-4);
2843
+ right: var(--spacing-4);
2844
+ }
2845
+
2846
+ .muka-toast--top-left {
2847
+ top: var(--spacing-4);
2848
+ left: var(--spacing-4);
2849
+ }
2850
+
2851
+ .muka-toast--top-center {
2852
+ top: var(--spacing-4);
2853
+ left: 50%;
2854
+ transform: translateX(-50%);
2855
+ }
2856
+
2857
+ .muka-toast--bottom-right {
2858
+ bottom: var(--spacing-4);
2859
+ right: var(--spacing-4);
2860
+ }
2861
+
2862
+ .muka-toast--bottom-left {
2863
+ bottom: var(--spacing-4);
2864
+ left: var(--spacing-4);
2865
+ }
2866
+
2867
+ .muka-toast--bottom-center {
2868
+ bottom: var(--spacing-4);
2869
+ left: 50%;
2870
+ transform: translateX(-50%);
2871
+ }
2872
+
2873
+ /* Variant: Info */
2874
+ .muka-toast--info {
2875
+ background-color: var(--toast-color-info-background);
2876
+ color: var(--toast-color-info-foreground);
2877
+ }
2878
+
2879
+ .muka-toast--info .muka-toast__icon {
2880
+ color: var(--toast-color-info-accent);
2881
+ }
2882
+
2883
+ /* Variant: Success */
2884
+ .muka-toast--success {
2885
+ background-color: var(--toast-color-success-background);
2886
+ color: var(--toast-color-success-foreground);
2887
+ }
2888
+
2889
+ .muka-toast--success .muka-toast__icon {
2890
+ color: var(--toast-color-success-accent);
2891
+ }
2892
+
2893
+ /* Variant: Warning */
2894
+ .muka-toast--warning {
2895
+ background-color: var(--toast-color-warning-background);
2896
+ color: var(--toast-color-warning-foreground);
2897
+ }
2898
+
2899
+ .muka-toast--warning .muka-toast__icon {
2900
+ color: var(--toast-color-warning-accent);
2901
+ }
2902
+
2903
+ /* Variant: Error */
2904
+ .muka-toast--error {
2905
+ background-color: var(--toast-color-error-background);
2906
+ color: var(--toast-color-error-foreground);
2907
+ }
2908
+
2909
+ .muka-toast--error .muka-toast__icon {
2910
+ color: var(--toast-color-error-accent);
2911
+ }
2912
+
2913
+ /* Icon */
2914
+ .muka-toast__icon {
2915
+ display: flex;
2916
+ align-items: center;
2917
+ justify-content: center;
2918
+ flex-shrink: 0;
2919
+ width: var(--toast-icon-size);
2920
+ height: var(--toast-icon-size);
2921
+ }
2922
+
2923
+ .muka-toast__icon svg {
2924
+ width: 100%;
2925
+ height: 100%;
2926
+ }
2927
+
2928
+ /* Content */
2929
+ .muka-toast__content {
2930
+ flex: 1;
2931
+ min-width: 0;
2932
+ }
2933
+
2934
+ .muka-toast__title {
2935
+ font-family: var(--text-label-md-semibold-fontFamily);
2936
+ font-weight: var(--text-label-md-semibold-fontWeight);
2937
+ font-size: var(--text-label-md-semibold-fontSize);
2938
+ line-height: var(--text-label-md-semibold-lineHeight);
2939
+ margin-bottom: var(--spacing-1);
2940
+ }
2941
+
2942
+ .muka-toast__message {
2943
+ font-family: var(--text-body-sm-regular-fontFamily);
2944
+ font-weight: var(--text-body-sm-regular-fontWeight);
2945
+ font-size: var(--text-body-sm-regular-fontSize);
2946
+ line-height: var(--text-body-sm-regular-lineHeight);
2947
+ }
2948
+
2949
+ /* Action slot */
2950
+ .muka-toast__action {
2951
+ display: flex;
2952
+ align-items: center;
2953
+ flex-shrink: 0;
2954
+ }
2955
+
2956
+ /* Dismiss button */
2957
+ .muka-toast__dismiss {
2958
+ display: flex;
2959
+ align-items: center;
2960
+ justify-content: center;
2961
+ flex-shrink: 0;
2962
+ width: 24px;
2963
+ height: 24px;
2964
+ padding: 0;
2965
+ margin: -2px -4px -2px 0;
2966
+ border: none;
2967
+ background: transparent;
2968
+ color: inherit;
2969
+ opacity: 0.7;
2970
+ cursor: pointer;
2971
+ border-radius: var(--border-radius-sm);
2972
+ transition: opacity 0.15s ease, background-color 0.15s ease;
2973
+ }
2974
+
2975
+ .muka-toast__dismiss:hover {
2976
+ opacity: 1;
2977
+ background-color: rgba(0, 0, 0, 0.05);
2978
+ }
2979
+
2980
+ .muka-toast__dismiss:focus-visible {
2981
+ outline: 2px solid var(--color-border-focus);
2982
+ outline-offset: 2px;
2983
+ opacity: 1;
2984
+ }
2985
+
2986
+ .muka-toast__dismiss svg {
2987
+ width: 16px;
2988
+ height: 16px;
2989
+ }
2990
+
2991
+
2764
2992
  /* Tile */
2765
2993
  /* Tile Component Styles - Using Muka Design Tokens */
2766
2994
 
@@ -3063,252 +3291,62 @@ body {
3063
3291
 
3064
3292
  .muka-tile__subheading {
3065
3293
  margin: 0;
3066
- color: var(--color-text-subtle-default);
3067
- }
3068
-
3069
- .muka-tile--lg .muka-tile__subheading {
3070
- font-family: var(--text-subheading-md-fontFamily);
3071
- font-weight: var(--text-subheading-md-fontWeight);
3072
- font-size: var(--text-subheading-md-fontSize);
3073
- line-height: var(--text-subheading-md-lineHeight);
3074
- }
3075
-
3076
- .muka-tile--md .muka-tile__subheading,
3077
- .muka-tile--sm .muka-tile__subheading {
3078
- font-family: var(--text-subheading-sm-fontFamily);
3079
- font-weight: var(--text-subheading-sm-fontWeight);
3080
- font-size: var(--text-subheading-sm-fontSize);
3081
- line-height: var(--text-subheading-sm-lineHeight);
3082
- }
3083
-
3084
- /* ─── Description typography ──────────────────────────── */
3085
-
3086
- .muka-tile__description {
3087
- margin: 0;
3088
- color: var(--color-text-default-default);
3089
- }
3090
-
3091
- .muka-tile--lg .muka-tile__description {
3092
- font-family: var(--text-body-lg-regular-fontFamily);
3093
- font-weight: var(--text-body-lg-regular-fontWeight);
3094
- font-size: var(--text-body-lg-regular-fontSize);
3095
- line-height: var(--text-body-lg-regular-lineHeight);
3096
- }
3097
-
3098
- .muka-tile--md .muka-tile__description,
3099
- .muka-tile--sm .muka-tile__description {
3100
- font-family: var(--text-body-base-regular-fontFamily);
3101
- font-weight: var(--text-body-base-regular-fontWeight);
3102
- font-size: var(--text-body-base-regular-fontSize);
3103
- line-height: var(--text-body-base-regular-lineHeight);
3104
- }
3105
-
3106
- /* Description overflow for medium */
3107
- .muka-tile--md .muka-tile__description {
3108
- overflow: hidden;
3109
- text-overflow: ellipsis;
3110
- }
3111
-
3112
- /* ─── Price slot ──────────────────────────────────────── */
3113
-
3114
- .muka-tile__price {
3115
- flex-shrink: 0;
3116
- }
3117
-
3118
- /* ─── Action slot ─────────────────────────────────────── */
3119
-
3120
- .muka-tile__action {
3121
- flex-shrink: 0;
3122
- }
3123
-
3124
-
3125
- /* Toast */
3126
- /* Toast Component Styles - Using Muka Design Tokens */
3127
-
3128
- .muka-toast {
3129
- display: flex;
3130
- align-items: flex-start;
3131
- gap: var(--toast-gap);
3132
- padding: var(--toast-padding-y) var(--toast-padding-x);
3133
- border-radius: var(--toast-radius);
3134
- box-shadow: var(--toast-shadow);
3135
- min-width: var(--toast-width-min);
3136
- max-width: var(--toast-width-max);
3137
- pointer-events: auto;
3138
- animation: muka-toast-slide-in 0.2s ease-out;
3139
- }
3140
-
3141
- /* Entry animation */
3142
- @keyframes muka-toast-slide-in {
3143
- from {
3144
- opacity: 0;
3145
- transform: translateY(8px);
3146
- }
3147
- to {
3148
- opacity: 1;
3149
- transform: translateY(0);
3150
- }
3151
- }
3152
-
3153
- /* Position variants (for standalone use - typically managed by ToastProvider) */
3154
- .muka-toast--top-right,
3155
- .muka-toast--top-left,
3156
- .muka-toast--top-center,
3157
- .muka-toast--bottom-right,
3158
- .muka-toast--bottom-left,
3159
- .muka-toast--bottom-center {
3160
- position: fixed;
3161
- z-index: 9999;
3162
- }
3163
-
3164
- .muka-toast--top-right {
3165
- top: var(--spacing-4);
3166
- right: var(--spacing-4);
3167
- }
3168
-
3169
- .muka-toast--top-left {
3170
- top: var(--spacing-4);
3171
- left: var(--spacing-4);
3172
- }
3173
-
3174
- .muka-toast--top-center {
3175
- top: var(--spacing-4);
3176
- left: 50%;
3177
- transform: translateX(-50%);
3178
- }
3179
-
3180
- .muka-toast--bottom-right {
3181
- bottom: var(--spacing-4);
3182
- right: var(--spacing-4);
3183
- }
3184
-
3185
- .muka-toast--bottom-left {
3186
- bottom: var(--spacing-4);
3187
- left: var(--spacing-4);
3188
- }
3189
-
3190
- .muka-toast--bottom-center {
3191
- bottom: var(--spacing-4);
3192
- left: 50%;
3193
- transform: translateX(-50%);
3194
- }
3195
-
3196
- /* Variant: Info */
3197
- .muka-toast--info {
3198
- background-color: var(--toast-color-info-background);
3199
- color: var(--toast-color-info-foreground);
3200
- }
3201
-
3202
- .muka-toast--info .muka-toast__icon {
3203
- color: var(--toast-color-info-accent);
3204
- }
3205
-
3206
- /* Variant: Success */
3207
- .muka-toast--success {
3208
- background-color: var(--toast-color-success-background);
3209
- color: var(--toast-color-success-foreground);
3210
- }
3211
-
3212
- .muka-toast--success .muka-toast__icon {
3213
- color: var(--toast-color-success-accent);
3214
- }
3215
-
3216
- /* Variant: Warning */
3217
- .muka-toast--warning {
3218
- background-color: var(--toast-color-warning-background);
3219
- color: var(--toast-color-warning-foreground);
3220
- }
3221
-
3222
- .muka-toast--warning .muka-toast__icon {
3223
- color: var(--toast-color-warning-accent);
3224
- }
3225
-
3226
- /* Variant: Error */
3227
- .muka-toast--error {
3228
- background-color: var(--toast-color-error-background);
3229
- color: var(--toast-color-error-foreground);
3230
- }
3231
-
3232
- .muka-toast--error .muka-toast__icon {
3233
- color: var(--toast-color-error-accent);
3234
- }
3235
-
3236
- /* Icon */
3237
- .muka-toast__icon {
3238
- display: flex;
3239
- align-items: center;
3240
- justify-content: center;
3241
- flex-shrink: 0;
3242
- width: var(--toast-icon-size);
3243
- height: var(--toast-icon-size);
3294
+ color: var(--color-text-subtle-default);
3244
3295
  }
3245
3296
 
3246
- .muka-toast__icon svg {
3247
- width: 100%;
3248
- height: 100%;
3297
+ .muka-tile--lg .muka-tile__subheading {
3298
+ font-family: var(--text-subheading-md-fontFamily);
3299
+ font-weight: var(--text-subheading-md-fontWeight);
3300
+ font-size: var(--text-subheading-md-fontSize);
3301
+ line-height: var(--text-subheading-md-lineHeight);
3249
3302
  }
3250
3303
 
3251
- /* Content */
3252
- .muka-toast__content {
3253
- flex: 1;
3254
- min-width: 0;
3304
+ .muka-tile--md .muka-tile__subheading,
3305
+ .muka-tile--sm .muka-tile__subheading {
3306
+ font-family: var(--text-subheading-sm-fontFamily);
3307
+ font-weight: var(--text-subheading-sm-fontWeight);
3308
+ font-size: var(--text-subheading-sm-fontSize);
3309
+ line-height: var(--text-subheading-sm-lineHeight);
3255
3310
  }
3256
3311
 
3257
- .muka-toast__title {
3258
- font-family: var(--text-label-md-semibold-fontFamily);
3259
- font-weight: var(--text-label-md-semibold-fontWeight);
3260
- font-size: var(--text-label-md-semibold-fontSize);
3261
- line-height: var(--text-label-md-semibold-lineHeight);
3262
- margin-bottom: var(--spacing-1);
3263
- }
3312
+ /* ─── Description typography ──────────────────────────── */
3264
3313
 
3265
- .muka-toast__message {
3266
- font-family: var(--text-body-sm-regular-fontFamily);
3267
- font-weight: var(--text-body-sm-regular-fontWeight);
3268
- font-size: var(--text-body-sm-regular-fontSize);
3269
- line-height: var(--text-body-sm-regular-lineHeight);
3314
+ .muka-tile__description {
3315
+ margin: 0;
3316
+ color: var(--color-text-default-default);
3270
3317
  }
3271
3318
 
3272
- /* Action slot */
3273
- .muka-toast__action {
3274
- display: flex;
3275
- align-items: center;
3276
- flex-shrink: 0;
3319
+ .muka-tile--lg .muka-tile__description {
3320
+ font-family: var(--text-body-lg-regular-fontFamily);
3321
+ font-weight: var(--text-body-lg-regular-fontWeight);
3322
+ font-size: var(--text-body-lg-regular-fontSize);
3323
+ line-height: var(--text-body-lg-regular-lineHeight);
3277
3324
  }
3278
3325
 
3279
- /* Dismiss button */
3280
- .muka-toast__dismiss {
3281
- display: flex;
3282
- align-items: center;
3283
- justify-content: center;
3284
- flex-shrink: 0;
3285
- width: 24px;
3286
- height: 24px;
3287
- padding: 0;
3288
- margin: -2px -4px -2px 0;
3289
- border: none;
3290
- background: transparent;
3291
- color: inherit;
3292
- opacity: 0.7;
3293
- cursor: pointer;
3294
- border-radius: var(--border-radius-sm);
3295
- transition: opacity 0.15s ease, background-color 0.15s ease;
3326
+ .muka-tile--md .muka-tile__description,
3327
+ .muka-tile--sm .muka-tile__description {
3328
+ font-family: var(--text-body-base-regular-fontFamily);
3329
+ font-weight: var(--text-body-base-regular-fontWeight);
3330
+ font-size: var(--text-body-base-regular-fontSize);
3331
+ line-height: var(--text-body-base-regular-lineHeight);
3296
3332
  }
3297
3333
 
3298
- .muka-toast__dismiss:hover {
3299
- opacity: 1;
3300
- background-color: rgba(0, 0, 0, 0.05);
3334
+ /* Description overflow for medium */
3335
+ .muka-tile--md .muka-tile__description {
3336
+ overflow: hidden;
3337
+ text-overflow: ellipsis;
3301
3338
  }
3302
3339
 
3303
- .muka-toast__dismiss:focus-visible {
3304
- outline: 2px solid var(--color-border-focus);
3305
- outline-offset: 2px;
3306
- opacity: 1;
3340
+ /* ─── Price slot ──────────────────────────────────────── */
3341
+
3342
+ .muka-tile__price {
3343
+ flex-shrink: 0;
3307
3344
  }
3308
3345
 
3309
- .muka-toast__dismiss svg {
3310
- width: 16px;
3311
- height: 16px;
3346
+ /* ─── Action slot ─────────────────────────────────────── */
3347
+
3348
+ .muka-tile__action {
3349
+ flex-shrink: 0;
3312
3350
  }
3313
3351
 
3314
3352
 
@@ -4741,49 +4779,243 @@ body {
4741
4779
  outline: none;
4742
4780
  }
4743
4781
 
4744
- /* Safe-area bottom inset for the iPhone home indicator. */
4745
- .muka-sheet:not(.muka-sheet--no-safe-area) {
4746
- padding-bottom: env(safe-area-inset-bottom);
4782
+ /* Safe-area bottom inset for the iPhone home indicator. */
4783
+ .muka-sheet:not(.muka-sheet--no-safe-area) {
4784
+ padding-bottom: env(safe-area-inset-bottom);
4785
+ }
4786
+
4787
+ /* ─── Drag handle ─────────────────────────────────────── */
4788
+
4789
+ .muka-sheet__handle-container {
4790
+ display: flex;
4791
+ justify-content: center;
4792
+ flex-shrink: 0;
4793
+ padding: var(--spacing-3) 0;
4794
+ }
4795
+
4796
+ .muka-sheet__handle {
4797
+ width: var(--dialog-drag-handle-width);
4798
+ height: var(--dialog-drag-handle-height);
4799
+ background-color: var(--dialog-drag-handle-color);
4800
+ border-radius: var(--dialog-drag-handle-radius);
4801
+ }
4802
+
4803
+ /* ─── Body (scrollable) ───────────────────────────────── */
4804
+
4805
+ .muka-sheet__body {
4806
+ flex: 1 1 0%;
4807
+ min-height: 0;
4808
+ overflow-y: auto;
4809
+ -webkit-overflow-scrolling: touch;
4810
+ overscroll-behavior: contain;
4811
+ }
4812
+
4813
+ /* ─── Visually-hidden title (a11y) ────────────────────── */
4814
+
4815
+ .muka-sheet__sr-title {
4816
+ position: absolute;
4817
+ width: 1px;
4818
+ height: 1px;
4819
+ padding: 0;
4820
+ margin: -1px;
4821
+ overflow: hidden;
4822
+ clip: rect(0, 0, 0, 0);
4823
+ white-space: nowrap;
4824
+ border: 0;
4825
+ }
4826
+
4827
+
4828
+ /* Select */
4829
+ /* Select Component Styles - Aligned with Input for consistency */
4830
+
4831
+ .muka-select {
4832
+ display: inline-flex;
4833
+ flex-direction: column;
4834
+ gap: var(--spacing-2);
4835
+ }
4836
+
4837
+ .muka-select--full-width {
4838
+ width: 100%;
4839
+ }
4840
+
4841
+ /* Label */
4842
+ .muka-select__label {
4843
+ color: var(--color-text-default-default);
4844
+ cursor: pointer;
4845
+ }
4846
+
4847
+ .muka-select__label--sm {
4848
+ font-family: var(--text-label-sm-semibold-fontFamily);
4849
+ font-weight: var(--text-label-sm-semibold-fontWeight);
4850
+ font-size: var(--text-label-sm-semibold-fontSize);
4851
+ line-height: var(--text-label-sm-semibold-lineHeight);
4852
+ }
4853
+
4854
+ .muka-select__label--md {
4855
+ font-family: var(--text-label-md-semibold-fontFamily);
4856
+ font-weight: var(--text-label-md-semibold-fontWeight);
4857
+ font-size: var(--text-label-md-semibold-fontSize);
4858
+ line-height: var(--text-label-md-semibold-lineHeight);
4859
+ }
4860
+
4861
+ .muka-select__label--lg {
4862
+ font-family: var(--text-label-lg-semibold-fontFamily);
4863
+ font-weight: var(--text-label-lg-semibold-fontWeight);
4864
+ font-size: var(--text-label-lg-semibold-fontSize);
4865
+ line-height: var(--text-label-lg-semibold-lineHeight);
4866
+ }
4867
+
4868
+ .muka-select__required {
4869
+ color: var(--color-state-error-foreground);
4870
+ }
4871
+
4872
+ .muka-select__label--sm + .muka-select__field--disabled,
4873
+ .muka-select__label--md + .muka-select__field--disabled,
4874
+ .muka-select__label--lg + .muka-select__field--disabled {
4875
+ cursor: not-allowed;
4876
+ }
4877
+
4878
+ /* Field container — same as Input: 1px border, radius, padding, inset shadow */
4879
+ .muka-select__field {
4880
+ display: flex;
4881
+ align-items: center;
4882
+ gap: var(--spacing-2);
4883
+ position: relative;
4884
+ background-color: var(--input-field-color-default-background);
4885
+ border: var(--border-width-regular) solid var(--input-field-color-default-border);
4886
+ border-radius: var(--input-field-radius-md);
4887
+ padding: var(--input-field-padding-y) var(--input-field-padding-x);
4888
+ transition: border-color 0.2s ease, background-color 0.2s ease;
4889
+ cursor: pointer;
4890
+ box-sizing: border-box;
4891
+ }
4892
+
4893
+ /* Inset shadow — same as Input (single subtle line) */
4894
+ .muka-select__field::after {
4895
+ content: '';
4896
+ position: absolute;
4897
+ inset: 0;
4898
+ border-radius: inherit;
4899
+ box-shadow: inset 0 1px 2px 0 rgba(26, 26, 26, 0.08);
4900
+ pointer-events: none;
4901
+ }
4902
+
4903
+ /* Size variants — same radius/height as Input */
4904
+ .muka-select__field--sm {
4905
+ min-height: var(--input-field-height-sm);
4906
+ border-radius: var(--input-field-radius-sm);
4907
+ }
4908
+
4909
+ .muka-select__field--md {
4910
+ min-height: var(--input-field-height-default);
4911
+ border-radius: var(--input-field-radius-md);
4912
+ }
4913
+
4914
+ .muka-select__field--lg {
4915
+ min-height: var(--input-field-height-lg);
4916
+ border-radius: var(--input-field-radius-lg);
4917
+ }
4918
+
4919
+ /* Hover — no visual change (same as Input) */
4920
+
4921
+ /* Focus (active) — same as Input: 2px border, padding compensation */
4922
+ .muka-select__field--focused:not(.muka-select__field--disabled) {
4923
+ border-width: var(--border-width-bold);
4924
+ border-color: var(--input-field-color-focus-border);
4925
+ background-color: var(--input-field-color-focus-background);
4926
+ padding: calc(var(--input-field-padding-y) - 1px) calc(var(--input-field-padding-x) - 1px);
4927
+ }
4928
+
4929
+ /* Error — same as Input: 2px border, padding compensation */
4930
+ .muka-select__field--error:not(.muka-select__field--disabled) {
4931
+ border-width: var(--border-width-bold);
4932
+ border-color: var(--input-field-color-error-border);
4933
+ background-color: var(--input-field-color-error-background);
4934
+ padding: calc(var(--input-field-padding-y) - 1px) calc(var(--input-field-padding-x) - 1px);
4935
+ }
4936
+
4937
+ /* Disabled — same as Input */
4938
+ .muka-select__field--disabled {
4939
+ background-color: var(--input-field-color-disabled-background);
4940
+ border-color: var(--input-field-color-disabled-border);
4941
+ cursor: not-allowed;
4942
+ }
4943
+
4944
+ .muka-select__field--disabled::after {
4945
+ display: none;
4946
+ }
4947
+
4948
+ /* Native select — padding on field so native has 0 + right space for chevron */
4949
+ .muka-select__native {
4950
+ appearance: none;
4951
+ -webkit-appearance: none;
4952
+ flex: 1;
4953
+ border: none;
4954
+ outline: none;
4955
+ background: transparent;
4956
+ color: var(--input-field-color-default-foreground);
4957
+ font-family: var(--text-input-md-fontFamily);
4958
+ font-weight: var(--text-input-md-fontWeight);
4959
+ font-size: var(--text-input-md-fontSize);
4960
+ line-height: var(--text-input-md-lineHeight);
4961
+ padding: 0;
4962
+ padding-right: calc(var(--input-field-padding-x) + 1.5rem);
4963
+ cursor: pointer;
4964
+ min-width: 0;
4965
+ width: 100%;
4966
+ }
4967
+
4968
+ .muka-select__field--sm .muka-select__native {
4969
+ font-family: var(--text-input-sm-fontFamily);
4970
+ font-weight: var(--text-input-sm-fontWeight);
4971
+ font-size: var(--text-input-sm-fontSize);
4972
+ line-height: var(--text-input-sm-lineHeight);
4747
4973
  }
4748
4974
 
4749
- /* ─── Drag handle ─────────────────────────────────────── */
4750
-
4751
- .muka-sheet__handle-container {
4752
- display: flex;
4753
- justify-content: center;
4754
- flex-shrink: 0;
4755
- padding: var(--spacing-3) 0;
4975
+ .muka-select__field--lg .muka-select__native {
4976
+ font-family: var(--text-input-lg-fontFamily);
4977
+ font-weight: var(--text-input-lg-fontWeight);
4978
+ font-size: var(--text-input-lg-fontSize);
4979
+ line-height: var(--text-input-lg-lineHeight);
4756
4980
  }
4757
4981
 
4758
- .muka-sheet__handle {
4759
- width: var(--dialog-drag-handle-width);
4760
- height: var(--dialog-drag-handle-height);
4761
- background-color: var(--dialog-drag-handle-color);
4762
- border-radius: var(--dialog-drag-handle-radius);
4982
+ .muka-select__field--disabled .muka-select__native {
4983
+ color: var(--input-field-color-disabled-foreground);
4984
+ cursor: not-allowed;
4763
4985
  }
4764
4986
 
4765
- /* ─── Body (scrollable) ───────────────────────────────── */
4987
+ /* Chevron — aligned with field padding */
4988
+ .muka-select__chevron {
4989
+ display: inline-flex;
4990
+ align-items: center;
4991
+ position: absolute;
4992
+ right: var(--input-field-padding-x);
4993
+ pointer-events: none;
4994
+ color: var(--color-text-subtle-default);
4995
+ }
4766
4996
 
4767
- .muka-sheet__body {
4768
- flex: 1 1 0%;
4769
- min-height: 0;
4770
- overflow-y: auto;
4771
- -webkit-overflow-scrolling: touch;
4772
- overscroll-behavior: contain;
4997
+ .muka-select__field--disabled .muka-select__chevron {
4998
+ color: var(--input-field-color-disabled-foreground);
4773
4999
  }
4774
5000
 
4775
- /* ─── Visually-hidden title (a11y) ────────────────────── */
5001
+ /* Helper text — same as Input */
5002
+ .muka-select__helper {
5003
+ font-family: var(--text-label-sm-regular-fontFamily);
5004
+ font-weight: var(--text-label-sm-regular-fontWeight);
5005
+ font-size: var(--text-label-sm-regular-fontSize);
5006
+ line-height: var(--text-label-sm-regular-lineHeight);
5007
+ color: var(--color-text-subtle-default);
5008
+ margin: 0;
5009
+ }
4776
5010
 
4777
- .muka-sheet__sr-title {
4778
- position: absolute;
4779
- width: 1px;
4780
- height: 1px;
4781
- padding: 0;
4782
- margin: -1px;
4783
- overflow: hidden;
4784
- clip: rect(0, 0, 0, 0);
4785
- white-space: nowrap;
4786
- border: 0;
5011
+ /* Error message — same as Input */
5012
+ .muka-select__error {
5013
+ font-family: var(--text-label-sm-regular-fontFamily);
5014
+ font-weight: var(--text-label-sm-regular-fontWeight);
5015
+ font-size: var(--text-label-sm-regular-fontSize);
5016
+ line-height: var(--text-label-sm-regular-lineHeight);
5017
+ color: var(--color-state-error-foreground);
5018
+ margin: 0;
4787
5019
  }
4788
5020
 
4789
5021
 
@@ -5670,53 +5902,6 @@ body {
5670
5902
  }
5671
5903
 
5672
5904
 
5673
- /* PullToRefresh */
5674
- /* PullToRefresh Component Styles */
5675
-
5676
- .muka-pull-to-refresh {
5677
- position: relative;
5678
- display: flex;
5679
- flex-direction: column;
5680
- width: 100%;
5681
- height: 100%;
5682
- overflow: hidden;
5683
- }
5684
-
5685
- .muka-pull-to-refresh__indicator {
5686
- position: absolute;
5687
- top: 0;
5688
- left: 0;
5689
- right: 0;
5690
- display: flex;
5691
- align-items: flex-end;
5692
- justify-content: center;
5693
- padding-bottom: var(--spacing-2);
5694
- color: var(--color-text-subtle-default);
5695
- overflow: hidden;
5696
- pointer-events: none;
5697
- z-index: 1;
5698
- }
5699
-
5700
- .muka-pull-to-refresh__chevron {
5701
- display: inline-flex;
5702
- align-items: center;
5703
- justify-content: center;
5704
- transition: transform 0.16s ease;
5705
- }
5706
-
5707
- .muka-pull-to-refresh__scroller {
5708
- flex: 1 1 auto;
5709
- min-height: 0;
5710
- width: 100%;
5711
- overflow-x: clip;
5712
- overflow-y: auto;
5713
- -webkit-overflow-scrolling: touch;
5714
- overscroll-behavior-y: contain;
5715
- touch-action: pan-y;
5716
- will-change: transform;
5717
- }
5718
-
5719
-
5720
5905
  /* ProgressTracker */
5721
5906
  /* ProgressTracker Component Styles — Using Muka Design Tokens */
5722
5907
 
@@ -6123,6 +6308,53 @@ body {
6123
6308
  }
6124
6309
 
6125
6310
 
6311
+ /* PullToRefresh */
6312
+ /* PullToRefresh Component Styles */
6313
+
6314
+ .muka-pull-to-refresh {
6315
+ position: relative;
6316
+ display: flex;
6317
+ flex-direction: column;
6318
+ width: 100%;
6319
+ height: 100%;
6320
+ overflow: hidden;
6321
+ }
6322
+
6323
+ .muka-pull-to-refresh__indicator {
6324
+ position: absolute;
6325
+ top: 0;
6326
+ left: 0;
6327
+ right: 0;
6328
+ display: flex;
6329
+ align-items: flex-end;
6330
+ justify-content: center;
6331
+ padding-bottom: var(--spacing-2);
6332
+ color: var(--color-text-subtle-default);
6333
+ overflow: hidden;
6334
+ pointer-events: none;
6335
+ z-index: 1;
6336
+ }
6337
+
6338
+ .muka-pull-to-refresh__chevron {
6339
+ display: inline-flex;
6340
+ align-items: center;
6341
+ justify-content: center;
6342
+ transition: transform 0.16s ease;
6343
+ }
6344
+
6345
+ .muka-pull-to-refresh__scroller {
6346
+ flex: 1 1 auto;
6347
+ min-height: 0;
6348
+ width: 100%;
6349
+ overflow-x: clip;
6350
+ overflow-y: auto;
6351
+ -webkit-overflow-scrolling: touch;
6352
+ overscroll-behavior-y: contain;
6353
+ touch-action: pan-y;
6354
+ will-change: transform;
6355
+ }
6356
+
6357
+
6126
6358
  /* Progress */
6127
6359
  /* Progress Component Styles - Using Muka Design Tokens */
6128
6360
 
@@ -6255,114 +6487,43 @@ body {
6255
6487
  color: var(--color-text-default-default);
6256
6488
  }
6257
6489
 
6258
- .muka-progress--circle.muka-progress--sm .muka-progress__label {
6259
- font-size: var(--text-label-sm-semibold-fontSize);
6260
- }
6261
-
6262
- .muka-progress--circle.muka-progress--md .muka-progress__label {
6263
- font-size: var(--text-label-md-semibold-fontSize);
6264
- }
6265
-
6266
- .muka-progress--circle.muka-progress--lg .muka-progress__label {
6267
- font-size: var(--text-label-lg-semibold-fontSize);
6268
- }
6269
-
6270
- /* Indeterminate animation for circle */
6271
- .muka-progress--circle.muka-progress--indeterminate .muka-progress__circle {
6272
- animation: muka-progress-circle-rotate 2s linear infinite;
6273
- }
6274
-
6275
- .muka-progress--circle.muka-progress--indeterminate .muka-progress__fill {
6276
- animation: muka-progress-circle-dash 1.5s ease-in-out infinite;
6277
- }
6278
-
6279
- @keyframes muka-progress-circle-rotate {
6280
- 100% {
6281
- transform: rotate(270deg);
6282
- }
6283
- }
6284
-
6285
- @keyframes muka-progress-circle-dash {
6286
- 0% {
6287
- stroke-dashoffset: 220;
6288
- }
6289
- 50% {
6290
- stroke-dashoffset: 70;
6291
- }
6292
- 100% {
6293
- stroke-dashoffset: 220;
6294
- }
6295
- }
6296
-
6297
-
6298
- /* ProfileBadge */
6299
- /* ProfileBadge Component Styles - Using Muka Design Tokens */
6300
-
6301
- .muka-profile-badge {
6302
- display: inline-flex;
6303
- align-items: center;
6304
- font-family: var(--text-body-base-regular-fontFamily);
6305
- }
6306
-
6307
- /* Size variants */
6308
- .muka-profile-badge--lg {
6309
- gap: var(--spacing-4); /* 16px */
6310
- }
6311
-
6312
- .muka-profile-badge--md {
6313
- gap: var(--spacing-3); /* 12px */
6314
- }
6315
-
6316
- .muka-profile-badge__avatar {
6317
- flex-shrink: 0;
6318
- }
6319
-
6320
- /* Text stack */
6321
- .muka-profile-badge__text {
6322
- display: flex;
6323
- flex-direction: column;
6324
- align-items: flex-start;
6325
- min-width: 0;
6490
+ .muka-progress--circle.muka-progress--sm .muka-progress__label {
6491
+ font-size: var(--text-label-sm-semibold-fontSize);
6326
6492
  }
6327
6493
 
6328
- .muka-profile-badge__name {
6329
- font-family: var(--text-body-base-regular-fontFamily);
6330
- font-size: var(--text-body-base-regular-fontSize);
6331
- font-weight: var(--text-body-base-regular-fontWeight);
6332
- line-height: var(--text-body-base-regular-lineHeight);
6333
- color: var(--color-text-default-default);
6494
+ .muka-progress--circle.muka-progress--md .muka-progress__label {
6495
+ font-size: var(--text-label-md-semibold-fontSize);
6334
6496
  }
6335
6497
 
6336
- .muka-profile-badge__email {
6337
- font-family: var(--text-body-xs-regular-fontFamily);
6338
- font-size: var(--text-body-xs-regular-fontSize);
6339
- font-weight: var(--text-body-xs-regular-fontWeight);
6340
- line-height: var(--text-body-xs-regular-lineHeight);
6341
- color: var(--color-text-subtle-default);
6498
+ .muka-progress--circle.muka-progress--lg .muka-progress__label {
6499
+ font-size: var(--text-label-lg-semibold-fontSize);
6342
6500
  }
6343
6501
 
6344
- /* Clickable state */
6345
- .muka-profile-badge--clickable {
6346
- cursor: pointer;
6347
- border: none;
6348
- background: none;
6349
- padding: 0;
6350
- text-align: left;
6351
- border-radius: var(--radius-md);
6352
- transition: opacity 0.2s ease;
6502
+ /* Indeterminate animation for circle */
6503
+ .muka-progress--circle.muka-progress--indeterminate .muka-progress__circle {
6504
+ animation: muka-progress-circle-rotate 2s linear infinite;
6353
6505
  }
6354
6506
 
6355
- .muka-profile-badge--clickable:hover {
6356
- opacity: 0.9;
6507
+ .muka-progress--circle.muka-progress--indeterminate .muka-progress__fill {
6508
+ animation: muka-progress-circle-dash 1.5s ease-in-out infinite;
6357
6509
  }
6358
6510
 
6359
- .muka-profile-badge--clickable:active {
6360
- opacity: 0.8;
6511
+ @keyframes muka-progress-circle-rotate {
6512
+ 100% {
6513
+ transform: rotate(270deg);
6514
+ }
6361
6515
  }
6362
6516
 
6363
- .muka-profile-badge--clickable:focus-visible {
6364
- outline: 2px solid var(--color-border-focus);
6365
- outline-offset: 2px;
6517
+ @keyframes muka-progress-circle-dash {
6518
+ 0% {
6519
+ stroke-dashoffset: 220;
6520
+ }
6521
+ 50% {
6522
+ stroke-dashoffset: 70;
6523
+ }
6524
+ 100% {
6525
+ stroke-dashoffset: 220;
6526
+ }
6366
6527
  }
6367
6528
 
6368
6529
 
@@ -6494,6 +6655,77 @@ body {
6494
6655
  }
6495
6656
 
6496
6657
 
6658
+ /* ProfileBadge */
6659
+ /* ProfileBadge Component Styles - Using Muka Design Tokens */
6660
+
6661
+ .muka-profile-badge {
6662
+ display: inline-flex;
6663
+ align-items: center;
6664
+ font-family: var(--text-body-base-regular-fontFamily);
6665
+ }
6666
+
6667
+ /* Size variants */
6668
+ .muka-profile-badge--lg {
6669
+ gap: var(--spacing-4); /* 16px */
6670
+ }
6671
+
6672
+ .muka-profile-badge--md {
6673
+ gap: var(--spacing-3); /* 12px */
6674
+ }
6675
+
6676
+ .muka-profile-badge__avatar {
6677
+ flex-shrink: 0;
6678
+ }
6679
+
6680
+ /* Text stack */
6681
+ .muka-profile-badge__text {
6682
+ display: flex;
6683
+ flex-direction: column;
6684
+ align-items: flex-start;
6685
+ min-width: 0;
6686
+ }
6687
+
6688
+ .muka-profile-badge__name {
6689
+ font-family: var(--text-body-base-regular-fontFamily);
6690
+ font-size: var(--text-body-base-regular-fontSize);
6691
+ font-weight: var(--text-body-base-regular-fontWeight);
6692
+ line-height: var(--text-body-base-regular-lineHeight);
6693
+ color: var(--color-text-default-default);
6694
+ }
6695
+
6696
+ .muka-profile-badge__email {
6697
+ font-family: var(--text-body-xs-regular-fontFamily);
6698
+ font-size: var(--text-body-xs-regular-fontSize);
6699
+ font-weight: var(--text-body-xs-regular-fontWeight);
6700
+ line-height: var(--text-body-xs-regular-lineHeight);
6701
+ color: var(--color-text-subtle-default);
6702
+ }
6703
+
6704
+ /* Clickable state */
6705
+ .muka-profile-badge--clickable {
6706
+ cursor: pointer;
6707
+ border: none;
6708
+ background: none;
6709
+ padding: 0;
6710
+ text-align: left;
6711
+ border-radius: var(--radius-md);
6712
+ transition: opacity 0.2s ease;
6713
+ }
6714
+
6715
+ .muka-profile-badge--clickable:hover {
6716
+ opacity: 0.9;
6717
+ }
6718
+
6719
+ .muka-profile-badge--clickable:active {
6720
+ opacity: 0.8;
6721
+ }
6722
+
6723
+ .muka-profile-badge--clickable:focus-visible {
6724
+ outline: 2px solid var(--color-border-focus);
6725
+ outline-offset: 2px;
6726
+ }
6727
+
6728
+
6497
6729
  /* PieChart */
6498
6730
  /* PieChart Component Styles - Using Muka Design Tokens */
6499
6731
 
@@ -7806,57 +8038,23 @@ li.muka-listitem {
7806
8038
  }
7807
8039
 
7808
8040
 
7809
- /* Icon */
7810
- /* Icon Component Styles - Using Muka Design Tokens */
7811
-
7812
- .muka-icon {
7813
- display: inline-flex;
7814
- align-items: center;
7815
- justify-content: center;
7816
- flex-shrink: 0;
7817
- color: var(--color-icon-default-default, currentColor);
7818
- }
7819
-
7820
- /* Icons inside buttons should inherit from button's foreground color */
7821
- .muka-button .muka-icon {
7822
- color: inherit;
7823
- }
7824
-
7825
- .muka-icon--subtle {
7826
- color: var(--color-icon-subtle-default);
7827
- }
7828
-
7829
- .muka-icon--muted {
7830
- color: var(--color-icon-muted-default);
7831
- }
7832
-
7833
- .muka-icon--inverse {
7834
- color: var(--color-icon-default-inverse);
7835
- }
7836
-
7837
- .muka-icon--xs {
7838
- width: var(--icon-size-xs);
7839
- height: var(--icon-size-xs);
7840
- }
7841
-
7842
- .muka-icon--sm {
7843
- width: var(--icon-size-sm);
7844
- height: var(--icon-size-sm);
8041
+ /* Form */
8042
+ .muka-form {
8043
+ display: flex;
8044
+ flex-direction: column;
8045
+ width: 100%;
7845
8046
  }
7846
8047
 
7847
- .muka-icon--md {
7848
- width: var(--icon-size-default);
7849
- height: var(--icon-size-default);
8048
+ .muka-form--gap-sm {
8049
+ gap: var(--size-sm);
7850
8050
  }
7851
8051
 
7852
- .muka-icon--lg {
7853
- width: var(--icon-size-lg);
7854
- height: var(--icon-size-lg);
8052
+ .muka-form--gap-md {
8053
+ gap: var(--size-md);
7855
8054
  }
7856
8055
 
7857
- .muka-icon svg {
7858
- width: 100%;
7859
- height: 100%;
8056
+ .muka-form--gap-lg {
8057
+ gap: var(--size-lg);
7860
8058
  }
7861
8059
 
7862
8060
 
@@ -8263,6 +8461,60 @@ li.muka-listitem {
8263
8461
  }
8264
8462
 
8265
8463
 
8464
+ /* Icon */
8465
+ /* Icon Component Styles - Using Muka Design Tokens */
8466
+
8467
+ .muka-icon {
8468
+ display: inline-flex;
8469
+ align-items: center;
8470
+ justify-content: center;
8471
+ flex-shrink: 0;
8472
+ color: var(--color-icon-default-default, currentColor);
8473
+ }
8474
+
8475
+ /* Icons inside buttons should inherit from button's foreground color */
8476
+ .muka-button .muka-icon {
8477
+ color: inherit;
8478
+ }
8479
+
8480
+ .muka-icon--subtle {
8481
+ color: var(--color-icon-subtle-default);
8482
+ }
8483
+
8484
+ .muka-icon--muted {
8485
+ color: var(--color-icon-muted-default);
8486
+ }
8487
+
8488
+ .muka-icon--inverse {
8489
+ color: var(--color-icon-default-inverse);
8490
+ }
8491
+
8492
+ .muka-icon--xs {
8493
+ width: var(--icon-size-xs);
8494
+ height: var(--icon-size-xs);
8495
+ }
8496
+
8497
+ .muka-icon--sm {
8498
+ width: var(--icon-size-sm);
8499
+ height: var(--icon-size-sm);
8500
+ }
8501
+
8502
+ .muka-icon--md {
8503
+ width: var(--icon-size-default);
8504
+ height: var(--icon-size-default);
8505
+ }
8506
+
8507
+ .muka-icon--lg {
8508
+ width: var(--icon-size-lg);
8509
+ height: var(--icon-size-lg);
8510
+ }
8511
+
8512
+ .muka-icon svg {
8513
+ width: 100%;
8514
+ height: 100%;
8515
+ }
8516
+
8517
+
8266
8518
  /* EmptyState */
8267
8519
  /* EmptyState Component Styles - Using Muka Design Tokens */
8268
8520
 
@@ -8814,55 +9066,28 @@ li.muka-listitem {
8814
9066
  .react-pdf__Document {
8815
9067
  display: flex;
8816
9068
  flex-direction: column;
8817
- align-items: center;
8818
- }
8819
-
8820
- .react-pdf__Page {
8821
- max-width: 100%;
8822
- box-shadow: var(--documentviewer-page-shadow);
8823
- border-radius: var(--documentviewer-page-borderRadius);
8824
- overflow: hidden;
8825
- }
8826
-
8827
- .react-pdf__Page__canvas {
8828
- max-width: 100%;
8829
- height: auto !important;
8830
- display: block;
8831
- }
8832
-
8833
- .react-pdf__Page__textContent {
8834
- max-width: 100%;
8835
- }
8836
-
8837
- .react-pdf__Page__annotations {
8838
- max-width: 100%;
8839
- }
8840
-
8841
-
8842
- /* Divider */
8843
- /* Divider Component Styles - Using Muka Design Tokens */
8844
-
8845
- .muka-divider {
8846
- flex-shrink: 0;
9069
+ align-items: center;
8847
9070
  }
8848
9071
 
8849
- .muka-divider--horizontal {
8850
- width: 100%;
8851
- height: var(--separator-width);
9072
+ .react-pdf__Page {
9073
+ max-width: 100%;
9074
+ box-shadow: var(--documentviewer-page-shadow);
9075
+ border-radius: var(--documentviewer-page-borderRadius);
9076
+ overflow: hidden;
8852
9077
  }
8853
9078
 
8854
- .muka-divider--vertical {
8855
- height: 100%;
8856
- width: var(--separator-width);
8857
- align-self: stretch;
9079
+ .react-pdf__Page__canvas {
9080
+ max-width: 100%;
9081
+ height: auto !important;
9082
+ display: block;
8858
9083
  }
8859
9084
 
8860
- .muka-divider--default {
8861
- background-color: var(--separator-color-default);
9085
+ .react-pdf__Page__textContent {
9086
+ max-width: 100%;
8862
9087
  }
8863
9088
 
8864
- .muka-divider--contrast {
8865
- background-color: var(--separator-color-contrast);
9089
+ .react-pdf__Page__annotations {
9090
+ max-width: 100%;
8866
9091
  }
8867
9092
 
8868
9093
 
@@ -9133,6 +9358,33 @@ li.muka-listitem {
9133
9358
  }
9134
9359
 
9135
9360
 
9361
+ /* Divider */
9362
+ /* Divider Component Styles - Using Muka Design Tokens */
9363
+
9364
+ .muka-divider {
9365
+ flex-shrink: 0;
9366
+ }
9367
+
9368
+ .muka-divider--horizontal {
9369
+ width: 100%;
9370
+ height: var(--separator-width);
9371
+ }
9372
+
9373
+ .muka-divider--vertical {
9374
+ height: 100%;
9375
+ width: var(--separator-width);
9376
+ align-self: stretch;
9377
+ }
9378
+
9379
+ .muka-divider--default {
9380
+ background-color: var(--separator-color-default);
9381
+ }
9382
+
9383
+ .muka-divider--contrast {
9384
+ background-color: var(--separator-color-contrast);
9385
+ }
9386
+
9387
+
9136
9388
  /* DatePicker */
9137
9389
  /* DatePicker — compact native date field. */
9138
9390
  /* Field/label/helper styling is inherited from ../Input/Input.css. */
@@ -11187,6 +11439,35 @@ li.muka-listitem {
11187
11439
  opacity: 1;
11188
11440
  }
11189
11441
 
11442
+ /* Muted variant - same as ghost but resting foreground is subtle, darkens on interaction */
11443
+ .muka-button--muted {
11444
+ background-color: var(--button-color-muted-background-default);
11445
+ color: var(--button-color-muted-foreground-default);
11446
+ border: 1px solid var(--button-color-muted-border-default);
11447
+ }
11448
+
11449
+ .muka-button--muted:hover:not(:disabled) {
11450
+ background-color: var(--button-color-muted-background-hover);
11451
+ color: var(--button-color-muted-foreground-hover);
11452
+ border-color: var(--button-color-muted-border-hover);
11453
+ }
11454
+
11455
+ .muka-button--muted:active:not(:disabled),
11456
+ .muka-button--muted.muka-button--pressed:not(:disabled),
11457
+ .muka-button--muted[data-state="open"]:not(:disabled) {
11458
+ background-color: var(--button-color-muted-background-pressed);
11459
+ color: var(--button-color-muted-foreground-pressed);
11460
+ border-color: var(--button-color-muted-border-pressed);
11461
+ }
11462
+
11463
+ .muka-button--muted:disabled {
11464
+ background-color: var(--button-color-muted-background-disabled);
11465
+ color: var(--button-color-muted-foreground-disabled);
11466
+ border-color: var(--button-color-muted-border-disabled);
11467
+ cursor: not-allowed;
11468
+ opacity: 1;
11469
+ }
11470
+
11190
11471
  /* General disabled state - fallback */
11191
11472
  .muka-button:disabled {
11192
11473
  cursor: not-allowed;
@@ -12797,197 +13078,3 @@ li.muka-listitem {
12797
13078
  border-bottom: none;
12798
13079
  }
12799
13080
 
12800
-
12801
- /* Select */
12802
- /* Select Component Styles - Aligned with Input for consistency */
12803
-
12804
- .muka-select {
12805
- display: inline-flex;
12806
- flex-direction: column;
12807
- gap: var(--spacing-2);
12808
- }
12809
-
12810
- .muka-select--full-width {
12811
- width: 100%;
12812
- }
12813
-
12814
- /* Label */
12815
- .muka-select__label {
12816
- color: var(--color-text-default-default);
12817
- cursor: pointer;
12818
- }
12819
-
12820
- .muka-select__label--sm {
12821
- font-family: var(--text-label-sm-semibold-fontFamily);
12822
- font-weight: var(--text-label-sm-semibold-fontWeight);
12823
- font-size: var(--text-label-sm-semibold-fontSize);
12824
- line-height: var(--text-label-sm-semibold-lineHeight);
12825
- }
12826
-
12827
- .muka-select__label--md {
12828
- font-family: var(--text-label-md-semibold-fontFamily);
12829
- font-weight: var(--text-label-md-semibold-fontWeight);
12830
- font-size: var(--text-label-md-semibold-fontSize);
12831
- line-height: var(--text-label-md-semibold-lineHeight);
12832
- }
12833
-
12834
- .muka-select__label--lg {
12835
- font-family: var(--text-label-lg-semibold-fontFamily);
12836
- font-weight: var(--text-label-lg-semibold-fontWeight);
12837
- font-size: var(--text-label-lg-semibold-fontSize);
12838
- line-height: var(--text-label-lg-semibold-lineHeight);
12839
- }
12840
-
12841
- .muka-select__required {
12842
- color: var(--color-state-error-foreground);
12843
- }
12844
-
12845
- .muka-select__label--sm + .muka-select__field--disabled,
12846
- .muka-select__label--md + .muka-select__field--disabled,
12847
- .muka-select__label--lg + .muka-select__field--disabled {
12848
- cursor: not-allowed;
12849
- }
12850
-
12851
- /* Field container — same as Input: 1px border, radius, padding, inset shadow */
12852
- .muka-select__field {
12853
- display: flex;
12854
- align-items: center;
12855
- gap: var(--spacing-2);
12856
- position: relative;
12857
- background-color: var(--input-field-color-default-background);
12858
- border: var(--border-width-regular) solid var(--input-field-color-default-border);
12859
- border-radius: var(--input-field-radius-md);
12860
- padding: var(--input-field-padding-y) var(--input-field-padding-x);
12861
- transition: border-color 0.2s ease, background-color 0.2s ease;
12862
- cursor: pointer;
12863
- box-sizing: border-box;
12864
- }
12865
-
12866
- /* Inset shadow — same as Input (single subtle line) */
12867
- .muka-select__field::after {
12868
- content: '';
12869
- position: absolute;
12870
- inset: 0;
12871
- border-radius: inherit;
12872
- box-shadow: inset 0 1px 2px 0 rgba(26, 26, 26, 0.08);
12873
- pointer-events: none;
12874
- }
12875
-
12876
- /* Size variants — same radius/height as Input */
12877
- .muka-select__field--sm {
12878
- min-height: var(--input-field-height-sm);
12879
- border-radius: var(--input-field-radius-sm);
12880
- }
12881
-
12882
- .muka-select__field--md {
12883
- min-height: var(--input-field-height-default);
12884
- border-radius: var(--input-field-radius-md);
12885
- }
12886
-
12887
- .muka-select__field--lg {
12888
- min-height: var(--input-field-height-lg);
12889
- border-radius: var(--input-field-radius-lg);
12890
- }
12891
-
12892
- /* Hover — no visual change (same as Input) */
12893
-
12894
- /* Focus (active) — same as Input: 2px border, padding compensation */
12895
- .muka-select__field--focused:not(.muka-select__field--disabled) {
12896
- border-width: var(--border-width-bold);
12897
- border-color: var(--input-field-color-focus-border);
12898
- background-color: var(--input-field-color-focus-background);
12899
- padding: calc(var(--input-field-padding-y) - 1px) calc(var(--input-field-padding-x) - 1px);
12900
- }
12901
-
12902
- /* Error — same as Input: 2px border, padding compensation */
12903
- .muka-select__field--error:not(.muka-select__field--disabled) {
12904
- border-width: var(--border-width-bold);
12905
- border-color: var(--input-field-color-error-border);
12906
- background-color: var(--input-field-color-error-background);
12907
- padding: calc(var(--input-field-padding-y) - 1px) calc(var(--input-field-padding-x) - 1px);
12908
- }
12909
-
12910
- /* Disabled — same as Input */
12911
- .muka-select__field--disabled {
12912
- background-color: var(--input-field-color-disabled-background);
12913
- border-color: var(--input-field-color-disabled-border);
12914
- cursor: not-allowed;
12915
- }
12916
-
12917
- .muka-select__field--disabled::after {
12918
- display: none;
12919
- }
12920
-
12921
- /* Native select — padding on field so native has 0 + right space for chevron */
12922
- .muka-select__native {
12923
- appearance: none;
12924
- -webkit-appearance: none;
12925
- flex: 1;
12926
- border: none;
12927
- outline: none;
12928
- background: transparent;
12929
- color: var(--input-field-color-default-foreground);
12930
- font-family: var(--text-input-md-fontFamily);
12931
- font-weight: var(--text-input-md-fontWeight);
12932
- font-size: var(--text-input-md-fontSize);
12933
- line-height: var(--text-input-md-lineHeight);
12934
- padding: 0;
12935
- padding-right: calc(var(--input-field-padding-x) + 1.5rem);
12936
- cursor: pointer;
12937
- min-width: 0;
12938
- width: 100%;
12939
- }
12940
-
12941
- .muka-select__field--sm .muka-select__native {
12942
- font-family: var(--text-input-sm-fontFamily);
12943
- font-weight: var(--text-input-sm-fontWeight);
12944
- font-size: var(--text-input-sm-fontSize);
12945
- line-height: var(--text-input-sm-lineHeight);
12946
- }
12947
-
12948
- .muka-select__field--lg .muka-select__native {
12949
- font-family: var(--text-input-lg-fontFamily);
12950
- font-weight: var(--text-input-lg-fontWeight);
12951
- font-size: var(--text-input-lg-fontSize);
12952
- line-height: var(--text-input-lg-lineHeight);
12953
- }
12954
-
12955
- .muka-select__field--disabled .muka-select__native {
12956
- color: var(--input-field-color-disabled-foreground);
12957
- cursor: not-allowed;
12958
- }
12959
-
12960
- /* Chevron — aligned with field padding */
12961
- .muka-select__chevron {
12962
- display: inline-flex;
12963
- align-items: center;
12964
- position: absolute;
12965
- right: var(--input-field-padding-x);
12966
- pointer-events: none;
12967
- color: var(--color-text-subtle-default);
12968
- }
12969
-
12970
- .muka-select__field--disabled .muka-select__chevron {
12971
- color: var(--input-field-color-disabled-foreground);
12972
- }
12973
-
12974
- /* Helper text — same as Input */
12975
- .muka-select__helper {
12976
- font-family: var(--text-label-sm-regular-fontFamily);
12977
- font-weight: var(--text-label-sm-regular-fontWeight);
12978
- font-size: var(--text-label-sm-regular-fontSize);
12979
- line-height: var(--text-label-sm-regular-lineHeight);
12980
- color: var(--color-text-subtle-default);
12981
- margin: 0;
12982
- }
12983
-
12984
- /* Error message — same as Input */
12985
- .muka-select__error {
12986
- font-family: var(--text-label-sm-regular-fontFamily);
12987
- font-weight: var(--text-label-sm-regular-fontWeight);
12988
- font-size: var(--text-label-sm-regular-fontSize);
12989
- line-height: var(--text-label-sm-regular-lineHeight);
12990
- color: var(--color-state-error-foreground);
12991
- margin: 0;
12992
- }
12993
-