@well-insight/ui 0.1.9 → 0.1.10

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 (321) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +3 -3
  3. package/README.zh-CN.md +3 -3
  4. package/dist/{Button-BZzV1X-d.js → Button-B6-YxpOQ.js} +1 -1
  5. package/dist/{Checkbox-BtgWgkHI.js → Checkbox-BvlOYFGs.js} +5 -5
  6. package/dist/{Pagination-C-F_ZDXr.js → Pagination-BU-1IY0E.js} +2 -2
  7. package/dist/accordion/style.css +38 -23
  8. package/dist/auto-complete/style.css +180 -157
  9. package/dist/avatar/style.css +102 -74
  10. package/dist/badge/style.css +146 -110
  11. package/dist/block-ui/style.css +38 -23
  12. package/dist/breadcrumb/style.css +38 -23
  13. package/dist/button/index.js +1 -1
  14. package/dist/button/style.css +605 -447
  15. package/dist/card/style.css +38 -23
  16. package/dist/carousel/style.css +74 -58
  17. package/dist/cascade-select/style.css +123 -106
  18. package/dist/checkbox/index.js +1 -1
  19. package/dist/checkbox/style.css +38 -23
  20. package/dist/chip/style.css +117 -95
  21. package/dist/command-menu/style.css +97 -80
  22. package/dist/components/Accordion/Accordion.vue.d.ts.map +1 -1
  23. package/dist/components/AutoComplete/AutoComplete.vue.d.ts.map +1 -1
  24. package/dist/components/AutoComplete/styles.css +142 -134
  25. package/dist/components/Avatar/Avatar.vue.d.ts.map +1 -1
  26. package/dist/components/Avatar/AvatarGroup.vue.d.ts.map +1 -1
  27. package/dist/components/Avatar/styles.css +64 -51
  28. package/dist/components/Badge/Badge.vue.d.ts.map +1 -1
  29. package/dist/components/Badge/styles.css +108 -87
  30. package/dist/components/BlockUI/BlockUI.vue.d.ts.map +1 -1
  31. package/dist/components/Breadcrumb/Breadcrumb.vue.d.ts.map +1 -1
  32. package/dist/components/Button/Button.vue.d.ts +1 -1
  33. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  34. package/dist/components/Button/ButtonGroup.vue.d.ts.map +1 -1
  35. package/dist/components/Button/styles.css +567 -424
  36. package/dist/components/Card/Card.vue.d.ts.map +1 -1
  37. package/dist/components/Carousel/Carousel.vue.d.ts.map +1 -1
  38. package/dist/components/Carousel/styles.css +36 -35
  39. package/dist/components/CascadeSelect/CascadeSelect.vue.d.ts.map +1 -1
  40. package/dist/components/CascadeSelect/styles.css +85 -83
  41. package/dist/components/Checkbox/Checkbox.vue.d.ts.map +1 -1
  42. package/dist/components/Checkbox/CheckboxGroup.vue.d.ts.map +1 -1
  43. package/dist/components/Chip/Chip.vue.d.ts.map +1 -1
  44. package/dist/components/Chip/styles.css +79 -72
  45. package/dist/components/CommandMenu/CommandMenu.vue.d.ts.map +1 -1
  46. package/dist/components/CommandMenu/styles.css +59 -57
  47. package/dist/components/ConfigProvider/ConfigProvider.vue.d.ts.map +1 -1
  48. package/dist/components/ConfirmDialog/ConfirmDialog.vue.d.ts.map +1 -1
  49. package/dist/components/ConfirmDialog/styles.css +17 -16
  50. package/dist/components/ConfirmPopup/ConfirmPopup.vue.d.ts.map +1 -1
  51. package/dist/components/ConfirmPopup/styles.css +27 -26
  52. package/dist/components/ContextMenu/ContextMenu.vue.d.ts.map +1 -1
  53. package/dist/components/ContextMenu/ContextMenuNodes.vue.d.ts.map +1 -1
  54. package/dist/components/ContextMenu/index.d.ts +1 -1
  55. package/dist/components/ContextMenu/index.d.ts.map +1 -1
  56. package/dist/components/ContextMenu/styles.css +43 -37
  57. package/dist/components/ContextMenu/useContextMenu.d.ts.map +1 -1
  58. package/dist/components/DataView/DataView.vue.d.ts.map +1 -1
  59. package/dist/components/DatePicker/DatePicker.vue.d.ts.map +1 -1
  60. package/dist/components/DatePicker/styles.css +163 -139
  61. package/dist/components/Dialog/Dialog.vue.d.ts.map +1 -1
  62. package/dist/components/Dialog/styles.css +155 -150
  63. package/dist/components/Divider/Divider.vue.d.ts.map +1 -1
  64. package/dist/components/Dock/Dock.vue.d.ts.map +1 -1
  65. package/dist/components/Dock/styles.css +37 -32
  66. package/dist/components/Drawer/Drawer.vue.d.ts.map +1 -1
  67. package/dist/components/Drawer/styles.css +82 -80
  68. package/dist/components/Dropdown/Dropdown.vue.d.ts.map +1 -1
  69. package/dist/components/Dropdown/DropdownNodes.vue.d.ts.map +1 -1
  70. package/dist/components/Dropdown/styles.css +58 -57
  71. package/dist/components/Fieldset/Fieldset.vue.d.ts.map +1 -1
  72. package/dist/components/FileUpload/FileUpload.vue.d.ts +2 -2
  73. package/dist/components/FileUpload/FileUpload.vue.d.ts.map +1 -1
  74. package/dist/components/FileUpload/styles.css +238 -221
  75. package/dist/components/Flex/Flex.vue.d.ts.map +1 -1
  76. package/dist/components/Form/Form.vue.d.ts.map +1 -1
  77. package/dist/components/Form/FormItem.vue.d.ts.map +1 -1
  78. package/dist/components/Form/index.d.ts +2 -2
  79. package/dist/components/Form/index.d.ts.map +1 -1
  80. package/dist/components/Form/styles.css +46 -44
  81. package/dist/components/Gallery/Gallery.vue.d.ts.map +1 -1
  82. package/dist/components/Gallery/styles.css +42 -39
  83. package/dist/components/Grid/Grid.vue.d.ts.map +1 -1
  84. package/dist/components/Grid/GridItem.vue.d.ts.map +1 -1
  85. package/dist/components/Icon/Icon.vue.d.ts.map +1 -1
  86. package/dist/components/IconField/IconField.vue.d.ts.map +1 -1
  87. package/dist/components/Inplace/Inplace.vue.d.ts.map +1 -1
  88. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  89. package/dist/components/Input/styles.css +198 -191
  90. package/dist/components/InputColor/InputColor.vue.d.ts.map +1 -1
  91. package/dist/components/InputColor/styles.css +50 -48
  92. package/dist/components/InputNumber/InputNumber.vue.d.ts.map +1 -1
  93. package/dist/components/InputNumber/styles.css +90 -80
  94. package/dist/components/InputOtp/InputOtp.vue.d.ts.map +1 -1
  95. package/dist/components/InputPassword/InputPassword.vue.d.ts.map +1 -1
  96. package/dist/components/InputPassword/styles.css +130 -117
  97. package/dist/components/InputTags/InputTags.vue.d.ts.map +1 -1
  98. package/dist/components/InputTags/styles.css +51 -43
  99. package/dist/components/Knob/Knob.vue.d.ts.map +1 -1
  100. package/dist/components/Label/Label.vue.d.ts.map +1 -1
  101. package/dist/components/Layout/Layout.vue.d.ts.map +1 -1
  102. package/dist/components/Layout/LayoutContent.vue.d.ts.map +1 -1
  103. package/dist/components/Layout/LayoutFooter.vue.d.ts.map +1 -1
  104. package/dist/components/Layout/LayoutHeader.vue.d.ts.map +1 -1
  105. package/dist/components/Layout/LayoutSider.vue.d.ts +1 -1
  106. package/dist/components/Layout/LayoutSider.vue.d.ts.map +1 -1
  107. package/dist/components/Layout/index.d.ts +2 -2
  108. package/dist/components/Layout/index.d.ts.map +1 -1
  109. package/dist/components/Layout/styles.css +310 -258
  110. package/dist/components/Layout/types.d.ts +30 -12
  111. package/dist/components/Layout/types.d.ts.map +1 -1
  112. package/dist/components/Listbox/Listbox.vue.d.ts.map +1 -1
  113. package/dist/components/Listbox/styles.css +61 -51
  114. package/dist/components/MegaMenu/MegaMenu.vue.d.ts.map +1 -1
  115. package/dist/components/MegaMenu/styles.css +60 -58
  116. package/dist/components/Menu/Menu.vue.d.ts.map +1 -1
  117. package/dist/components/Menu/MenuNodes.vue.d.ts.map +1 -1
  118. package/dist/components/Menu/styles.css +53 -47
  119. package/dist/components/Menubar/Menubar.vue.d.ts.map +1 -1
  120. package/dist/components/Menubar/styles.css +80 -70
  121. package/dist/components/Message/Message.vue.d.ts.map +1 -1
  122. package/dist/components/Message/index.d.ts +1 -1
  123. package/dist/components/Message/index.d.ts.map +1 -1
  124. package/dist/components/Message/message.d.ts +2 -2
  125. package/dist/components/Message/message.d.ts.map +1 -1
  126. package/dist/components/Message/messageState.d.ts.map +1 -1
  127. package/dist/components/Message/styles.css +193 -143
  128. package/dist/components/Message/types.d.ts +1 -1
  129. package/dist/components/Message/types.d.ts.map +1 -1
  130. package/dist/components/MeterGroup/MeterGroup.vue.d.ts.map +1 -1
  131. package/dist/components/MeterGroup/styles.css +36 -34
  132. package/dist/components/OrderList/OrderList.vue.d.ts.map +1 -1
  133. package/dist/components/Pagination/Pagination.vue.d.ts.map +1 -1
  134. package/dist/components/Pagination/styles.css +59 -57
  135. package/dist/components/Panel/Panel.vue.d.ts.map +1 -1
  136. package/dist/components/PickList/PickList.vue.d.ts.map +1 -1
  137. package/dist/components/Popover/Popover.vue.d.ts.map +1 -1
  138. package/dist/components/Popover/styles.css +46 -45
  139. package/dist/components/ProgressBar/ProgressBar.vue.d.ts.map +1 -1
  140. package/dist/components/ProgressSpinner/ProgressSpinner.vue.d.ts.map +1 -1
  141. package/dist/components/Radio/Radio.vue.d.ts.map +1 -1
  142. package/dist/components/Radio/RadioGroup.vue.d.ts.map +1 -1
  143. package/dist/components/Rating/Rating.vue.d.ts.map +1 -1
  144. package/dist/components/ScrollTop/ScrollTop.vue.d.ts.map +1 -1
  145. package/dist/components/Scrollbar/Scrollbar.vue.d.ts.map +1 -1
  146. package/dist/components/Scrollbar/Thumb.vue.d.ts.map +1 -1
  147. package/dist/components/Scrollbar/constants.d.ts +2 -2
  148. package/dist/components/Scrollbar/constants.d.ts.map +1 -1
  149. package/dist/components/Scrollbar/styles.css +68 -59
  150. package/dist/components/Select/Select.vue.d.ts +1 -1
  151. package/dist/components/Select/Select.vue.d.ts.map +1 -1
  152. package/dist/components/Select/styles.css +293 -280
  153. package/dist/components/SelectButton/SelectButton.vue.d.ts.map +1 -1
  154. package/dist/components/SelectButton/styles.css +64 -51
  155. package/dist/components/Sidebar/Sidebar.vue.d.ts.map +1 -1
  156. package/dist/components/Sidebar/styles.css +40 -38
  157. package/dist/components/Skeleton/Skeleton.vue.d.ts.map +1 -1
  158. package/dist/components/Slider/Slider.vue.d.ts.map +1 -1
  159. package/dist/components/Slider/styles.css +111 -95
  160. package/dist/components/Space/Space.vue.d.ts.map +1 -1
  161. package/dist/components/SpeedDial/SpeedDial.vue.d.ts.map +1 -1
  162. package/dist/components/SplitButton/SplitButton.vue.d.ts.map +1 -1
  163. package/dist/components/SplitButton/styles.css +105 -89
  164. package/dist/components/Splitter/Splitter.vue.d.ts.map +1 -1
  165. package/dist/components/Stepper/Stepper.vue.d.ts.map +1 -1
  166. package/dist/components/Stepper/styles.css +63 -58
  167. package/dist/components/Switch/Switch.vue.d.ts.map +1 -1
  168. package/dist/components/Switch/styles.css +82 -53
  169. package/dist/components/Table/Table.vue.d.ts.map +1 -1
  170. package/dist/components/Tabs/Tabs.vue.d.ts.map +1 -1
  171. package/dist/components/Tag/Tag.vue.d.ts.map +1 -1
  172. package/dist/components/Terminal/Terminal.vue.d.ts.map +1 -1
  173. package/dist/components/Terminal/styles.css +46 -34
  174. package/dist/components/Textarea/Textarea.vue.d.ts.map +1 -1
  175. package/dist/components/Textarea/styles.css +69 -62
  176. package/dist/components/Textarea/types.d.ts +1 -1
  177. package/dist/components/Textarea/types.d.ts.map +1 -1
  178. package/dist/components/TieredMenu/TieredMenu.vue.d.ts.map +1 -1
  179. package/dist/components/TieredMenu/styles.css +69 -62
  180. package/dist/components/Timeline/Timeline.vue.d.ts.map +1 -1
  181. package/dist/components/Timeline/types.d.ts +1 -1
  182. package/dist/components/Timeline/types.d.ts.map +1 -1
  183. package/dist/components/Toast/Toast.vue.d.ts.map +1 -1
  184. package/dist/components/Toast/index.d.ts +1 -1
  185. package/dist/components/Toast/index.d.ts.map +1 -1
  186. package/dist/components/Toast/toast.d.ts +2 -2
  187. package/dist/components/Toast/toast.d.ts.map +1 -1
  188. package/dist/components/Toast/toastState.d.ts.map +1 -1
  189. package/dist/components/Toast/types.d.ts +1 -1
  190. package/dist/components/Toast/types.d.ts.map +1 -1
  191. package/dist/components/ToggleButton/ToggleButton.vue.d.ts.map +1 -1
  192. package/dist/components/Tooltip/Tooltip.vue.d.ts.map +1 -1
  193. package/dist/components/Tree/Tree.vue.d.ts.map +1 -1
  194. package/dist/components/Tree/TreeNodeItem.vue.d.ts.map +1 -1
  195. package/dist/components/Tree/context.d.ts +2 -2
  196. package/dist/components/Tree/context.d.ts.map +1 -1
  197. package/dist/components/Tree/index.d.ts +1 -1
  198. package/dist/components/Tree/index.d.ts.map +1 -1
  199. package/dist/components/TreeSelect/TreeSelect.vue.d.ts.map +1 -1
  200. package/dist/components/TreeSelect/styles.css +140 -138
  201. package/dist/components/TreeTable/TreeTable.vue.d.ts.map +1 -1
  202. package/dist/components/TreeTable/TreeTableRow.vue.d.ts.map +1 -1
  203. package/dist/components/VirtualScroller/VirtualScroller.vue.d.ts.map +1 -1
  204. package/dist/components/VirtualScroller/index.d.ts +1 -1
  205. package/dist/components/VirtualScroller/index.d.ts.map +1 -1
  206. package/dist/config-provider/style.css +765 -600
  207. package/dist/confirm-dialog/index.js +1 -1
  208. package/dist/confirm-dialog/style.css +777 -613
  209. package/dist/confirm-popup/index.js +1 -1
  210. package/dist/confirm-popup/style.css +632 -473
  211. package/dist/context-menu/style.css +81 -60
  212. package/dist/data-view/index.js +1 -1
  213. package/dist/data-view/style.css +97 -80
  214. package/dist/date-picker/index.js +2 -2
  215. package/dist/date-picker/style.css +200 -161
  216. package/dist/dialog/index.js +1 -1
  217. package/dist/dialog/style.css +760 -597
  218. package/dist/divider/style.css +38 -23
  219. package/dist/dock/style.css +75 -55
  220. package/dist/drawer/style.css +120 -103
  221. package/dist/dropdown/index.js +3 -3
  222. package/dist/dropdown/style.css +96 -80
  223. package/dist/fieldset/style.css +38 -23
  224. package/dist/file-upload/style.css +270 -238
  225. package/dist/flex/style.css +38 -23
  226. package/dist/float-label/style.css +38 -23
  227. package/dist/fluid/style.css +38 -23
  228. package/dist/form/style.css +84 -67
  229. package/dist/gallery/style.css +80 -62
  230. package/dist/grid/index.js +39 -39
  231. package/dist/grid/style.css +38 -23
  232. package/dist/icon/style.css +38 -23
  233. package/dist/icon-field/style.css +38 -23
  234. package/dist/index.d.ts +174 -174
  235. package/dist/index.d.ts.map +1 -1
  236. package/dist/index.js +1028 -976
  237. package/dist/inplace/style.css +38 -23
  238. package/dist/input/index.js +6 -7
  239. package/dist/input/style.css +236 -214
  240. package/dist/input-color/index.js +2 -2
  241. package/dist/input-color/style.css +88 -71
  242. package/dist/input-group/style.css +38 -23
  243. package/dist/input-number/index.js +15 -15
  244. package/dist/input-number/style.css +128 -103
  245. package/dist/input-otp/index.js +1 -1
  246. package/dist/input-otp/style.css +38 -23
  247. package/dist/input-password/index.js +16 -17
  248. package/dist/input-password/style.css +168 -140
  249. package/dist/input-tags/style.css +89 -66
  250. package/dist/knob/style.css +38 -23
  251. package/dist/label/style.css +38 -23
  252. package/dist/layout/index.js +135 -93
  253. package/dist/layout/style.css +408 -332
  254. package/dist/listbox/style.css +99 -74
  255. package/dist/locale/index.d.ts +1 -1
  256. package/dist/locale/index.d.ts.map +1 -1
  257. package/dist/mega-menu/style.css +98 -81
  258. package/dist/menu/style.css +91 -70
  259. package/dist/menubar/style.css +118 -93
  260. package/dist/message/style.css +231 -166
  261. package/dist/meter-group/style.css +74 -57
  262. package/dist/order-list/style.css +38 -23
  263. package/dist/pagination/index.js +1 -1
  264. package/dist/pagination/style.css +97 -80
  265. package/dist/panel/style.css +38 -23
  266. package/dist/pick-list/style.css +38 -23
  267. package/dist/popover/index.js +5 -5
  268. package/dist/popover/style.css +84 -68
  269. package/dist/progress-bar/style.css +38 -23
  270. package/dist/progress-spinner/style.css +38 -23
  271. package/dist/radio/index.js +4 -4
  272. package/dist/radio/style.css +38 -23
  273. package/dist/rating/style.css +38 -23
  274. package/dist/scroll-top/style.css +38 -23
  275. package/dist/scrollbar/style.css +106 -82
  276. package/dist/select/style.css +285 -257
  277. package/dist/select-button/style.css +102 -74
  278. package/dist/shared/Renderable.d.ts.map +1 -1
  279. package/dist/shared/config.d.ts.map +1 -1
  280. package/dist/shared/content.d.ts.map +1 -1
  281. package/dist/shared/overlayHost.d.ts.map +1 -1
  282. package/dist/shared/useModalOverlay.d.ts.map +1 -1
  283. package/dist/shared/vnode.d.ts.map +1 -1
  284. package/dist/sidebar/style.css +78 -61
  285. package/dist/skeleton/style.css +38 -23
  286. package/dist/slider/style.css +149 -118
  287. package/dist/space/style.css +38 -23
  288. package/dist/speed-dial/index.js +1 -1
  289. package/dist/speed-dial/style.css +38 -23
  290. package/dist/split-button/style.css +738 -564
  291. package/dist/splitter/style.css +38 -23
  292. package/dist/stepper/style.css +101 -81
  293. package/dist/styles.css +1 -1
  294. package/dist/switch/index.js +5 -5
  295. package/dist/switch/style.css +120 -76
  296. package/dist/table/index.js +3 -3
  297. package/dist/table/style.css +97 -80
  298. package/dist/tabs/style.css +38 -23
  299. package/dist/tag/style.css +38 -23
  300. package/dist/terminal/style.css +84 -57
  301. package/dist/textarea/index.js +11 -12
  302. package/dist/textarea/style.css +107 -85
  303. package/dist/theme/index.d.ts +5 -5
  304. package/dist/theme/index.d.ts.map +1 -1
  305. package/dist/theme/styles.css +38 -23
  306. package/dist/theme/tokens.d.ts +11 -0
  307. package/dist/theme/tokens.d.ts.map +1 -1
  308. package/dist/theme/useTheme.d.ts.map +1 -1
  309. package/dist/tiered-menu/style.css +107 -85
  310. package/dist/timeline/style.css +38 -23
  311. package/dist/toast/style.css +38 -23
  312. package/dist/toggle-button/style.css +38 -23
  313. package/dist/toolbar/style.css +38 -23
  314. package/dist/tooltip/style.css +38 -23
  315. package/dist/tree/index.js +11 -11
  316. package/dist/tree/style.css +38 -23
  317. package/dist/tree-select/index.js +1 -1
  318. package/dist/tree-select/style.css +171 -154
  319. package/dist/tree-table/style.css +38 -23
  320. package/dist/virtual-scroller/style.css +38 -23
  321. package/package.json +15 -11
