@raintonic/formaui 0.4.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 (238) hide show
  1. package/CHANGELOG.md +80 -35
  2. package/README.md +22 -26
  3. package/fesm2022/raintonic-formaui-cdk-drag-drop.mjs +39 -41
  4. package/fesm2022/raintonic-formaui-cdk-drag-drop.mjs.map +1 -1
  5. package/fesm2022/raintonic-formaui-cdk-form-field.mjs +207 -3
  6. package/fesm2022/raintonic-formaui-cdk-form-field.mjs.map +1 -1
  7. package/fesm2022/raintonic-formaui-cdk-overlay.mjs +19 -1
  8. package/fesm2022/raintonic-formaui-cdk-overlay.mjs.map +1 -1
  9. package/fesm2022/raintonic-formaui-cdk-virtual-scroll.mjs +5 -12
  10. package/fesm2022/raintonic-formaui-cdk-virtual-scroll.mjs.map +1 -1
  11. package/fesm2022/raintonic-formaui-components-accordion.mjs +8 -5
  12. package/fesm2022/raintonic-formaui-components-accordion.mjs.map +1 -1
  13. package/fesm2022/raintonic-formaui-components-alert.mjs +16 -2
  14. package/fesm2022/raintonic-formaui-components-alert.mjs.map +1 -1
  15. package/fesm2022/raintonic-formaui-components-autocomplete.mjs +255 -462
  16. package/fesm2022/raintonic-formaui-components-autocomplete.mjs.map +1 -1
  17. package/fesm2022/raintonic-formaui-components-avatar.mjs +34 -59
  18. package/fesm2022/raintonic-formaui-components-avatar.mjs.map +1 -1
  19. package/fesm2022/raintonic-formaui-components-badge.mjs +2 -2
  20. package/fesm2022/raintonic-formaui-components-badge.mjs.map +1 -1
  21. package/fesm2022/raintonic-formaui-components-breadcrumb.mjs +4 -4
  22. package/fesm2022/raintonic-formaui-components-breadcrumb.mjs.map +1 -1
  23. package/fesm2022/raintonic-formaui-components-button-group.mjs +2 -2
  24. package/fesm2022/raintonic-formaui-components-button-group.mjs.map +1 -1
  25. package/fesm2022/raintonic-formaui-components-button.mjs +15 -20
  26. package/fesm2022/raintonic-formaui-components-button.mjs.map +1 -1
  27. package/fesm2022/raintonic-formaui-components-card.mjs +2 -2
  28. package/fesm2022/raintonic-formaui-components-card.mjs.map +1 -1
  29. package/fesm2022/raintonic-formaui-components-checkbox.mjs +2 -2
  30. package/fesm2022/raintonic-formaui-components-checkbox.mjs.map +1 -1
  31. package/fesm2022/raintonic-formaui-components-chip.mjs +97 -0
  32. package/fesm2022/raintonic-formaui-components-chip.mjs.map +1 -0
  33. package/fesm2022/raintonic-formaui-components-data-table.mjs +69 -29
  34. package/fesm2022/raintonic-formaui-components-data-table.mjs.map +1 -1
  35. package/fesm2022/raintonic-formaui-components-date-picker.mjs +223 -144
  36. package/fesm2022/raintonic-formaui-components-date-picker.mjs.map +1 -1
  37. package/fesm2022/raintonic-formaui-components-divider.mjs +2 -2
  38. package/fesm2022/raintonic-formaui-components-divider.mjs.map +1 -1
  39. package/fesm2022/raintonic-formaui-components-drawer.mjs +2 -2
  40. package/fesm2022/raintonic-formaui-components-drawer.mjs.map +1 -1
  41. package/fesm2022/raintonic-formaui-components-dropdown-menu.mjs +888 -0
  42. package/fesm2022/raintonic-formaui-components-dropdown-menu.mjs.map +1 -0
  43. package/fesm2022/raintonic-formaui-components-dual-tier-navigation.mjs +774 -0
  44. package/fesm2022/raintonic-formaui-components-dual-tier-navigation.mjs.map +1 -0
  45. package/fesm2022/raintonic-formaui-components-empty-state.mjs +2 -2
  46. package/fesm2022/raintonic-formaui-components-empty-state.mjs.map +1 -1
  47. package/fesm2022/raintonic-formaui-components-file-upload.mjs +2 -2
  48. package/fesm2022/raintonic-formaui-components-file-upload.mjs.map +1 -1
  49. package/fesm2022/raintonic-formaui-components-form-field.mjs +81 -50
  50. package/fesm2022/raintonic-formaui-components-form-field.mjs.map +1 -1
  51. package/fesm2022/raintonic-formaui-components-icon.mjs +2 -2
  52. package/fesm2022/raintonic-formaui-components-icon.mjs.map +1 -1
  53. package/fesm2022/raintonic-formaui-components-input.mjs +47 -12
  54. package/fesm2022/raintonic-formaui-components-input.mjs.map +1 -1
  55. package/fesm2022/raintonic-formaui-components-list.mjs +4 -4
  56. package/fesm2022/raintonic-formaui-components-list.mjs.map +1 -1
  57. package/fesm2022/raintonic-formaui-components-number-input.mjs +20 -12
  58. package/fesm2022/raintonic-formaui-components-number-input.mjs.map +1 -1
  59. package/fesm2022/raintonic-formaui-components-paginator.mjs +2 -2
  60. package/fesm2022/raintonic-formaui-components-paginator.mjs.map +1 -1
  61. package/fesm2022/raintonic-formaui-components-password-input.mjs +35 -110
  62. package/fesm2022/raintonic-formaui-components-password-input.mjs.map +1 -1
  63. package/fesm2022/raintonic-formaui-components-popover.mjs +3 -2
  64. package/fesm2022/raintonic-formaui-components-popover.mjs.map +1 -1
  65. package/fesm2022/raintonic-formaui-components-progressbar.mjs +3 -2
  66. package/fesm2022/raintonic-formaui-components-progressbar.mjs.map +1 -1
  67. package/fesm2022/raintonic-formaui-components-radio.mjs +5 -6
  68. package/fesm2022/raintonic-formaui-components-radio.mjs.map +1 -1
  69. package/fesm2022/raintonic-formaui-components-select.mjs +257 -412
  70. package/fesm2022/raintonic-formaui-components-select.mjs.map +1 -1
  71. package/fesm2022/raintonic-formaui-components-side-panel.mjs +2 -2
  72. package/fesm2022/raintonic-formaui-components-side-panel.mjs.map +1 -1
  73. package/fesm2022/raintonic-formaui-components-sidebar-nav-menu.mjs +525 -0
  74. package/fesm2022/raintonic-formaui-components-sidebar-nav-menu.mjs.map +1 -0
  75. package/fesm2022/raintonic-formaui-components-skeleton.mjs +2 -2
  76. package/fesm2022/raintonic-formaui-components-skeleton.mjs.map +1 -1
  77. package/fesm2022/raintonic-formaui-components-slider.mjs +2 -2
  78. package/fesm2022/raintonic-formaui-components-slider.mjs.map +1 -1
  79. package/fesm2022/raintonic-formaui-components-spinner.mjs +2 -2
  80. package/fesm2022/raintonic-formaui-components-spinner.mjs.map +1 -1
  81. package/fesm2022/raintonic-formaui-components-stepper.mjs +50 -45
  82. package/fesm2022/raintonic-formaui-components-stepper.mjs.map +1 -1
  83. package/fesm2022/raintonic-formaui-components-strength-meter.mjs +149 -0
  84. package/fesm2022/raintonic-formaui-components-strength-meter.mjs.map +1 -0
  85. package/fesm2022/raintonic-formaui-components-tab.mjs +2 -2
  86. package/fesm2022/raintonic-formaui-components-tab.mjs.map +1 -1
  87. package/fesm2022/raintonic-formaui-components-time-picker.mjs +194 -154
  88. package/fesm2022/raintonic-formaui-components-time-picker.mjs.map +1 -1
  89. package/fesm2022/raintonic-formaui-components-toggle-group.mjs +302 -0
  90. package/fesm2022/raintonic-formaui-components-toggle-group.mjs.map +1 -0
  91. package/fesm2022/raintonic-formaui-components-toggle.mjs +2 -2
  92. package/fesm2022/raintonic-formaui-components-toggle.mjs.map +1 -1
  93. package/fesm2022/raintonic-formaui-components-toolbar.mjs +2 -2
  94. package/fesm2022/raintonic-formaui-components-toolbar.mjs.map +1 -1
  95. package/fesm2022/raintonic-formaui-components-tooltip.mjs +10 -4
  96. package/fesm2022/raintonic-formaui-components-tooltip.mjs.map +1 -1
  97. package/fesm2022/raintonic-formaui-components-topbar.mjs +60 -0
  98. package/fesm2022/raintonic-formaui-components-topbar.mjs.map +1 -0
  99. package/fesm2022/raintonic-formaui-components-tree-select.mjs +59 -69
  100. package/fesm2022/raintonic-formaui-components-tree-select.mjs.map +1 -1
  101. package/fesm2022/raintonic-formaui-components-tree-table.mjs +2 -2
  102. package/fesm2022/raintonic-formaui-components-tree-table.mjs.map +1 -1
  103. package/fesm2022/raintonic-formaui-components-tree.mjs +31 -5
  104. package/fesm2022/raintonic-formaui-components-tree.mjs.map +1 -1
  105. package/fesm2022/raintonic-formaui-core.mjs +279 -1
  106. package/fesm2022/raintonic-formaui-core.mjs.map +1 -1
  107. package/fesm2022/raintonic-formaui-services-breakpoint.mjs +93 -0
  108. package/fesm2022/raintonic-formaui-services-breakpoint.mjs.map +1 -0
  109. package/fesm2022/raintonic-formaui-services-dialog.mjs +314 -16
  110. package/fesm2022/raintonic-formaui-services-dialog.mjs.map +1 -1
  111. package/fesm2022/raintonic-formaui-services-notification.mjs +93 -29
  112. package/fesm2022/raintonic-formaui-services-notification.mjs.map +1 -1
  113. package/fesm2022/raintonic-formaui-services-theme.mjs +46 -196
  114. package/fesm2022/raintonic-formaui-services-theme.mjs.map +1 -1
  115. package/fesm2022/raintonic-formaui.mjs +1 -1
  116. package/fesm2022/raintonic-formaui.mjs.map +1 -1
  117. package/llms-full.txt +2329 -450
  118. package/llms.txt +36 -33
  119. package/package.json +42 -19
  120. package/styles/fonts/Geist-Bold.woff2 +0 -0
  121. package/styles/fonts/Geist-Italic.woff2 +0 -0
  122. package/styles/fonts/Geist-Light.woff2 +0 -0
  123. package/styles/fonts/Geist-Medium.woff2 +0 -0
  124. package/styles/fonts/Geist-Regular.woff2 +0 -0
  125. package/styles/fonts/Geist-SemiBold.woff2 +0 -0
  126. package/styles/fonts/GeistMono-Regular.woff2 +0 -0
  127. package/styles/generated/_tokens.scss +906 -0
  128. package/styles/index.scss +11 -10
  129. package/styles/partials/_brand.scss +46 -0
  130. package/styles/partials/_constants.scss +22 -20
  131. package/styles/partials/_fonts.scss +54 -10
  132. package/styles/partials/_grid.scss +29 -18
  133. package/styles/partials/_mixins.scss +69 -27
  134. package/styles/partials/_motion.scss +28 -33
  135. package/styles/partials/_theme.scss +28 -255
  136. package/styles/partials/_type.scss +117 -0
  137. package/styles/partials/_typography.scss +45 -45
  138. package/styles/partials/_utilities.scss +198 -98
  139. package/styles/partials/components/_button.scss +144 -75
  140. package/styles/partials/components/_dialog.scss +181 -180
  141. package/styles/partials/components/_overlay.scss +87 -87
  142. package/styles/partials/themes/_dark.scss +3 -268
  143. package/styles/partials/themes/_light.scss +4 -268
  144. package/styles/styles.css +7744 -0
  145. package/styles/styles.entry.scss +3 -0
  146. package/styles/utilities.css +4802 -0
  147. package/styles/utilities.entry.scss +3 -0
  148. package/types/raintonic-formaui-cdk-drag-drop.d.ts +0 -1
  149. package/types/raintonic-formaui-cdk-drag-drop.d.ts.map +1 -1
  150. package/types/raintonic-formaui-cdk-form-field.d.ts +118 -2
  151. package/types/raintonic-formaui-cdk-form-field.d.ts.map +1 -1
  152. package/types/raintonic-formaui-cdk-overlay.d.ts +2 -0
  153. package/types/raintonic-formaui-cdk-overlay.d.ts.map +1 -1
  154. package/types/raintonic-formaui-cdk-virtual-scroll.d.ts +0 -1
  155. package/types/raintonic-formaui-cdk-virtual-scroll.d.ts.map +1 -1
  156. package/types/raintonic-formaui-components-accordion.d.ts +1 -1
  157. package/types/raintonic-formaui-components-accordion.d.ts.map +1 -1
  158. package/types/raintonic-formaui-components-alert.d.ts +6 -1
  159. package/types/raintonic-formaui-components-alert.d.ts.map +1 -1
  160. package/types/raintonic-formaui-components-autocomplete.d.ts +73 -116
  161. package/types/raintonic-formaui-components-autocomplete.d.ts.map +1 -1
  162. package/types/raintonic-formaui-components-avatar.d.ts +13 -31
  163. package/types/raintonic-formaui-components-avatar.d.ts.map +1 -1
  164. package/types/raintonic-formaui-components-button.d.ts +4 -10
  165. package/types/raintonic-formaui-components-button.d.ts.map +1 -1
  166. package/types/raintonic-formaui-components-chip.d.ts +43 -0
  167. package/types/raintonic-formaui-components-chip.d.ts.map +1 -0
  168. package/types/raintonic-formaui-components-data-table.d.ts +48 -11
  169. package/types/raintonic-formaui-components-data-table.d.ts.map +1 -1
  170. package/types/raintonic-formaui-components-date-picker.d.ts +59 -23
  171. package/types/raintonic-formaui-components-date-picker.d.ts.map +1 -1
  172. package/types/raintonic-formaui-components-dropdown-menu.d.ts +394 -0
  173. package/types/raintonic-formaui-components-dropdown-menu.d.ts.map +1 -0
  174. package/types/raintonic-formaui-components-dual-tier-navigation.d.ts +87 -0
  175. package/types/raintonic-formaui-components-dual-tier-navigation.d.ts.map +1 -0
  176. package/types/raintonic-formaui-components-form-field.d.ts +51 -21
  177. package/types/raintonic-formaui-components-form-field.d.ts.map +1 -1
  178. package/types/raintonic-formaui-components-input.d.ts +20 -11
  179. package/types/raintonic-formaui-components-input.d.ts.map +1 -1
  180. package/types/raintonic-formaui-components-number-input.d.ts +5 -3
  181. package/types/raintonic-formaui-components-number-input.d.ts.map +1 -1
  182. package/types/raintonic-formaui-components-password-input.d.ts +18 -32
  183. package/types/raintonic-formaui-components-password-input.d.ts.map +1 -1
  184. package/types/raintonic-formaui-components-popover.d.ts.map +1 -1
  185. package/types/raintonic-formaui-components-progressbar.d.ts +1 -1
  186. package/types/raintonic-formaui-components-progressbar.d.ts.map +1 -1
  187. package/types/raintonic-formaui-components-radio.d.ts +1 -2
  188. package/types/raintonic-formaui-components-radio.d.ts.map +1 -1
  189. package/types/raintonic-formaui-components-select.d.ts +107 -76
  190. package/types/raintonic-formaui-components-select.d.ts.map +1 -1
  191. package/types/raintonic-formaui-components-sidebar-nav-menu.d.ts +223 -0
  192. package/types/raintonic-formaui-components-sidebar-nav-menu.d.ts.map +1 -0
  193. package/types/raintonic-formaui-components-stepper.d.ts +4 -2
  194. package/types/raintonic-formaui-components-stepper.d.ts.map +1 -1
  195. package/types/raintonic-formaui-components-strength-meter.d.ts +78 -0
  196. package/types/raintonic-formaui-components-strength-meter.d.ts.map +1 -0
  197. package/types/raintonic-formaui-components-time-picker.d.ts +44 -24
  198. package/types/raintonic-formaui-components-time-picker.d.ts.map +1 -1
  199. package/types/raintonic-formaui-components-toggle-group.d.ts +100 -0
  200. package/types/raintonic-formaui-components-toggle-group.d.ts.map +1 -0
  201. package/types/raintonic-formaui-components-tooltip.d.ts +2 -1
  202. package/types/raintonic-formaui-components-tooltip.d.ts.map +1 -1
  203. package/types/raintonic-formaui-components-topbar.d.ts +48 -0
  204. package/types/raintonic-formaui-components-topbar.d.ts.map +1 -0
  205. package/types/raintonic-formaui-components-tree-select.d.ts +25 -9
  206. package/types/raintonic-formaui-components-tree-select.d.ts.map +1 -1
  207. package/types/raintonic-formaui-components-tree.d.ts +12 -1
  208. package/types/raintonic-formaui-components-tree.d.ts.map +1 -1
  209. package/types/raintonic-formaui-core.d.ts +243 -5
  210. package/types/raintonic-formaui-core.d.ts.map +1 -1
  211. package/types/raintonic-formaui-services-breakpoint.d.ts +44 -0
  212. package/types/raintonic-formaui-services-breakpoint.d.ts.map +1 -0
  213. package/types/raintonic-formaui-services-dialog.d.ts +141 -2
  214. package/types/raintonic-formaui-services-dialog.d.ts.map +1 -1
  215. package/types/raintonic-formaui-services-notification.d.ts +24 -2
  216. package/types/raintonic-formaui-services-notification.d.ts.map +1 -1
  217. package/types/raintonic-formaui-services-theme.d.ts +13 -103
  218. package/types/raintonic-formaui-services-theme.d.ts.map +1 -1
  219. package/types/raintonic-formaui.d.ts +1 -1
  220. package/fesm2022/raintonic-formaui-components-big-menu.mjs +0 -86
  221. package/fesm2022/raintonic-formaui-components-big-menu.mjs.map +0 -1
  222. package/fesm2022/raintonic-formaui-components-menu.mjs +0 -896
  223. package/fesm2022/raintonic-formaui-components-menu.mjs.map +0 -1
  224. package/fesm2022/raintonic-formaui-components-sidebar.mjs +0 -275
  225. package/fesm2022/raintonic-formaui-components-sidebar.mjs.map +0 -1
  226. package/fesm2022/raintonic-formaui-components-tag.mjs +0 -95
  227. package/fesm2022/raintonic-formaui-components-tag.mjs.map +0 -1
  228. package/styles/_fonts-entry.scss +0 -3
  229. package/styles/fonts/inter-tight-latin-italic.woff2 +0 -0
  230. package/styles/fonts/inter-tight-latin.woff2 +0 -0
  231. package/types/raintonic-formaui-components-big-menu.d.ts +0 -73
  232. package/types/raintonic-formaui-components-big-menu.d.ts.map +0 -1
  233. package/types/raintonic-formaui-components-menu.d.ts +0 -403
  234. package/types/raintonic-formaui-components-menu.d.ts.map +0 -1
  235. package/types/raintonic-formaui-components-sidebar.d.ts +0 -185
  236. package/types/raintonic-formaui-components-sidebar.d.ts.map +0 -1
  237. package/types/raintonic-formaui-components-tag.d.ts +0 -43
  238. package/types/raintonic-formaui-components-tag.d.ts.map +0 -1
