@fibery/ui-kit 4.1.0 → 4.3.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 (917) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/package.json +9 -13
  3. package/src/antd/ant-upload.tsx +13 -13
  4. package/src/antd/auto-complete.tsx +10 -10
  5. package/src/antd/input-number.tsx +59 -49
  6. package/src/antd/input.tsx +1 -1
  7. package/src/antd/styles.ts +28 -22
  8. package/src/antd/tabs.tsx +28 -28
  9. package/src/apca.lc-low.test.ts +1 -3
  10. package/src/apca.test.ts +42 -43
  11. package/src/apca.ts +38 -39
  12. package/src/app-icon-with-fallback.tsx +6 -2
  13. package/src/avatar-colors.ts +71 -0
  14. package/src/avatar.tsx +2 -10
  15. package/src/banner/banner.tsx +1 -2
  16. package/src/box.tsx +26 -16
  17. package/src/button/back-button.tsx +2 -2
  18. package/src/button/make-button-colors.ts +13 -13
  19. package/src/button/select-button.tsx +2 -2
  20. package/src/canvas-colors.ts +71 -118
  21. package/src/checkbox.tsx +3 -3
  22. package/src/collapsible-section.tsx +3 -3
  23. package/src/color-filter.test.ts +13 -0
  24. package/src/color-filter.ts +27 -4
  25. package/src/color-utils.ts +9 -2
  26. package/src/command-menu/nested-command-menu.tsx +2 -2
  27. package/src/comment.tsx +2 -2
  28. package/src/count-badge.tsx +3 -11
  29. package/src/date-picker/date-range-picker-popup-content.tsx +3 -2
  30. package/src/date-picker/date-range-picker.tsx +23 -1
  31. package/src/date-picker/relative-date-picker.tsx +3 -2
  32. package/src/date-picker/single-date-picker-popup-content.tsx +3 -2
  33. package/src/date-picker/single-date-picker.tsx +19 -2
  34. package/src/design-system/alpha-coefficients.ts +235 -0
  35. package/src/design-system/alpha.ts +10 -1
  36. package/src/design-system/colors-enum.dark.neutral.test.ts +168 -168
  37. package/src/design-system/colors-enum.dark.warm.test.ts +168 -168
  38. package/src/design-system/colors-enum.light.neutral.test.ts +168 -168
  39. package/src/design-system/colors-enum.light.warm.test.ts +168 -168
  40. package/src/design-system/colors.ts +279 -182
  41. package/src/design-system/def.ts +1 -1
  42. package/src/design-system/fns.avatarPlaceholder.dark.neutral.test.ts +52 -0
  43. package/src/design-system/fns.avatarPlaceholder.dark.warm.test.ts +52 -0
  44. package/src/design-system/fns.avatarPlaceholder.light.neutral.test.ts +52 -0
  45. package/src/design-system/fns.avatarPlaceholder.light.warm.test.ts +52 -0
  46. package/src/design-system/fns.enum.ts +2 -0
  47. package/src/design-system/fns.icon.ts +1 -1
  48. package/src/design-system/fns.ts +43 -13
  49. package/src/design-system/theme.test.ts +4 -6
  50. package/src/design-system/theme.ts +22 -13
  51. package/src/design-system/vars.test.ts +2 -2
  52. package/src/design-system/vars.ts +3 -3
  53. package/src/design-system.ts +3 -1
  54. package/src/dom-utils.ts +5 -12
  55. package/src/dot.tsx +1 -0
  56. package/src/double-apply.ts +2 -2
  57. package/src/download-file.ts +36 -0
  58. package/src/dropdown-menu/index.tsx +0 -1
  59. package/src/emoji-picker/primitives/footer.tsx +1 -1
  60. package/src/emoji-picker/utils/frequently.ts +1 -1
  61. package/src/favorites-icon.tsx +2 -2
  62. package/src/fibermoji-placeholder.tsx +23 -56
  63. package/src/fibery-brand-logo.tsx +82 -0
  64. package/src/field-container.tsx +2 -2
  65. package/src/field-type-icon.tsx +18 -18
  66. package/src/file-item/file-menu-items.tsx +30 -12
  67. package/src/file-item/file-preview-actions.tsx +53 -12
  68. package/src/file-item/share-file.ts +53 -0
  69. package/src/file-item.tsx +9 -9
  70. package/src/format-date-from-now.ts +10 -5
  71. package/src/header-layout.tsx +41 -24
  72. package/src/highlight-colors.test.ts +1 -1
  73. package/src/highlight-colors.ts +27 -0
  74. package/src/html-styles.ts +0 -1
  75. package/src/icons/ast/appearance-auto.ts +1 -1
  76. package/src/icons/ast/architect.ts +12 -0
  77. package/src/icons/ast/arrow-back.ts +12 -0
  78. package/src/icons/ast/arrow-down.ts +12 -0
  79. package/src/icons/ast/{send-arrow.ts → arrow-send.ts} +3 -3
  80. package/src/icons/ast/arrow-up.ts +12 -0
  81. package/src/icons/ast/avatar.ts +12 -0
  82. package/src/icons/ast/backlog.ts +12 -0
  83. package/src/icons/ast/{check-circle-filled.ts → circle-check-filled.ts} +3 -3
  84. package/src/icons/ast/{check-circle.ts → circle-check.ts} +3 -3
  85. package/src/icons/ast/{error-circle-filled.ts → circle-cross-filled.ts} +3 -3
  86. package/src/icons/ast/circle-cross.ts +12 -0
  87. package/src/icons/ast/{info-circle-filled.ts → circle-info-filled.ts} +3 -3
  88. package/src/icons/ast/{info-circle.ts → circle-info.ts} +3 -3
  89. package/src/icons/ast/circle-pause.ts +12 -0
  90. package/src/icons/ast/circle-play.ts +12 -0
  91. package/src/icons/ast/comments.ts +12 -0
  92. package/src/icons/ast/credits-filled.ts +1 -1
  93. package/src/icons/ast/{add-database.ts → database-add.ts} +3 -3
  94. package/src/icons/ast/database-outline.ts +12 -0
  95. package/src/icons/ast/eye-off.ts +12 -0
  96. package/src/icons/ast/favorites-filled.ts +12 -0
  97. package/src/icons/ast/{switch-to-mention.ts → field-units-large.ts} +3 -3
  98. package/src/icons/ast/files.ts +12 -0
  99. package/src/icons/ast/{smart-folder.ts → folder-smart.ts} +3 -3
  100. package/src/icons/ast/fullscreen-mode-off.ts +12 -0
  101. package/src/icons/ast/fullscreen-mode-on.ts +1 -1
  102. package/src/icons/ast/{add-group.ts → group-add.ts} +3 -3
  103. package/src/icons/ast/{image-xmark.ts → image-error.ts} +3 -3
  104. package/src/icons/ast/index.tsx +132 -215
  105. package/src/icons/ast/{add-integration.ts → integration-add.ts} +3 -3
  106. package/src/icons/ast/integration-discourse.ts +12 -0
  107. package/src/icons/ast/integration-fibery.ts +12 -0
  108. package/src/icons/ast/integration-figma.ts +12 -0
  109. package/src/icons/ast/integration-github.ts +12 -0
  110. package/src/icons/ast/integration-gitlab.ts +12 -0
  111. package/src/icons/ast/integration-google-drive.ts +12 -0
  112. package/src/icons/ast/integration-google-map.ts +12 -0
  113. package/src/icons/ast/integration-intercom.ts +12 -0
  114. package/src/icons/ast/integration-jira.ts +12 -0
  115. package/src/icons/ast/integration-loom.ts +12 -0
  116. package/src/icons/ast/integration-miro.ts +12 -0
  117. package/src/icons/ast/integration-mixpanel.ts +12 -0
  118. package/src/icons/ast/integration-slack.ts +12 -0
  119. package/src/icons/ast/{suggest-integration.ts → integration-suggest.ts} +3 -3
  120. package/src/icons/ast/integration-twitter.ts +12 -0
  121. package/src/icons/ast/integration-unsplash.ts +12 -0
  122. package/src/icons/ast/integration-youtube.ts +12 -0
  123. package/src/icons/ast/integration-zendesk.ts +12 -0
  124. package/src/icons/ast/limits.ts +12 -0
  125. package/src/icons/ast/lock-filled.ts +12 -0
  126. package/src/icons/ast/lock.ts +1 -1
  127. package/src/icons/ast/move-down.ts +12 -0
  128. package/src/icons/ast/move-up.ts +12 -0
  129. package/src/icons/ast/open-in-panel.ts +12 -0
  130. package/src/icons/ast/open-link.ts +12 -0
  131. package/src/icons/ast/people-all.ts +12 -0
  132. package/src/icons/ast/people-edit.ts +12 -0
  133. package/src/icons/ast/people-group-remove.ts +12 -0
  134. package/src/icons/ast/people-group.ts +12 -0
  135. package/src/icons/ast/{invite-people.ts → people-invite.ts} +3 -3
  136. package/src/icons/ast/{remove-people.ts → people-remove.ts} +3 -3
  137. package/src/icons/ast/people-role.ts +12 -0
  138. package/src/icons/ast/people-x.ts +12 -0
  139. package/src/icons/ast/plus.ts +12 -0
  140. package/src/icons/ast/preferences.ts +12 -0
  141. package/src/icons/ast/propagate.ts +12 -0
  142. package/src/icons/ast/{add-reactions.ts → reactions-add.ts} +3 -3
  143. package/src/icons/ast/redo.ts +12 -0
  144. package/src/icons/ast/references.ts +12 -0
  145. package/src/icons/ast/richeditor-block-callout.ts +1 -1
  146. package/src/icons/ast/richeditor-block-code.ts +1 -1
  147. package/src/icons/ast/richeditor-block-embed.ts +1 -1
  148. package/src/icons/ast/richeditor-block-entity.ts +1 -1
  149. package/src/icons/ast/richeditor-block-file.ts +1 -1
  150. package/src/icons/ast/richeditor-block-h1.ts +1 -1
  151. package/src/icons/ast/richeditor-block-h2.ts +1 -1
  152. package/src/icons/ast/richeditor-block-h3.ts +1 -1
  153. package/src/icons/ast/richeditor-block-h4.ts +1 -1
  154. package/src/icons/ast/richeditor-block-mention.ts +1 -1
  155. package/src/icons/ast/richeditor-block-paragraph.ts +1 -1
  156. package/src/icons/ast/richeditor-block-quote.ts +1 -1
  157. package/src/icons/ast/richeditor-checklist-create.ts +1 -1
  158. package/src/icons/ast/richeditor-image-align-center.ts +1 -1
  159. package/src/icons/ast/richeditor-image-align-left.ts +1 -1
  160. package/src/icons/ast/richeditor-image-align-right.ts +1 -1
  161. package/src/icons/ast/richeditor-image.ts +12 -0
  162. package/src/icons/ast/richeditor-linkedhighlight-create.ts +1 -1
  163. package/src/icons/ast/richeditor-list-bullet.ts +1 -1
  164. package/src/icons/ast/richeditor-list-indent.ts +1 -1
  165. package/src/icons/ast/richeditor-list-ordered.ts +1 -1
  166. package/src/icons/ast/richeditor-list-unindent.ts +1 -1
  167. package/src/icons/ast/richeditor-mark-code.ts +1 -1
  168. package/src/icons/ast/richeditor-mark-em.ts +1 -1
  169. package/src/icons/ast/richeditor-mark-highlight.ts +1 -1
  170. package/src/icons/ast/richeditor-mark-strike.ts +1 -1
  171. package/src/icons/ast/richeditor-mark-strong.ts +1 -1
  172. package/src/icons/ast/richeditor-mark-text-background-color.ts +1 -1
  173. package/src/icons/ast/richeditor-mark-underline.ts +1 -1
  174. package/src/icons/ast/richeditor-table-create.ts +1 -1
  175. package/src/icons/ast/richeditor-video-upload.ts +1 -1
  176. package/src/icons/ast/{bolt.ts → rule.ts} +3 -3
  177. package/src/icons/ast/simple-compass.ts +1 -1
  178. package/src/icons/ast/space-add.ts +12 -0
  179. package/src/icons/ast/{move-space.ts → space-move.ts} +3 -3
  180. package/src/icons/ast/type-button.ts +1 -1
  181. package/src/icons/ast/type-checkbox.ts +1 -1
  182. package/src/icons/ast/type-date.ts +1 -1
  183. package/src/icons/ast/type-email.ts +1 -1
  184. package/src/icons/ast/type-emoji.ts +1 -1
  185. package/src/icons/ast/type-formula.ts +1 -1
  186. package/src/icons/ast/type-location.ts +1 -1
  187. package/src/icons/ast/type-lookup.ts +1 -1
  188. package/src/icons/ast/type-money.ts +1 -1
  189. package/src/icons/ast/type-multi-select.ts +1 -1
  190. package/src/icons/ast/type-number.ts +1 -1
  191. package/src/icons/ast/type-percent.ts +1 -1
  192. package/src/icons/ast/type-phone.ts +1 -1
  193. package/src/icons/ast/type-relation.ts +1 -1
  194. package/src/icons/ast/type-rich-text.ts +1 -1
  195. package/src/icons/ast/type-single-select.ts +1 -1
  196. package/src/icons/ast/type-text.ts +1 -1
  197. package/src/icons/ast/undo.ts +12 -0
  198. package/src/icons/ast/units-avatar.ts +1 -1
  199. package/src/icons/ast/units-collection.ts +1 -1
  200. package/src/icons/ast/units-counter.ts +1 -1
  201. package/src/icons/ast/units-date.ts +1 -1
  202. package/src/icons/ast/units-field-icon-button.ts +1 -1
  203. package/src/icons/ast/units-field.ts +1 -1
  204. package/src/icons/ast/units-input.ts +1 -1
  205. package/src/icons/ast/units-normal.ts +12 -0
  206. package/src/icons/ast/units-progress-bar.ts +1 -1
  207. package/src/icons/ast/units-rich-text.ts +1 -1
  208. package/src/icons/ast/units-snippet.ts +1 -1
  209. package/src/icons/ast/unlock.ts +12 -0
  210. package/src/icons/ast/{clear-value.ts → value-clear.ts} +3 -3
  211. package/src/icons/ast/view-app.ts +12 -0
  212. package/src/icons/ast/workflow.ts +12 -0
  213. package/src/icons/react/{anthropic.tsx → architect.tsx} +5 -5
  214. package/src/icons/react/arrow-back.tsx +18 -0
  215. package/src/icons/react/arrow-down.tsx +18 -0
  216. package/src/icons/react/arrow-send.tsx +18 -0
  217. package/src/icons/react/{app-wiki.tsx → arrow-up.tsx} +5 -5
  218. package/src/icons/react/avatar.tsx +18 -0
  219. package/src/icons/react/backlog.tsx +18 -0
  220. package/src/icons/react/circle-check-filled.tsx +18 -0
  221. package/src/icons/react/{add-database.tsx → circle-check.tsx} +5 -5
  222. package/src/icons/react/circle-cross-filled.tsx +18 -0
  223. package/src/icons/react/circle-cross.tsx +18 -0
  224. package/src/icons/react/circle-info-filled.tsx +18 -0
  225. package/src/icons/react/circle-info.tsx +18 -0
  226. package/src/icons/react/circle-pause.tsx +18 -0
  227. package/src/icons/react/circle-play.tsx +18 -0
  228. package/src/icons/react/comments.tsx +18 -0
  229. package/src/icons/react/database-add.tsx +18 -0
  230. package/src/icons/react/database-outline.tsx +18 -0
  231. package/src/icons/react/{chat-ai.tsx → eye-off.tsx} +5 -5
  232. package/src/icons/react/favorites-filled.tsx +18 -0
  233. package/src/icons/react/field-units-large.tsx +18 -0
  234. package/src/icons/react/{apple.tsx → files.tsx} +5 -5
  235. package/src/icons/react/folder-smart.tsx +18 -0
  236. package/src/icons/react/fullscreen-mode-off.tsx +18 -0
  237. package/src/icons/react/{app-store.tsx → group-add.tsx} +5 -5
  238. package/src/icons/react/image-error.tsx +18 -0
  239. package/src/icons/react/index.tsx +132 -215
  240. package/src/icons/react/{add-integration.tsx → integration-add.tsx} +5 -5
  241. package/src/icons/react/integration-discourse.tsx +18 -0
  242. package/src/icons/react/integration-fibery.tsx +18 -0
  243. package/src/icons/react/integration-figma.tsx +18 -0
  244. package/src/icons/react/integration-github.tsx +18 -0
  245. package/src/icons/react/integration-gitlab.tsx +18 -0
  246. package/src/icons/react/integration-google-drive.tsx +18 -0
  247. package/src/icons/react/integration-google-map.tsx +18 -0
  248. package/src/icons/react/{automations-disabled.tsx → integration-intercom.tsx} +5 -5
  249. package/src/icons/react/integration-jira.tsx +18 -0
  250. package/src/icons/react/integration-loom.tsx +18 -0
  251. package/src/icons/react/integration-miro.tsx +18 -0
  252. package/src/icons/react/{extension-references.tsx → integration-mixpanel.tsx} +5 -5
  253. package/src/icons/react/integration-slack.tsx +18 -0
  254. package/src/icons/react/integration-suggest.tsx +18 -0
  255. package/src/icons/react/integration-twitter.tsx +18 -0
  256. package/src/icons/react/integration-unsplash.tsx +18 -0
  257. package/src/icons/react/integration-youtube.tsx +18 -0
  258. package/src/icons/react/integration-zendesk.tsx +18 -0
  259. package/src/icons/react/{notifications.tsx → limits.tsx} +5 -5
  260. package/src/icons/react/lock-filled.tsx +18 -0
  261. package/src/icons/react/{add-group.tsx → move-down.tsx} +5 -5
  262. package/src/icons/react/move-up.tsx +18 -0
  263. package/src/icons/react/open-in-panel.tsx +18 -0
  264. package/src/icons/react/{ai-search.tsx → open-link.tsx} +5 -5
  265. package/src/icons/react/people-all.tsx +18 -0
  266. package/src/icons/react/people-edit.tsx +18 -0
  267. package/src/icons/react/people-group-remove.tsx +18 -0
  268. package/src/icons/react/people-group.tsx +18 -0
  269. package/src/icons/react/{add-reactions.tsx → people-invite.tsx} +5 -5
  270. package/src/icons/react/people-remove.tsx +18 -0
  271. package/src/icons/react/people-role.tsx +18 -0
  272. package/src/icons/react/people-x.tsx +18 -0
  273. package/src/icons/react/{chat.tsx → plus.tsx} +5 -5
  274. package/src/icons/react/preferences.tsx +18 -0
  275. package/src/icons/react/propagate.tsx +18 -0
  276. package/src/icons/react/reactions-add.tsx +18 -0
  277. package/src/icons/react/{csv.tsx → redo.tsx} +5 -5
  278. package/src/icons/react/references.tsx +18 -0
  279. package/src/icons/react/richeditor-block-callout.tsx +1 -1
  280. package/src/icons/react/richeditor-block-code.tsx +1 -1
  281. package/src/icons/react/richeditor-block-embed.tsx +1 -1
  282. package/src/icons/react/richeditor-block-entity.tsx +1 -1
  283. package/src/icons/react/richeditor-block-file.tsx +1 -1
  284. package/src/icons/react/richeditor-block-h1.tsx +1 -1
  285. package/src/icons/react/richeditor-block-h2.tsx +1 -1
  286. package/src/icons/react/richeditor-block-h3.tsx +1 -1
  287. package/src/icons/react/richeditor-block-h4.tsx +1 -1
  288. package/src/icons/react/richeditor-block-mention.tsx +1 -1
  289. package/src/icons/react/richeditor-block-paragraph.tsx +1 -1
  290. package/src/icons/react/richeditor-block-quote.tsx +1 -1
  291. package/src/icons/react/richeditor-checklist-create.tsx +1 -1
  292. package/src/icons/react/richeditor-image-align-center.tsx +1 -1
  293. package/src/icons/react/richeditor-image-align-left.tsx +1 -1
  294. package/src/icons/react/richeditor-image-align-right.tsx +1 -1
  295. package/src/icons/react/richeditor-image.tsx +18 -0
  296. package/src/icons/react/richeditor-linkedhighlight-create.tsx +1 -1
  297. package/src/icons/react/richeditor-list-bullet.tsx +1 -1
  298. package/src/icons/react/richeditor-list-indent.tsx +1 -1
  299. package/src/icons/react/richeditor-list-ordered.tsx +1 -1
  300. package/src/icons/react/richeditor-list-unindent.tsx +1 -1
  301. package/src/icons/react/richeditor-mark-code.tsx +1 -1
  302. package/src/icons/react/richeditor-mark-em.tsx +1 -1
  303. package/src/icons/react/richeditor-mark-highlight.tsx +1 -1
  304. package/src/icons/react/richeditor-mark-strike.tsx +1 -1
  305. package/src/icons/react/richeditor-mark-strong.tsx +1 -1
  306. package/src/icons/react/richeditor-mark-text-background-color.tsx +1 -1
  307. package/src/icons/react/richeditor-mark-underline.tsx +1 -1
  308. package/src/icons/react/richeditor-table-create.tsx +1 -1
  309. package/src/icons/react/richeditor-video-upload.tsx +1 -1
  310. package/src/icons/react/{back.tsx → rule.tsx} +5 -5
  311. package/src/icons/react/{ai-avatar.tsx → space-add.tsx} +5 -5
  312. package/src/icons/react/space-move.tsx +18 -0
  313. package/src/icons/react/type-button.tsx +1 -1
  314. package/src/icons/react/type-checkbox.tsx +1 -1
  315. package/src/icons/react/type-date.tsx +1 -1
  316. package/src/icons/react/type-email.tsx +1 -1
  317. package/src/icons/react/type-emoji.tsx +1 -1
  318. package/src/icons/react/type-formula.tsx +1 -1
  319. package/src/icons/react/type-location.tsx +1 -1
  320. package/src/icons/react/type-lookup.tsx +1 -1
  321. package/src/icons/react/type-money.tsx +1 -1
  322. package/src/icons/react/type-multi-select.tsx +1 -1
  323. package/src/icons/react/type-number.tsx +1 -1
  324. package/src/icons/react/type-percent.tsx +1 -1
  325. package/src/icons/react/type-phone.tsx +1 -1
  326. package/src/icons/react/type-relation.tsx +1 -1
  327. package/src/icons/react/type-rich-text.tsx +1 -1
  328. package/src/icons/react/type-single-select.tsx +1 -1
  329. package/src/icons/react/type-text.tsx +1 -1
  330. package/src/icons/react/{bolt.tsx → undo.tsx} +5 -5
  331. package/src/icons/react/units-avatar.tsx +1 -1
  332. package/src/icons/react/units-collection.tsx +1 -1
  333. package/src/icons/react/units-counter.tsx +1 -1
  334. package/src/icons/react/units-date.tsx +1 -1
  335. package/src/icons/react/units-field-icon-button.tsx +1 -1
  336. package/src/icons/react/units-field.tsx +1 -1
  337. package/src/icons/react/units-input.tsx +1 -1
  338. package/src/icons/react/units-normal.tsx +18 -0
  339. package/src/icons/react/units-progress-bar.tsx +1 -1
  340. package/src/icons/react/units-rich-text.tsx +1 -1
  341. package/src/icons/react/units-snippet.tsx +1 -1
  342. package/src/icons/react/unlock.tsx +18 -0
  343. package/src/icons/react/value-clear.tsx +18 -0
  344. package/src/icons/react/view-app.tsx +18 -0
  345. package/src/icons/react/workflow.tsx +18 -0
  346. package/src/icons/svg/appearance-auto.svg +1 -1
  347. package/src/icons/svg/{arrow-bottom.svg → arrow-down.svg} +1 -1
  348. package/src/icons/svg/arrow-forward.svg +1 -1
  349. package/src/icons/svg/arrow-left.svg +1 -1
  350. package/src/icons/svg/arrow-right.svg +1 -1
  351. package/src/icons/svg/{arrow-top.svg → arrow-up.svg} +1 -1
  352. package/src/icons/svg/asterisk.svg +2 -2
  353. package/src/icons/svg/{automations-error.svg → circle-cross.svg} +1 -1
  354. package/src/icons/svg/{automations-not-started.svg → circle-pause.svg} +1 -1
  355. package/src/icons/svg/{automations-in-progress.svg → circle-play.svg} +1 -1
  356. package/src/icons/svg/collapse-all-horizontal.svg +1 -1
  357. package/src/icons/svg/collapse-all.svg +1 -1
  358. package/src/icons/svg/credits-filled.svg +1 -1
  359. package/src/icons/svg/entity-create.svg +1 -1
  360. package/src/icons/svg/expand-all-horizontal.svg +1 -1
  361. package/src/icons/svg/fullscreen-mode-on.svg +2 -3
  362. package/src/icons/svg/go-to.svg +1 -1
  363. package/src/icons/svg/integration-unsplash.svg +3 -0
  364. package/src/icons/svg/layout-double.svg +1 -1
  365. package/src/icons/svg/layout-single.svg +1 -1
  366. package/src/icons/svg/limits.svg +3 -0
  367. package/src/icons/svg/lock-filled.svg +4 -0
  368. package/src/icons/svg/lock.svg +5 -4
  369. package/src/icons/svg/page-regular-mode.svg +3 -3
  370. package/src/icons/svg/page-wide-mode.svg +3 -3
  371. package/src/icons/svg/people-edit.svg +4 -0
  372. package/src/icons/svg/{user-group.svg → people-group.svg} +1 -1
  373. package/src/icons/svg/{user-role.svg → people-role.svg} +1 -1
  374. package/src/icons/svg/{richeditor/list/indent.svg → richeditor-list-indent.svg} +1 -1
  375. package/src/icons/svg/richeditor-mark-code.svg +5 -0
  376. package/src/icons/svg/richeditor-mark-em.svg +3 -0
  377. package/src/icons/svg/richeditor-mark-highlight.svg +3 -0
  378. package/src/icons/svg/richeditor-mark-strike.svg +3 -0
  379. package/src/icons/svg/richeditor-mark-strong.svg +3 -0
  380. package/src/icons/svg/simple-compass.svg +2 -2
  381. package/src/icons/svg/space-app.svg +1 -1
  382. package/src/icons/svg/space-generate.svg +1 -1
  383. package/src/icons/svg/space-scratch.svg +1 -1
  384. package/src/icons/svg/space-template.svg +1 -1
  385. package/src/icons/svg/value-edit.svg +1 -1
  386. package/src/icons/svg/view-app.svg +6 -0
  387. package/src/icons/svg/view-gantt.svg +3 -3
  388. package/src/icons/svg/warning-triangle-filled.svg +1 -1
  389. package/src/images-gallery/images-gallery.tsx +0 -1
  390. package/src/images-gallery/slide-buttons.tsx +52 -19
  391. package/src/is-in-popup.ts +0 -3
  392. package/src/loading-sausage.tsx +3 -3
  393. package/src/mobile-drawer.tsx +104 -0
  394. package/src/number-input/types.ts +1 -1
  395. package/src/palettes/common.ts +3 -3
  396. package/src/palettes/diff-colors.test.ts +135 -1
  397. package/src/palettes/diff-colors.ts +135 -1
  398. package/src/palettes/inspect.canvas-colors.test.ts +63 -63
  399. package/src/palettes/inspect.defs.colors.neutral-arch.test.ts +290 -90
  400. package/src/palettes/inspect.defs.colors.neutral-user.test.ts +290 -90
  401. package/src/palettes/inspect.defs.colors.warm-arch.test.ts +290 -90
  402. package/src/palettes/inspect.defs.colors.warm-user.test.ts +290 -90
  403. package/src/palettes/show-colors.test.ts +5 -4
  404. package/src/palettes/testkit.test.ts +6 -0
  405. package/src/palettes/testkit.ts +81 -23
  406. package/src/phone.ts +27 -0
  407. package/src/popover/index.tsx +20 -11
  408. package/src/popover/popup-modifiers-context.ts +1 -2
  409. package/src/reactions/reaction-picker.tsx +3 -3
  410. package/src/rich-text-embed-error.tsx +2 -2
  411. package/src/root-theme-provider.test.tsx +2 -3
  412. package/src/select/components/option.tsx +0 -1
  413. package/src/select/index.tsx +1 -0
  414. package/src/select/select-in-popover.tsx +42 -28
  415. package/src/select/select.tsx +2 -0
  416. package/src/select/util.ts +1 -1
  417. package/src/thematic.tsx +10 -10
  418. package/src/theme-provider.test.tsx +19 -19
  419. package/src/theme-provider.tsx +3 -7
  420. package/src/theme-settings-core.ts +118 -0
  421. package/src/theme-settings.ts +2 -117
  422. package/src/theme-snapshots.test.ts +6 -7
  423. package/src/theming.build.ts +21 -15
  424. package/src/theming.generated.css +2162 -1974
  425. package/src/theming.generated.ts +2701 -2472
  426. package/src/toast/toast.tsx +1 -1
  427. package/src/toggle-button/round-toggle-button.tsx +28 -4
  428. package/src/toggle-button/toggle-button.tsx +69 -23
  429. package/src/toggle-on-off.tsx +0 -9
  430. package/src/use-is-phone.tsx +3 -27
  431. package/vitest.config.ts +1 -0
  432. package/src/icons/ast/ai-avatar.ts +0 -12
  433. package/src/icons/ast/ai-search.ts +0 -12
  434. package/src/icons/ast/anthropic.ts +0 -12
  435. package/src/icons/ast/app-details.ts +0 -12
  436. package/src/icons/ast/app-store-one-color.ts +0 -12
  437. package/src/icons/ast/app-store.ts +0 -12
  438. package/src/icons/ast/app-templates.ts +0 -12
  439. package/src/icons/ast/app-webhooks.ts +0 -12
  440. package/src/icons/ast/app-wiki.ts +0 -12
  441. package/src/icons/ast/apple.ts +0 -12
  442. package/src/icons/ast/arrow-bottom.ts +0 -12
  443. package/src/icons/ast/arrow-top.ts +0 -12
  444. package/src/icons/ast/automations-cancelled.ts +0 -12
  445. package/src/icons/ast/automations-disabled.ts +0 -12
  446. package/src/icons/ast/automations-error.ts +0 -12
  447. package/src/icons/ast/automations-in-progress.ts +0 -12
  448. package/src/icons/ast/automations-not-started.ts +0 -12
  449. package/src/icons/ast/automations-success.ts +0 -12
  450. package/src/icons/ast/back.ts +0 -12
  451. package/src/icons/ast/backlog-icon.ts +0 -12
  452. package/src/icons/ast/batch-actions-icon.ts +0 -12
  453. package/src/icons/ast/bell-filled.ts +0 -12
  454. package/src/icons/ast/chat-ai.ts +0 -12
  455. package/src/icons/ast/chat.ts +0 -12
  456. package/src/icons/ast/clean.ts +0 -12
  457. package/src/icons/ast/color-coding-filled.ts +0 -12
  458. package/src/icons/ast/create.ts +0 -12
  459. package/src/icons/ast/cross-circle.ts +0 -12
  460. package/src/icons/ast/csv.ts +0 -12
  461. package/src/icons/ast/database-off.ts +0 -12
  462. package/src/icons/ast/database-stroke.ts +0 -12
  463. package/src/icons/ast/demo.ts +0 -12
  464. package/src/icons/ast/dependency.ts +0 -12
  465. package/src/icons/ast/dividers.ts +0 -12
  466. package/src/icons/ast/document.ts +0 -12
  467. package/src/icons/ast/double-arrow-left.ts +0 -12
  468. package/src/icons/ast/double-arrow-right.ts +0 -12
  469. package/src/icons/ast/double-line.ts +0 -12
  470. package/src/icons/ast/drag-block-handle-single.ts +0 -12
  471. package/src/icons/ast/edit-value.ts +0 -12
  472. package/src/icons/ast/extension-assignments.ts +0 -12
  473. package/src/icons/ast/extension-avatar.ts +0 -12
  474. package/src/icons/ast/extension-comments.ts +0 -12
  475. package/src/icons/ast/extension-files.ts +0 -12
  476. package/src/icons/ast/extension-references.ts +0 -12
  477. package/src/icons/ast/extension-workflow.ts +0 -12
  478. package/src/icons/ast/favorites-checked.ts +0 -12
  479. package/src/icons/ast/fibery-desktop-app.ts +0 -12
  480. package/src/icons/ast/field-unit.ts +0 -12
  481. package/src/icons/ast/figma.ts +0 -12
  482. package/src/icons/ast/file-broken.ts +0 -12
  483. package/src/icons/ast/fullscreen-mode-off-icon.ts +0 -12
  484. package/src/icons/ast/fullscreen-mode-on-icon.ts +0 -12
  485. package/src/icons/ast/github.ts +0 -12
  486. package/src/icons/ast/gitlab.ts +0 -12
  487. package/src/icons/ast/globe.ts +0 -12
  488. package/src/icons/ast/google-drive.ts +0 -12
  489. package/src/icons/ast/google-map.ts +0 -12
  490. package/src/icons/ast/hide.ts +0 -12
  491. package/src/icons/ast/integrations-integration-discourse-color.ts +0 -12
  492. package/src/icons/ast/integrations-integration-intercom-color.ts +0 -12
  493. package/src/icons/ast/integrations-integration-slack-color.ts +0 -12
  494. package/src/icons/ast/integrations-integration-zendesk-color.ts +0 -12
  495. package/src/icons/ast/intercom.ts +0 -12
  496. package/src/icons/ast/jira.ts +0 -12
  497. package/src/icons/ast/left-panel.ts +0 -12
  498. package/src/icons/ast/level-plus.ts +0 -12
  499. package/src/icons/ast/lock-outline.ts +0 -12
  500. package/src/icons/ast/loom.ts +0 -12
  501. package/src/icons/ast/loupe-zoom.ts +0 -12
  502. package/src/icons/ast/many-people.ts +0 -12
  503. package/src/icons/ast/message-plus-square.ts +0 -12
  504. package/src/icons/ast/miro.ts +0 -12
  505. package/src/icons/ast/mixpanel.ts +0 -12
  506. package/src/icons/ast/move-bottom.ts +0 -12
  507. package/src/icons/ast/move-top.ts +0 -12
  508. package/src/icons/ast/network-add.ts +0 -12
  509. package/src/icons/ast/network.ts +0 -12
  510. package/src/icons/ast/notifications.ts +0 -12
  511. package/src/icons/ast/open-ai.ts +0 -12
  512. package/src/icons/ast/open-as-page.ts +0 -12
  513. package/src/icons/ast/popup.ts +0 -12
  514. package/src/icons/ast/posts.ts +0 -12
  515. package/src/icons/ast/quick-filter-personal.ts +0 -12
  516. package/src/icons/ast/quick-filter.ts +0 -12
  517. package/src/icons/ast/reply.ts +0 -12
  518. package/src/icons/ast/restore.ts +0 -12
  519. package/src/icons/ast/richeditor-actions-more.ts +0 -12
  520. package/src/icons/ast/richeditor-comment-create.ts +0 -12
  521. package/src/icons/ast/richeditor-entity-link-create.ts +0 -12
  522. package/src/icons/ast/richeditor-history-redo.ts +0 -12
  523. package/src/icons/ast/richeditor-history-undo.ts +0 -12
  524. package/src/icons/ast/richeditor-image-upload.ts +0 -12
  525. package/src/icons/ast/richeditor-image-wrap-center.ts +0 -12
  526. package/src/icons/ast/richeditor-image-wrap-left.ts +0 -12
  527. package/src/icons/ast/richeditor-image-wrap-right.ts +0 -12
  528. package/src/icons/ast/richeditor-image-zoom.ts +0 -12
  529. package/src/icons/ast/richeditor-link-create.ts +0 -12
  530. package/src/icons/ast/richeditor-open-link.ts +0 -12
  531. package/src/icons/ast/richeditor-unlink.ts +0 -12
  532. package/src/icons/ast/right-panel.ts +0 -12
  533. package/src/icons/ast/rule-scheduled.ts +0 -12
  534. package/src/icons/ast/settings-off.ts +0 -12
  535. package/src/icons/ast/shared.ts +0 -12
  536. package/src/icons/ast/sidebar-fields-opened.ts +0 -12
  537. package/src/icons/ast/sidebar-fields.ts +0 -12
  538. package/src/icons/ast/sidebar.ts +0 -12
  539. package/src/icons/ast/slack-icon.ts +0 -12
  540. package/src/icons/ast/slack.ts +0 -12
  541. package/src/icons/ast/slide-menu-close.ts +0 -12
  542. package/src/icons/ast/slide-menu-open.ts +0 -12
  543. package/src/icons/ast/sort-on-bottom.ts +0 -12
  544. package/src/icons/ast/sort-on-top.ts +0 -12
  545. package/src/icons/ast/space-list.ts +0 -12
  546. package/src/icons/ast/success.ts +0 -12
  547. package/src/icons/ast/template.ts +0 -12
  548. package/src/icons/ast/thumbs-down.ts +0 -12
  549. package/src/icons/ast/thumbs-up.ts +0 -12
  550. package/src/icons/ast/twitter.ts +0 -12
  551. package/src/icons/ast/type-boolean.ts +0 -12
  552. package/src/icons/ast/type-function.ts +0 -12
  553. package/src/icons/ast/type-id.ts +0 -12
  554. package/src/icons/ast/type-rule.ts +0 -12
  555. package/src/icons/ast/type-url.ts +0 -12
  556. package/src/icons/ast/units-db-badge-abbr.ts +0 -12
  557. package/src/icons/ast/units-db-badge-full.ts +0 -12
  558. package/src/icons/ast/units-db-icon.ts +0 -12
  559. package/src/icons/ast/unlock-outline.ts +0 -12
  560. package/src/icons/ast/upgrade.ts +0 -12
  561. package/src/icons/ast/user-check.ts +0 -12
  562. package/src/icons/ast/user-group-remove.ts +0 -12
  563. package/src/icons/ast/user-group.ts +0 -12
  564. package/src/icons/ast/user-role.ts +0 -12
  565. package/src/icons/ast/user-x.ts +0 -12
  566. package/src/icons/ast/windows.ts +0 -12
  567. package/src/icons/ast/workspace-map.ts +0 -12
  568. package/src/icons/ast/youtube.ts +0 -12
  569. package/src/icons/ast/zoom-in.ts +0 -12
  570. package/src/icons/ast/zoom-out.ts +0 -12
  571. package/src/icons/react/app-details.tsx +0 -18
  572. package/src/icons/react/app-store-one-color.tsx +0 -18
  573. package/src/icons/react/app-templates.tsx +0 -18
  574. package/src/icons/react/app-webhooks.tsx +0 -18
  575. package/src/icons/react/arrow-bottom.tsx +0 -18
  576. package/src/icons/react/arrow-top.tsx +0 -18
  577. package/src/icons/react/automations-cancelled.tsx +0 -18
  578. package/src/icons/react/automations-error.tsx +0 -18
  579. package/src/icons/react/automations-in-progress.tsx +0 -18
  580. package/src/icons/react/automations-not-started.tsx +0 -18
  581. package/src/icons/react/automations-success.tsx +0 -18
  582. package/src/icons/react/backlog-icon.tsx +0 -18
  583. package/src/icons/react/batch-actions-icon.tsx +0 -18
  584. package/src/icons/react/bell-filled.tsx +0 -18
  585. package/src/icons/react/check-circle-filled.tsx +0 -18
  586. package/src/icons/react/check-circle.tsx +0 -18
  587. package/src/icons/react/clean.tsx +0 -18
  588. package/src/icons/react/clear-value.tsx +0 -18
  589. package/src/icons/react/color-coding-filled.tsx +0 -18
  590. package/src/icons/react/create.tsx +0 -18
  591. package/src/icons/react/cross-circle.tsx +0 -18
  592. package/src/icons/react/database-off.tsx +0 -18
  593. package/src/icons/react/database-stroke.tsx +0 -18
  594. package/src/icons/react/demo.tsx +0 -18
  595. package/src/icons/react/dependency.tsx +0 -18
  596. package/src/icons/react/dividers.tsx +0 -18
  597. package/src/icons/react/document.tsx +0 -18
  598. package/src/icons/react/double-arrow-left.tsx +0 -18
  599. package/src/icons/react/double-arrow-right.tsx +0 -18
  600. package/src/icons/react/double-line.tsx +0 -18
  601. package/src/icons/react/drag-block-handle-single.tsx +0 -18
  602. package/src/icons/react/edit-value.tsx +0 -18
  603. package/src/icons/react/error-circle-filled.tsx +0 -18
  604. package/src/icons/react/extension-assignments.tsx +0 -18
  605. package/src/icons/react/extension-avatar.tsx +0 -18
  606. package/src/icons/react/extension-comments.tsx +0 -18
  607. package/src/icons/react/extension-files.tsx +0 -18
  608. package/src/icons/react/extension-workflow.tsx +0 -18
  609. package/src/icons/react/favorites-checked.tsx +0 -18
  610. package/src/icons/react/fibery-desktop-app.tsx +0 -18
  611. package/src/icons/react/field-unit.tsx +0 -18
  612. package/src/icons/react/figma.tsx +0 -18
  613. package/src/icons/react/file-broken.tsx +0 -18
  614. package/src/icons/react/fullscreen-mode-off-icon.tsx +0 -18
  615. package/src/icons/react/fullscreen-mode-on-icon.tsx +0 -18
  616. package/src/icons/react/github.tsx +0 -18
  617. package/src/icons/react/gitlab.tsx +0 -18
  618. package/src/icons/react/globe.tsx +0 -18
  619. package/src/icons/react/google-drive.tsx +0 -18
  620. package/src/icons/react/google-map.tsx +0 -18
  621. package/src/icons/react/hide.tsx +0 -18
  622. package/src/icons/react/image-xmark.tsx +0 -18
  623. package/src/icons/react/info-circle-filled.tsx +0 -18
  624. package/src/icons/react/info-circle.tsx +0 -18
  625. package/src/icons/react/integrations-integration-discourse-color.tsx +0 -18
  626. package/src/icons/react/integrations-integration-intercom-color.tsx +0 -18
  627. package/src/icons/react/integrations-integration-slack-color.tsx +0 -18
  628. package/src/icons/react/integrations-integration-zendesk-color.tsx +0 -18
  629. package/src/icons/react/intercom.tsx +0 -18
  630. package/src/icons/react/invite-people.tsx +0 -18
  631. package/src/icons/react/jira.tsx +0 -18
  632. package/src/icons/react/left-panel.tsx +0 -18
  633. package/src/icons/react/level-plus.tsx +0 -18
  634. package/src/icons/react/lock-outline.tsx +0 -18
  635. package/src/icons/react/loom.tsx +0 -18
  636. package/src/icons/react/loupe-zoom.tsx +0 -18
  637. package/src/icons/react/many-people.tsx +0 -18
  638. package/src/icons/react/message-plus-square.tsx +0 -18
  639. package/src/icons/react/miro.tsx +0 -18
  640. package/src/icons/react/mixpanel.tsx +0 -18
  641. package/src/icons/react/move-bottom.tsx +0 -18
  642. package/src/icons/react/move-space.tsx +0 -18
  643. package/src/icons/react/move-top.tsx +0 -18
  644. package/src/icons/react/network-add.tsx +0 -18
  645. package/src/icons/react/network.tsx +0 -18
  646. package/src/icons/react/open-ai.tsx +0 -18
  647. package/src/icons/react/open-as-page.tsx +0 -18
  648. package/src/icons/react/popup.tsx +0 -18
  649. package/src/icons/react/posts.tsx +0 -18
  650. package/src/icons/react/quick-filter-personal.tsx +0 -18
  651. package/src/icons/react/quick-filter.tsx +0 -18
  652. package/src/icons/react/remove-people.tsx +0 -18
  653. package/src/icons/react/reply.tsx +0 -18
  654. package/src/icons/react/restore.tsx +0 -18
  655. package/src/icons/react/richeditor-actions-more.tsx +0 -18
  656. package/src/icons/react/richeditor-comment-create.tsx +0 -18
  657. package/src/icons/react/richeditor-entity-link-create.tsx +0 -18
  658. package/src/icons/react/richeditor-history-redo.tsx +0 -18
  659. package/src/icons/react/richeditor-history-undo.tsx +0 -18
  660. package/src/icons/react/richeditor-image-upload.tsx +0 -18
  661. package/src/icons/react/richeditor-image-wrap-center.tsx +0 -18
  662. package/src/icons/react/richeditor-image-wrap-left.tsx +0 -18
  663. package/src/icons/react/richeditor-image-wrap-right.tsx +0 -18
  664. package/src/icons/react/richeditor-image-zoom.tsx +0 -18
  665. package/src/icons/react/richeditor-link-create.tsx +0 -18
  666. package/src/icons/react/richeditor-open-link.tsx +0 -18
  667. package/src/icons/react/richeditor-unlink.tsx +0 -18
  668. package/src/icons/react/right-panel.tsx +0 -18
  669. package/src/icons/react/rule-scheduled.tsx +0 -18
  670. package/src/icons/react/send-arrow.tsx +0 -18
  671. package/src/icons/react/settings-off.tsx +0 -18
  672. package/src/icons/react/shared.tsx +0 -18
  673. package/src/icons/react/sidebar-fields-opened.tsx +0 -18
  674. package/src/icons/react/sidebar-fields.tsx +0 -18
  675. package/src/icons/react/sidebar.tsx +0 -18
  676. package/src/icons/react/slack-icon.tsx +0 -18
  677. package/src/icons/react/slack.tsx +0 -18
  678. package/src/icons/react/slide-menu-close.tsx +0 -18
  679. package/src/icons/react/slide-menu-open.tsx +0 -18
  680. package/src/icons/react/smart-folder.tsx +0 -18
  681. package/src/icons/react/sort-on-bottom.tsx +0 -18
  682. package/src/icons/react/sort-on-top.tsx +0 -18
  683. package/src/icons/react/space-list.tsx +0 -18
  684. package/src/icons/react/success.tsx +0 -18
  685. package/src/icons/react/suggest-integration.tsx +0 -18
  686. package/src/icons/react/switch-to-mention.tsx +0 -18
  687. package/src/icons/react/template.tsx +0 -18
  688. package/src/icons/react/thumbs-down.tsx +0 -18
  689. package/src/icons/react/thumbs-up.tsx +0 -18
  690. package/src/icons/react/twitter.tsx +0 -18
  691. package/src/icons/react/type-boolean.tsx +0 -18
  692. package/src/icons/react/type-function.tsx +0 -18
  693. package/src/icons/react/type-id.tsx +0 -18
  694. package/src/icons/react/type-rule.tsx +0 -18
  695. package/src/icons/react/type-url.tsx +0 -18
  696. package/src/icons/react/units-db-badge-abbr.tsx +0 -18
  697. package/src/icons/react/units-db-badge-full.tsx +0 -18
  698. package/src/icons/react/units-db-icon.tsx +0 -18
  699. package/src/icons/react/unlock-outline.tsx +0 -18
  700. package/src/icons/react/upgrade.tsx +0 -18
  701. package/src/icons/react/user-check.tsx +0 -18
  702. package/src/icons/react/user-group-remove.tsx +0 -18
  703. package/src/icons/react/user-group.tsx +0 -18
  704. package/src/icons/react/user-role.tsx +0 -18
  705. package/src/icons/react/user-x.tsx +0 -18
  706. package/src/icons/react/windows.tsx +0 -18
  707. package/src/icons/react/workspace-map.tsx +0 -18
  708. package/src/icons/react/youtube.tsx +0 -18
  709. package/src/icons/react/zoom-in.tsx +0 -18
  710. package/src/icons/react/zoom-out.tsx +0 -18
  711. package/src/icons/svg/ai-avatar.svg +0 -3
  712. package/src/icons/svg/ai-search.svg +0 -3
  713. package/src/icons/svg/anthropic.svg +0 -3
  714. package/src/icons/svg/app-store-one-color.svg +0 -4
  715. package/src/icons/svg/app-store.svg +0 -4
  716. package/src/icons/svg/app-webhooks.svg +0 -2
  717. package/src/icons/svg/app-wiki.svg +0 -2
  718. package/src/icons/svg/apple.svg +0 -4
  719. package/src/icons/svg/automations-cancelled.svg +0 -3
  720. package/src/icons/svg/automations-disabled.svg +0 -3
  721. package/src/icons/svg/automations-success.svg +0 -3
  722. package/src/icons/svg/batch-actions-icon.svg +0 -4
  723. package/src/icons/svg/bell-filled.svg +0 -4
  724. package/src/icons/svg/chat-ai.svg +0 -5
  725. package/src/icons/svg/chat.svg +0 -3
  726. package/src/icons/svg/clean.svg +0 -6
  727. package/src/icons/svg/color-coding-filled.svg +0 -3
  728. package/src/icons/svg/create.svg +0 -3
  729. package/src/icons/svg/cross-circle.svg +0 -4
  730. package/src/icons/svg/csv.svg +0 -3
  731. package/src/icons/svg/database-off.svg +0 -3
  732. package/src/icons/svg/demo.svg +0 -2
  733. package/src/icons/svg/dependency.svg +0 -3
  734. package/src/icons/svg/document.svg +0 -4
  735. package/src/icons/svg/double-arrow-left.svg +0 -2
  736. package/src/icons/svg/double-arrow-right.svg +0 -2
  737. package/src/icons/svg/double-line.svg +0 -3
  738. package/src/icons/svg/drag-block-handle-single.svg +0 -5
  739. package/src/icons/svg/edit-value.svg +0 -5
  740. package/src/icons/svg/extension/assignments.svg +0 -7
  741. package/src/icons/svg/file-broken.svg +0 -3
  742. package/src/icons/svg/fullscreen-mode-on-icon.svg +0 -3
  743. package/src/icons/svg/globe.svg +0 -3
  744. package/src/icons/svg/integrations/integration-slack-color.svg +0 -10
  745. package/src/icons/svg/intercom.svg +0 -3
  746. package/src/icons/svg/left-panel.svg +0 -11
  747. package/src/icons/svg/level-plus.svg +0 -4
  748. package/src/icons/svg/lock-outline.svg +0 -5
  749. package/src/icons/svg/loupe-zoom.svg +0 -3
  750. package/src/icons/svg/message-plus-square.svg +0 -4
  751. package/src/icons/svg/network-add.svg +0 -5
  752. package/src/icons/svg/notifications.svg +0 -2
  753. package/src/icons/svg/open-ai.svg +0 -3
  754. package/src/icons/svg/open-as-page.svg +0 -3
  755. package/src/icons/svg/posts.svg +0 -3
  756. package/src/icons/svg/quick-filter-personal.svg +0 -3
  757. package/src/icons/svg/quick-filter.svg +0 -3
  758. package/src/icons/svg/reply.svg +0 -2
  759. package/src/icons/svg/restore.svg +0 -2
  760. package/src/icons/svg/richeditor/actions/more.svg +0 -2
  761. package/src/icons/svg/richeditor/comment/create.svg +0 -5
  762. package/src/icons/svg/richeditor/entity-link/create.svg +0 -2
  763. package/src/icons/svg/richeditor/image/wrap-center.svg +0 -2
  764. package/src/icons/svg/richeditor/image/wrap-left.svg +0 -2
  765. package/src/icons/svg/richeditor/image/wrap-right.svg +0 -2
  766. package/src/icons/svg/richeditor/image/zoom.svg +0 -5
  767. package/src/icons/svg/richeditor/link/create.svg +0 -9
  768. package/src/icons/svg/richeditor/mark/code.svg +0 -5
  769. package/src/icons/svg/richeditor/mark/em.svg +0 -3
  770. package/src/icons/svg/richeditor/mark/highlight.svg +0 -3
  771. package/src/icons/svg/richeditor/mark/strike.svg +0 -3
  772. package/src/icons/svg/richeditor/mark/strong.svg +0 -3
  773. package/src/icons/svg/richeditor/unlink.svg +0 -10
  774. package/src/icons/svg/right-panel.svg +0 -11
  775. package/src/icons/svg/rule-scheduled.svg +0 -5
  776. package/src/icons/svg/settings-off.svg +0 -4
  777. package/src/icons/svg/shared.svg +0 -7
  778. package/src/icons/svg/sidebar-fields-opened.svg +0 -3
  779. package/src/icons/svg/sidebar-fields.svg +0 -6
  780. package/src/icons/svg/sidebar.svg +0 -2
  781. package/src/icons/svg/slack-icon.svg +0 -3
  782. package/src/icons/svg/slide-menu-close.svg +0 -4
  783. package/src/icons/svg/slide-menu-open.svg +0 -4
  784. package/src/icons/svg/sort-on-bottom.svg +0 -4
  785. package/src/icons/svg/sort-on-top.svg +0 -4
  786. package/src/icons/svg/space-list.svg +0 -4
  787. package/src/icons/svg/success.svg +0 -4
  788. package/src/icons/svg/template.svg +0 -3
  789. package/src/icons/svg/thumbs-down.svg +0 -3
  790. package/src/icons/svg/thumbs-up.svg +0 -3
  791. package/src/icons/svg/type/boolean.svg +0 -2
  792. package/src/icons/svg/type/function.svg +0 -2
  793. package/src/icons/svg/type/id.svg +0 -3
  794. package/src/icons/svg/type/rule.svg +0 -2
  795. package/src/icons/svg/type/url.svg +0 -9
  796. package/src/icons/svg/units/db-badge-abbr.svg +0 -4
  797. package/src/icons/svg/units/db-badge-full.svg +0 -4
  798. package/src/icons/svg/units/db-icon.svg +0 -4
  799. package/src/icons/svg/upgrade.svg +0 -2
  800. package/src/icons/svg/user-check.svg +0 -3
  801. package/src/icons/svg/windows.svg +0 -15
  802. package/src/icons/svg/workspace-map.svg +0 -3
  803. package/src/icons/svg/zoom-out.svg +0 -7
  804. /package/src/icons/svg/{dividers.svg → architect.svg} +0 -0
  805. /package/src/icons/svg/{back.svg → arrow-back.svg} +0 -0
  806. /package/src/icons/svg/{send-arrow.svg → arrow-send.svg} +0 -0
  807. /package/src/icons/svg/{extension/avatar.svg → avatar.svg} +0 -0
  808. /package/src/icons/svg/{backlog-icon.svg → backlog.svg} +0 -0
  809. /package/src/icons/svg/{check-circle-filled.svg → circle-check-filled.svg} +0 -0
  810. /package/src/icons/svg/{check-circle.svg → circle-check.svg} +0 -0
  811. /package/src/icons/svg/{error-circle-filled.svg → circle-cross-filled.svg} +0 -0
  812. /package/src/icons/svg/{info-circle-filled.svg → circle-info-filled.svg} +0 -0
  813. /package/src/icons/svg/{info-circle.svg → circle-info.svg} +0 -0
  814. /package/src/icons/svg/{extension/comments.svg → comments.svg} +0 -0
  815. /package/src/icons/svg/{add-database.svg → database-add.svg} +0 -0
  816. /package/src/icons/svg/{database-stroke.svg → database-outline.svg} +0 -0
  817. /package/src/icons/svg/{hide.svg → eye-off.svg} +0 -0
  818. /package/src/icons/svg/{favorites-checked.svg → favorites-filled.svg} +0 -0
  819. /package/src/icons/svg/{switch-to-mention.svg → field-units-large.svg} +0 -0
  820. /package/src/icons/svg/{extension/files.svg → files.svg} +0 -0
  821. /package/src/icons/svg/{smart-folder.svg → folder-smart.svg} +0 -0
  822. /package/src/icons/svg/{fullscreen-mode-off-icon.svg → fullscreen-mode-off.svg} +0 -0
  823. /package/src/icons/svg/{add-group.svg → group-add.svg} +0 -0
  824. /package/src/icons/svg/{image-xmark.svg → image-error.svg} +0 -0
  825. /package/src/icons/svg/{add-integration.svg → integration-add.svg} +0 -0
  826. /package/src/icons/svg/{integrations/integration-discourse-color.svg → integration-discourse.svg} +0 -0
  827. /package/src/icons/svg/{fibery-desktop-app.svg → integration-fibery.svg} +0 -0
  828. /package/src/icons/svg/{figma.svg → integration-figma.svg} +0 -0
  829. /package/src/icons/svg/{github.svg → integration-github.svg} +0 -0
  830. /package/src/icons/svg/{gitlab.svg → integration-gitlab.svg} +0 -0
  831. /package/src/icons/svg/{google-drive.svg → integration-google-drive.svg} +0 -0
  832. /package/src/icons/svg/{google-map.svg → integration-google-map.svg} +0 -0
  833. /package/src/icons/svg/{integrations/integration-intercom-color.svg → integration-intercom.svg} +0 -0
  834. /package/src/icons/svg/{jira.svg → integration-jira.svg} +0 -0
  835. /package/src/icons/svg/{loom.svg → integration-loom.svg} +0 -0
  836. /package/src/icons/svg/{miro.svg → integration-miro.svg} +0 -0
  837. /package/src/icons/svg/{mixpanel.svg → integration-mixpanel.svg} +0 -0
  838. /package/src/icons/svg/{slack.svg → integration-slack.svg} +0 -0
  839. /package/src/icons/svg/{suggest-integration.svg → integration-suggest.svg} +0 -0
  840. /package/src/icons/svg/{twitter.svg → integration-twitter.svg} +0 -0
  841. /package/src/icons/svg/{youtube.svg → integration-youtube.svg} +0 -0
  842. /package/src/icons/svg/{integrations/integration-zendesk-color.svg → integration-zendesk.svg} +0 -0
  843. /package/src/icons/svg/{move-bottom.svg → move-down.svg} +0 -0
  844. /package/src/icons/svg/{move-top.svg → move-up.svg} +0 -0
  845. /package/src/icons/svg/{popup.svg → open-in-panel.svg} +0 -0
  846. /package/src/icons/svg/{richeditor/open-link.svg → open-link.svg} +0 -0
  847. /package/src/icons/svg/{many-people.svg → people-all.svg} +0 -0
  848. /package/src/icons/svg/{user-group-remove.svg → people-group-remove.svg} +0 -0
  849. /package/src/icons/svg/{invite-people.svg → people-invite.svg} +0 -0
  850. /package/src/icons/svg/{remove-people.svg → people-remove.svg} +0 -0
  851. /package/src/icons/svg/{user-x.svg → people-x.svg} +0 -0
  852. /package/src/icons/svg/{zoom-in.svg → plus.svg} +0 -0
  853. /package/src/icons/svg/{app-details.svg → preferences.svg} +0 -0
  854. /package/src/icons/svg/{network.svg → propagate.svg} +0 -0
  855. /package/src/icons/svg/{add-reactions.svg → reactions-add.svg} +0 -0
  856. /package/src/icons/svg/{richeditor/history/redo.svg → redo.svg} +0 -0
  857. /package/src/icons/svg/{extension/references.svg → references.svg} +0 -0
  858. /package/src/icons/svg/{richeditor/block/callout.svg → richeditor-block-callout.svg} +0 -0
  859. /package/src/icons/svg/{richeditor/block/code.svg → richeditor-block-code.svg} +0 -0
  860. /package/src/icons/svg/{richeditor/block/embed.svg → richeditor-block-embed.svg} +0 -0
  861. /package/src/icons/svg/{richeditor/block/entity.svg → richeditor-block-entity.svg} +0 -0
  862. /package/src/icons/svg/{richeditor/block/file.svg → richeditor-block-file.svg} +0 -0
  863. /package/src/icons/svg/{richeditor/block/h1.svg → richeditor-block-h1.svg} +0 -0
  864. /package/src/icons/svg/{richeditor/block/h2.svg → richeditor-block-h2.svg} +0 -0
  865. /package/src/icons/svg/{richeditor/block/h3.svg → richeditor-block-h3.svg} +0 -0
  866. /package/src/icons/svg/{richeditor/block/h4.svg → richeditor-block-h4.svg} +0 -0
  867. /package/src/icons/svg/{richeditor/block/mention.svg → richeditor-block-mention.svg} +0 -0
  868. /package/src/icons/svg/{richeditor/block/paragraph.svg → richeditor-block-paragraph.svg} +0 -0
  869. /package/src/icons/svg/{richeditor/block/quote.svg → richeditor-block-quote.svg} +0 -0
  870. /package/src/icons/svg/{richeditor/checklist/create.svg → richeditor-checklist-create.svg} +0 -0
  871. /package/src/icons/svg/{richeditor/image/align-center.svg → richeditor-image-align-center.svg} +0 -0
  872. /package/src/icons/svg/{richeditor/image/align-left.svg → richeditor-image-align-left.svg} +0 -0
  873. /package/src/icons/svg/{richeditor/image/align-right.svg → richeditor-image-align-right.svg} +0 -0
  874. /package/src/icons/svg/{richeditor/image/upload.svg → richeditor-image.svg} +0 -0
  875. /package/src/icons/svg/{richeditor/linkedhighlight/create.svg → richeditor-linkedhighlight-create.svg} +0 -0
  876. /package/src/icons/svg/{richeditor/list/bullet.svg → richeditor-list-bullet.svg} +0 -0
  877. /package/src/icons/svg/{richeditor/list/ordered.svg → richeditor-list-ordered.svg} +0 -0
  878. /package/src/icons/svg/{richeditor/list/unindent.svg → richeditor-list-unindent.svg} +0 -0
  879. /package/src/icons/svg/{richeditor/mark/text-background-color.svg → richeditor-mark-text-background-color.svg} +0 -0
  880. /package/src/icons/svg/{richeditor/mark/underline.svg → richeditor-mark-underline.svg} +0 -0
  881. /package/src/icons/svg/{richeditor/table/create.svg → richeditor-table-create.svg} +0 -0
  882. /package/src/icons/svg/{richeditor/video/upload.svg → richeditor-video-upload.svg} +0 -0
  883. /package/src/icons/svg/{bolt.svg → rule.svg} +0 -0
  884. /package/src/icons/svg/{app-templates.svg → space-add.svg} +0 -0
  885. /package/src/icons/svg/{move-space.svg → space-move.svg} +0 -0
  886. /package/src/icons/svg/{type/button.svg → type-button.svg} +0 -0
  887. /package/src/icons/svg/{type/checkbox.svg → type-checkbox.svg} +0 -0
  888. /package/src/icons/svg/{type/date.svg → type-date.svg} +0 -0
  889. /package/src/icons/svg/{type/email.svg → type-email.svg} +0 -0
  890. /package/src/icons/svg/{type/emoji.svg → type-emoji.svg} +0 -0
  891. /package/src/icons/svg/{type/formula.svg → type-formula.svg} +0 -0
  892. /package/src/icons/svg/{type/location.svg → type-location.svg} +0 -0
  893. /package/src/icons/svg/{type/lookup.svg → type-lookup.svg} +0 -0
  894. /package/src/icons/svg/{type/money.svg → type-money.svg} +0 -0
  895. /package/src/icons/svg/{type/multi-select.svg → type-multi-select.svg} +0 -0
  896. /package/src/icons/svg/{type/number.svg → type-number.svg} +0 -0
  897. /package/src/icons/svg/{type/percent.svg → type-percent.svg} +0 -0
  898. /package/src/icons/svg/{type/phone.svg → type-phone.svg} +0 -0
  899. /package/src/icons/svg/{type/relation.svg → type-relation.svg} +0 -0
  900. /package/src/icons/svg/{type/rich-text.svg → type-rich-text.svg} +0 -0
  901. /package/src/icons/svg/{type/single-select.svg → type-single-select.svg} +0 -0
  902. /package/src/icons/svg/{type/text.svg → type-text.svg} +0 -0
  903. /package/src/icons/svg/{richeditor/history/undo.svg → undo.svg} +0 -0
  904. /package/src/icons/svg/{units/avatar.svg → units-avatar.svg} +0 -0
  905. /package/src/icons/svg/{units/collection.svg → units-collection.svg} +0 -0
  906. /package/src/icons/svg/{units/counter.svg → units-counter.svg} +0 -0
  907. /package/src/icons/svg/{units/date.svg → units-date.svg} +0 -0
  908. /package/src/icons/svg/{units/field-icon-button.svg → units-field-icon-button.svg} +0 -0
  909. /package/src/icons/svg/{units/field.svg → units-field.svg} +0 -0
  910. /package/src/icons/svg/{units/input.svg → units-input.svg} +0 -0
  911. /package/src/icons/svg/{field-unit.svg → units-normal.svg} +0 -0
  912. /package/src/icons/svg/{units/progress-bar.svg → units-progress-bar.svg} +0 -0
  913. /package/src/icons/svg/{units/rich-text.svg → units-rich-text.svg} +0 -0
  914. /package/src/icons/svg/{units/snippet.svg → units-snippet.svg} +0 -0
  915. /package/src/icons/svg/{unlock-outline.svg → unlock.svg} +0 -0
  916. /package/src/icons/svg/{clear-value.svg → value-clear.svg} +0 -0
  917. /package/src/icons/svg/{extension/workflow.svg → workflow.svg} +0 -0