@@ -16,12 +16,13 @@
16
16
  --wi-control-padding-x-small: 10px;
17
17
  --wi-control-padding-x-medium: 12px;
18
18
  --wi-control-padding-x-large: 14px;
19
- --wi-button-padding-x-small: 10px;
20
- --wi-button-padding-x-medium: 14px;
21
- --wi-button-padding-x-large: 18px;
19
+
22
20
  --wi-radius-control: 3px;
23
- --wi-focus-shadow: 0 0 0 2px color-mix(in srgb, var(--wi-color-primary) 20%, transparent);
24
- --wi-focus-shadow-danger: 0 0 0 2px color-mix(in srgb, var(--wi-color-danger) 20%, transparent);
21
+ --wi-border-width: 1px;
22
+ --wi-focus-shadow: 0 0 0 2px
23
+ color-mix(in srgb, var(--wi-color-primary) 20%, transparent);
24
+ --wi-focus-shadow-danger: 0 0 0 2px
25
+ color-mix(in srgb, var(--wi-color-danger) 20%, transparent);
25
26
  --wi-color-success: #159570;
26
27
  --wi-color-info: #2563eb;
27
28
  --wi-color-warning: #d97706;
@@ -39,10 +40,7 @@
39
40
  --wi-shadow-lg: 0 1rem 3rem rgb(15 23 42 / 0.25);