@@ -6,17 +6,17 @@
6
6
  .fui-button {
7
7
  // Component tokens with fallbacks
8
8
  --fui-button-height: var(--fui-button-height-md);
9
- --fui-button-font-size: var(--fui-font-size-02);
10
- --fui-button-border-radius: var(--fui-border-radius-sm);
11
- --fui-button-padding-x: var(--fui-spacing-05);
12
- --fui-button-padding-y: var(--fui-spacing-03);
13
- --fui-button-gap: var(--fui-spacing-03);
14
- --fui-button-font-weight: var(--fui-font-weight-semibold);
15
- --fui-button-letter-spacing: var(--fui-letter-spacing-wide);
9
+ --fui-button-font-size: var(--fui-text-base);
10
+ --fui-button-border-radius: var(--fui-radius-sm);
11
+ --fui-button-padding-x: var(--fui-spacing-7);
12
+ --fui-button-padding-y: var(--fui-spacing-4);
13
+ --fui-button-gap: var(--fui-spacing-4);
14
+ --fui-button-font-weight: var(--fui-weight-medium);
15
+ --fui-button-letter-spacing: var(--fui-tracking-wide);
16
16
 
17
17
  // Default spinner/text foreground used during loading
18
18
  @include mixins.fui-button-reset();
19
- @include motion.fui-motion(all, var(--fui-duration-fast-02));
19
+ @include motion.fui-motion(all, var(--fui-duration-fast));
20
20
 
21
21
  position: relative;
22
22
  display: inline-flex;
@@ -25,7 +25,7 @@
25
25
  gap: var(--fui-button-gap);
26
26
  overflow: hidden;
27
27
 
28
- font-family: var(--fui-font-family-sans);
28
+ font-family: var(--fui-font-sans);
29
29
  font-weight: var(--fui-button-font-weight);
30
30
  text-decoration: none;
31
31
  text-align: center;
@@ -50,12 +50,12 @@
50
50
  }