@@ -3,6 +3,7 @@ import {cssFromFilter, makeColorFilter} from "../color-filter";
3
3
  import {highlightColors} from "../highlight-colors";
4
4
  import type {ThemeMode} from "../theme-settings";
5
5
  import {alpha, opacity, transparent} from "./alpha";
6
+ import {alphaCoefficients as A, type AlphaModeDef} from "./alpha-coefficients";
6
7
  import {getDarkenColor} from "./colors-js";
7
8
  import {Swatch, swatches} from "./colors-swatches";
8
9
  import {mapDef} from "./def";
@@ -12,13 +13,6 @@ import type {Def, DefMapper, Defs, ThemePalette} from "./types";
12
13
  /** @deprecated use swatches */
13
14
  export const cardTypeColors = swatches;
14
15
 
15
- type ThemeColorsDef = Record<
16
- string,
17
- | readonly [lightColor: string, darkColor: string]
18
- | readonly [Record<string, string>, Record<string, string>]
19
- | readonly ["light", "dark"]
20
- >;
21
-
22
16
  const separator = (color: string) => `0.5px solid ${color}`;
23
17
  const border1 = (color: string) => `1px solid ${color}`;
24
18
  const border3 = (color: string) => `3px solid ${color}`;
@@ -32,6 +26,12 @@ const both =
32
26
  (map: (_: string) => string) =>