40
41
  --wi-shadow-sticky: 4px 0 8px color-mix(in srgb, #000 6%, transparent);
41
42
  --wi-shadow-sticky-end: -4px 0 8px color-mix(in srgb, #000 6%, transparent);
42
- --wi-terminal-bg: #111827;
43
- --wi-terminal-fg: #e5e7eb;
44
- --wi-terminal-prompt: #34d399;
45
- --wi-terminal-border: color-mix(in srgb, #fff 12%, transparent);
43
+
46
44
  /* Typography scale (component text, not control-height fonts) */
47
45
  --wi-font-size-xs: 0.75rem;
48
46
  --wi-font-size-sm: 0.8125rem;
@@ -56,8 +54,7 @@
56
54
  --wi-z-dropdown: calc(var(--wi-z-base) + 50);
57
55
  --wi-z-toast: calc(var(--wi-z-base) + 100);
58
56
  --wi-z-popper: 40;
59
- --wi-menu-min-width: 10rem;
60
- --wi-menu-min-width-lg: 12rem;
57
+
61
58
  --wi-control-affix-size: 2rem;
62
59
  --wi-control-affix-gap: 2.35rem;
63
60
  --wi-control-affix-padding: 2.5rem;
@@ -118,9 +115,6 @@
118
115
  --wi-control-padding-x-small: 8px;
119
116
  --wi-control-padding-x-medium: 10px;
120
117
  --wi-control-padding-x-large: 12px;
121
- --wi-button-padding-x-small: 8px;
122
- --wi-button-padding-x-medium: 12px;
123
- --wi-button-padding-x-large: 16px;
124
118
  }
125
119
 
126
120
  [data-wi-density="spacious"] {
@@ -139,9 +133,32 @@
139
133
  --wi-control-padding-x-small: 12px;
140
134
  --wi-control-padding-x-medium: 14px;
141
135
  --wi-control-padding-x-large: 16px;
142
- --wi-button-padding-x-small: 12px;
143
- --wi-button-padding-x-medium: 16px;
144
- --wi-button-padding-x-large: 20px;
136
+ }
137
+
138
+ [data-wi-density="compact"] .wi-layout-header {
139
+ --wi-layout-header-height: 48px;
140
+ }
141
+
142
+ [data-wi-density="compact"] .wi-layout-footer {
143
+ --wi-layout-footer-height: 40px;
144
+ }
145
+
146
+ [data-wi-density="compact"] .wi-layout-sider {
147
+ --wi-layout-sider-width: 240px;
148
+ --wi-layout-sider-collapsed-width: 44px;
149
+ }
150
+
151
+ [data-wi-density="spacious"] .wi-layout-header {
152
+ --wi-layout-header-height: 64px;
153
+ }
154
+
155
+ [data-wi-density="spacious"] .wi-layout-footer {
156
+ --wi-layout-footer-height: 56px;
157
+ }
158
+
159
+ [data-wi-density="spacious"] .wi-layout-sider {
160
+ --wi-layout-sider-width: 288px;
161
+ --wi-layout-sider-collapsed-width: 52px;
145
162
  }
146
163
 
147
164
  [data-theme="dark"] {
@@ -152,8 +169,10 @@
152
169
  --wi-color-text-muted: #94a3b8;
153
170
  --wi-color-border: #334155;
154
171
  --wi-color-focus-ring: #93c5fd;
155
- --wi-focus-shadow: 0 0 0 2px color-mix(in srgb, var(--wi-color-primary) 28%, transparent);
156
- --wi-focus-shadow-danger: 0 0 0 2px color-mix(in srgb, var(--wi-color-danger) 28%, transparent);
172
+ --wi-focus-shadow: 0 0 0 2px
173
+ color-mix(in srgb, var(--wi-color-primary) 28%, transparent);
174
+ --wi-focus-shadow-danger: 0 0 0 2px
175
+ color-mix(in srgb, var(--wi-color-danger) 28%, transparent);
157
176
  --wi-color-success: #5eead4;
158
177
  --wi-color-info: #93c5fd;
159
178
  --wi-color-warning: #fbbf24;
@@ -170,10 +189,6 @@
170
189
  --wi-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 0.55);
171
190
  --wi-shadow-sticky: 4px 0 8px color-mix(in srgb, #000 35%, transparent);
172
191
  --wi-shadow-sticky-end: -4px 0 8px color-mix(in srgb, #000 35%, transparent);
173
- --wi-terminal-bg: #020617;
174
- --wi-terminal-fg: #e2e8f0;
175
- --wi-terminal-prompt: #5eead4;
176
- --wi-terminal-border: color-mix(in srgb, #fff 14%, transparent);
177
192
  }
178
193
 
179
194
  @media (prefers-reduced-motion: reduce) {
@@ -735,723 +750,871 @@
735
750
  line-height: 1;
736
751
  }
737
752
 
738
- .wi-button {
739
- --wi-button-bg: var(--wi-color-primary);
740
- --wi-button-fg: var(--wi-color-on-emphasis);
741
- --wi-button-border: var(--wi-color-primary);
742
- --wi-button-hover-bg: var(--wi-color-primary-hover);
743
- --wi-button-hover-fg: var(--wi-color-on-emphasis);
744
- --wi-button-hover-border: var(--wi-color-primary-hover);
745
- --wi-button-active-bg: color-mix(in srgb, var(--wi-color-primary) 82%, black);
746
- align-items: center;
747
- background: var(--wi-button-bg);
748
- border: 1px solid var(--wi-button-border);
749
- border-radius: var(--wi-radius-control);
750
- color: var(--wi-button-fg);
751
- cursor: pointer;
752
- display: inline-flex;
753
- flex-direction: row;
754
- font-size: var(--wi-control-font-medium);
755
- font-weight: 600;
756
- gap: var(--wi-space-2);
757
- justify-content: center;
758
- line-height: 1;
759
- min-height: var(--wi-control-height-medium);
760
- padding: 0 var(--wi-button-padding-x-medium);
761
- position: relative;
762
- transition:
763
- background-color var(--wi-motion-fast) var(--wi-motion-ease),
764
- border-color var(--wi-motion-fast) var(--wi-motion-ease),
765
- color var(--wi-motion-fast) var(--wi-motion-ease),
766
- box-shadow var(--wi-motion-fast) var(--wi-motion-ease);
767
- vertical-align: middle;
768
- white-space: nowrap;
769
- }
770
-
771
- .wi-button:hover:not(:disabled) {
772
- background: var(--wi-button-hover-bg);
773
- border-color: var(--wi-button-hover-border);
774
- color: var(--wi-button-hover-fg);
753
+ .wi-button {
754
+ --wi-button-padding-x-small: var(--wi-control-padding-x-small);
755
+ --wi-button-padding-x-medium: calc(
756
+ var(--wi-control-padding-x-medium) + var(--wi-space-1)
757
+ );
758
+ --wi-button-padding-x-large: calc(
759
+ var(--wi-control-padding-x-large) + var(--wi-space-1)
760
+ );
761
+ --wi-button-icon-stack-min-height: 3.25rem;
762
+ --wi-button-badge-min-width: 1.15rem;
763
+ --wi-button-spinner-size: 0.875rem;
764
+ --wi-button-bg: var(--wi-color-primary);
765
+ --wi-button-fg: var(--wi-color-on-emphasis);
766
+ --wi-button-border: var(--wi-color-primary);
767
+ --wi-button-hover-bg: var(--wi-color-primary-hover);
768
+ --wi-button-hover-fg: var(--wi-color-on-emphasis);
769
+ --wi-button-hover-border: var(--wi-color-primary-hover);
770
+ --wi-button-active-bg: color-mix(
771
+ in srgb,
772
+ var(--wi-color-primary) 82%,
773
+ black
774
+ );
775
+ align-items: center;
776
+ background: var(--wi-button-bg);
777
+ border: 1px solid var(--wi-button-border);
778
+ border-radius: var(--wi-radius-control);
779
+ color: var(--wi-button-fg);
780
+ cursor: pointer;
781
+ display: inline-flex;
782
+ flex-direction: row;
783
+ font-size: var(--wi-control-font-medium);
784
+ font-weight: 600;
785
+ gap: var(--wi-space-2);
786
+ justify-content: center;
787
+ line-height: 1;
788
+ min-height: var(--wi-control-height-medium);
789
+ padding: 0 var(--wi-button-padding-x-medium);
790
+ position: relative;
791
+ transition:
792
+ background-color var(--wi-motion-fast) var(--wi-motion-ease),
793
+ border-color var(--wi-motion-fast) var(--wi-motion-ease),
794
+ color var(--wi-motion-fast) var(--wi-motion-ease),
795
+ box-shadow var(--wi-motion-fast) var(--wi-motion-ease);
796
+ vertical-align: middle;
797
+ white-space: nowrap;
798
+ }
799
+
800
+ .wi-button:hover:not(:disabled) {
801
+ background: var(--wi-button-hover-bg);
802
+ border-color: var(--wi-button-hover-border);
803
+ color: var(--wi-button-hover-fg);
804
+ }
805
+
806
+ .wi-button:active:not(:disabled) {
807
+ background: var(--wi-button-active-bg);
808
+ }
809
+
810
+ /* Naive-style focus: soft glow, not outline-offset ring */
811
+ .wi-button:focus {
812
+ outline: none;
813
+ }
814
+
815
+ .wi-button:focus-visible {
816
+ box-shadow: var(--wi-focus-shadow);
817
+ outline: none;
818
+ }
819
+
820
+ .wi-button--primary {
821
+ --wi-button-bg: var(--wi-color-primary);
822
+ --wi-button-fg: var(--wi-color-on-emphasis);
823
+ --wi-button-border: var(--wi-color-primary);
824
+ --wi-button-hover-bg: var(--wi-color-primary-hover);
825
+ --wi-button-hover-fg: var(--wi-color-on-emphasis);
826
+ --wi-button-hover-border: var(--wi-color-primary-hover);
827
+ --wi-button-active-bg: color-mix(
828
+ in srgb,
829
+ var(--wi-color-primary) 82%,
830
+ black
831
+ );
832
+ }
833
+
834
+ .wi-button--secondary {
835
+ --wi-button-bg: color-mix(
836
+ in srgb,
837
+ var(--wi-color-text-muted) 16%,
838
+ var(--wi-color-surface)
839
+ );
840
+ --wi-button-fg: var(--wi-color-text);
841
+ --wi-button-border: transparent;
842
+ --wi-button-hover-bg: color-mix(
843
+ in srgb,
844
+ var(--wi-color-text-muted) 24%,
845
+ var(--wi-color-surface)
846
+ );
847
+ --wi-button-hover-fg: var(--wi-color-text);
848
+ --wi-button-hover-border: transparent;
849
+ --wi-button-active-bg: color-mix(
850
+ in srgb,
851
+ var(--wi-color-text-muted) 32%,
852
+ var(--wi-color-surface)
853
+ );
854
+ }
855
+
856
+ .wi-button--success {
857
+ --wi-button-bg: var(--wi-color-success);
858
+ --wi-button-fg: var(--wi-color-on-emphasis);
859
+ --wi-button-border: var(--wi-color-success);
860
+ --wi-button-hover-bg: color-mix(
861
+ in srgb,
862
+ var(--wi-color-success) 85%,
863
+ black
864
+ );
865
+ --wi-button-hover-fg: var(--wi-color-on-emphasis);
866
+ --wi-button-hover-border: color-mix(
867
+ in srgb,
868
+ var(--wi-color-success) 85%,
869
+ black
870
+ );
871
+ --wi-button-active-bg: color-mix(
872
+ in srgb,
873
+ var(--wi-color-success) 75%,
874
+ black
875
+ );
876
+ }
877
+
878
+ .wi-button--info {
879
+ --wi-button-bg: var(--wi-color-info);
880
+ --wi-button-fg: var(--wi-color-on-emphasis);
881
+ --wi-button-border: var(--wi-color-info);
882
+ --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-info) 85%, black);
883
+ --wi-button-hover-fg: var(--wi-color-on-emphasis);
884
+ --wi-button-hover-border: color-mix(
885
+ in srgb,
886
+ var(--wi-color-info) 85%,
887
+ black
888
+ );
889
+ --wi-button-active-bg: color-mix(in srgb, var(--wi-color-info) 75%, black);
890
+ }
891
+
892
+ .wi-button--warn {
893
+ --wi-button-bg: var(--wi-color-warn);
894
+ --wi-button-fg: var(--wi-color-on-emphasis);
895
+ --wi-button-border: var(--wi-color-warn);
896
+ --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-warn) 85%, black);
897
+ --wi-button-hover-fg: var(--wi-color-on-emphasis);
898
+ --wi-button-hover-border: color-mix(
899
+ in srgb,
900
+ var(--wi-color-warn) 85%,
901
+ black
902
+ );
903
+ --wi-button-active-bg: color-mix(in srgb, var(--wi-color-warn) 75%, black);
904
+ }
905
+
906
+ .wi-button--help {
907
+ --wi-button-bg: var(--wi-color-help);
908
+ --wi-button-fg: var(--wi-color-on-emphasis);
909
+ --wi-button-border: var(--wi-color-help);
910
+ --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-help) 85%, black);
911
+ --wi-button-hover-fg: var(--wi-color-on-emphasis);
912
+ --wi-button-hover-border: color-mix(
913
+ in srgb,
914
+ var(--wi-color-help) 85%,
915
+ black
916
+ );
917
+ --wi-button-active-bg: color-mix(in srgb, var(--wi-color-help) 75%, black);
918
+ }
919
+
920
+ .wi-button--danger {
921
+ --wi-button-bg: var(--wi-color-danger);
922
+ --wi-button-fg: var(--wi-color-on-emphasis);
923
+ --wi-button-border: var(--wi-color-danger);
924
+ --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-danger) 85%, black);
925
+ --wi-button-hover-fg: var(--wi-color-on-emphasis);
926
+ --wi-button-hover-border: color-mix(
927
+ in srgb,
928
+ var(--wi-color-danger) 85%,
929
+ black
930
+ );
931
+ --wi-button-active-bg: color-mix(
932
+ in srgb,
933
+ var(--wi-color-danger) 75%,
934
+ black
935
+ );
936
+ }
937
+
938
+ .wi-button--contrast {
939
+ --wi-button-bg: var(--wi-color-contrast);
940
+ --wi-button-fg: var(--wi-color-contrast-fg);
941
+ --wi-button-border: var(--wi-color-contrast);
942
+ --wi-button-hover-bg: var(--wi-color-contrast-hover);
943
+ --wi-button-hover-fg: var(--wi-color-contrast-fg);
944
+ --wi-button-hover-border: var(--wi-color-contrast-hover);
945
+ --wi-button-active-bg: var(--wi-color-contrast-active);
946
+ }
947
+
948
+ .wi-button--outlined {
949
+ --wi-button-bg: transparent;
950
+ --wi-button-fg: var(--wi-button-border);
951
+ --wi-button-hover-bg: color-mix(
952
+ in srgb,
953
+ var(--wi-button-border) 10%,
954
+ transparent
955
+ );
956
+ --wi-button-hover-fg: var(--wi-button-border);
957
+ --wi-button-hover-border: var(--wi-button-border);
958
+ --wi-button-active-bg: color-mix(
959
+ in srgb,
960
+ var(--wi-button-border) 16%,
961
+ transparent
962
+ );
963
+ }
964
+
965
+ .wi-button--secondary.wi-button--outlined {
966
+ --wi-button-border: var(--wi-color-border);
967
+ --wi-button-fg: var(--wi-color-text);
968
+ --wi-button-hover-fg: var(--wi-color-text);
969
+ }
970
+
971
+ .wi-button--text,
972
+ .wi-button--link {
973
+ --wi-button-bg: transparent;
974
+ --wi-button-border: transparent;
975
+ --wi-button-fg: var(--wi-color-primary);
976
+ --wi-button-hover-bg: color-mix(
977
+ in srgb,
978
+ var(--wi-color-primary) 10%,
979
+ transparent
980
+ );
981
+ --wi-button-hover-fg: var(--wi-color-primary);
982
+ --wi-button-hover-border: transparent;
983
+ --wi-button-active-bg: color-mix(
984
+ in srgb,
985
+ var(--wi-color-primary) 16%,
986
+ transparent
987
+ );
988
+ }
989
+
990
+ .wi-button--secondary.wi-button--text,
991
+ .wi-button--secondary.wi-button--link {
992
+ --wi-button-fg: var(--wi-color-text-muted);
993
+ --wi-button-hover-bg: color-mix(
994
+ in srgb,
995
+ var(--wi-color-text-muted) 12%,
996
+ transparent
997
+ );
998
+ --wi-button-hover-fg: var(--wi-color-text);
999
+ }
1000
+
1001
+ .wi-button--success.wi-button--text,
1002
+ .wi-button--success.wi-button--link,
1003
+ .wi-button--success.wi-button--outlined {
1004
+ --wi-button-fg: var(--wi-color-success);
1005
+ --wi-button-border: var(--wi-color-success);
1006
+ --wi-button-hover-bg: color-mix(
1007
+ in srgb,
1008
+ var(--wi-color-success) 10%,
1009
+ transparent
1010
+ );
1011
+ --wi-button-hover-fg: var(--wi-color-success);
1012
+ --wi-button-hover-border: var(--wi-color-success);
1013
+ }
1014
+
1015
+ .wi-button--info.wi-button--text,
1016
+ .wi-button--info.wi-button--link,
1017
+ .wi-button--info.wi-button--outlined {
1018
+ --wi-button-fg: var(--wi-color-info);
1019
+ --wi-button-border: var(--wi-color-info);
1020
+ --wi-button-hover-bg: color-mix(
1021
+ in srgb,
1022
+ var(--wi-color-info) 10%,
1023
+ transparent
1024
+ );
1025
+ --wi-button-hover-fg: var(--wi-color-info);
1026
+ --wi-button-hover-border: var(--wi-color-info);
1027
+ }
1028
+
1029
+ .wi-button--warn.wi-button--text,
1030
+ .wi-button--warn.wi-button--link,
1031
+ .wi-button--warn.wi-button--outlined {
1032
+ --wi-button-fg: var(--wi-color-warn);
1033
+ --wi-button-border: var(--wi-color-warn);
1034
+ --wi-button-hover-bg: color-mix(
1035
+ in srgb,
1036
+ var(--wi-color-warn) 10%,
1037
+ transparent
1038
+ );
1039
+ --wi-button-hover-fg: var(--wi-color-warn);
1040
+ --wi-button-hover-border: var(--wi-color-warn);
1041
+ }
1042
+
1043
+ .wi-button--help.wi-button--text,
1044
+ .wi-button--help.wi-button--link,
1045
+ .wi-button--help.wi-button--outlined {
1046
+ --wi-button-fg: var(--wi-color-help);
1047
+ --wi-button-border: var(--wi-color-help);
1048
+ --wi-button-hover-bg: color-mix(
1049
+ in srgb,
1050
+ var(--wi-color-help) 10%,
1051
+ transparent
1052
+ );
1053
+ --wi-button-hover-fg: var(--wi-color-help);
1054
+ --wi-button-hover-border: var(--wi-color-help);
1055
+ }
1056
+
1057
+ .wi-button--danger.wi-button--text,
1058
+ .wi-button--danger.wi-button--link,
1059
+ .wi-button--danger.wi-button--outlined {
1060
+ --wi-button-fg: var(--wi-color-danger);
1061
+ --wi-button-border: var(--wi-color-danger);
1062
+ --wi-button-hover-bg: color-mix(
1063
+ in srgb,
1064
+ var(--wi-color-danger) 10%,
1065
+ transparent
1066
+ );
1067
+ --wi-button-hover-fg: var(--wi-color-danger);
1068
+ --wi-button-hover-border: var(--wi-color-danger);
1069
+ }
1070
+
1071
+ .wi-button--contrast.wi-button--text,
1072
+ .wi-button--contrast.wi-button--link,
1073
+ .wi-button--contrast.wi-button--outlined {
1074
+ --wi-button-fg: var(--wi-color-contrast);
1075
+ --wi-button-border: var(--wi-color-contrast);
1076
+ --wi-button-hover-bg: color-mix(
1077
+ in srgb,
1078
+ var(--wi-color-contrast) 10%,
1079
+ transparent
1080
+ );
1081
+ --wi-button-hover-fg: var(--wi-color-contrast);
1082
+ --wi-button-hover-border: var(--wi-color-contrast);
1083
+ }
1084
+
1085
+ .wi-button--plain.wi-button--text,
1086
+ .wi-button--plain.wi-button--outlined,
1087
+ .wi-button--plain.wi-button--link {
1088
+ --wi-button-fg: var(--wi-color-text-muted);
1089
+ --wi-button-border: var(--wi-color-border);
1090
+ --wi-button-hover-bg: color-mix(
1091
+ in srgb,
1092
+ var(--wi-color-text-muted) 12%,
1093
+ transparent
1094
+ );
1095
+ --wi-button-hover-fg: var(--wi-color-text);
1096
+ --wi-button-hover-border: var(--wi-color-border);
1097
+ }
1098
+
1099
+ .wi-button--link {
1100
+ height: auto;
1101
+ min-height: 0;
1102
+ padding: 0;
1103
+ }
1104
+
1105
+ .wi-button--link:hover:not(:disabled) {
1106
+ text-decoration: underline;
1107
+ }
1108
+
1109
+ .wi-button--ghost {
1110
+ --wi-button-bg: transparent;
1111
+ --wi-button-fg: var(--wi-button-border);
1112
+ --wi-button-hover-bg: color-mix(
1113
+ in srgb,
1114
+ var(--wi-button-border) 12%,
1115
+ transparent
1116
+ );
1117
+ --wi-button-hover-fg: var(--wi-button-border);
1118
+ --wi-button-hover-border: var(--wi-button-border);
1119
+ --wi-button-active-bg: color-mix(
1120
+ in srgb,
1121
+ var(--wi-button-border) 18%,
1122
+ transparent
1123
+ );
1124
+ }
1125
+
1126
+ .wi-button--secondary.wi-button--ghost {
1127
+ --wi-button-border: var(--wi-color-border);
1128
+ --wi-button-fg: var(--wi-color-text);
1129
+ --wi-button-hover-fg: var(--wi-color-text);
1130
+ }
1131
+
1132
+ .wi-button--success.wi-button--ghost {
1133
+ --wi-button-fg: var(--wi-color-success);
1134
+ --wi-button-border: var(--wi-color-success);
1135
+ }
1136
+
1137
+ .wi-button--info.wi-button--ghost {
1138
+ --wi-button-fg: var(--wi-color-info);
1139
+ --wi-button-border: var(--wi-color-info);
1140
+ }
1141
+
1142
+ .wi-button--warn.wi-button--ghost {
1143
+ --wi-button-fg: var(--wi-color-warn);
1144
+ --wi-button-border: var(--wi-color-warn);
1145
+ }
1146
+
1147
+ .wi-button--help.wi-button--ghost {
1148
+ --wi-button-fg: var(--wi-color-help);
1149
+ --wi-button-border: var(--wi-color-help);
1150
+ }
1151
+
1152
+ .wi-button--danger.wi-button--ghost {
1153
+ --wi-button-fg: var(--wi-color-danger);
1154
+ --wi-button-border: var(--wi-color-danger);
775
1155
  }