51
51
 
52
52
  &__spinner-icon {
53
- width: var(--fui-icon-size-sm);
54
- height: var(--fui-icon-size-sm);
53
+ width: var(--fui-icon-xs);
54
+ height: var(--fui-icon-xs);
55
55
  border: 2px solid currentColor;
56
56
  border-top-color: transparent;
57
57
  border-radius: 50%;
58
- animation: fui-spin var(--fui-duration-slow-02) linear infinite;
58
+ animation: fui-spin var(--fui-duration-deliberate) linear infinite;
59
59
  }
60
60
 
61
61
  &__leading {
@@ -66,11 +66,10 @@
66
66
  &__ripple {
67
67
  position: absolute;
68
68
  border-radius: 50%;
69
- background-color: currentColor;
70
- opacity: 0.35;
69
+ background-color: white;
70
+ opacity: 0.2;
71
71
  pointer-events: none;
72
- transform: scale(0);
73
- animation: fui-button-ripple var(--fui-duration-slow-01, 400ms) ease-out forwards;
72
+ animation: fui-button-ripple var(--fui-duration-slow, 400ms) ease-out forwards;
74
73
  }
75
74
 
76
75
  @media (prefers-reduced-motion: reduce) {
@@ -96,7 +95,7 @@
96
95
  // States
97
96
  &--disabled {
98
97
  cursor: not-allowed;
99
- opacity: var(--fui-opacity-disabled);
98
+ /* opacity: var(--fui-state-disabled-opacity); */
100
99
  }
101
100
 
102
101
  &--loading {
@@ -122,81 +121,81 @@
122
121
  // Sizes
123
122
  &--sm {
124
123
  min-height: var(--fui-button-height-sm);
125
- padding: calc(var(--fui-spacing-03) - 2px) var(--fui-spacing-03);
126
- font-size: var(--fui-font-size-01);
124
+ padding: calc(var(--fui-spacing-4) - 2px) var(--fui-spacing-4);
125
+ font-size: var(--fui-text-sm);
127
126
 
128
127
  &.fui-button--icon-only {
129
128
  width: var(--fui-button-height-sm);
130
- padding: calc(var(--fui-spacing-03) - 2px);
129
+ padding: calc(var(--fui-spacing-4) - 2px);
131
130
  }
132
131
 
133
132
  .fui-icon {
134
- width: var(--fui-icon-size-sm);
135
- height: var(--fui-icon-size-sm);
133
+ width: var(--fui-icon-xs);
134
+ height: var(--fui-icon-xs);
136
135
  }
137
136
  }
138
137
 
139
138
  &--md {
140
139
  min-height: var(--fui-button-height-md);
141
- padding: var(--fui-spacing-03) var(--fui-spacing-05);
142
- font-size: var(--fui-font-size-02);
140
+ padding: var(--fui-spacing-4) var(--fui-spacing-7);
141
+ font-size: var(--fui-text-base);
143
142
 
144
143
  &.fui-button--icon-only {
145
144
  width: var(--fui-button-height-md);
146
- padding: var(--fui-spacing-03);
145
+ padding: var(--fui-spacing-4);
147
146
  }
148
147
 
149
148
  .fui-icon {
150
- width: var(--fui-icon-size-md);
151
- height: var(--fui-icon-size-md);
149
+ width: var(--fui-icon-md);
150
+ height: var(--fui-icon-md);
152
151
  }
153
152
  }
154
153
 
155
154
  &--lg {
156
155
  min-height: var(--fui-button-height-lg);
157
- padding: calc(var(--fui-spacing-04) - 2px) var(--fui-spacing-05);
158
- font-size: var(--fui-font-size-03);
156
+ padding: calc(var(--fui-spacing-6) - 2px) var(--fui-spacing-7);
157
+ font-size: var(--fui-text-md);
159
158
 
160
159
  &.fui-button--icon-only {
161
160
  width: var(--fui-button-height-lg);
162
- padding: calc(var(--fui-spacing-04) - 2px);
161
+ padding: calc(var(--fui-spacing-6) - 2px);
163
162
  }
164
163
 
165
164
  .fui-icon {
166
- width: var(--fui-icon-size-md);
167
- height: var(--fui-icon-size-md);
165
+ width: var(--fui-icon-md);
166
+ height: var(--fui-icon-md);
168
167
  }
169
168
  }
170
169
 
171
170
  &--xl {
172
171
  min-height: var(--fui-button-height-xl);
173
- padding: var(--fui-spacing-04) var(--fui-spacing-06);
174
- font-size: var(--fui-font-size-03);
172
+ padding: var(--fui-spacing-6) var(--fui-spacing-9);
173
+ font-size: var(--fui-text-md);
175
174
 
176
175
  &.fui-button--icon-only {
177
176
  width: var(--fui-button-height-xl);
178
- padding: var(--fui-spacing-04);
177
+ padding: var(--fui-spacing-6);
179
178
  }
180
179
 
181
180
  .fui-icon {
182
- width: var(--fui-icon-size-md);
183
- height: var(--fui-icon-size-md);
181
+ width: var(--fui-icon-md);
182
+ height: var(--fui-icon-md);
184
183
  }
185
184
  }
186
185
 
187
186
  &--2xl {
188
187
  min-height: var(--fui-button-height-2xl);
189
- padding: var(--fui-spacing-05) var(--fui-spacing-06);
190
- font-size: var(--fui-font-size-03);
188
+ padding: var(--fui-spacing-7) var(--fui-spacing-9);
189
+ font-size: var(--fui-text-md);
191
190
 
192
191
  &.fui-button--icon-only {
193
192
  width: var(--fui-button-height-2xl);
194
- padding: var(--fui-spacing-05);
193
+ padding: var(--fui-spacing-7);
195
194
  }
196
195
 
197
196
  .fui-icon {
198
- width: var(--fui-icon-size-md);
199
- height: var(--fui-icon-size-md);
197
+ width: var(--fui-icon-md);
198
+ height: var(--fui-icon-md);
200
199
  }
201
200
  }
202
201
 
@@ -205,97 +204,152 @@
205
204
 
206
205
  // Primary — solid violet
207
206
  &--primary {
208
- background-color: var(--fui-primary-default);
209
- color: var(--fui-primary-text);
207
+ background-color: var(--fui-primary-bg);
208
+ color: var(--fui-text-on-fill);
210
209
  border-color: transparent;
211
- box-shadow: var(--fui-shadow-02);
210
+ box-shadow: var(--fui-shadow-sm);
212
211
 
213
212
  &:hover:not(.fui-button--disabled) {
214
- background-color: var(--fui-primary-hover);
215
- box-shadow: var(--fui-shadow-03);
213
+ background-color: var(--fui-primary-bg-hover);
214
+ box-shadow: var(--fui-shadow-md);
216
215
  }
217
216
 
218
217
  &:active:not(.fui-button--disabled) {
219
- background-color: var(--fui-primary-hover);
218
+ background-color: var(--fui-primary-bg-hover);
220
219
  box-shadow: none;
221
220
  }
221
+
222
+ &.fui-button--disabled {
223
+ background-color: var(--fui-bg-disable);
224
+ color: var(--fui-text-disabled);
225
+ }
222
226
  }
223
227
 
224
- // Secondary — white bg with border
225
- &--secondary {
226
- background-color: var(--fui-surface-card);
228
+ // Accent
229
+ &--accent {
230
+ background-color: var(--fui-accent-bg);
227
231
  color: var(--fui-text-primary);
228
- box-shadow: inset 0 0 0 var(--fui-border-width-md) var(--fui-border-color);
229
232
 
230
233
  &:hover:not(.fui-button--disabled) {
231
- background-color: var(--fui-surface-02);
234
+ background-color: var(--fui-accent-hover);
235
+ color: var(--fui-text-inverse);
232
236
  }
233
237
 
234
238
  &:active:not(.fui-button--disabled) {
235
- background-color: var(--fui-surface-02);
239
+ background-color: var(--fui-accent-hover);
240
+ }
241
+
242
+ &.fui-button--disabled {
243
+ background-color: var(--fui-bg-disable);
244
+ color: var(--fui-text-disabled);
245
+ }
246
+
247
+ .fui-button__ripple {
248
+ background-color: var(--fui-accent-50);
249
+ opacity: 0.35;
250
+ animation-name: fui-button-ripple-solid;
236
251
  }
237
252
  }
238
253
 
239
254
  // Tertiary — neutral text, no bg/border
240
255
  &--tertiary {
241
256
  background-color: transparent;
242
- color: var(--fui-tertiary-text);
257
+ color: var(--fui-text-primary);
243
258
  border-color: transparent;
244
259
 
245
260
  &:hover:not(.fui-button--disabled) {
246
- background-color: var(--fui-tertiary-hover-bg);
261
+ background-color: var(--fui-primary-muted);
247
262
  }
248
263
 
249
264
  &:active:not(.fui-button--disabled) {
250
- background-color: var(--fui-tertiary-hover-bg);
265
+ background-color: var(--fui-primary-muted);
266
+ }
267
+
268
+ &.fui-button--disabled {
269
+ background-color: var(--fui-bg-default);
270
+ color: var(--fui-text-disabled);
271
+ }
272
+
273
+ .fui-button__ripple {
274
+ background-color: var(--fui-primary-30);
275
+ opacity: 0.45;
251
276
  }
252
277
  }
253
278
 
254
279
  // Tertiary-violet — violet text, no bg/border
255
- &--tertiary-violet {
280
+ &--link {
256
281
  background-color: transparent;
257
- color: var(--fui-tertiary-violet-text);
282
+ color: var(--fui-primary-fg);
258
283
  border-color: transparent;
259
284
 
260
285
  &:hover:not(.fui-button--disabled) {
261
- background-color: var(--fui-tertiary-violet-hover-bg);
286
+ text-decoration: underline;
262
287
  }
263
288
 
264
289
  &:active:not(.fui-button--disabled) {
265
- background-color: var(--fui-tertiary-violet-hover-bg);
290
+ }
291
+
292
+ &.fui-button--disabled {
293
+ color: var(--fui-text-disabled);
294
+ }
295
+
296
+ .fui-button__ripple {
297
+ background-color: var(--fui-primary-30);
298
+ opacity: 0.35;
266
299
  }
267
300
  }
268
301
 
269
- // Linkunderlined violet text on hover
270
- &--link {
302
+ // Outlinebordered, no fill
303
+ &--outline {
271
304
  background-color: transparent;
272
- color: var(--fui-primary);
305
+ border: 1px solid var(--fui-border-default);
306
+ color: var(--fui-text-primary);
273
307
 
274
308
  &:hover:not(.fui-button--disabled) {
275
- text-decoration: underline;
309
+ background-color: var(--fui-primary-muted);
276
310
  }
277
311
 
278
312
  &:active:not(.fui-button--disabled) {
279
- text-decoration: underline;
313
+ background-color: var(--fui-primary-muted);
314
+ }
315
+
316
+ &.fui-button--disabled {
317
+ background-color: var(--fui-bg-default);
318
+ color: var(--fui-text-disabled);
319
+ }
320
+
321
+ .fui-button__ripple {
322
+ background-color: var(--fui-primary-30);
323
+ opacity: 0.45;
280
324
  }
281
325
  }
282
326
 
283
327
  // Destructive — solid red
284
328
  &--destructive {
285
- background-color: var(--fui-destructive-default);
286
- color: var(--fui-destructive-text);
329
+ background-color: var(--fui-fill-error);
330
+ color: var(--fui-text-on-fill);
287
331
  border-color: transparent;
288
- box-shadow: var(--fui-shadow-02);
332
+ box-shadow: var(--fui-shadow-sm);
289
333
 
290
334
  &:hover:not(.fui-button--disabled) {
291
- background-color: var(--fui-destructive-hover);
292
- box-shadow: var(--fui-shadow-03);
335
+ background-color: var(--fui-fill-error-hover);
336
+ box-shadow: var(--fui-shadow-md);
293
337
  }
294
338
 
295
339
  &:active:not(.fui-button--disabled) {
296
- background-color: var(--fui-destructive-hover);
340
+ background-color: var(--fui-fill-error-hover);
297
341
  box-shadow: none;
298
342
  }
343
+
344
+ &.fui-button--disabled {
345
+ background-color: var(--fui-bg-disable);
346
+ color: var(--fui-text-disabled);
347
+ }
348
+
349
+ .fui-button__ripple {
350
+ background-color: var(--fui-error-30);
351
+ opacity: 0.3;
352
+ }
299
353
  }
300
354
 
301
355
  // Icon adjustments
@@ -313,11 +367,11 @@
313
367
  flex-shrink: 0;
314
368
 
315
369
  &[fuiPrefix] {
316
- margin-right: var(--fui-spacing-02);
370
+ margin-right: var(--fui-spacing-2);
317
371
  }
318
372
 
319
373
  &[fuiSuffix] {
320
- margin-left: var(--fui-spacing-02);
374
+ margin-left: var(--fui-spacing-2);
321
375
  }
322
376
  }
323
377
 
@@ -345,8 +399,23 @@
345
399
  }
346
400
 
347
401
  @keyframes fui-button-ripple {
402
+ from {
403
+ transform: scale(0.3);
404
+ opacity: 0.2;
405
+ }
406
+ to {
407
+ transform: scale(4);
408
+ opacity: 0;
409
+ }
410
+ }
411
+
412
+ @keyframes fui-button-ripple-solid {
413
+ from {
414
+ transform: scale(0.3);
415
+ opacity: 0.35;
416
+ }
348
417
  to {
349
- transform: scale(2.5);
418
+ transform: scale(4);
350
419
  opacity: 0;
351
420
  }
352
421
  }