33
27
  ([light, dark]: Def): Def => [map(light), map(dark)];
34
28
 
29
+ const alphaPair = (lightColor: string, darkColor: string, alphaValue: AlphaModeDef): Def => [
30
+ alpha(lightColor, alphaValue[0]),
31
+ alpha(darkColor, alphaValue[1]),
32
+ ];
33
+ const alphaDef = (def: Def, alphaValue: AlphaModeDef): Def => alphaPair(def[0], def[1], alphaValue);
34
+
35
35
  export function defsFromPalette({
36
36
  key,
37
37
  whiteA,
@@ -59,19 +59,19 @@ export function defsFromPalette({
59
59
  enum: enumDefs,
60
60
  }: ThemePalette) {
61
61
  // whiteA = surface direction (white on light / black on dark) — blends INTO bg
62
- const whiteA5: Def = [alpha(white, 0.05), alpha(black, 0.05)];
63
- const whiteA10: Def = [alpha(white, 0.1), alpha(black, 0.1)];
64
- const whiteA25: Def = [alpha(white, 0.25), alpha(black, 0.25)];
65
- const whiteA40: Def = [alpha(white, 0.4), alpha(black, 0.4)];
62
+ const whiteA5: Def = alphaPair(white, black, A.direction.surface5);
63
+ const whiteA10: Def = alphaPair(white, black, A.direction.surface10);
64
+ const whiteA25: Def = alphaPair(white, black, A.direction.surface25);
65
+ const whiteA40: Def = alphaPair(white, black, A.direction.surface40);
66
66
  const whiteA100: Def = [white, black];
67
67
 
68
68
  // blackA = contrast direction (black on light / white on dark) — readable on bg
69
- const blackA5: Def = [alpha(black, 0.05), alpha(white, 0.05)];
70
- const blackA10: Def = [alpha(black, 0.1), alpha(white, 0.1)];
71
- const blackA15: Def = [alpha(black, 0.15), alpha(white, 0.15)];
72
- const blackA25: Def = [alpha(black, 0.25), alpha(white, 0.25)];
73
- const blackA50: Def = [alpha(black, 0.5), alpha(white, 0.5)];
74
- const blackA90: Def = [alpha(black, 0.9), alpha(white, 0.9)];
69
+ const blackA5: Def = alphaPair(black, white, A.direction.ink5);
70
+ const blackA10: Def = alphaPair(black, white, A.direction.ink10);
71
+ const blackA15: Def = alphaPair(black, white, A.direction.ink15);
72
+ const blackA25: Def = alphaPair(black, white, A.direction.ink25);
73
+ const blackA50: Def = alphaPair(black, white, A.direction.ink50);
74
+ const blackA90: Def = alphaPair(black, white, A.direction.ink90);
75
75
 
76
76
  const opacities = {
77
77
  subtle: same(opacity.opacity15.toString()),
@@ -107,8 +107,9 @@ export function defsFromPalette({
107
107
  level2_6: [base[2], baseDark[6]],
108
108
 
109
109
  // muted bg (code, form fields)
110
- level3exotic: [base[3], blackish], // FIXME try blackA[3] | baseDark[3] to make it less exotic
110
+ level3: [base[3], baseDark[3]],
111
111
  level3_1: [base[3], baseDark[1]],
112
+ level3_2: [base[3], baseDark[2]],
112
113
  level3_4: [base[3], baseDark[4]],
113
114
  level3_6: [base[3], baseDark[6]],
114
115
  level3_7: [base[3], baseDark[7]],
@@ -167,124 +168,162 @@ export function defsFromPalette({
167
168
 
168
169
  // --- Input borders (stroke shadows) ---
169
170
  const inputStrokes = {
170
- disabled: [stroke1(alpha(base[6], 0.2)), stroke1(alpha(baseDark[8], 0.2))],
171
- default: [stroke1(alpha(base[6], 0.7)), stroke1(alpha(baseDark[8], 0.7))],
172
- hover: [stroke1(base[7]), stroke1(baseDark[8])],
171
+ disabled: both(stroke1)(alphaPair(base[6], baseDark[8], A.inputStroke.disabled)),
172
+ default: both(stroke1)(alphaPair(base[6], baseDark[8], A.inputStroke.default)),
173
+ hover: [stroke1(base[7]), stroke1(baseDark[7])],
173
174
  focus: [stroke1(base[8]), stroke1(baseDark[9])],
174
175
  error: [stroke1(red[11]), stroke1(red[7])],
175
- errorHover: [stroke1(alpha(red[11], 0.4)), stroke1(alpha(red[7], 0.4))],
176
- errorFocus: [stroke1(alpha(red[11], 0.25)), stroke1(alpha(red[7], 0.25))],
177
- errorFocusRing: [stroke3(alpha(red[11], 0.25)), stroke3(alpha(red[7], 0.25))],
176
+ errorHover: both(stroke1)(alphaPair(red[11], red[7], A.inputStroke.errorHover)),
177
+ errorFocus: both(stroke1)(alphaPair(red[11], red[7], A.inputStroke.errorFocus)),
178
+ errorFocusRing: both(stroke3)(alphaPair(red[11], red[7], A.inputStroke.errorFocus)),
178
179
  warning: [stroke1(yellow[9]), stroke1(yellowDark[8])],
179
180
  } satisfies Defs;
180
181
 
181
182
  // --- Floating surface shadows ---
182
183
  const floatingShadows = {
183
184
  popup: [
184
- steps([glow2(alpha(base[11], 0.3)), elevationSM(alpha(base[11], 0.05)), elevationXL(alpha(base[11], 0.15))]),
185
- steps([stroke1(baseDark[6]), elevationSM(alpha(baseDark[1], 0.05)), elevationXL(alpha(baseDark[1], 0.15))]),
185
+ steps([
186
+ glow2(alpha(base[11], A.shadow.popupGlowLight[0])),
187
+ elevationSM(alpha(base[11], A.shadow.hairline[0])),
188
+ elevationXL(alpha(base[11], A.shadow.medium[0])),
189
+ ]),
190
+ steps([
191
+ stroke1(baseDark[6]),
192
+ elevationSM(alpha(baseDark[1], A.shadow.hairline[1])),
193
+ elevationXL(alpha(baseDark[1], A.shadow.medium[1])),
194
+ ]),
186
195
  ],
187
196
  instrumentsMenu: [
188
- steps([glow1(alpha(base[11], 0.2)), elevationSM(alpha(base[11], 0.05)), elevationSL(alpha(base[11], 0.1))]),
189
- steps([glow1(baseDark[6]), elevationSM(alpha(baseDark[1], 0.05)), elevationSL(alpha(baseDark[1], 0.15))]),
197
+ steps([
198
+ glow1(alpha(base[11], A.shadow.high[0])),
199
+ elevationSM(alpha(base[11], A.shadow.hairline[0])),
200
+ elevationSL(alpha(base[11], A.shadow.low[0])),
201
+ ]),
202
+ steps([
203
+ glow1(baseDark[6]),
204
+ elevationSM(alpha(baseDark[1], A.shadow.hairline[1])),
205
+ elevationSL(alpha(baseDark[1], A.shadow.medium[1])),
206
+ ]),
207
+ ],
208
+ } satisfies Defs;
209
+
210
+ // --- Floating panel (inbox item hover, rich text format bar, batch actions toolbar) ---
211
+ const floatingPanel = {
212
+ bg: raised.level2,
213
+ shadow: [
214
+ steps([
215
+ stroke1(alpha(base[10], A.shadow.floatingPanelStrokeLight[0])),
216
+ elevationSL(alpha(base[11], A.shadow.floatingPanelDarkElevation[0])),
217
+ ]),
218
+ steps([stroke1(baseDark[6]), elevationSL(alpha(baseDark[1], A.shadow.floatingPanelDarkElevation[1]))]),
190
219
  ],
191
220
  } satisfies Defs;
192
221
 
193
222
  // --- Card/container shadows ---
194
223
  const cardShadows = {
195
224
  subtle: [
196
- steps([stroke1(alpha(base[10], 0.1)), elevationS_shrinked(alpha(base[10], 0.2))]),
197
- steps([stroke1(alpha(baseDark[2], 0.1)), elevationS_shrinked(alpha(baseDark[2], 0.2))]),
225
+ steps([stroke1(alpha(base[10], A.shadow.low[0])), elevationS_shrinked(alpha(base[10], A.shadow.high[0]))]),
226
+ steps([stroke1(alpha(baseDark[2], A.shadow.low[1])), elevationS_shrinked(alpha(baseDark[2], A.shadow.high[1]))]),
198
227
  ],
199
228
  } satisfies Defs;
200
229
 
201
230
  const entityBoxShadows = {
202
231
  stroke: {
203
232
  default: [stroke1(base[5]), stroke1(baseDark[5])],
204
- focus: [stroke2(alpha(accent[9], 0.4)), stroke2(alpha(accentDark[9], 0.4))],
205
- focusHover: [stroke2(alpha(accent[9], 0.6)), stroke2(alpha(accentDark[9], 0.6))],
233
+ focus: both(stroke2)(alphaPair(accent[9], accentDark[9], A.entityBox.focusStroke)),
234
+ focusHover: both(stroke2)(alphaPair(accent[9], accentDark[9], A.entityBox.focusHoverStroke)),
206
235
  selected: [
207
- steps([stroke1(alpha(accent[9], 0.4)), stroke3(alpha(accent[9], 0.4))]),
208
- steps([stroke1(accentDark[9]), stroke3(alpha(accentDark[9], 0.4))]),
236
+ steps([
237
+ stroke1(alpha(accent[9], A.entityBox.focusStroke[0])),
238
+ stroke3(alpha(accent[9], A.entityBox.focusStroke[0])),
239
+ ]),
240
+ steps([stroke1(accentDark[9]), stroke3(alpha(accentDark[9], A.entityBox.focusStroke[1]))]),
209
241
  ],
210
242
  selectedHover: [
211
- steps([stroke1(alpha(accent[9], 0.6)), stroke3(alpha(accent[9], 0.4))]),
212
- steps([stroke1(accentDark[9]), stroke3(alpha(accentDark[9], 0.4))]),
243
+ steps([
244
+ stroke1(alpha(accent[9], A.entityBox.focusHoverStroke[0])),
245
+ stroke3(alpha(accent[9], A.entityBox.focusStroke[0])),
246
+ ]),
247
+ steps([stroke1(accentDark[9]), stroke3(alpha(accentDark[9], A.entityBox.focusStroke[1]))]),
213
248
  ],
214
249
  } satisfies Defs,
215
250
  elevation: {
216
251
  // Progression: S → M → L (default → hover → drag)
217
- default: [elevationS(alpha(base[12], 0.05)), elevationS(alpha(baseDark[1], 0.05))],
218
- hover: [elevationM(alpha(base[12], 0.1)), elevationM(alpha(baseDark[1], 0.1))],
219
- drag: [elevationL(alpha(base[12], 0.1)), elevationL(alpha(baseDark[1], 0.1))],
252
+ default: both(elevationS)(alphaPair(base[12], baseDark[1], A.entityBox.elevationDefault)),
253
+ hover: both(elevationM)(alphaPair(base[12], baseDark[1], A.entityBox.elevationRaised)),
254
+ drag: both(elevationL)(alphaPair(base[12], baseDark[1], A.entityBox.elevationRaised)),
220
255
  } satisfies Defs,
221
256
  };
222
257
 
223
- // FIXME assymetric: light is composite (elevation100 + stroke05), dark is simple (stroke1 only)
258
+ // Asymmetric: light is composite (elevation100 + stroke05), dark is simple (stroke1 only).
224
259
  const shadowMenuHeaderAvatar = [
225
- steps([elevation100(alpha(base[11], 0.1)), stroke05(alpha(base[5], 0.5))]),
226
- stroke1(alpha(baseDark[9], 0.2)),
260
+ steps([
261
+ elevation100(alpha(base[11], A.shadow.low[0])),
262
+ stroke05(alpha(base[5], A.shadow.menuHeaderLightStroke[0])),
263
+ ]),
264
+ stroke1(alpha(baseDark[9], A.shadow.menuHeaderLightStroke[1])),
227
265
  ] as const;
228
266
 
229
267
  const edgeLeft = (color: string) => `-3px 0 10px 0 ${color}`;
230
268
 
231
- const formHeaderShadow = [glow6(alpha(base[10], 0.1)), glow6(alpha(baseDark[1], 0.4))] as const;
269
+ const formHeaderShadow = [
270
+ glow6(alpha(base[10], A.shadow.formHeader[0])),
271
+ glow6(alpha(baseDark[1], A.shadow.formHeader[1])),
272
+ ] as const;
232
273
 
233
274
  const shadows = {
234
275
  // Elevations
235
- surfaceElevationS: [elevationS(blackA[3]), elevationS(whiteA[3])],
276
+ // dark uses a subtle dark shadow (baseDark[1]) like entityBoxShadows — NOT a white glow
277
+ surfaceElevationS: [elevationS(blackA[3]), elevationS(alpha(baseDark[1], A.shadow.hairline[1]))],
236
278
  surfaceElevationM: [elevationM(blackA[5]), elevationM(whiteA[5])],
237
279
  surfaceElevationL: [elevationL(blackA[5]), elevationL(whiteA[5])],
238
280
 
239
281
  // Shadows and effects / Elevation
240
- shadow50: [stroke1(alpha(base[12], 0.05)), stroke1(alpha(baseDark[12], 0.1))],
241
- shadow100: [elevation100(alpha(base[12], 0.05)), elevation100(alpha(base[12], 0.1))],
242
- shadow200: [elevation200(alpha(base[12], 0.05)), elevation200(alpha(base[12], 0.1))],
243
- shadow300: same(steps([elevation250(alpha(base[12], 0.1)), elevation300(alpha(base[12], 0.15))])),
244
- shadow400: same(steps([glow1(alpha(base[12], 0.2)), elevation400(alpha(base[12], 0.15))])),
245
- shadow500: same(steps([glow1(alpha(base[12], 0.2)), elevation500(alpha(base[12], 0.15))])),
246
- shadow600: same(steps([glow1(alpha(base[12], 0.2)), elevation600(alpha(base[12], 0.2))])),
282
+ shadow50: [stroke1(alpha(base[12], A.shadow.hairline[0])), stroke1(alpha(baseDark[12], A.shadow.low[1]))],
283
+ shadow100: [elevation100(alpha(base[12], A.shadow.hairline[0])), elevation100(alpha(base[12], A.shadow.low[1]))],
284
+ shadow200: [elevation200(alpha(base[12], A.shadow.hairline[0])), elevation200(alpha(base[12], A.shadow.low[1]))],
285
+ shadow300: same(
286
+ steps([elevation250(alpha(base[12], A.shadow.low[0])), elevation300(alpha(base[12], A.shadow.medium[0]))])
287
+ ),
288
+ shadow400: same(
289
+ steps([glow1(alpha(base[12], A.shadow.high[0])), elevation400(alpha(base[12], A.shadow.medium[0]))])
290
+ ),
291
+ shadow500: same(
292
+ steps([glow1(alpha(base[12], A.shadow.high[0])), elevation500(alpha(base[12], A.shadow.medium[0]))])
293
+ ),
294
+ shadow600: same(steps([glow1(alpha(base[12], A.shadow.high[0])), elevation600(alpha(base[12], A.shadow.high[0]))])),
247
295
 
248
296
  actionMenuShadow: floatingShadows.popup,
249
297
  shadowPopup: floatingShadows.popup,
250
- shadowSidebar: [edgeLeft(alpha(base[10], 0.1)), edgeLeft(alpha(baseDark[1], 0.8))],
298
+ shadowSidebar: [
299
+ edgeLeft(alpha(base[10], A.shadow.sidebarEdge[0])),
300
+ edgeLeft(alpha(baseDark[1], A.shadow.sidebarEdge[1])),
301
+ ],
251
302
  } as const;
252
303
 
253
- // names proposal: forbid color in keys (they all are colors) — restructure it better (separate shadows, borders etc)
254
- // inspired by tailwind:
255
- // bg-* Sets the background color of an element
256
- // text-* Sets the text color of an element
257
- // border-* Sets the border color of an element
258
- // shadow-* Sets the color of box shadows
259
- // fill-* Sets the fill color of SVG elements
260
- // stroke-* Sets the stroke color of SVG elements
261
- // TODO elevation = raised * shadow
262
-
263
304
  const transparentAlways = same(transparent);
264
305
  const whiteColor = same(white);
265
306
  const blackColor = same(black);
266
307
 
267
308
  const fg = {
268
309
  accent: [accent[11], accentDark[11]],
269
- accentActive: [alpha(accent[11], 0.8), alpha(accentDark[11], 0.8)],
310
+ accentActive: alphaDef([accent[11], accentDark[11]], A.foreground.active),
270
311
 
271
312
  neutral: [base[11], baseDark[11]],
272
- neutralActive: [alpha(base[11], 0.8), alpha(baseDark[11], 0.8)],
273
- // FIXME uses base[12] while soft/ghost use base[11] — inconsistent?
274
- neutralActive__TODO: [alpha(base[12], 0.8), alpha(baseDark[12], 0.8)],
313
+ neutralActive: alphaDef([base[11], baseDark[11]], A.foreground.active),
314
+ neutralStrongActive: alphaDef([base[12], baseDark[12]], A.foreground.active),
275
315
  muted: [base[9], baseDark[9]],
276
316
 
277
317
  destructive: [red[11], redDark[11]],
278
- destructiveActive: [alpha(red[11], 0.8), alpha(redDark[11], 0.8)],
318
+ destructiveActive: alphaDef([red[11], redDark[11]], A.foreground.active),
279
319
 
280
320
  addition: [teal[9], tealDark[11]],
281
321
 
282
322
  success: [teal[11], tealDark[11]],
283
323
  warning: [yellow[11], yellowDark[11]],
284
324
 
285
- icon: [alpha(base[12], 0.7), alpha(baseDark[12], 0.7)],
286
- // TODO The 0.65 vs 0.7 dark alpha might be intentional (text slightly more muted than icons?) or drift.
287
- secondary: [alpha(base[12], 0.7), alpha(baseDark[12], 0.65)],
325
+ icon: alphaDef([base[12], baseDark[12]], A.foreground.icon),
326
+ secondary: alphaDef([base[12], baseDark[12]], A.foreground.secondary),
288
327
 
289
328
  link: [blue_9_, blueDark_9_],
290
329
  ai: [purple_9_, purpleDark_9_],
@@ -317,15 +356,15 @@ export function defsFromPalette({
317
356
 
318
357
  const primary = {
319
358
  accent: [accent[9], accentDark[9]],
320
- destructive_TODO: [red[9], redDark[9]],
321
- destructive: [red[9], redDark[10]], // TODO 9_9?
359
+ destructiveBase: [red[9], redDark[9]],
360
+ destructive: [red[9], redDark[10]],
322
361
  success: [teal[9], tealDark[9]],
323
- warning: [yellow[9], yellowDark[8]], // TODO 9_9 after correct adjusting palette?
362
+ warning: [yellow[9], yellowDark[8]],
324
363
  } satisfies Defs;
325
364
 
326
365
  const bgStatus = {
327
- accent: [alpha(accent[5], 0.7), alpha(accentDark[4], 0.8)],
328
- neutral: [alpha(base[5], 0.7), alpha(baseDark[4], 0.8)],
366
+ accent: alphaPair(accent[5], accentDark[4], A.badgeFill.accent),
367
+ neutral: alphaPair(base[5], baseDark[4], A.badgeFill.neutral),
329
368
  success: [teal[5], tealDark[5]],
330
369
  warning: [yellow[5], yellowDark[5]],
331
370
  error: [red[5], redDark[5]],
@@ -336,45 +375,45 @@ export function defsFromPalette({
336
375
  const borderDanger = [red[7], redDark[7]] as const;
337
376
  const borderNeutral = [base[8], baseDark[7]] as const;
338
377
 
339
- // beg(TODO shake it)
340
- const bgEntityCardOverlay = [alpha(base[2], 0.8), alpha(baseDark[6], 0.5)] as const;
341
- const bgEntityCardDone = [alpha(base[4], 0.3), alpha(baseDark[5], 0.3)] as const;
378
+ const bgEntityCardOverlay = alphaPair(base[2], baseDark[6], A.entityCard.overlay);
379
+ const bgEntityCardDone = alphaPair(base[4], baseDark[5], A.entityCard.done);
342
380
  const base5_6 = [base[5], baseDark[6]] as const;
343
- const base6_6_opacity30 = [alpha(base[6], 0.3), alpha(baseDark[6], 0.3)] as const;
381
+ const base6_6_opacity30 = alphaPair(base[6], baseDark[6], A.interactiveFill.disabledNeutral);
344
382
  const base8 = [base[8], baseDark[8]] as const;
345
383
  const fgAccentText = [base[10], baseDark[10]] as const;
346
384
  const fgMenuEtc = [base[12], baseDark[12]] as const;
347
385
 
348
386
  const bgTabFocus = [base[6], baseDark[6]] as const;
349
- const bgTabHover = [alpha(base[11], 0.1), alpha(baseDark[11], 0.1)] as const;
387
+ const bgTabHover = alphaPair(base[11], baseDark[11], A.interactiveFill.tabHover);
350
388
 
351
389
  const viewHighlightBg = [accent[3], accentDark[3]] as const;
352
- const notificationSelected = [accent[3], accentDark[4]] as const;
353
- const bgCellGridDisabledOrHighlighted = [accent[4], accentDark[5]] as const;
354
- const notificationSelectedHover = [accent[4], accentDark[6]] as const;
355
390
 
356
- const fgSelection = [alpha(accent[9], 0.2), alpha(accentDark[9], 0.4)] as const;
391
+ const notificationSelected = [accent[3], accentDark[2]] as const;
392
+ const notificationSelectedHover = [accent[4], accentDark[3]] as const;
393
+ const bgCellGridDisabledOrHighlighted = [accent[4], accentDark[5]] as const;
357
394
 
358
- const warningColor = [alpha(yellow[6], 0.6), alpha(yellowDark[9], 0.4)] as const;
359
- const bgBtnGhostAccentHover = [alpha(accent[4], 0.8), alpha(accentDark[4], 0.8)] as const;
360
- const bgBtnGhostNeutralHover = [alpha(base[7], 0.5), alpha(baseDark[6], 0.8)] as const;
395
+ const warningColor = alphaPair(yellow[6], yellowDark[9], A.interactiveFill.warningComment);
396
+ const bgBtnGhostAccentHover = alphaPair(accent[4], accentDark[4], A.interactiveFill.ghostAccentHover);
397
+ const bgBtnGhostNeutralHover = alphaPair(base[7], baseDark[6], A.interactiveFill.ghostNeutralHover);
361
398
  const bgBtnGhostDestructiveHover = [red[4], redDark[4]] as const;
362
399
  const bgBtnSoftAccentHover = [accent[5], accentDark[6]] as const;
363
400
  const bgBtnSoftNeutralDefault = [base[3], baseDark[3]] as const;
364
401
  const bgBtnSoftNeutralHover = [base[7], baseDark[7]] as const;
365
402
  const bgBtnSoftDestructiveHover = [red[6], redDark[6]] as const;
366
- const borderFocusRingAccent = same(alpha(accent[9], 0.3));
367
- const borderFocusRingNeutral = same(alpha(base[9], 0.3));
368
- const borderFocusRingDestructive = same(alpha(red[9], 0.3));
369
- const textWhiteboardSelectionLockedOrDisabled = [alpha(base[9], 0.5), alpha(baseDark[9], 0.5)] as const;
403
+ const bgBtnSoftAccentDefault = [accent[3], accentDark[4]] as const;
404
+
405
+ const borderFocusRingAccent = alphaDef(same(accent[9]), A.border.focusRing);
406
+ const borderFocusRingNeutral = alphaDef(same(base[9]), A.border.focusRing);
407
+ const borderFocusRingDestructive = alphaDef(same(red[9]), A.border.focusRing);
408
+ const textWhiteboardSelectionLockedOrDisabled = alphaPair(base[9], baseDark[9], A.whiteboard.lockedOrDisabled);
370
409
 
410
+ const fgSelection = alphaPair(accent[9], accentDark[9], A.interactiveFill.selection);
371
411
  const fgSelectedText = same(base[2]);
372
- const fgSolidActiveText = same(alpha(white, 0.8));
412
+ const fgSolidActiveText = alphaDef(same(white), A.foreground.solidActiveText);
373
413
 
374
- const codeOrErrorMessage = [red[9], red[8]] as const; // TODO check: lack of redDark scale usage
414
+ const codeOrErrorMessage = [red[9], red[8]] as const;
375
415
  const errorIndicatorColor = same(red[8]);
376
416
  const neutralStrong = same(base[11]);
377
- // end(TODO shake it)
378
417
 
379
418
  const bgActionsMenu = raised.level1;
380
419
  const bgActionsMenuItemHover = surface.level4_5;
@@ -384,7 +423,7 @@ export function defsFromPalette({
384
423
 
385
424
  const iconFromFg = (fg: string): {fg: Def; bg: Def} => ({
386
425
  fg: deneutralize(same(fg)),
387
- bg: deneutralize(same(alpha(fg, 0.2))),
426
+ bg: deneutralize(alphaDef(same(fg), A.interactiveFill.iconBackground)),
388
427
  });
389
428
 
390
429
  const iconMySpace = iconFromFg(Swatch.Grey);
@@ -395,6 +434,7 @@ export function defsFromPalette({
395
434
  const fns = createColorFns(deneutralizeFilterDef, {
396
435
  icon: fg.icon,
397
436
  adapt: surface.level0,
437
+ avatarPlaceholder: surface.level0,
398
438
  highlight: surface.level0,
399
439
  callout: surface.level0,
400
440
  enum: enumDefs,
@@ -405,49 +445,60 @@ export function defsFromPalette({
405
445
  ...highlightColors(highlight, surface.level0, deneutralizeFilterDef),
406
446
  colorPickerCssFilter: mapDef(deneutralizeFilterSpec, same(cssFromFilter)),
407
447
 
408
- mode: ["light", "dark"],
409
-
410
448
  // Accent background tints (light → strong)
411
- colorAccentBgSubtle: same(alpha(accent[9], 0.1)),
412
- colorAccentBgMild: same(alpha(accent[9], 0.15)),
413
- colorAccentBgMedium: same(alpha(accent[9], 0.2)),
414
- colorAccentBgStrong: same(alpha(accent[9], 0.3)),
415
- colorAccentBgBold: same(alpha(accent[9], 0.35)),
416
- colorAccentBgVivid: same(alpha(accent[9], 0.6)),
449
+ colorAccentBgSubtle: alphaDef(same(accent[9]), A.interactiveFill.accentSubtle),
450
+ colorAccentBgMild: alphaDef(same(accent[9]), A.interactiveFill.accentMild),
451
+ colorAccentBgMedium: alphaDef(same(accent[9]), A.interactiveFill.accentMedium),
452
+ colorAccentBgStrong: alphaDef(same(accent[9]), A.interactiveFill.accentStrong),
453
+ colorAccentBgBold: alphaDef(same(accent[9]), A.interactiveFill.accentBold),
454
+ colorAccentBgVivid: alphaDef(same(accent[9]), A.interactiveFill.accentVivid),
417
455
 
418
456
  // Accent strokes
419
- colorAccentStroke: same(alpha(accent[9], 0.25)),
420
- colorAccentStrokeHover: same(alpha(accent[9], 0.4)),
421
- colorAccentStrokeFocus: same(alpha(accent[9], 0.5)),
457
+ colorAccentStroke: alphaDef(same(accent[9]), A.interactiveFill.accentStroke),
458
+ colorAccentStrokeHover: alphaDef(same(accent[9]), A.interactiveFill.accentStrokeHover),
459
+ colorAccentStrokeFocus: alphaDef(same(accent[9]), A.interactiveFill.accentStrokeFocus),
422
460
 
423
461
  // Accent solid
424
- colorAccentSolid: same(alpha(accent[9], 0.8)),
462
+ colorAccentSolid: alphaDef(same(accent[9]), A.interactiveFill.accentSolid),
425
463
 
426
464
  // Accent base
427
465
  colorAccent: primary.accent,
428
466
 
429
- // Rubbish dump
430
- /** @deprecated */
467
+ //to be sorted. these are still in use
431
468
  darkenPrimary: same(getDarkenColor(accent[9])),
432
469
  whiteColor,
433
470
  blackColor,
434
- mainBg: surface.level3exotic,
471
+ mainBg: surface.level3,
435
472
  panelBg: surface.level0,
473
+ panelBorder: both(stroke1)(alphaPair(base[8], baseDark[8], A.border.panel)),
436
474
  panelContentBg: surface.level2_1,
437
- colorBgRelationContainer: surface.level2_1,
475
+
476
+ //Database settings screens
477
+ dbSettingsSidebarBg: surface.level2,
478
+ dbSettingsSidebarItemHover: surface.level4,
479
+ dbSettingsSidebarIconBg: raised.level1,
480
+ dbSettingsSidebarIconBorder: shadowMenuHeaderAvatar,
481
+
482
+ dbSettingsCardBg: surface.level2,
483
+ dbSettingsCardBorder: both(stroke1)(alphaPair(base[6], baseDark[6], A.border.dbSettingsCard)),
484
+ colorBgRelationContainer: surface.level1_1,
438
485
 
439
486
  // AI colors
440
487
  colorAI: fg.ai,
441
- colorBgAI: mapDef(fg.ai, (color) => alpha(color, 0.1)),
488
+ colorBgAI: mapDef(fg.ai, (color, side) => alpha(color, A.utility.aiBg[side])),
442
489
 
443
490
  colorBgAIFloatingLauncher: surface.level1_4,
444
491
  colorBgAIFloatingPanelContent: surface.level1_3,
445
492
  colorBgAISidebarContent: surface.level1,
446
493
 
494
+ // Floating panels (hover action toolbars, selection toolbar, rich-text format bar)
495
+ colorBgFloatingPanel: floatingPanel.bg,
496
+ shadowFloatingPanel: floatingPanel.shadow,
497
+
447
498
  // Other colors
448
499
  pageContentBg: surface.level0elevated,
449
- colorBgPopup: raised.level2,
450
- menuBg: surface.level3exotic,
500
+ colorBgPopup: [white, baseDark[3]],
501
+ menuBg: surface.level3,
451
502
  menuTextColor: fgMenuEtc,
452
503
  menuItemHoverColor: base5_6,
453
504
  menuSelectedTextColor: fgSelectedText,
@@ -462,9 +513,9 @@ export function defsFromPalette({
462
513
  inversedTextColor: surface.level3_6,
463
514
  colorTextSecondary: fg.secondary,
464
515
  linkColor: fg.link,
465
- linkBorder: mapDef(fg.link, (color) => separator(alpha(color, 0.4))),
516
+ linkBorder: mapDef(fg.link, (color, side) => separator(alpha(color, A.border.link[side]))),
466
517
  linkHoverColor: fg.link,
467
- linkBorderHover: mapDef(fg.link, (color) => separator(alpha(color, 0.75))),
518
+ linkBorderHover: mapDef(fg.link, (color, side) => separator(alpha(color, A.border.linkHover[side]))),
468
519
  codeColor: codeOrErrorMessage,
469
520
  codeBgColor: surface.level3_4,
470
521
  codeBlockBgColor: surface.level3_4,
@@ -473,16 +524,16 @@ export function defsFromPalette({
473
524
 
474
525
  // Entity
475
526
  entityNodeColor: [baseDark[3], base[8]],
476
- entityNodeBorder: [separator(alpha(baseDark[3], 0.3)), separator(alpha(base[8], 0.4))],
527
+ entityNodeBorder: both(separator)(alphaPair(baseDark[3], base[8], A.border.entityNode)),
477
528
  entityNodeHoverColor: [baseDark[7], base[7]],
478
- entityNodeBorderHover: [separator(alpha(base[11], 0.8)), separator(alpha(base[7], 0.8))],
529
+ entityNodeBorderHover: both(separator)(alphaPair(base[11], base[7], A.border.entityNodeHover)),
479
530
  entityNodeBgColor: surface.level2_3,
480
531
  shortcutTextColor: [base[9], baseDark[11]],
481
- shortcutBorder: [border1(alpha(base[8], 0.5)), border1(alpha(baseDark[10], 0.2))],
482
- shortcutBorderColor: [alpha(base[8], 0.5), alpha(baseDark[10], 0.2)],
532
+ shortcutBorder: both(border1)(alphaPair(base[8], baseDark[10], A.border.shortcut)),
533
+ shortcutBorderColor: alphaPair(base[8], baseDark[10], A.border.shortcut),
483
534
 
484
535
  // Input
485
- inputBgColor: surface.level0elevated,
536
+ inputBgColor: [white, baseDark[1]],
486
537
  inputDisabledBgColor: base6_6_opacity30,
487
538
  inputDisabledBorderColor: inputStrokes.disabled,
488
539
  inputCopyBgColor: surface.level3_4,
@@ -496,6 +547,7 @@ export function defsFromPalette({
496
547
  inputErrorBorderFocusColor: inputStrokes.errorFocus,
497
548
  inputErrorBorderFocusShadow: inputStrokes.errorFocusRing,
498
549
  inputBorderWarningColor: inputStrokes.warning,
550
+ //buttons and checkboxes and blockquote (why?)
499
551
  buttonPrimaryColor: primary.accent,
500
552
  buttonColor: fgAccentText,
501
553
  buttonPrimaryTextColor: [base[2], base[6]],
@@ -506,17 +558,17 @@ export function defsFromPalette({
506
558
  colorBgActionsMenu: bgActionsMenu,
507
559
  colorBgActionsMenuItemHover: bgActionsMenuItemHover,
508
560
  colorBgActionsMenuItemSelected: bgBtnGhostAccentHover,
509
- colorBgActionsMenuItemSelectedHover: [alpha(accent[5], 0.8), alpha(accentDark[6], 0.8)],
510
- colorBgActionsMenuItemDangerHover: [alpha(red[9], 0.1), alpha(redDark[10], 0.1)],
511
- colorBgActionsMenuItemDangerActive: [alpha(red[9], 0.8), alpha(redDark[10], 0.8)],
561
+ colorBgActionsMenuItemSelectedHover: alphaPair(accent[5], accentDark[6], A.actionMenu.selectedHover),
562
+ colorBgActionsMenuItemDangerHover: alphaPair(red[9], redDark[10], A.actionMenu.dangerHover),
563
+ colorBgActionsMenuItemDangerActive: alphaPair(red[9], redDark[10], A.actionMenu.dangerActive),
512
564
  actionMenuBg: bgActionsMenu,
513
565
  actionMenuInnerBg: raised.level2,
514
566
  actionMenuHover: bgActionsMenuItemHover,
515
- actionMenuInnerHover: [base[4], alpha(baseDark[6], 0.5)],
567
+ actionMenuInnerHover: [base[4], alpha(baseDark[6], A.actionMenu.innerHoverDark[1])],
516
568
  actionMenuButtonColor: surface.level0elevated,
517
569
  actionMenuButtonHoverColor: surface.level1_3,
518
570
  actionMenuButtonShadow: cardShadows.subtle,
519
- actionMenuSeparatorColor: [alpha(black, 0.1), alpha(white, 0.15)],
571
+ actionMenuSeparatorColor: alphaPair(black, white, A.actionMenu.separator),
520
572
  separatorColor: blackA10,
521
573
  separatorColorDimmed: blackA5,
522
574
  separatorBreadcrumbsColor: base8,
@@ -552,9 +604,10 @@ export function defsFromPalette({
552
604
  shadowCardInset: [`inset ${inputStrokes.default[0]}`, `inset ${inputStrokes.default[1]}`],
553
605
 
554
606
  iconColor: fg.icon,
555
- appIconColor: [alpha(base[2], 0.9), alpha(base[2], 0.7)],
556
- appIconBgColor: [alpha(base[1], 0.9), alpha(base[2], 0.5)],
557
- mentionBgColor: [alpha(base[7], 0.3), alpha(baseDark[7], 0.4)],
607
+ colorIconDestructive: fg.destructive,
608
+ appIconColor: alphaPair(base[2], base[2], A.iconAndMention.appIconFg),
609
+ appIconBgColor: alphaPair(base[1], base[2], A.iconAndMention.appIconBg),
610
+ mentionBgColor: alphaPair(base[7], baseDark[7], A.iconAndMention.mentionBg),
558
611
  colorBgSelectMenu: surface.level1_3,
559
612
  shadowSelectMenu: floatingShadows.popup,
560
613
  colorBgListItemGeneral: transparentAlways,
@@ -570,7 +623,8 @@ export function defsFromPalette({
570
623
 
571
624
  // Search
572
625
  colorSearchSubtitle: fg.muted,
573
- colorBgSearchRowHover: bgActionsMenuItemHover,
626
+ colorBgSearchPanel: [white, baseDark[2]],
627
+ colorBgSearchRowHover: [base[4], baseDark[3]],
574
628
  colorBgSearchRowCreateHover: [accent[4], accentDark[4]],
575
629
  opacitySearchItemDone: opacities.drag,
576
630
 
@@ -618,7 +672,7 @@ export function defsFromPalette({
618
672
  entityCardDoneColor: bgEntityCardDone,
619
673
  entityCardShadow: cardShadows.subtle,
620
674
  entityCardShadowHover: cardShadows.subtle,
621
- colorBgSegmentedControl: [alpha(base[5], 0.8), alpha(baseDark[3], 0.8)],
675
+ colorBgSegmentedControl: alphaPair(base[5], baseDark[2], A.segmentedControl.track),
622
676
  colorBgMenuHeaderAvatar: surface.level0elevated,
623
677
  shadowMenuHeaderAvatar: shadowMenuHeaderAvatar,
624
678
 
@@ -627,16 +681,16 @@ export function defsFromPalette({
627
681
  opacityMenuItemDragged: opacities.drag,
628
682
  colorBgMenuItemSelectedDragged: [accent[6], accentDark[6]],
629
683
  // Default
630
- colorTextMenuItem: [alpha(base[12], 0.9), alpha(baseDark[12], 0.9)],
684
+ colorTextMenuItem: alphaDef([base[12], baseDark[12]], A.foreground.menuItem),
631
685
  colorBgMenuItem: transparentAlways,
632
686
  // :hover
633
- colorBgMenuItemHover: [base[5], baseDark[2]],
687
+ colorBgMenuItemHover: [base[5], baseDark[5]],
634
688
  // :focus
635
- colorBgMenuItemFocus: [base[6], baseDark[5]],
689
+ colorBgMenuItemFocus: [base[6], baseDark[6]],
636
690
  // Selected
637
- colorBgMenuItemSelected: [alpha(accent[5], 0.8), accentDark[3]],
691
+ colorBgMenuItemSelected: [alpha(accent[5], A.menu.selected[0]), accentDark[3]],
638
692
  // :hover
639
- colorBgMenuItemSelectedHover: [alpha(accent[6], 0.7), accentDark[5]],
693
+ colorBgMenuItemSelectedHover: [alpha(accent[6], A.menu.selectedHover[0]), accentDark[5]],
640
694
  // :focus, :focus:hover
641
695
  colorBgPinnedFieldsLabel: fg.neutral,
642
696
  colorBgObjectEditorSeparator: fgMenuEtc,
@@ -673,24 +727,24 @@ export function defsFromPalette({
673
727
 
674
728
  tooltipBgColor: [baseDark[5], baseDark[6]],
675
729
  todayMarkerColor: [red[8], redDark[6]],
676
- viewBgOverlayColor: [alpha(base[8], 0.2), alpha(baseDark[1], 0.6)],
730
+ viewBgOverlayColor: alphaPair(base[8], baseDark[1], A.overlay.view),
677
731
  floatEditorMenuBg: surface.level1_6,
678
732
  floatEditorActiveColor: fg.accent,
679
733
  commentColor: warningColor,
680
734
  cellBackgroundColor: surface.level2,
681
735
  cellBackgroundHoverColor: base6_6_opacity30,
682
- cellBorderColor: [alpha(base[8], 0.5), alpha(baseDark[9], 0.5)],
683
- cellPinnedBorderColor: [alpha(base[8], 0.7), alpha(baseDark[9], 0.7)],
736
+ cellBorderColor: alphaPair(base[8], baseDark[9], A.border.cell),
737
+ cellPinnedBorderColor: alphaPair(base[8], baseDark[9], A.border.cellPinned),
684
738
  tableRowWarningColor: warningColor,
685
- errorBgColor: [alpha(red[9], 0.2), alpha(redDark[9], 0.6)],
739
+ errorBgColor: alphaPair(red[9], redDark[9], A.statusFill.error),
686
740
  errorTextColor: [red[11], red[7]],
687
741
  errorButtonColor: primary.destructive,
688
- warningBgColor: [alpha(yellow[6], 0.6), alpha(yellowDark[8], 0.6)],
742
+ warningBgColor: alphaPair(yellow[6], yellowDark[8], A.statusFill.warning),
689
743
  warningButtonColor: fg.warning,
690
- infoBox: [alpha(yellow[4], 0.5), alpha(yellowDark[9], 0.2)],
744
+ infoBox: alphaPair(yellow[4], yellowDark[9], A.statusFill.infoBox),
691
745
  appCardBgColor: surface.level0elevated,
692
- appCardHoverColor: [alpha(base[1], 0.95), baseDark[2]],
693
- modalBg: [alpha(base[11], 0.2), alpha(baseDark[2], 0.5)],
746
+ appCardHoverColor: [alpha(base[1], A.statusFill.appCardHover[0]), baseDark[2]],
747
+ modalBg: alphaPair(base[11], baseDark[2], A.overlay.modal),
694
748
  modalContentBg: bgActionsMenu,
695
749
  progressIconBg: [blackA[7], whiteA[7]],
696
750
  progressIconFill: [blackA[11], whiteA[11]],
@@ -700,7 +754,7 @@ export function defsFromPalette({
700
754
  filterGroup1Bg: surface.level2_6,
701
755
  filterGroup2Bg: surface.level3_7,
702
756
  filterGroupBorder: [blackA[3], whiteA[3]],
703
- colorBgNotificationHover: surface.level3_4,
757
+ colorBgNotificationHover: surface.level3_2,
704
758
  colorBgNotificationSelected: notificationSelected,
705
759
  colorBgNotificationSelectedHover: notificationSelectedHover,
706
760
  disabledInversedTextColor: blackA25,
@@ -711,13 +765,13 @@ export function defsFromPalette({
711
765
  cardBg: raised.level4,
712
766
  selectedImageBorder: [blackA[8], whiteA[11]],
713
767
  transparent: transparentAlways,
714
- progressBg: same(base[4]), // TODO check if that could be surface.level4?
768
+ progressBg: same(base[4]),
715
769
  progressText: neutralStrong,
716
770
  progressFillBg: neutralStrong,
717
771
  progressFillText: whiteColor,
718
- progressBarFillNeutral: [alpha(base[9], 0.2), alpha(baseDark[9], 0.2)],
772
+ progressBarFillNeutral: alphaPair(base[9], baseDark[9], A.progress.neutralFill),
719
773
  progressBarFill: [accent[9], accentDark[10]],
720
- progressBarBg: [alpha(accent[9], 0.25), alpha(accentDark[10], 0.25)],
774
+ progressBarBg: alphaPair(accent[9], accentDark[10], A.progress.track),
721
775
  colorPickerSwatchBorder: same(blackA[7]),
722
776
  colorBorderRichTextMedia: same(blackA[7]),
723
777
  richTextTableBorder: [blackA[5], whiteA[7]],
@@ -727,12 +781,15 @@ export function defsFromPalette({
727
781
 
728
782
  // Views
729
783
  viewBg: surface.level1,
784
+ colorBgViewMetaItem: surface.level0elevated,
785
+ collectionViewBg: surface.level1_1,
786
+ collectionViewBorder: inputStrokes.disabled,
730
787
  viewSecondaryBg: surface.level2,
731
788
  viewHighlightBg: viewHighlightBg,
732
789
 
733
790
  // Board
734
791
  boardBg: surface.level1,
735
- boardBgWithOpacity80: [alpha(base[1], 0.8), alpha(baseDark[1], 0.8)],
792
+ boardBgWithOpacity80: alphaPair(base[1], baseDark[1], A.utility.boardBg),
736
793
  boardAxisBgHover: surface.level4,
737
794
 
738
795
  // Grid
@@ -752,25 +809,25 @@ export function defsFromPalette({
752
809
  //timeline
753
810
  timelineEntityHandleColor: borderAccentOrMedium,
754
811
  timelineDependencyHoverBgColor: borderAccentOrMediumAccent,
755
- timelineDependencyOverlapBgColor: primary.destructive_TODO,
812
+ timelineDependencyOverlapBgColor: primary.destructiveBase,
756
813
  timelineDependencyOverlapHoverBgColor: fg.destructive,
757
814
  timelineCellBgColor: surface.level1,
758
815
  timelineCellWeekendBgColor: surface.level2,
759
816
  timelineCellTodayBgColor: [accent[4], accentDark[2]],
760
- timelineCreateEntityPlaceholderBgColor: [alpha(base[11], 0.2), baseDark[7]],
817
+ timelineCreateEntityPlaceholderBgColor: [alpha(base[11], A.utility.timelinePlaceholder[0]), baseDark[7]],
761
818
 
762
819
  // #region buttons
763
820
  // solid
764
821
  colorBgButtonSolidAccentDefault: primary.accent,
765
822
  colorBgButtonSolidAccentHover: [accent[11], accentDark[10]],
766
823
  colorBgButtonSolidNeutralDefault: fgMenuEtc,
767
- colorBgButtonSolidNeutralHover: [alpha(base[12], 0.85), white],
768
- colorBgButtonSolidDestructiveDefault: primary.destructive_TODO,
824
+ colorBgButtonSolidNeutralHover: [alpha(base[12], A.button.solidNeutralHover[0]), white],
825
+ colorBgButtonSolidDestructiveDefault: primary.destructiveBase,
769
826
  colorBgButtonSolidDestructiveHover: [red[11], redDark[10]],
770
827
  colorTextButtonSolidAccent: whiteColor,
771
828
  colorTextButtonSolidAccentActive: fgSolidActiveText,
772
829
  colorTextButtonSolidNeutral: [white, baseDark[2]],
773
- colorTextButtonSolidNeutralActive: [white, alpha(baseDark[2], 0.8)],
830
+ colorTextButtonSolidNeutralActive: [white, alpha(baseDark[2], A.button.solidNeutralActiveText[1])],
774
831
  colorTextButtonSolidDestructive: whiteColor,
775
832
  colorTextButtonSolidDestructiveActive: fgSolidActiveText,
776
833
  colorIconButtonSolidAccent: whiteColor,
@@ -789,14 +846,14 @@ export function defsFromPalette({
789
846
  colorTextButtonOutlineAccent: fg.accent,
790
847
  colorTextButtonOutlineAccentActive: fg.accentActive,
791
848
  colorTextButtonOutlineNeutral: fg.neutral,
792
- colorTextButtonOutlineNeutralActive: fg.neutralActive__TODO,
849
+ colorTextButtonOutlineNeutralActive: fg.neutralStrongActive,
793
850
  colorTextButtonOutlineDestructive: fg.destructive,
794
851
  colorTextButtonOutlineDestructiveActive: fg.destructiveActive,
795
852
  colorIconButtonOutlineAccent: fg.accent,
796
853
  colorIconButtonOutlineNeutral: fg.neutral,
797
854
  colorIconButtonOutlineDestructive: fg.destructive,
798
855
  // soft
799
- colorBgButtonSoftAccentDefault: notificationSelected,
856
+ colorBgButtonSoftAccentDefault: bgBtnSoftAccentDefault,
800
857
  colorBgButtonSoftAccentHover: bgBtnSoftAccentHover,
801
858
  colorBgButtonSoftNeutralDefault: bgBtnSoftNeutralDefault,
802
859
  colorBgButtonSoftNeutralHover: bgBtnSoftNeutralHover,
@@ -838,10 +895,50 @@ export function defsFromPalette({
838
895
  colorBorderReactionsHover: [base[8], baseDark[9]],
839
896
  colorBgReactionsSelectedDefault: [accent[3], accentDark[8]],
840
897
  colorBorderReactionsSelectedDefault: borderAccentOrMediumAccent,
841
- // FIXME: lack of accentDark scale usage
898
+ // Existing dark hover uses the light accent scale.
842
899
  colorBgReactionsSelectedHover: [accent[2], accent[10]],
843
900
  colorBorderReactionsSelectedHover: [accent[9], accent[10]],
844
901
  colorTextReactionsSelected: [accent[10], baseDark[12]],
902
+
903
+ // ToggleButton (reactions, pinned filters)
904
+ colorBgToggleButtonUnselectedNormal: surface.level0elevated,
905
+ colorBgToggleButtonUnselectedHover: surface.level3_6,
906
+ colorBgToggleButtonSelectedNormal: [accent[3], accentDark[8]],
907
+ colorBgToggleButtonSelectedHover: [accent[2], accent[10]],
908
+ colorBorderToggleButtonUnselectedNormal: [base[8], baseDark[9]],
909
+ colorBorderToggleButtonUnselectedHover: [base[8], baseDark[9]],
910
+ colorBorderToggleButtonSelectedNormal: borderAccentOrMediumAccent,
911
+ colorBorderToggleButtonSelectedHover: [accent[9], accent[10]],
912
+ colorTextToggleButtonUnselectedNormal: fg.neutral,
913
+ colorTextToggleButtonUnselectedHover: fg.neutral,
914
+ colorTextToggleButtonSelectedNormal: [accent[10], baseDark[12]],
915
+ colorTextToggleButtonSelectedHover: [accent[10], baseDark[12]],
916
+ colorIconToggleButtonUnselectedNormal: fg.neutral,
917
+ colorIconToggleButtonUnselectedHover: fg.neutral,
918
+ colorIconToggleButtonSelectedNormal: fg.accent,
919
+ colorIconToggleButtonSelectedHover: fg.accent,
920
+
921
+ // RoundToggleButton (capability indicators)
922
+ colorBgRoundToggleButtonUnselectedNormal: surface.level0elevated,
923
+ colorBgRoundToggleButtonUnselectedHover: surface.level3_6,
924
+ colorBgRoundToggleButtonSelectedNormal: [accent[4], accentDark[8]],
925
+ colorBgRoundToggleButtonSelectedHover: [accent[3], accent[10]],
926
+
927
+ colorBorderRoundToggleButtonUnselectedNormal: [base[8], baseDark[9]],
928
+ colorBorderRoundToggleButtonUnselectedHover: [base[8], baseDark[9]],
929
+ colorBorderRoundToggleButtonSelectedNormal: borderAccentOrMediumAccent,
930
+ colorBorderRoundToggleButtonSelectedHover: [accent[9], accent[10]],
931
+
932
+ colorTextRoundToggleButtonUnselectedNormal: fg.neutral,
933
+ colorTextRoundToggleButtonUnselectedHover: fg.neutral,
934
+ colorTextRoundToggleButtonSelectedNormal: [accent[10], baseDark[12]],
935
+ colorTextRoundToggleButtonSelectedHover: [accent[10], baseDark[12]],
936
+
937
+ colorIconRoundToggleButtonUnselectedNormal: fg.neutral,
938
+ colorIconRoundToggleButtonUnselectedHover: fg.neutral,
939
+ colorIconRoundToggleButtonSelectedNormal: fg.accent,
940
+ colorIconRoundToggleButtonSelectedHover: fg.accent,
941
+
845
942
  colorBgToastDefault: surface.level1,
846
943
  colorBgDbTabHover: surface.level3_4,
847
944
  colorBgDbTabFocus: bgTabFocus,
@@ -856,7 +953,10 @@ export function defsFromPalette({
856
953
  colorTextEntityAvatarHover: primary.accent,
857
954
  colorBgMessageHighlighted: surface.level0elevated,
858
955
 
859
- // Text editor
956
+ // Comment/message row hover (subtle lift over panel, stays darker than the floating actions toolbar in dark theme)
957
+ colorBgCommentHover: surface.level2,
958
+
959
+ colorBgCodeEditor: raised.level1,
860
960
  colorBgEditorImageZoomed: surface.level3_6,
861
961
  colorMermaidPrimaryColor: [base[2], baseDark[8]],
862
962
  colorMermaidPrimaryBorderColor: fg.muted,
@@ -869,34 +969,31 @@ export function defsFromPalette({
869
969
  colorHighlightWhiteboardSelection: borderAccentOrMediumAccent,
870
970
  colorHighlightWhiteboardSelectionLocked: textWhiteboardSelectionLockedOrDisabled,
871
971
  colorSelectionWhiteboardBorderDisabled: textWhiteboardSelectionLockedOrDisabled,
872
- colorPlaceholderWhiteboardDefault: [alpha(accent[8], 0.2), alpha(accentDark[8], 0.2)],
972
+ colorPlaceholderWhiteboardDefault: alphaPair(accent[8], accentDark[8], A.whiteboard.placeholder),
873
973
  colorLinkPointWhiteboardDefault: borderAccentOrMediumAccent,
874
974
  colorLinkPointWhiteboardFillDefault: [white, blackish],
875
- colorMapWhiteboardPreviewDefault: [alpha(accent[8], 0.4), alpha(accentDark[8], 0.4)],
876
- colorCardWhiteboardShadowDefault: [alpha(base[11], 0.05), alpha(baseDark[11], 0.05)],
975
+ colorMapWhiteboardPreviewDefault: alphaPair(accent[8], accentDark[8], A.whiteboard.mapPreview),
976
+ colorCardWhiteboardShadowDefault: alphaPair(base[11], baseDark[11], A.whiteboard.cardShadow),
877
977
  colorCardWhiteboardBgDefault: raised.level3,
878
- colorCardWhiteboardBorderDefault: [alpha(base[12], 0.2), alpha(baseDark[12], 0.2)],
879
- colorUnitHeaderWhiteboardDefault: [alpha(base[12], 0.6), alpha(baseDark[12], 0.6)],
978
+ colorCardWhiteboardBorderDefault: alphaPair(base[12], baseDark[12], A.whiteboard.cardBorder),
979
+ colorUnitHeaderWhiteboardDefault: alphaPair(base[12], baseDark[12], A.whiteboard.unitHeader),
880
980
  colorUnitWhiteboardBgDefault: surface.level3_6,
881
- colorUnitWhiteboardBorderDefault: [alpha(base[12], 0.2), alpha(baseDark[12], 0.25)],
981
+ colorUnitWhiteboardBorderDefault: alphaPair(base[12], baseDark[12], A.whiteboard.unitBorder),
882
982
  colorSectionWhiteboardBgInactive: surface.level2,
883
983
  colorSectionWhiteboardBorderInactive: bgTabFocus,
884
- colorEmbedWhiteboardEditBorder: [alpha(teal[8], 0.9), alpha(tealDark[8], 0.9)],
984
+ colorUploadPreviewBg: alphaPair(base[11], baseDark[2], A.whiteboard.uploadPreview),
985
+ colorEmbedWhiteboardEditBorder: alphaPair(teal[8], tealDark[8], A.whiteboard.embedEditBorder),
885
986
  colorTextWhiteboardDefault: fgMenuEtc,
886
987
  colorTextWhiteboardDisabled: fg.muted,
887
- // FIXME bug?
888
- // Dark uses baseDark[1] (near-black at 60% opacity) as "accent text" on a dark background.
889
- // This reads as near-invisible dark text on dark bg.
890
- // Compare with colorUnitHeaderWhiteboardDefault (L772) which correctly uses baseDark[12] for dark.
891
- // Likely should be baseDark[12] too.
892
- colorTextWhiteboardAccent: [alpha(base[12], 0.6), alpha(baseDark[1], 0.6)],
988
+ // Existing dark accent blends into the whiteboard surface.
989
+ colorTextWhiteboardAccent: alphaPair(base[12], baseDark[1], A.whiteboard.accentText),
893
990
  colorTextWhiteboardInversedDefault: whiteColor,
894
991
  instrumentsMenuBg: raised.level2,
895
992
  instrumentsMenuShadow: floatingShadows.instrumentsMenu,
896
993
  commentBubbleBg: raised.level4,
897
994
  commentsPanelShadow: floatingShadows.instrumentsMenu,
898
995
  searchFiltersBg: surface.level1_1,
899
- selectedColorBorder: same(alpha(base[6], 0.25)),
996
+ selectedColorBorder: alphaDef(same(base[6]), A.border.selectedColor),
900
997
 
901
998
  // SegmentedControl
902
999
  colorBgSegmentedControlDefault: surface.level3_1,
@@ -906,12 +1003,12 @@ export function defsFromPalette({
906
1003
 
907
1004
  // Banner
908
1005
  colorBgBannerNeutral: bg.neutral3,
909
- colorBgBannerPrimary: bg.accent3,
1006
+ colorBgBannerAccent: bg.accent3,
910
1007
  colorBgBannerWarning: bg.warning,
911
1008
  colorBgBannerError: bg.error,
912
1009
  colorBgBannerSuccess: bg.success,
913
1010
 
914
- colorIconBannerNeutral: icon.primary,
1011
+ colorIconBannerNeutral: icon.neutral,
915
1012
  colorIconBannerAccent: icon.accent,
916
1013
  colorIconBannerWarning: icon.warning,
917
1014
  colorIconBannerError: icon.error,
@@ -932,8 +1029,8 @@ export function defsFromPalette({
932
1029
 
933
1030
  // Logo/illustration specific colors
934
1031
  colorBorderLogoGrid: surface.level4,
935
- colorBorderLogoGridSubtle: [alpha(base[4], 0.2), baseDark[4]],
936
- colorBorderLogoGridMedium: [alpha(base[4], 0.4), baseDark[4]],
1032
+ colorBorderLogoGridSubtle: [alpha(base[4], A.utility.logoGridSubtle[0]), baseDark[4]],
1033
+ colorBorderLogoGridMedium: [alpha(base[4], A.utility.logoGridMedium[0]), baseDark[4]],
937
1034
  colorStrokeLogoDashed: [base[6], baseDark[8]],
938
1035
  colorBgLogoCardTransparent: surface.level0elevated,
939
1036
  colorBgLogoCardDark: base8,
@@ -951,7 +1048,7 @@ export function defsFromPalette({
951
1048
 
952
1049
  // Elevation shadows (ink direction)
953
1050
  colorShadowElevation: blackA10,
954
- colorShadowOutline: [alpha(black, 0.2), alpha(white, 0.2)],
1051
+ colorShadowOutline: alphaPair(black, white, A.utility.shadowOutline),
955
1052
 
956
1053
  // Placeholder/fallback
957
1054
  colorPlaceholder: whiteA40,
@@ -986,17 +1083,17 @@ export function defsFromPalette({
986
1083
  whiteA100,
987
1084
 
988
1085
  // File hover overlay (always dark scrim for white text readability)
989
- colorBgFileOverlay: same(alpha(black, 0.6)),
1086
+ colorBgFileOverlay: alphaDef(same(black), A.overlay.file),
990
1087
 
991
1088
  // Scroll fade edges
992
- colorBgScrollFade: [alpha(white, 0.15), alpha(black, 0.15)],
1089
+ colorBgScrollFade: alphaPair(white, black, A.utility.scrollFade),
993
1090
 
994
1091
  // Date picker selected outline
995
- colorStrokeSelectedOutline: [alpha(black, 0.75), alpha(white, 0.75)],
1092
+ colorStrokeSelectedOutline: alphaPair(black, white, A.utility.selectedOutline),
996
1093
 
997
1094
  // Preloader / chrome
998
- scrollbar: [alpha(base[9], 0.5), alpha(baseDark[7], 0.5)],
999
- } as const satisfies ThemeColorsDef;
1095
+ scrollbar: alphaPair(base[9], baseDark[7], A.utility.scrollbar),
1096
+ } as const satisfies Record<string, Def>;
1000
1097
 
1001
1098
  return {key, colors, fns} as const;
1002
1099
  }