776
-
777
- .wi-button:active:not(:disabled) {
778
- background: var(--wi-button-active-bg);
1156
+
1157
+ .wi-button--contrast.wi-button--ghost {
1158
+ --wi-button-fg: var(--wi-color-contrast);
1159
+ --wi-button-border: var(--wi-color-contrast);
779
1160
  }
780
1161
 
781
- /* Naive-style focus: soft glow, not outline-offset ring */
782
- .wi-button:focus {
783
- outline: none;
1162
+ .wi-button--quaternary {
1163
+ --wi-button-bg: transparent;
1164
+ --wi-button-border: transparent;
1165
+ --wi-button-fg: var(--wi-color-text);
1166
+ --wi-button-hover-bg: color-mix(
1167
+ in srgb,
1168
+ var(--wi-color-text-muted) 10%,
1169
+ transparent
1170
+ );
1171
+ --wi-button-hover-fg: var(--wi-color-text);
1172
+ --wi-button-hover-border: transparent;
1173
+ --wi-button-active-bg: color-mix(
1174
+ in srgb,
1175
+ var(--wi-color-text-muted) 16%,
1176
+ transparent
1177
+ );
784
1178
  }
785
1179
 
786
- .wi-button:focus-visible {
787
- box-shadow: var(--wi-focus-shadow);
788
- outline: none;
789
- }
790
-
791
- .wi-button--primary {
792
- --wi-button-bg: var(--wi-color-primary);
793
- --wi-button-fg: var(--wi-color-on-emphasis);
794
- --wi-button-border: var(--wi-color-primary);
795
- --wi-button-hover-bg: var(--wi-color-primary-hover);
796
- --wi-button-hover-fg: var(--wi-color-on-emphasis);
797
- --wi-button-hover-border: var(--wi-color-primary-hover);
798
- --wi-button-active-bg: color-mix(in srgb, var(--wi-color-primary) 82%, black);
799
- }
800
-
801
- .wi-button--secondary {
802
- --wi-button-bg: color-mix(in srgb, var(--wi-color-text-muted) 16%, var(--wi-color-surface));
803
- --wi-button-fg: var(--wi-color-text);
804
- --wi-button-border: transparent;
805
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-text-muted) 24%, var(--wi-color-surface));
806
- --wi-button-hover-fg: var(--wi-color-text);
807
- --wi-button-hover-border: transparent;
808
- --wi-button-active-bg: color-mix(in srgb, var(--wi-color-text-muted) 32%, var(--wi-color-surface));
809
- }
810
-
811
- .wi-button--success {
812
- --wi-button-bg: var(--wi-color-success);
813
- --wi-button-fg: var(--wi-color-on-emphasis);
814
- --wi-button-border: var(--wi-color-success);
815
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-success) 85%, black);
816
- --wi-button-hover-fg: var(--wi-color-on-emphasis);
817
- --wi-button-hover-border: color-mix(in srgb, var(--wi-color-success) 85%, black);
818
- --wi-button-active-bg: color-mix(in srgb, var(--wi-color-success) 75%, black);
819
- }
820
-
821
- .wi-button--info {
822
- --wi-button-bg: var(--wi-color-info);
823
- --wi-button-fg: var(--wi-color-on-emphasis);
824
- --wi-button-border: var(--wi-color-info);
825
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-info) 85%, black);
826
- --wi-button-hover-fg: var(--wi-color-on-emphasis);
827
- --wi-button-hover-border: color-mix(in srgb, var(--wi-color-info) 85%, black);
828
- --wi-button-active-bg: color-mix(in srgb, var(--wi-color-info) 75%, black);
829
- }
830
-
831
- .wi-button--warn {
832
- --wi-button-bg: var(--wi-color-warn);
833
- --wi-button-fg: var(--wi-color-on-emphasis);
834
- --wi-button-border: var(--wi-color-warn);
835
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-warn) 85%, black);
836
- --wi-button-hover-fg: var(--wi-color-on-emphasis);
837
- --wi-button-hover-border: color-mix(in srgb, var(--wi-color-warn) 85%, black);
838
- --wi-button-active-bg: color-mix(in srgb, var(--wi-color-warn) 75%, black);
839
- }
840
-
841
- .wi-button--help {
842
- --wi-button-bg: var(--wi-color-help);
843
- --wi-button-fg: var(--wi-color-on-emphasis);
844
- --wi-button-border: var(--wi-color-help);
845
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-help) 85%, black);
846
- --wi-button-hover-fg: var(--wi-color-on-emphasis);
847
- --wi-button-hover-border: color-mix(in srgb, var(--wi-color-help) 85%, black);
848
- --wi-button-active-bg: color-mix(in srgb, var(--wi-color-help) 75%, black);
849
- }
850
-
851
- .wi-button--danger {
852
- --wi-button-bg: var(--wi-color-danger);
853
- --wi-button-fg: var(--wi-color-on-emphasis);
854
- --wi-button-border: var(--wi-color-danger);
855
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-danger) 85%, black);
856
- --wi-button-hover-fg: var(--wi-color-on-emphasis);
857
- --wi-button-hover-border: color-mix(in srgb, var(--wi-color-danger) 85%, black);
858
- --wi-button-active-bg: color-mix(in srgb, var(--wi-color-danger) 75%, black);
859
- }
860
-
861
- .wi-button--contrast {
862
- --wi-button-bg: var(--wi-color-contrast);
863
- --wi-button-fg: var(--wi-color-contrast-fg);
864
- --wi-button-border: var(--wi-color-contrast);
865
- --wi-button-hover-bg: var(--wi-color-contrast-hover);
866
- --wi-button-hover-fg: var(--wi-color-contrast-fg);
867
- --wi-button-hover-border: var(--wi-color-contrast-hover);
868
- --wi-button-active-bg: var(--wi-color-contrast-active);
869
- }
870
-
871
- .wi-button--outlined {
872
- --wi-button-bg: transparent;
873
- --wi-button-fg: var(--wi-button-border);
874
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-button-border) 10%, transparent);
875
- --wi-button-hover-fg: var(--wi-button-border);
876
- --wi-button-hover-border: var(--wi-button-border);
877
- --wi-button-active-bg: color-mix(in srgb, var(--wi-button-border) 16%, transparent);
878
- }
879
-
880
- .wi-button--secondary.wi-button--outlined {
881
- --wi-button-border: var(--wi-color-border);
882
- --wi-button-fg: var(--wi-color-text);
883
- --wi-button-hover-fg: var(--wi-color-text);
884
- }
885
-
886
- .wi-button--text,
887
- .wi-button--link {
888
- --wi-button-bg: transparent;
889
- --wi-button-border: transparent;
890
- --wi-button-fg: var(--wi-color-primary);
891
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-primary) 10%, transparent);
892
- --wi-button-hover-fg: var(--wi-color-primary);
893
- --wi-button-hover-border: transparent;
894
- --wi-button-active-bg: color-mix(in srgb, var(--wi-color-primary) 16%, transparent);
895
- }
896
-
897
- .wi-button--secondary.wi-button--text,
898
- .wi-button--secondary.wi-button--link {
899
- --wi-button-fg: var(--wi-color-text-muted);
900
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-text-muted) 12%, transparent);
901
- --wi-button-hover-fg: var(--wi-color-text);
902
- }
903
-
904
- .wi-button--success.wi-button--text,
905
- .wi-button--success.wi-button--link,
906
- .wi-button--success.wi-button--outlined {
907
- --wi-button-fg: var(--wi-color-success);
908
- --wi-button-border: var(--wi-color-success);
909
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-success) 10%, transparent);
910
- --wi-button-hover-fg: var(--wi-color-success);
911
- --wi-button-hover-border: var(--wi-color-success);
912
- }
913
-
914
- .wi-button--info.wi-button--text,
915
- .wi-button--info.wi-button--link,
916
- .wi-button--info.wi-button--outlined {
917
- --wi-button-fg: var(--wi-color-info);
918
- --wi-button-border: var(--wi-color-info);
919
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-info) 10%, transparent);
920
- --wi-button-hover-fg: var(--wi-color-info);
921
- --wi-button-hover-border: var(--wi-color-info);
922
- }
923
-
924
- .wi-button--warn.wi-button--text,
925
- .wi-button--warn.wi-button--link,
926
- .wi-button--warn.wi-button--outlined {
927
- --wi-button-fg: var(--wi-color-warn);
928
- --wi-button-border: var(--wi-color-warn);
929
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-warn) 10%, transparent);
930
- --wi-button-hover-fg: var(--wi-color-warn);
931
- --wi-button-hover-border: var(--wi-color-warn);
1180
+ .wi-button--custom {
1181
+ --wi-button-bg: var(--wi-button-color);
1182
+ --wi-button-fg: var(--wi-color-on-emphasis);
1183
+ --wi-button-border: var(--wi-button-color);
1184
+ --wi-button-hover-bg: color-mix(in srgb, var(--wi-button-color) 85%, black);
1185
+ --wi-button-hover-fg: var(--wi-color-on-emphasis);
1186
+ --wi-button-hover-border: color-mix(
1187
+ in srgb,
1188
+ var(--wi-button-color) 85%,
1189
+ black
1190
+ );
1191
+ --wi-button-active-bg: color-mix(
1192
+ in srgb,
1193
+ var(--wi-button-color) 75%,
1194
+ black
1195
+ );
932
1196
  }
