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