933
1197
 
934
- .wi-button--help.wi-button--text,
935
- .wi-button--help.wi-button--link,
936
- .wi-button--help.wi-button--outlined {
937
- --wi-button-fg: var(--wi-color-help);
938
- --wi-button-border: var(--wi-color-help);
939
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-help) 10%, transparent);
940
- --wi-button-hover-fg: var(--wi-color-help);
941
- --wi-button-hover-border: var(--wi-color-help);
1198
+ .wi-button--custom.wi-button--outlined,
1199
+ .wi-button--custom.wi-button--ghost,
1200
+ .wi-button--custom.wi-button--text,
1201
+ .wi-button--custom.wi-button--quaternary,
1202
+ .wi-button--custom.wi-button--link {
1203
+ --wi-button-bg: transparent;
1204
+ --wi-button-fg: var(--wi-button-color);
1205
+ --wi-button-border: var(--wi-button-color);
1206
+ --wi-button-hover-bg: color-mix(
1207
+ in srgb,
1208
+ var(--wi-button-color) 12%,
1209
+ transparent
1210
+ );
1211
+ --wi-button-hover-fg: var(--wi-button-color);
1212
+ --wi-button-hover-border: var(--wi-button-color);
942
1213
  }
943
1214
 
944
- .wi-button--danger.wi-button--text,
945
- .wi-button--danger.wi-button--link,
946
- .wi-button--danger.wi-button--outlined {
947
- --wi-button-fg: var(--wi-color-danger);
948
- --wi-button-border: var(--wi-color-danger);
949
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-danger) 10%, transparent);
950
- --wi-button-hover-fg: var(--wi-color-danger);
951
- --wi-button-hover-border: var(--wi-color-danger);
1215
+ .wi-button--custom.wi-button--text,
1216
+ .wi-button--custom.wi-button--quaternary,
1217
+ .wi-button--custom.wi-button--link {
1218
+ --wi-button-border: transparent;
1219
+ --wi-button-hover-border: transparent;
952
1220
  }
953
1221
 
954
- .wi-button--contrast.wi-button--text,
955
- .wi-button--contrast.wi-button--link,
956
- .wi-button--contrast.wi-button--outlined {
957
- --wi-button-fg: var(--wi-color-contrast);
958
- --wi-button-border: var(--wi-color-contrast);
959
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-contrast) 10%, transparent);
960
- --wi-button-hover-fg: var(--wi-color-contrast);
961
- --wi-button-hover-border: var(--wi-color-contrast);
1222
+ .wi-button-group {
1223
+ display: inline-flex;
1224
+ vertical-align: middle;
962
1225
  }
963
1226
 
964
- .wi-button--plain.wi-button--text,
965
- .wi-button--plain.wi-button--outlined,
966
- .wi-button--plain.wi-button--link {
967
- --wi-button-fg: var(--wi-color-text-muted);
968
- --wi-button-border: var(--wi-color-border);
969
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-text-muted) 12%, transparent);
970
- --wi-button-hover-fg: var(--wi-color-text);
971
- --wi-button-hover-border: var(--wi-color-border);
1227
+ .wi-button-group--fluid {
1228
+ display: flex;
1229
+ width: 100%;
972
1230
  }
973
1231
 
974
- .wi-button--link {
975
- height: auto;
976
- min-height: 0;
977
- padding: 0;
1232
+ .wi-button-group--fluid > .wi-button {
1233
+ flex: 1;
978
1234
  }
979
1235
 
980
- .wi-button--link:hover:not(:disabled) {
981
- text-decoration: underline;
1236
+ .wi-button-group > .wi-button {
1237
+ border-radius: 0;
1238
+ margin: 0;
982
1239
  }
983
1240
 
984
- .wi-button--ghost {
985
- --wi-button-bg: transparent;
986
- --wi-button-fg: var(--wi-button-border);
987
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-button-border) 12%, transparent);
988
- --wi-button-hover-fg: var(--wi-button-border);
989
- --wi-button-hover-border: var(--wi-button-border);
990
- --wi-button-active-bg: color-mix(in srgb, var(--wi-button-border) 18%, transparent);
1241
+ .wi-button-group > .wi-button + .wi-button {
1242
+ margin-left: -1px;
991
1243
  }
992
1244
 
993
- .wi-button--secondary.wi-button--ghost {
994
- --wi-button-border: var(--wi-color-border);
995
- --wi-button-fg: var(--wi-color-text);
996
- --wi-button-hover-fg: var(--wi-color-text);
1245
+ .wi-button-group > .wi-button:first-child {
1246
+ border-top-left-radius: var(--wi-radius-md);
1247
+ border-bottom-left-radius: var(--wi-radius-md);
997
1248
  }
998
1249
 
999
- .wi-button--success.wi-button--ghost {
1000
- --wi-button-fg: var(--wi-color-success);
1001
- --wi-button-border: var(--wi-color-success);
1250
+ .wi-button-group > .wi-button:last-child {
1251
+ border-top-right-radius: var(--wi-radius-md);
1252
+ border-bottom-right-radius: var(--wi-radius-md);
1002
1253
  }
1003
1254
 
1004
- .wi-button--info.wi-button--ghost {
1005
- --wi-button-fg: var(--wi-color-info);
1006
- --wi-button-border: var(--wi-color-info);
1255
+ .wi-button--raised {
1256
+ box-shadow: 0 0.25rem 0.75rem
1257
+ color-mix(in srgb, var(--wi-color-text) 14%, transparent);
1007
1258
  }
1008
1259
 
1009
- .wi-button--warn.wi-button--ghost {
1010
- --wi-button-fg: var(--wi-color-warn);
1011
- --wi-button-border: var(--wi-color-warn);
1260
+ .wi-button--rounded {
1261
+ border-radius: var(--wi-radius-full);
1012
1262
  }
1013
1263
 
1014
- .wi-button--help.wi-button--ghost {
1015
- --wi-button-fg: var(--wi-color-help);
1016
- --wi-button-border: var(--wi-color-help);
1264
+ .wi-button--icon-only {
1265
+ gap: 0;
1266
+ min-width: var(--wi-control-height-medium);
1267
+ padding: 0;
1268
+ width: var(--wi-control-height-medium);
1017
1269
  }
1018
1270
 
1019
- .wi-button--danger.wi-button--ghost {
1020
- --wi-button-fg: var(--wi-color-danger);
1021
- --wi-button-border: var(--wi-color-danger);
1271
+ .wi-button--icon-only.wi-button--small {
1272
+ min-width: var(--wi-control-height-small);
1273
+ width: var(--wi-control-height-small);
1022
1274
  }
1023
1275
 
1024
- .wi-button--contrast.wi-button--ghost {
1025
- --wi-button-fg: var(--wi-color-contrast);
1026
- --wi-button-border: var(--wi-color-contrast);
1276
+ .wi-button--icon-only.wi-button--large {
1277
+ min-width: var(--wi-control-height-large);
1278
+ width: var(--wi-control-height-large);
1027
1279
  }
1028
1280
 
1029
- .wi-button--quaternary {
1030
- --wi-button-bg: transparent;
1031
- --wi-button-border: transparent;
1032
- --wi-button-fg: var(--wi-color-text);
1033
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-color-text-muted) 10%, transparent);
1034
- --wi-button-hover-fg: var(--wi-color-text);
1035
- --wi-button-hover-border: transparent;
1036
- --wi-button-active-bg: color-mix(in srgb, var(--wi-color-text-muted) 16%, transparent);
1281
+ .wi-button--icon-right {
1282
+ flex-direction: row-reverse;
1037
1283
  }
1038
1284
 
1039
- .wi-button--custom {
1040
- --wi-button-bg: var(--wi-button-color);
1041
- --wi-button-fg: var(--wi-color-on-emphasis);
1042
- --wi-button-border: var(--wi-button-color);
1043
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-button-color) 85%, black);
1044
- --wi-button-hover-fg: var(--wi-color-on-emphasis);
1045
- --wi-button-hover-border: color-mix(in srgb, var(--wi-button-color) 85%, black);
1046
- --wi-button-active-bg: color-mix(in srgb, var(--wi-button-color) 75%, black);
1285
+ .wi-button--icon-top {
1286
+ flex-direction: column;
1287
+ min-height: var(--wi-button-icon-stack-min-height);
1288
+ padding-block: var(--wi-space-2);
1047
1289
  }
1048
1290
 
1049
- .wi-button--custom.wi-button--outlined,
1050
- .wi-button--custom.wi-button--ghost,
1051
- .wi-button--custom.wi-button--text,
1052
- .wi-button--custom.wi-button--quaternary,
1053
- .wi-button--custom.wi-button--link {
1054
- --wi-button-bg: transparent;
1055
- --wi-button-fg: var(--wi-button-color);
1056
- --wi-button-border: var(--wi-button-color);
1057
- --wi-button-hover-bg: color-mix(in srgb, var(--wi-button-color) 12%, transparent);
1058
- --wi-button-hover-fg: var(--wi-button-color);
1059
- --wi-button-hover-border: var(--wi-button-color);
1291
+ .wi-button--icon-bottom {
1292
+ flex-direction: column-reverse;
1293
+ min-height: var(--wi-button-icon-stack-min-height);
1294
+ padding-block: var(--wi-space-2);
1060
1295
  }
1061
1296
 
1062
- .wi-button--custom.wi-button--text,
1063
- .wi-button--custom.wi-button--quaternary,
1064
- .wi-button--custom.wi-button--link {
1065
- --wi-button-border: transparent;
1066
- --wi-button-hover-border: transparent;
1297
+ .wi-button--fluid {
1298
+ display: flex;
1299
+ width: 100%;
1067
1300
  }
1068
1301
 
1069
- .wi-button-group {
1070
- display: inline-flex;
1071
- vertical-align: middle;
1302
+ .wi-button--small {
1303
+ font-size: var(--wi-control-font-small);
1304
+ min-height: var(--wi-control-height-small);
1305
+ padding: 0 var(--wi-button-padding-x-small);
1072
1306
  }
1073
1307
 
1074
- .wi-button-group--fluid {
1075
- display: flex;
1076
- width: 100%;
1308
+ .wi-button--large {
1309
+ font-size: var(--wi-control-font-large);
1310
+ min-height: var(--wi-control-height-large);
1311
+ padding: 0 var(--wi-button-padding-x-large);
1077
1312
  }
1078
1313
 
1079
- .wi-button-group--fluid > .wi-button {
1080
- flex: 1;
1081
- }
1082
-
1083
- .wi-button-group > .wi-button {
1084
- border-radius: 0;
1085
- margin: 0;
1086
- }
1087
-
1088
- .wi-button-group > .wi-button + .wi-button {
1089
- margin-left: -1px;
1090
- }
1091
-
1092
- .wi-button-group > .wi-button:first-child {
1093
- border-top-left-radius: var(--wi-radius-md);
1094
- border-bottom-left-radius: var(--wi-radius-md);
1095
- }
1096
-
1097
- .wi-button-group > .wi-button:last-child {
1098
- border-top-right-radius: var(--wi-radius-md);
1099
- border-bottom-right-radius: var(--wi-radius-md);
1100
- }
1101
-
1102
- .wi-button--raised {
1103
- box-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--wi-color-text) 14%, transparent);
1104
- }
1105
-
1106
- .wi-button--rounded {
1107
- border-radius: var(--wi-radius-full);
1108
- }
1109
-
1110
- .wi-button--icon-only {
1111
- gap: 0;
1112
- min-width: var(--wi-control-height-medium);
1113
- padding: 0;
1114
- width: var(--wi-control-height-medium);
1115
- }
1116
-
1117
- .wi-button--icon-only.wi-button--small {
1118
- min-width: var(--wi-control-height-small);
1119
- width: var(--wi-control-height-small);
1120
- }
1121
-
1122
- .wi-button--icon-only.wi-button--large {
1123
- min-width: var(--wi-control-height-large);
1124
- width: var(--wi-control-height-large);
1125
- }
1126
-
1127
- .wi-button--icon-right {
1128
- flex-direction: row-reverse;
1129
- }
1130
-
1131
- .wi-button--icon-top {
1132
- flex-direction: column;
1133
- min-height: 3.25rem;
1134
- padding-block: var(--wi-space-2);
1135
- }
1136
-
1137
- .wi-button--icon-bottom {
1138
- flex-direction: column-reverse;
1139
- min-height: 3.25rem;
1140
- padding-block: var(--wi-space-2);
1141
- }
1142
-
1143
- .wi-button--fluid {
1144
- display: flex;
1145
- width: 100%;
1146
- }
1147
-
1148
- .wi-button--small {
1149
- font-size: var(--wi-control-font-small);
1150
- min-height: var(--wi-control-height-small);
1151
- padding: 0 var(--wi-button-padding-x-small);
1152
- }
1153
-
1154
- .wi-button--large {
1155
- font-size: var(--wi-control-font-large);
1156
- min-height: var(--wi-control-height-large);
1157
- padding: 0 var(--wi-button-padding-x-large);
1158
- }
1159
-
1160
- .wi-button__icon,
1161
- .wi-button__label {
1162
- align-items: center;
1163
- display: inline-flex;
1164
- justify-content: center;
1314
+ .wi-button__icon,
1315
+ .wi-button__label {
1316
+ align-items: center;
1317
+ display: inline-flex;
1318
+ justify-content: center;
1165
1319
  }
1166
1320
 
1167
- .wi-button__icon {
1168
- flex: 0 0 auto;
1321
+ .wi-button__icon {
1322
+ flex: 0 0 auto;
1169
1323
  }
1170
1324
 
1171
- .wi-button__badge {
1172
- align-items: center;
1173
- background: var(--wi-color-contrast);
1174
- border-radius: var(--wi-radius-full);
1175
- color: var(--wi-color-contrast-fg);
1176
- display: inline-flex;
1177
- font-size: 0.65rem;
1178
- font-weight: 700;
1179
- justify-content: center;
1180
- line-height: 1;
1181
- margin-inline-start: var(--wi-space-1);
1182
- min-width: 1.15rem;
1183
- padding: 0.2rem 0.35rem;
1325
+ .wi-button__badge {
1326
+ align-items: center;
1327
+ background: var(--wi-color-contrast);
1328
+ border-radius: var(--wi-radius-full);
1329
+ color: var(--wi-color-contrast-fg);
1330
+ display: inline-flex;
1331
+ font-size: var(--wi-font-size-xs);
1332
+ font-weight: 700;
1333
+ justify-content: center;
1334
+ line-height: 1;
1335
+ margin-inline-start: var(--wi-space-1);
1336
+ min-width: var(--wi-button-badge-min-width);
1337
+ padding: var(--wi-space-1) var(--wi-space-2);
1184
1338
  }
1185
1339
 
1186
- .wi-button__badge--secondary {
1187
- background: color-mix(in srgb, var(--wi-color-text-muted) 25%, var(--wi-color-surface));
1188
- color: var(--wi-color-text);
1340
+ .wi-button__badge--secondary {
1341
+ background: color-mix(
1342
+ in srgb,
1343
+ var(--wi-color-text-muted) 25%,
1344
+ var(--wi-color-surface)
1345
+ );
1346
+ color: var(--wi-color-text);
1189
1347
  }
1190
1348
 
1191
- .wi-button__badge--success {
1192
- background: var(--wi-color-success);
1193
- color: var(--wi-color-on-emphasis);
1349
+ .wi-button__badge--success {
1350
+ background: var(--wi-color-success);
1351
+ color: var(--wi-color-on-emphasis);
1194
1352
  }
1195
1353
 
1196
- .wi-button__badge--info {
1197
- background: var(--wi-color-info);
1198
- color: var(--wi-color-on-emphasis);
1354
+ .wi-button__badge--info {
1355
+ background: var(--wi-color-info);
1356
+ color: var(--wi-color-on-emphasis);
1199
1357
  }
1200
1358
 
1201
- .wi-button__badge--warn {
1202
- background: var(--wi-color-warn);
1203
- color: var(--wi-color-on-emphasis);
1359
+ .wi-button__badge--warn {
1360
+ background: var(--wi-color-warn);
1361
+ color: var(--wi-color-on-emphasis);
1204
1362
  }
1205
1363
 
1206
- .wi-button__badge--danger {
1207
- background: var(--wi-color-danger);
1208
- color: var(--wi-color-on-emphasis);
1364
+ .wi-button__badge--danger {
1365
+ background: var(--wi-color-danger);
1366
+ color: var(--wi-color-on-emphasis);
1209
1367
  }
1210
1368
 
1211
- .wi-button__badge--contrast {
1212
- background: var(--wi-color-contrast);
1213
- color: var(--wi-color-contrast-fg);
1369
+ .wi-button__badge--contrast {
1370
+ background: var(--wi-color-contrast);
1371
+ color: var(--wi-color-contrast-fg);
1214
1372
  }
1215
1373
 
1216
- .wi-button__spinner {
1217
- animation: wi-button-spin 700ms linear infinite;
1218
- border: 2px solid currentColor;
1219
- border-right-color: transparent;
1220
- border-radius: var(--wi-radius-full);
1221
- height: 0.875rem;
1222
- width: 0.875rem;
1374
+ .wi-button__spinner {
1375
+ animation: wi-button-spin 700ms linear infinite;
1376
+ border: 2px solid currentColor;
1377
+ border-right-color: transparent;
1378
+ border-radius: var(--wi-radius-full);
1379
+ height: var(--wi-button-spinner-size);
1380
+ width: var(--wi-button-spinner-size);
1223
1381
  }
1224
1382
 
1225
- @keyframes wi-button-spin {
1226
- to {
1227
- transform: rotate(360deg);
1228
- }
1383
+ @keyframes wi-button-spin {
1384
+ to {
1385
+ transform: rotate(360deg);
1386
+ }
1229
1387
  }
1230
1388
 
1231
- .wi-dialog button:focus {
1232
- outline: none;
1389
+ .wi-dialog button:focus {
1390
+ outline: none;
1233
1391
  }
1234
1392
 
1235
- .wi-dialog button:focus-visible {
1236
- box-shadow: var(--wi-focus-shadow);
1237
- outline: none;
1393
+ .wi-dialog button:focus-visible {
1394
+ box-shadow: var(--wi-focus-shadow);
1395
+ outline: none;
1238
1396
  }
1239
1397
 
1240
- .wi-dialog-backdrop {
1241
- align-items: center;
1242
- background: transparent;
1243
- display: flex;
1244
- inset: 0;
1245
- justify-content: center;
1246
- padding: var(--wi-space-4);
1247
- position: fixed;
1248
- z-index: var(--wi-z-overlay);
1398
+ .wi-dialog-backdrop {
1399
+ align-items: center;
1400
+ background: transparent;
1401
+ display: flex;
1402
+ inset: 0;
1403
+ justify-content: center;
1404
+ padding: var(--wi-space-4);
1405
+ position: fixed;
1406
+ z-index: var(--wi-z-overlay);
1249
1407
  }
1250
1408
 
1251
- .wi-dialog-zoom {
1252
- align-items: inherit;
1253
- display: flex;
1254
- inset: 0;
1255
- justify-content: inherit;
1256
- padding: inherit;
1257
- position: absolute;
1258
- transform-origin: var(--wi-dialog-origin-x, 50%) var(--wi-dialog-origin-y, 50%);
1409
+ .wi-dialog-zoom {
1410
+ align-items: inherit;
1411
+ display: flex;
1412
+ inset: 0;
1413
+ justify-content: inherit;
1414
+ padding: inherit;
1415
+ position: absolute;
1416
+ transform-origin: var(--wi-dialog-origin-x, 50%)
1417
+ var(--wi-dialog-origin-y, 50%);
1259
1418
  }
1260
1419
 
1261
- .wi-dialog-backdrop--modal {
1262
- background: var(--wi-overlay-scrim);
1420
+ .wi-dialog-backdrop--modal {
1421
+ background: var(--wi-overlay-scrim);
1263
1422
  }
1264
1423
 
1265
- .wi-dialog-backdrop--top {
1266
- align-items: flex-start;
1424
+ .wi-dialog-backdrop--top {
1425
+ align-items: flex-start;
1267
1426
  }
1268
1427
 
1269
- .wi-dialog-backdrop--bottom {
1270
- align-items: flex-end;
1428
+ .wi-dialog-backdrop--bottom {
1429
+ align-items: flex-end;
1271
1430
  }
1272
1431
 
1273
- .wi-dialog-backdrop--left {
1274
- justify-content: flex-start;
1432
+ .wi-dialog-backdrop--left {
1433
+ justify-content: flex-start;
1275
1434
  }
1276
1435
 
1277
- .wi-dialog-backdrop--right {
1278
- justify-content: flex-end;
1436
+ .wi-dialog-backdrop--right {
1437
+ justify-content: flex-end;
1279
1438
  }
1280
1439
 
1281
- .wi-dialog-backdrop--topleft {
1282
- align-items: flex-start;
1283
- justify-content: flex-start;
1440
+ .wi-dialog-backdrop--topleft {
1441
+ align-items: flex-start;
1442
+ justify-content: flex-start;
1284
1443
  }
1285
1444
 
1286
- .wi-dialog-backdrop--topright {
1287
- align-items: flex-start;
1288
- justify-content: flex-end;
1445
+ .wi-dialog-backdrop--topright {
1446
+ align-items: flex-start;
1447
+ justify-content: flex-end;
1289
1448
  }
1290
1449
 
1291
- .wi-dialog-backdrop--bottomleft {
1292
- align-items: flex-end;
1293
- justify-content: flex-start;
1450
+ .wi-dialog-backdrop--bottomleft {
1451
+ align-items: flex-end;
1452
+ justify-content: flex-start;
1294
1453
  }
1295
1454
 
1296
- .wi-dialog-backdrop--bottomright {
1297
- align-items: flex-end;
1298
- justify-content: flex-end;
1455
+ .wi-dialog-backdrop--bottomright {
1456
+ align-items: flex-end;
1457
+ justify-content: flex-end;
1299
1458
  }
1300
1459
 
1301
- .wi-dialog {
1302
- background: var(--wi-color-surface);
1303
- border-radius: var(--wi-radius-lg);
1304
- box-shadow: var(--wi-shadow-lg);
1305
- color: var(--wi-color-text);
1306
- display: flex;
1307
- flex-direction: column;
1308
- max-height: min(90vh, 100%);
1309
- max-width: 32rem;
1310
- width: min(100%, 32rem);
1460
+ .wi-dialog {
1461
+ --wi-dialog-width: 32rem;
1462
+ --wi-dialog-max-height: min(90vh, 100%);
1463
+ --wi-dialog-radius: var(--wi-radius-lg);
1464
+ background: var(--wi-color-surface);
1465
+ border-radius: var(--wi-dialog-radius);
1466
+ box-shadow: var(--wi-shadow-lg);
1467
+ color: var(--wi-color-text);
1468
+ display: flex;
1469
+ flex-direction: column;
1470
+ max-height: var(--wi-dialog-max-height);
1471
+ max-width: var(--wi-dialog-width);
1472
+ width: min(100%, var(--wi-dialog-width));
1311
1473
  }
1312
1474
 
1313
- .wi-dialog-backdrop--maximized {
1314
- padding: 0;
1475
+ .wi-dialog-backdrop--maximized {
1476
+ padding: 0;
1315
1477
  }
1316
1478
 
1317
- .wi-dialog--maximized {
1318
- border-radius: 0;
1319
- height: 100%;
1320
- max-height: 100%;
1321
- max-width: none;
1322
- width: 100%;
1479
+ .wi-dialog--maximized {
1480
+ --wi-dialog-radius: 0;
1481
+ border-radius: var(--wi-dialog-radius);
1482
+ height: 100%;
1483
+ max-height: 100%;
1484
+ max-width: none;
1485
+ width: 100%;
1323
1486
  }
1324
1487
 
1325
- .wi-dialog__header,
1326
- .wi-dialog__footer {
1327
- align-items: center;
1328
- display: flex;
1329
- justify-content: space-between;
1330
- padding: var(--wi-space-4);
1488
+ .wi-dialog__header,
1489
+ .wi-dialog__footer {
1490
+ align-items: center;
1491
+ display: flex;
1492
+ justify-content: space-between;
1493
+ padding: var(--wi-space-4);
1331
1494
  }
1332
1495
 
1333
- .wi-dialog__header {
1334
- border-bottom: 1px solid var(--wi-color-border);
1335
- flex: 0 0 auto;
1336
- gap: var(--wi-space-3);
1496
+ .wi-dialog__header {
1497
+ border-bottom: 1px solid var(--wi-color-border);
1498
+ flex: 0 0 auto;
1499
+ gap: var(--wi-space-3);
1337
1500
  }
1338
1501
 
1339
- .wi-dialog__header h2 {
1340
- font-size: var(--wi-font-size-lg);
1341
- margin: 0;
1502
+ .wi-dialog__header h2 {
1503
+ font-size: var(--wi-font-size-lg);
1504
+ margin: 0;
1342
1505
  }
1343
1506
 
1344
- .wi-dialog__heading {
1345
- align-items: center;
1346
- display: flex;
1347
- gap: var(--wi-space-2);
1348
- min-width: 0;
1507
+ .wi-dialog__heading {
1508
+ align-items: center;
1509
+ display: flex;
1510
+ gap: var(--wi-space-2);
1511
+ min-width: 0;
1349
1512
  }
1350
1513
 
1351
- .wi-dialog__type-icon {
1352
- color: var(--wi-color-info);
1353
- flex-shrink: 0;
1514
+ .wi-dialog__type-icon {
1515
+ color: var(--wi-color-info);
1516
+ flex-shrink: 0;
1354
1517
  }
1355
1518
 
1356
- .wi-dialog--success .wi-dialog__type-icon {
1357
- color: var(--wi-color-success);
1519
+ .wi-dialog--success .wi-dialog__type-icon {
1520
+ color: var(--wi-color-success);
1358
1521
  }
1359
1522
 
1360
- .wi-dialog--warn .wi-dialog__type-icon,
1361
- .wi-dialog--warning .wi-dialog__type-icon {
1362
- color: var(--wi-color-warn);
1523
+ .wi-dialog--warn .wi-dialog__type-icon,
1524
+ .wi-dialog--warning .wi-dialog__type-icon {
1525
+ color: var(--wi-color-warn);
1363
1526
  }
1364
1527
 
1365
- .wi-dialog--error .wi-dialog__type-icon {
1366
- color: var(--wi-color-danger);
1528
+ .wi-dialog--error .wi-dialog__type-icon {
1529
+ color: var(--wi-color-danger);
1367
1530
  }
1368
1531
 
1369
- .wi-dialog--info .wi-dialog__type-icon {
1370
- color: var(--wi-color-info);
1532
+ .wi-dialog--info .wi-dialog__type-icon {
1533
+ color: var(--wi-color-info);
1371
1534
  }
1372
1535
 
1373
- .wi-dialog__actions {
1374
- align-items: center;
1375
- display: flex;
1376
- flex: 0 0 auto;
1377
- gap: var(--wi-space-1);
1378
- margin-left: auto;
1536
+ .wi-dialog__actions {
1537
+ align-items: center;
1538
+ display: flex;
1539
+ flex: 0 0 auto;
1540
+ gap: var(--wi-space-1);
1541
+ margin-left: auto;
1379
1542
  }
1380
1543
 
1381
- .wi-dialog__action,
1382
- .wi-dialog__header button {
1383
- align-items: center;
1384
- background: transparent;
1385
- border: 0;
1386
- border-radius: var(--wi-radius-sm);
1387
- color: var(--wi-color-text-muted);
1388
- cursor: pointer;
1389
- display: inline-flex;
1390
- font-size: var(--wi-font-size-lg);
1391
- height: var(--wi-control-affix-size);
1392
- justify-content: center;
1393
- line-height: 1;
1394
- width: var(--wi-control-affix-size);
1544
+ .wi-dialog__action,
1545
+ .wi-dialog__header button {
1546
+ align-items: center;
1547
+ background: transparent;
1548
+ border: 0;
1549
+ border-radius: var(--wi-radius-sm);
1550
+ color: var(--wi-color-text-muted);
1551
+ cursor: pointer;
1552
+ display: inline-flex;
1553
+ font-size: var(--wi-font-size-lg);
1554
+ height: var(--wi-control-affix-size);
1555
+ justify-content: center;
1556
+ line-height: 1;
1557
+ width: var(--wi-control-affix-size);
1395
1558
  }
1396
1559
 
1397
- .wi-dialog__action:focus-visible,
1398
- .wi-dialog__header button:focus-visible {
1399
- box-shadow: var(--wi-focus-shadow);
1400
- outline: none;
1560
+ .wi-dialog__action:focus-visible,
1561
+ .wi-dialog__header button:focus-visible {
1562
+ box-shadow: var(--wi-focus-shadow);
1563
+ outline: none;
1401
1564
  }
1402
1565
 
1403
- .wi-dialog__body {
1404
- flex: 1 1 auto;
1405
- overflow: auto;
1406
- padding: var(--wi-space-4);
1566
+ .wi-dialog__body {
1567
+ flex: 1 1 auto;
1568
+ overflow: auto;
1569
+ padding: var(--wi-space-4);
1407
1570
  }
1408
1571
 
1409
- .wi-dialog__action:disabled {
1410
- cursor: default;
1411
- opacity: 0.5;
1572
+ .wi-dialog__action:disabled {
1573
+ cursor: default;
1574
+ opacity: 0.5;
1412
1575
  }
1413
1576
 
1414
- .wi-dialog__footer {
1415
- border-top: 1px solid var(--wi-color-border);
1416
- flex: 0 0 auto;
1577
+ .wi-dialog__footer {
1578
+ border-top: 1px solid var(--wi-color-border);
1579
+ flex: 0 0 auto;
1417
1580
  }
1418
1581
 
1419
- .wi-dialog__footer--preset {
1420
- gap: var(--wi-space-2);
1421
- justify-content: flex-end;
1422
- width: 100%;
1582
+ .wi-dialog__footer--preset {
1583
+ gap: var(--wi-space-2);
1584
+ justify-content: flex-end;
1585
+ width: 100%;
1423
1586
  }
1424
1587
 
1425
- .wi-dialog-enter-active {
1426
- transition: opacity var(--wi-motion-enter) var(--wi-motion-ease);
1588
+ .wi-dialog-enter-active {
1589
+ transition: opacity var(--wi-motion-enter) var(--wi-motion-ease);
1427
1590
  }
1428
1591
 
1429
- .wi-dialog-leave-active {
1430
- transition: opacity var(--wi-motion-exit) var(--wi-motion-ease);
1592
+ .wi-dialog-leave-active {
1593
+ transition: opacity var(--wi-motion-exit) var(--wi-motion-ease);
1431
1594
  }
1432
1595
 
1433
- .wi-dialog-enter-active .wi-dialog-zoom,
1434
- .wi-dialog-leave-active .wi-dialog-zoom {
1435
- transition:
1436
- opacity var(--wi-motion-enter) var(--wi-motion-ease),
1437
- transform var(--wi-motion-enter) var(--wi-motion-ease);
1596
+ .wi-dialog-enter-active .wi-dialog-zoom,
1597
+ .wi-dialog-leave-active .wi-dialog-zoom {
1598
+ transition:
1599
+ opacity var(--wi-motion-enter) var(--wi-motion-ease),
1600
+ transform var(--wi-motion-enter) var(--wi-motion-ease);
1438
1601
  }
1439
1602
 
1440
- .wi-dialog-leave-active .wi-dialog-zoom {
1441
- transition:
1442
- opacity var(--wi-motion-exit) var(--wi-motion-ease),
1443
- transform var(--wi-motion-exit) var(--wi-motion-ease);
1603
+ .wi-dialog-leave-active .wi-dialog-zoom {
1604
+ transition:
1605
+ opacity var(--wi-motion-exit) var(--wi-motion-ease),
1606
+ transform var(--wi-motion-exit) var(--wi-motion-ease);
1444
1607
  }
1445
1608
 
1446
- .wi-dialog-enter-from,
1447
- .wi-dialog-leave-to {
1448
- opacity: 0;
1609
+ .wi-dialog-enter-from,
1610
+ .wi-dialog-leave-to {
1611
+ opacity: 0;
1449
1612
  }
1450
1613
 
1451
- .wi-dialog-enter-from .wi-dialog-zoom,
1452
- .wi-dialog-leave-to .wi-dialog-zoom {
1453
- opacity: 0;
1454
- transform: scale(0.36);
1614
+ .wi-dialog-enter-from .wi-dialog-zoom,
1615
+ .wi-dialog-leave-to .wi-dialog-zoom {
1616
+ opacity: 0;
1617
+ transform: scale(0.36);
1455
1618
  }
1456
1619
 
1457
1620
  .wi-icon {
@@ -1493,26 +1656,27 @@
1493
1656
  }
1494
1657
  }
1495
1658
 
1496
- /* —— Overlay: ConfirmDialog —— */
1497
- .wi-confirmdialog {
1498
- max-width: min(28rem, calc(100vw - 2rem));
1659
+ /* —— Overlay: ConfirmDialog —— */
1660
+ .wi-confirmdialog {
1661
+ --wi-confirmdialog-width: 28rem;
1662
+ max-width: min(var(--wi-confirmdialog-width), calc(100vw - 2rem));
1499
1663
  }
1500
1664
 
1501
- .wi-confirmdialog__footer {
1502
- display: flex;
1503
- gap: var(--wi-space-2);
1504
- justify-content: flex-end;
1665
+ .wi-confirmdialog__footer {
1666
+ display: flex;
1667
+ gap: var(--wi-space-2);
1668
+ justify-content: flex-end;
1505
1669
  }
1506
1670
 
1507
- .wi-confirmdialog__message {
1508
- align-items: flex-start;
1509
- color: var(--wi-color-text);
1510
- display: flex;
1511
- gap: var(--wi-space-3);
1512
- line-height: 1.5;
1671
+ .wi-confirmdialog__message {
1672
+ align-items: flex-start;
1673
+ color: var(--wi-color-text);
1674
+ display: flex;
1675
+ gap: var(--wi-space-3);
1676
+ line-height: 1.5;
1513
1677
  }
1514
1678
 
1515
- .wi-confirmdialog__copy {
1516
- flex: 1 1 auto;
1517
- min-width: 0;
1679
+ .wi-confirmdialog__copy {
1680
+ flex: 1 1 auto;
1681
+ min-width: 0;
1518
1682
  }