@fibery/ui-kit 2.0.0 → 2.1.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 (1116) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/{eslint.config.mjs → esfint.config.mjs} +1 -1
  3. package/jest.config.cjs +36 -0
  4. package/package.json +17 -54
  5. package/scripts/generate-icons.mjs +42 -34
  6. package/src/@types/css.d.ts +1 -0
  7. package/src/a11y-color.test.ts +62 -55
  8. package/src/a11y-color.ts +40 -37
  9. package/src/actions-menu/actions-menu-checkbox-item.tsx +74 -0
  10. package/src/actions-menu/actions-menu-item.tsx +1 -1
  11. package/src/actions-menu/actions-menu.tsx +3 -3
  12. package/src/actions-menu/contexts/actions-menu-context.tsx +1 -0
  13. package/src/actions-menu/index.tsx +1 -0
  14. package/src/ai/model.tsx +1 -1
  15. package/src/ai/temperature.tsx +1 -1
  16. package/src/animated-height-container.tsx +2 -2
  17. package/src/animated-number.tsx +2 -2
  18. package/src/antd/AutoComplete.d.ts +1 -0
  19. package/src/antd/{AutoComplete.js → AutoComplete.ts} +1 -1
  20. package/src/antd/Tabs.js +2 -2
  21. package/src/antd/ant-upload.tsx +4 -4
  22. package/src/antd/input-number.tsx +2 -2
  23. package/src/antd/input.tsx +2 -2
  24. package/src/antd/styles.ts +8 -8
  25. package/src/antd/utils.tsx +12 -23
  26. package/src/app-icon-with-fallback.tsx +32 -9
  27. package/src/app-icon.tsx +21 -8
  28. package/src/appIcons.json +1227 -1227
  29. package/src/avatar.tsx +50 -8
  30. package/src/axis-header.tsx +2 -2
  31. package/src/banner/banner-action.tsx +23 -0
  32. package/src/banner/banner-context.tsx +4 -0
  33. package/src/banner/banner-variant.ts +1 -0
  34. package/src/banner/banner.tsx +101 -0
  35. package/src/box.tsx +13 -18
  36. package/src/breadcrumb.tsx +14 -11
  37. package/src/button/base-button.tsx +2 -2
  38. package/src/button/make-button-colors.ts +14 -14
  39. package/src/canvas-colors.ts +133 -0
  40. package/src/card-container.tsx +1 -1
  41. package/src/checkbox-multi-select.tsx +4 -4
  42. package/src/checkbox.tsx +23 -11
  43. package/src/collapsible-section.tsx +1 -1
  44. package/src/color-filter.test.ts +155 -0
  45. package/src/color-filter.ts +156 -0
  46. package/src/color-picker/ColorPickerOrLoader.js +1 -1
  47. package/src/color-picker/{SliderPointer.js → SliderPointer.tsx} +3 -2
  48. package/src/color-picker/index.js +7 -4
  49. package/src/color-picker/swatch.tsx +5 -4
  50. package/src/color-utils.test.ts +246 -116
  51. package/src/color-utils.ts +156 -144
  52. package/src/command-menu/index.tsx +1 -1
  53. package/src/context-menu/index.tsx +4 -0
  54. package/src/date-picker/autocomplete.tsx +1 -0
  55. package/src/date-picker/date-range-picker-popup-content.tsx +1 -1
  56. package/src/date-picker/date-range-picker.tsx +2 -2
  57. package/src/date-picker/fake-date-input.tsx +10 -4
  58. package/src/date-picker/relative-date-picker.tsx +35 -3
  59. package/src/date-picker/single-date-picker.tsx +23 -12
  60. package/src/date-picker/styles.ts +12 -12
  61. package/src/date-picker/types.ts +2 -0
  62. package/src/design-system/alpha.ts +6 -12
  63. package/src/design-system/animation.ts +24 -5
  64. package/src/design-system/colors-css.test.ts +1 -9
  65. package/src/design-system/colors-css.ts +5 -5
  66. package/src/design-system/colors-js.test.ts +167 -153
  67. package/src/design-system/colors-js.ts +30 -85
  68. package/src/design-system/colors.test.ts +5 -5
  69. package/src/design-system/colors.ts +896 -540
  70. package/src/design-system/layout.ts +2 -1
  71. package/src/design-system/theme.test.ts +13 -68
  72. package/src/design-system/theme.ts +24 -73
  73. package/src/design-system/vars.test.ts +64 -1677
  74. package/src/design-system/vars.ts +43 -29
  75. package/src/design-system.ts +4 -4
  76. package/src/dnd.tsx +1 -1
  77. package/src/{utils-dom.ts → dom-utils.ts} +19 -0
  78. package/src/dot.tsx +2 -2
  79. package/src/dropdown-menu/index.tsx +4 -0
  80. package/src/emoji-picker/app-icon-picker.tsx +2 -1
  81. package/src/emoji-picker/emoji-picker-content-with-color.tsx +4 -1
  82. package/src/emoji-picker/emoji-picker.tsx +3 -0
  83. package/src/emoji-picker/icon-emoji-picker.tsx +1 -1
  84. package/src/emoji-picker/primitives/emoji.tsx +15 -2
  85. package/src/emoji-picker/primitives/grid.tsx +100 -104
  86. package/src/emoji.tsx +1 -0
  87. package/src/favorites-icon.tsx +1 -1
  88. package/src/fibermoji-placeholder.tsx +6 -1
  89. package/src/file-item/add-query-param.ts +13 -0
  90. package/src/file-item/file-menu-items.tsx +2 -1
  91. package/src/file-item/file-preview-actions.tsx +14 -2
  92. package/src/file-item.tsx +308 -265
  93. package/src/flags.ts +3 -0
  94. package/src/header-layout.tsx +9 -2
  95. package/src/html-styles.ts +3 -3
  96. package/src/hue-shift.test.ts +17 -4
  97. package/src/icons/Icon.tsx +5 -2
  98. package/src/icons/ast/Abort.ts +8 -4
  99. package/src/icons/ast/AccessTemplate.ts +8 -4
  100. package/src/icons/ast/Activity.ts +8 -4
  101. package/src/icons/ast/ActivityFilled.ts +8 -4
  102. package/src/icons/ast/ActivityLog.ts +8 -4
  103. package/src/icons/ast/Add.ts +8 -4
  104. package/src/icons/ast/AddAfter.ts +8 -4
  105. package/src/icons/ast/AddBefore.ts +8 -4
  106. package/src/icons/ast/AddCompact.ts +8 -4
  107. package/src/icons/ast/AddDatabase.ts +8 -4
  108. package/src/icons/ast/AddGroup.ts +8 -4
  109. package/src/icons/ast/AddIntegration.ts +8 -4
  110. package/src/icons/ast/AddReactions.ts +8 -4
  111. package/src/icons/ast/AiAssistant.ts +8 -4
  112. package/src/icons/ast/AiAssistantFilled.ts +8 -4
  113. package/src/icons/ast/AiAvatar.ts +8 -4
  114. package/src/icons/ast/AiFiberyBuild.ts +8 -4
  115. package/src/icons/ast/AiSearch.ts +8 -4
  116. package/src/icons/ast/AlertTriangle.ts +8 -4
  117. package/src/icons/ast/Anthropic.ts +8 -4
  118. package/src/icons/ast/App.ts +8 -4
  119. package/src/icons/ast/AppDetails.ts +8 -4
  120. package/src/icons/ast/AppStore.ts +8 -4
  121. package/src/icons/ast/AppStoreOneColor.ts +8 -4
  122. package/src/icons/ast/AppTemplates.ts +8 -4
  123. package/src/icons/ast/AppWebhooks.ts +8 -4
  124. package/src/icons/ast/AppWiki.ts +8 -4
  125. package/src/icons/ast/AppearanceAuto.ts +8 -4
  126. package/src/icons/ast/AppearanceDark.ts +8 -4
  127. package/src/icons/ast/AppearanceLight.ts +8 -4
  128. package/src/icons/ast/Apple.ts +8 -4
  129. package/src/icons/ast/ArrowBarDown.ts +12 -0
  130. package/src/icons/ast/ArrowBarLeft.ts +8 -4
  131. package/src/icons/ast/ArrowBarRight.ts +8 -4
  132. package/src/icons/ast/ArrowBarUp.ts +12 -0
  133. package/src/icons/ast/ArrowBottom.ts +8 -4
  134. package/src/icons/ast/ArrowCollapse.ts +8 -4
  135. package/src/icons/ast/ArrowCollapseVertical.ts +8 -4
  136. package/src/icons/ast/ArrowForward.ts +8 -4
  137. package/src/icons/ast/ArrowLeft.ts +8 -4
  138. package/src/icons/ast/ArrowRight.ts +8 -4
  139. package/src/icons/ast/ArrowTop.ts +8 -4
  140. package/src/icons/ast/ArrowUpCircle.ts +8 -4
  141. package/src/icons/ast/ArrowsRightLeft.ts +8 -4
  142. package/src/icons/ast/AskForInput.ts +8 -4
  143. package/src/icons/ast/Asterisk.ts +8 -4
  144. package/src/icons/ast/Atom.ts +8 -4
  145. package/src/icons/ast/AutomationsCancelled.ts +8 -4
  146. package/src/icons/ast/AutomationsDisabled.ts +8 -4
  147. package/src/icons/ast/AutomationsError.ts +8 -4
  148. package/src/icons/ast/AutomationsInProgress.ts +8 -4
  149. package/src/icons/ast/AutomationsNotStarted.ts +8 -4
  150. package/src/icons/ast/AutomationsSuccess.ts +8 -4
  151. package/src/icons/ast/Back.ts +8 -4
  152. package/src/icons/ast/BacklogIcon.ts +8 -4
  153. package/src/icons/ast/BatchActionsIcon.ts +8 -4
  154. package/src/icons/ast/BellCircle.ts +8 -4
  155. package/src/icons/ast/BellFilled.ts +8 -4
  156. package/src/icons/ast/BellOff.ts +8 -4
  157. package/src/icons/ast/BellRinging.ts +8 -4
  158. package/src/icons/ast/BellX.ts +8 -4
  159. package/src/icons/ast/Bolt.ts +8 -4
  160. package/src/icons/ast/BringForward.ts +8 -4
  161. package/src/icons/ast/BringToFront.ts +8 -4
  162. package/src/icons/ast/Cards.ts +8 -4
  163. package/src/icons/ast/Chat.ts +8 -4
  164. package/src/icons/ast/ChatAi.ts +8 -4
  165. package/src/icons/ast/ChatBubble.ts +8 -4
  166. package/src/icons/ast/ChatFloat.ts +8 -4
  167. package/src/icons/ast/ChatSidebar.ts +8 -4
  168. package/src/icons/ast/CheckCircle.ts +8 -4
  169. package/src/icons/ast/CheckCircleFilled.ts +8 -4
  170. package/src/icons/ast/Checked.ts +8 -4
  171. package/src/icons/ast/Clean.ts +8 -4
  172. package/src/icons/ast/Clear.ts +8 -4
  173. package/src/icons/ast/ClearInputFilled.ts +8 -4
  174. package/src/icons/ast/ClearValue.ts +8 -4
  175. package/src/icons/ast/Clock.ts +8 -4
  176. package/src/icons/ast/ClockAlarm.ts +8 -4
  177. package/src/icons/ast/ClockForward.ts +8 -4
  178. package/src/icons/ast/Close.ts +8 -4
  179. package/src/icons/ast/CollapseAll.ts +8 -4
  180. package/src/icons/ast/CollapseAllHorizontal.ts +8 -4
  181. package/src/icons/ast/ColorCoding.ts +8 -4
  182. package/src/icons/ast/ColorCodingFilled.ts +8 -4
  183. package/src/icons/ast/Columns.ts +8 -4
  184. package/src/icons/ast/Columns2.ts +8 -4
  185. package/src/icons/ast/Columns4.ts +8 -4
  186. package/src/icons/ast/CommentBubble.ts +8 -4
  187. package/src/icons/ast/Copy.ts +8 -4
  188. package/src/icons/ast/Create.ts +8 -4
  189. package/src/icons/ast/CreditsFilled.ts +8 -4
  190. package/src/icons/ast/CrossCircle.ts +8 -4
  191. package/src/icons/ast/Crosshair.ts +8 -4
  192. package/src/icons/ast/Csv.ts +8 -4
  193. package/src/icons/ast/Database.ts +8 -4
  194. package/src/icons/ast/DatabaseOff.ts +8 -4
  195. package/src/icons/ast/DatabaseStroke.ts +8 -4
  196. package/src/icons/ast/DateRange.ts +8 -4
  197. package/src/icons/ast/Delete.ts +8 -4
  198. package/src/icons/ast/Demo.ts +8 -4
  199. package/src/icons/ast/Dependency.ts +8 -4
  200. package/src/icons/ast/Dividers.ts +8 -4
  201. package/src/icons/ast/Document.ts +8 -4
  202. package/src/icons/ast/DoubleArrowLeft.ts +8 -4
  203. package/src/icons/ast/DoubleArrowRight.ts +8 -4
  204. package/src/icons/ast/DoubleLine.ts +8 -4
  205. package/src/icons/ast/DragBlockHandle.ts +8 -4
  206. package/src/icons/ast/DragBlockHandleSingle.ts +8 -4
  207. package/src/icons/ast/DragHandle.ts +8 -4
  208. package/src/icons/ast/Duplicate.ts +8 -4
  209. package/src/icons/ast/DynamicFilterValue.ts +8 -4
  210. package/src/icons/ast/EditValue.ts +8 -4
  211. package/src/icons/ast/Email.ts +8 -4
  212. package/src/icons/ast/EmojiDelete.ts +8 -4
  213. package/src/icons/ast/EntityCreate.ts +8 -4
  214. package/src/icons/ast/EntityCreateFilled.ts +8 -4
  215. package/src/icons/ast/EntityMerge.ts +8 -4
  216. package/src/icons/ast/Equation.ts +8 -4
  217. package/src/icons/ast/ExpandAll.ts +8 -4
  218. package/src/icons/ast/ExpandAllHorizontal.ts +8 -4
  219. package/src/icons/ast/Export.ts +8 -4
  220. package/src/icons/ast/ExtensionAssignments.ts +8 -4
  221. package/src/icons/ast/ExtensionAvatar.ts +8 -4
  222. package/src/icons/ast/ExtensionComments.ts +8 -4
  223. package/src/icons/ast/ExtensionFiles.ts +8 -4
  224. package/src/icons/ast/ExtensionReferences.ts +8 -4
  225. package/src/icons/ast/ExtensionWorkflow.ts +8 -4
  226. package/src/icons/ast/Eye.ts +8 -4
  227. package/src/icons/ast/Favorites.ts +8 -4
  228. package/src/icons/ast/FavoritesChecked.ts +8 -4
  229. package/src/icons/ast/FavoritesOff.ts +8 -4
  230. package/src/icons/ast/FiberyDesktopApp.ts +8 -4
  231. package/src/icons/ast/FiberyMono.ts +8 -4
  232. package/src/icons/ast/FieldUnit.ts +8 -4
  233. package/src/icons/ast/Fields.ts +8 -4
  234. package/src/icons/ast/Figma.ts +8 -4
  235. package/src/icons/ast/FileArchive.ts +8 -4
  236. package/src/icons/ast/FileBroken.ts +8 -4
  237. package/src/icons/ast/FileCounter.ts +8 -4
  238. package/src/icons/ast/FileDocument.ts +8 -4
  239. package/src/icons/ast/FileDownload.ts +8 -4
  240. package/src/icons/ast/FileImage.ts +8 -4
  241. package/src/icons/ast/FileMultiple.ts +8 -4
  242. package/src/icons/ast/FileOther.ts +8 -4
  243. package/src/icons/ast/FilePresentation.ts +8 -4
  244. package/src/icons/ast/FileTable.ts +8 -4
  245. package/src/icons/ast/FileUpload.ts +8 -4
  246. package/src/icons/ast/FileVideo.ts +8 -4
  247. package/src/icons/ast/Filter.ts +8 -4
  248. package/src/icons/ast/FitToScreen.ts +8 -4
  249. package/src/icons/ast/FocusMode.ts +8 -4
  250. package/src/icons/ast/FocusModeOff.ts +8 -4
  251. package/src/icons/ast/Folder.ts +8 -4
  252. package/src/icons/ast/FolderFavorite.ts +12 -0
  253. package/src/icons/ast/FormWithCover.ts +8 -4
  254. package/src/icons/ast/FormWithoutCover.ts +8 -4
  255. package/src/icons/ast/FullscreenModeOffIcon.ts +8 -4
  256. package/src/icons/ast/FullscreenModeOn.ts +8 -4
  257. package/src/icons/ast/FullscreenModeOnIcon.ts +8 -4
  258. package/src/icons/ast/Gift.ts +8 -4
  259. package/src/icons/ast/Github.ts +8 -4
  260. package/src/icons/ast/Gitlab.ts +8 -4
  261. package/src/icons/ast/Globe.ts +8 -4
  262. package/src/icons/ast/GlobeSimple.ts +8 -4
  263. package/src/icons/ast/GlobeUnpublish.ts +8 -4
  264. package/src/icons/ast/GoTo.ts +8 -4
  265. package/src/icons/ast/GoogleDrive.ts +8 -4
  266. package/src/icons/ast/GoogleMap.ts +8 -4
  267. package/src/icons/ast/GraduationCapFilled.ts +8 -4
  268. package/src/icons/ast/Headphones.ts +8 -4
  269. package/src/icons/ast/HeadphonesAi.ts +8 -4
  270. package/src/icons/ast/Hide.ts +8 -4
  271. package/src/icons/ast/Highlights.ts +8 -4
  272. package/src/icons/ast/Hint.ts +8 -4
  273. package/src/icons/ast/Home.ts +8 -4
  274. package/src/icons/ast/HomeFilled.ts +8 -4
  275. package/src/icons/ast/ImageXmark.ts +8 -4
  276. package/src/icons/ast/Import.ts +8 -4
  277. package/src/icons/ast/ImportFilled.ts +8 -4
  278. package/src/icons/ast/InfoCircle.ts +8 -4
  279. package/src/icons/ast/InfoCircleFilled.ts +8 -4
  280. package/src/icons/ast/Integration.ts +8 -4
  281. package/src/icons/ast/IntegrationsFilled.ts +8 -4
  282. package/src/icons/ast/IntegrationsIntegrationDiscourseColor.ts +8 -4
  283. package/src/icons/ast/IntegrationsIntegrationIntercomColor.ts +8 -4
  284. package/src/icons/ast/IntegrationsIntegrationSlackColor.ts +8 -4
  285. package/src/icons/ast/IntegrationsIntegrationZendeskColor.ts +8 -4
  286. package/src/icons/ast/Intercom.ts +12 -0
  287. package/src/icons/ast/InvitePeople.ts +8 -4
  288. package/src/icons/ast/Items.ts +8 -4
  289. package/src/icons/ast/ItemsTimeline.ts +8 -4
  290. package/src/icons/ast/Jira.ts +8 -4
  291. package/src/icons/ast/Key.ts +8 -4
  292. package/src/icons/ast/KeyboardHideDown.ts +8 -4
  293. package/src/icons/ast/Lab.ts +8 -4
  294. package/src/icons/ast/LayoutDouble.ts +8 -4
  295. package/src/icons/ast/LayoutMultiple.ts +8 -4
  296. package/src/icons/ast/LayoutSingle.ts +8 -4
  297. package/src/icons/ast/LeftPanel.ts +8 -4
  298. package/src/icons/ast/LevelPlus.ts +8 -4
  299. package/src/icons/ast/Levels.ts +8 -4
  300. package/src/icons/ast/LineDivider.ts +8 -4
  301. package/src/icons/ast/LineJump.ts +8 -4
  302. package/src/icons/ast/Link.ts +8 -4
  303. package/src/icons/ast/LocationEdit.ts +8 -4
  304. package/src/icons/ast/Lock.ts +8 -4
  305. package/src/icons/ast/LockOutline.ts +8 -4
  306. package/src/icons/ast/Logout.ts +8 -4
  307. package/src/icons/ast/Loom.ts +8 -4
  308. package/src/icons/ast/LoupeZoom.ts +8 -4
  309. package/src/icons/ast/LoupeZoomIn.ts +8 -4
  310. package/src/icons/ast/LoupeZoomOut.ts +8 -4
  311. package/src/icons/ast/ManyPeople.ts +8 -4
  312. package/src/icons/ast/MapMode.ts +8 -4
  313. package/src/icons/ast/Markdown.ts +8 -4
  314. package/src/icons/ast/MenuCollapser.ts +8 -4
  315. package/src/icons/ast/Mermaid.ts +8 -4
  316. package/src/icons/ast/MessagePlus.ts +8 -4
  317. package/src/icons/ast/MessagePlusSquare.ts +8 -4
  318. package/src/icons/ast/Milestones.ts +8 -4
  319. package/src/icons/ast/Minus.ts +8 -4
  320. package/src/icons/ast/Miro.ts +8 -4
  321. package/src/icons/ast/MirrorOff.ts +8 -4
  322. package/src/icons/ast/MirrorOn.ts +8 -4
  323. package/src/icons/ast/Mixpanel.ts +8 -4
  324. package/src/icons/ast/Monitor.ts +8 -4
  325. package/src/icons/ast/More.ts +8 -4
  326. package/src/icons/ast/MoreCompact.ts +8 -4
  327. package/src/icons/ast/MoveBottom.ts +8 -4
  328. package/src/icons/ast/MoveLeft.ts +8 -4
  329. package/src/icons/ast/MoveRight.ts +8 -4
  330. package/src/icons/ast/MoveSpace.ts +8 -4
  331. package/src/icons/ast/MoveTop.ts +8 -4
  332. package/src/icons/ast/Network.ts +8 -4
  333. package/src/icons/ast/NetworkAdd.ts +8 -4
  334. package/src/icons/ast/NoBorder.ts +8 -4
  335. package/src/icons/ast/NoFill.ts +8 -4
  336. package/src/icons/ast/Notifications.ts +8 -4
  337. package/src/icons/ast/ObjChild.ts +8 -4
  338. package/src/icons/ast/ObjM2M.ts +8 -4
  339. package/src/icons/ast/ObjO2O.ts +8 -4
  340. package/src/icons/ast/ObjParent.ts +8 -4
  341. package/src/icons/ast/ObjSelf.ts +8 -4
  342. package/src/icons/ast/OnSchedule.ts +8 -4
  343. package/src/icons/ast/OpenAi.ts +8 -4
  344. package/src/icons/ast/OpenAsPage.ts +8 -4
  345. package/src/icons/ast/PageRegularMode.ts +8 -4
  346. package/src/icons/ast/PageWideMode.ts +8 -4
  347. package/src/icons/ast/PanelAdd.ts +8 -4
  348. package/src/icons/ast/Pencil.ts +8 -4
  349. package/src/icons/ast/People.ts +8 -4
  350. package/src/icons/ast/PeopleCheck.ts +8 -4
  351. package/src/icons/ast/Photo.ts +8 -4
  352. package/src/icons/ast/Pin.ts +8 -4
  353. package/src/icons/ast/PinFilled.ts +8 -4
  354. package/src/icons/ast/Popup.ts +8 -4
  355. package/src/icons/ast/Posts.ts +8 -4
  356. package/src/icons/ast/PresentPlay.ts +8 -4
  357. package/src/icons/ast/PresentStop.ts +8 -4
  358. package/src/icons/ast/Print.ts +8 -4
  359. package/src/icons/ast/PrivateItems.ts +8 -4
  360. package/src/icons/ast/Question.ts +8 -4
  361. package/src/icons/ast/QuickFilter.ts +8 -4
  362. package/src/icons/ast/QuickFilterPersonal.ts +8 -4
  363. package/src/icons/ast/ReadOnly.ts +8 -4
  364. package/src/icons/ast/Refresh.ts +8 -4
  365. package/src/icons/ast/Remove.ts +8 -4
  366. package/src/icons/ast/RemovePeople.ts +8 -4
  367. package/src/icons/ast/Reply.ts +8 -4
  368. package/src/icons/ast/ResetPassword.ts +8 -4
  369. package/src/icons/ast/Restore.ts +8 -4
  370. package/src/icons/ast/RicheditorActionsMore.ts +8 -4
  371. package/src/icons/ast/RicheditorBlockCallout.ts +8 -4
  372. package/src/icons/ast/RicheditorBlockCode.ts +8 -4
  373. package/src/icons/ast/RicheditorBlockEmbed.ts +8 -4
  374. package/src/icons/ast/RicheditorBlockEntity.ts +8 -4
  375. package/src/icons/ast/RicheditorBlockFile.ts +8 -4
  376. package/src/icons/ast/RicheditorBlockH1.ts +8 -4
  377. package/src/icons/ast/RicheditorBlockH2.ts +8 -4
  378. package/src/icons/ast/RicheditorBlockH3.ts +8 -4
  379. package/src/icons/ast/RicheditorBlockH4.ts +8 -4
  380. package/src/icons/ast/RicheditorBlockMention.ts +8 -4
  381. package/src/icons/ast/RicheditorBlockParagraph.ts +8 -4
  382. package/src/icons/ast/RicheditorBlockQuote.ts +8 -4
  383. package/src/icons/ast/RicheditorChecklistCreate.ts +8 -4
  384. package/src/icons/ast/RicheditorCommentCreate.ts +8 -4
  385. package/src/icons/ast/RicheditorEntityLinkCreate.ts +8 -4
  386. package/src/icons/ast/RicheditorHistoryRedo.ts +8 -4
  387. package/src/icons/ast/RicheditorHistoryUndo.ts +8 -4
  388. package/src/icons/ast/RicheditorImageAlignCenter.ts +8 -4
  389. package/src/icons/ast/RicheditorImageAlignLeft.ts +8 -4
  390. package/src/icons/ast/RicheditorImageAlignRight.ts +8 -4
  391. package/src/icons/ast/RicheditorImageUpload.ts +8 -4
  392. package/src/icons/ast/RicheditorImageWrapCenter.ts +8 -4
  393. package/src/icons/ast/RicheditorImageWrapLeft.ts +8 -4
  394. package/src/icons/ast/RicheditorImageWrapRight.ts +8 -4
  395. package/src/icons/ast/RicheditorImageZoom.ts +8 -4
  396. package/src/icons/ast/RicheditorLinkCreate.ts +8 -4
  397. package/src/icons/ast/RicheditorLinkedhighlightCreate.ts +8 -4
  398. package/src/icons/ast/RicheditorListBullet.ts +8 -4
  399. package/src/icons/ast/RicheditorListIndent.ts +8 -4
  400. package/src/icons/ast/RicheditorListOrdered.ts +8 -4
  401. package/src/icons/ast/RicheditorListUnindent.ts +8 -4
  402. package/src/icons/ast/RicheditorMarkCode.ts +8 -4
  403. package/src/icons/ast/RicheditorMarkEm.ts +8 -4
  404. package/src/icons/ast/RicheditorMarkHighlight.ts +8 -4
  405. package/src/icons/ast/RicheditorMarkStrike.ts +8 -4
  406. package/src/icons/ast/RicheditorMarkStrong.ts +8 -4
  407. package/src/icons/ast/RicheditorMarkTextBackgroundColor.ts +8 -4
  408. package/src/icons/ast/RicheditorMarkUnderline.ts +8 -4
  409. package/src/icons/ast/RicheditorOpenLink.ts +8 -4
  410. package/src/icons/ast/RicheditorTableCreate.ts +8 -4
  411. package/src/icons/ast/RicheditorUnlink.ts +8 -4
  412. package/src/icons/ast/RicheditorVideoUpload.ts +8 -4
  413. package/src/icons/ast/RightPanel.ts +8 -4
  414. package/src/icons/ast/Rows.ts +8 -4
  415. package/src/icons/ast/RuleScheduled.ts +8 -4
  416. package/src/icons/ast/Search.ts +8 -4
  417. package/src/icons/ast/SearchAdd.ts +8 -4
  418. package/src/icons/ast/SearchFilled.ts +8 -4
  419. package/src/icons/ast/SearchRemove.ts +8 -4
  420. package/src/icons/ast/SelfReferenceOff.ts +8 -4
  421. package/src/icons/ast/SelfReferenceOn.ts +8 -4
  422. package/src/icons/ast/SendArrow.ts +8 -4
  423. package/src/icons/ast/SendBackward.ts +8 -4
  424. package/src/icons/ast/SendToBack.ts +8 -4
  425. package/src/icons/ast/Settings.ts +8 -4
  426. package/src/icons/ast/SettingsFilled.ts +8 -4
  427. package/src/icons/ast/SettingsOff.ts +8 -4
  428. package/src/icons/ast/Share.ts +8 -4
  429. package/src/icons/ast/Shared.ts +8 -4
  430. package/src/icons/ast/ShieldKeyhole.ts +8 -4
  431. package/src/icons/ast/ShowAuthor.ts +8 -4
  432. package/src/icons/ast/Sidebar.ts +8 -4
  433. package/src/icons/ast/SidebarFields.ts +8 -4
  434. package/src/icons/ast/SidebarFieldsOpened.ts +8 -4
  435. package/src/icons/ast/SimpleCompass.ts +8 -4
  436. package/src/icons/ast/Slack.ts +8 -4
  437. package/src/icons/ast/SlackIcon.ts +8 -4
  438. package/src/icons/ast/SlideMenu.ts +8 -4
  439. package/src/icons/ast/SlideMenuClose.ts +8 -4
  440. package/src/icons/ast/SlideMenuFilled.ts +8 -4
  441. package/src/icons/ast/SlideMenuOpen.ts +8 -4
  442. package/src/icons/ast/SmartFolder.ts +8 -4
  443. package/src/icons/ast/Sort.ts +8 -4
  444. package/src/icons/ast/SortOnBottom.ts +8 -4
  445. package/src/icons/ast/SortOnTop.ts +8 -4
  446. package/src/icons/ast/SpaceApp.ts +8 -4
  447. package/src/icons/ast/SpaceGenerate.ts +8 -4
  448. package/src/icons/ast/SpaceList.ts +8 -4
  449. package/src/icons/ast/SpaceScratch.ts +8 -4
  450. package/src/icons/ast/SpaceTemplate.ts +8 -4
  451. package/src/icons/ast/Spinner.ts +8 -4
  452. package/src/icons/ast/Success.ts +8 -4
  453. package/src/icons/ast/SuggestIntegration.ts +8 -4
  454. package/src/icons/ast/SwitchToMention.ts +8 -4
  455. package/src/icons/ast/SwitchToText.ts +8 -4
  456. package/src/icons/ast/SwitchToWidget.ts +8 -4
  457. package/src/icons/ast/TableLayout.ts +8 -4
  458. package/src/icons/ast/Template.ts +8 -4
  459. package/src/icons/ast/Templates.ts +8 -4
  460. package/src/icons/ast/TemplatesFilled.ts +8 -4
  461. package/src/icons/ast/Terminal.ts +8 -4
  462. package/src/icons/ast/TextNoWrap.ts +8 -4
  463. package/src/icons/ast/TextToolAlignBottom.ts +8 -4
  464. package/src/icons/ast/TextToolAlignMiddle.ts +8 -4
  465. package/src/icons/ast/TextToolAlignTop.ts +8 -4
  466. package/src/icons/ast/TextWrap.ts +8 -4
  467. package/src/icons/ast/ThumbsDown.ts +8 -4
  468. package/src/icons/ast/ThumbsUp.ts +8 -4
  469. package/src/icons/ast/Toc.ts +12 -0
  470. package/src/icons/ast/Twitter.ts +8 -4
  471. package/src/icons/ast/TypeBoolean.ts +8 -4
  472. package/src/icons/ast/TypeButton.ts +8 -4
  473. package/src/icons/ast/TypeCheckbox.ts +8 -4
  474. package/src/icons/ast/TypeDate.ts +8 -4
  475. package/src/icons/ast/TypeEmail.ts +8 -4
  476. package/src/icons/ast/TypeEmoji.ts +8 -4
  477. package/src/icons/ast/TypeFormula.ts +8 -4
  478. package/src/icons/ast/TypeFunction.ts +8 -4
  479. package/src/icons/ast/TypeId.ts +8 -4
  480. package/src/icons/ast/TypeLocation.ts +8 -4
  481. package/src/icons/ast/TypeLookup.ts +8 -4
  482. package/src/icons/ast/TypeMoney.ts +8 -4
  483. package/src/icons/ast/TypeMultiSelect.ts +8 -4
  484. package/src/icons/ast/TypeNumber.ts +8 -4
  485. package/src/icons/ast/TypePercent.ts +8 -4
  486. package/src/icons/ast/TypePhone.ts +8 -4
  487. package/src/icons/ast/TypeRelation.ts +8 -4
  488. package/src/icons/ast/TypeRichText.ts +8 -4
  489. package/src/icons/ast/TypeRule.ts +8 -4
  490. package/src/icons/ast/TypeSingleSelect.ts +8 -4
  491. package/src/icons/ast/TypeText.ts +8 -4
  492. package/src/icons/ast/TypeUrl.ts +8 -4
  493. package/src/icons/ast/UnitsAvatar.ts +8 -4
  494. package/src/icons/ast/UnitsCollection.ts +8 -4
  495. package/src/icons/ast/UnitsCounter.ts +8 -4
  496. package/src/icons/ast/UnitsDate.ts +8 -4
  497. package/src/icons/ast/UnitsDbBadgeAbbr.ts +8 -4
  498. package/src/icons/ast/UnitsDbBadgeFull.ts +8 -4
  499. package/src/icons/ast/UnitsDbIcon.ts +8 -4
  500. package/src/icons/ast/UnitsField.ts +8 -4
  501. package/src/icons/ast/UnitsFieldIconButton.ts +8 -4
  502. package/src/icons/ast/UnitsInput.ts +8 -4
  503. package/src/icons/ast/UnitsProgressBar.ts +8 -4
  504. package/src/icons/ast/UnitsRichText.ts +8 -4
  505. package/src/icons/ast/UnitsSnippet.ts +8 -4
  506. package/src/icons/ast/Unlink.ts +8 -4
  507. package/src/icons/ast/UnlockFilled.ts +8 -4
  508. package/src/icons/ast/UnlockOutline.ts +8 -4
  509. package/src/icons/ast/Upgrade.ts +8 -4
  510. package/src/icons/ast/UsbFlashDrive.ts +8 -4
  511. package/src/icons/ast/UserCheck.ts +8 -4
  512. package/src/icons/ast/UserGroup.ts +8 -4
  513. package/src/icons/ast/UserGroupRemove.ts +8 -4
  514. package/src/icons/ast/UserRole.ts +8 -4
  515. package/src/icons/ast/UserX.ts +8 -4
  516. package/src/icons/ast/ValueEdit.ts +8 -4
  517. package/src/icons/ast/ViewAi.ts +8 -4
  518. package/src/icons/ast/ViewBoard.ts +8 -4
  519. package/src/icons/ast/ViewCalendar.ts +8 -4
  520. package/src/icons/ast/ViewCanvas.ts +8 -4
  521. package/src/icons/ast/ViewChart.ts +8 -4
  522. package/src/icons/ast/ViewDashboard.ts +8 -4
  523. package/src/icons/ast/ViewDetails.ts +8 -4
  524. package/src/icons/ast/ViewDocument.ts +8 -4
  525. package/src/icons/ast/ViewEmbed.ts +12 -0
  526. package/src/icons/ast/ViewFeed.ts +8 -4
  527. package/src/icons/ast/ViewForm.ts +8 -4
  528. package/src/icons/ast/ViewGallery.ts +8 -4
  529. package/src/icons/ast/ViewGantt.ts +8 -4
  530. package/src/icons/ast/ViewList.ts +8 -4
  531. package/src/icons/ast/ViewMap.ts +8 -4
  532. package/src/icons/ast/ViewPage.ts +8 -4
  533. package/src/icons/ast/ViewTable.ts +8 -4
  534. package/src/icons/ast/ViewTimeline.ts +8 -4
  535. package/src/icons/ast/Views.ts +8 -4
  536. package/src/icons/ast/Warning.ts +8 -4
  537. package/src/icons/ast/WarningTriangle.ts +8 -4
  538. package/src/icons/ast/WarningTriangleFilled.ts +8 -4
  539. package/src/icons/ast/Webhooks.ts +12 -0
  540. package/src/icons/ast/Windows.ts +8 -4
  541. package/src/icons/ast/WorkspaceMap.ts +8 -4
  542. package/src/icons/ast/Youtube.ts +8 -4
  543. package/src/icons/ast/ZoomIn.ts +8 -4
  544. package/src/icons/ast/ZoomOut.ts +8 -4
  545. package/src/icons/ast/index.tsx +453 -441
  546. package/src/icons/react/Abort.tsx +10 -5
  547. package/src/icons/react/AccessTemplate.tsx +10 -5
  548. package/src/icons/react/Activity.tsx +10 -5
  549. package/src/icons/react/ActivityFilled.tsx +10 -5
  550. package/src/icons/react/ActivityLog.tsx +10 -5
  551. package/src/icons/react/Add.tsx +10 -5
  552. package/src/icons/react/AddAfter.tsx +10 -5
  553. package/src/icons/react/AddBefore.tsx +10 -5
  554. package/src/icons/react/AddCompact.tsx +10 -5
  555. package/src/icons/react/AddDatabase.tsx +10 -5
  556. package/src/icons/react/AddGroup.tsx +10 -5
  557. package/src/icons/react/AddIntegration.tsx +10 -5
  558. package/src/icons/react/AddReactions.tsx +10 -5
  559. package/src/icons/react/AiAssistant.tsx +10 -5
  560. package/src/icons/react/AiAssistantFilled.tsx +10 -5
  561. package/src/icons/react/AiAvatar.tsx +10 -5
  562. package/src/icons/react/AiFiberyBuild.tsx +10 -5
  563. package/src/icons/react/AiSearch.tsx +10 -5
  564. package/src/icons/react/AlertTriangle.tsx +10 -5
  565. package/src/icons/react/Anthropic.tsx +10 -5
  566. package/src/icons/react/App.tsx +10 -5
  567. package/src/icons/react/AppDetails.tsx +10 -5
  568. package/src/icons/react/AppStore.tsx +10 -5
  569. package/src/icons/react/AppStoreOneColor.tsx +10 -5
  570. package/src/icons/react/AppTemplates.tsx +10 -5
  571. package/src/icons/react/AppWebhooks.tsx +10 -5
  572. package/src/icons/react/AppWiki.tsx +10 -5
  573. package/src/icons/react/AppearanceAuto.tsx +10 -5
  574. package/src/icons/react/AppearanceDark.tsx +10 -5
  575. package/src/icons/react/AppearanceLight.tsx +10 -5
  576. package/src/icons/react/Apple.tsx +10 -5
  577. package/src/icons/react/ArrowBarDown.tsx +18 -0
  578. package/src/icons/react/ArrowBarLeft.tsx +10 -5
  579. package/src/icons/react/ArrowBarRight.tsx +10 -5
  580. package/src/icons/react/ArrowBarUp.tsx +18 -0
  581. package/src/icons/react/ArrowBottom.tsx +10 -5
  582. package/src/icons/react/ArrowCollapse.tsx +10 -5
  583. package/src/icons/react/ArrowCollapseVertical.tsx +10 -5
  584. package/src/icons/react/ArrowForward.tsx +10 -5
  585. package/src/icons/react/ArrowLeft.tsx +10 -5
  586. package/src/icons/react/ArrowRight.tsx +10 -5
  587. package/src/icons/react/ArrowTop.tsx +10 -5
  588. package/src/icons/react/ArrowUpCircle.tsx +10 -5
  589. package/src/icons/react/ArrowsRightLeft.tsx +10 -5
  590. package/src/icons/react/AskForInput.tsx +10 -5
  591. package/src/icons/react/Asterisk.tsx +10 -5
  592. package/src/icons/react/Atom.tsx +10 -5
  593. package/src/icons/react/AutomationsCancelled.tsx +10 -5
  594. package/src/icons/react/AutomationsDisabled.tsx +10 -5
  595. package/src/icons/react/AutomationsError.tsx +10 -5
  596. package/src/icons/react/AutomationsInProgress.tsx +10 -5
  597. package/src/icons/react/AutomationsNotStarted.tsx +10 -5
  598. package/src/icons/react/AutomationsSuccess.tsx +10 -5
  599. package/src/icons/react/Back.tsx +10 -5
  600. package/src/icons/react/BacklogIcon.tsx +10 -5
  601. package/src/icons/react/BatchActionsIcon.tsx +10 -5
  602. package/src/icons/react/BellCircle.tsx +10 -5
  603. package/src/icons/react/BellFilled.tsx +10 -5
  604. package/src/icons/react/BellOff.tsx +10 -5
  605. package/src/icons/react/BellRinging.tsx +10 -5
  606. package/src/icons/react/BellX.tsx +10 -5
  607. package/src/icons/react/Bolt.tsx +10 -5
  608. package/src/icons/react/BringForward.tsx +10 -5
  609. package/src/icons/react/BringToFront.tsx +10 -5
  610. package/src/icons/react/Cards.tsx +10 -5
  611. package/src/icons/react/Chat.tsx +10 -5
  612. package/src/icons/react/ChatAi.tsx +10 -5
  613. package/src/icons/react/ChatBubble.tsx +10 -5
  614. package/src/icons/react/ChatFloat.tsx +10 -5
  615. package/src/icons/react/ChatSidebar.tsx +10 -5
  616. package/src/icons/react/CheckCircle.tsx +10 -5
  617. package/src/icons/react/CheckCircleFilled.tsx +10 -5
  618. package/src/icons/react/Checked.tsx +10 -5
  619. package/src/icons/react/Clean.tsx +10 -5
  620. package/src/icons/react/Clear.tsx +10 -5
  621. package/src/icons/react/ClearInputFilled.tsx +10 -5
  622. package/src/icons/react/ClearValue.tsx +10 -5
  623. package/src/icons/react/Clock.tsx +10 -5
  624. package/src/icons/react/ClockAlarm.tsx +10 -5
  625. package/src/icons/react/ClockForward.tsx +10 -5
  626. package/src/icons/react/Close.tsx +10 -5
  627. package/src/icons/react/CollapseAll.tsx +10 -5
  628. package/src/icons/react/CollapseAllHorizontal.tsx +10 -5
  629. package/src/icons/react/ColorCoding.tsx +10 -5
  630. package/src/icons/react/ColorCodingFilled.tsx +10 -5
  631. package/src/icons/react/Columns.tsx +10 -5
  632. package/src/icons/react/Columns2.tsx +10 -5
  633. package/src/icons/react/Columns4.tsx +10 -5
  634. package/src/icons/react/CommentBubble.tsx +10 -5
  635. package/src/icons/react/Copy.tsx +10 -5
  636. package/src/icons/react/Create.tsx +10 -5
  637. package/src/icons/react/CreditsFilled.tsx +10 -5
  638. package/src/icons/react/CrossCircle.tsx +10 -5
  639. package/src/icons/react/Crosshair.tsx +10 -5
  640. package/src/icons/react/Csv.tsx +10 -5
  641. package/src/icons/react/Database.tsx +10 -5
  642. package/src/icons/react/DatabaseOff.tsx +10 -5
  643. package/src/icons/react/DatabaseStroke.tsx +10 -5
  644. package/src/icons/react/DateRange.tsx +10 -5
  645. package/src/icons/react/Delete.tsx +10 -5
  646. package/src/icons/react/Demo.tsx +10 -5
  647. package/src/icons/react/Dependency.tsx +10 -5
  648. package/src/icons/react/Dividers.tsx +10 -5
  649. package/src/icons/react/Document.tsx +10 -5
  650. package/src/icons/react/DoubleArrowLeft.tsx +10 -5
  651. package/src/icons/react/DoubleArrowRight.tsx +10 -5
  652. package/src/icons/react/DoubleLine.tsx +10 -5
  653. package/src/icons/react/DragBlockHandle.tsx +10 -5
  654. package/src/icons/react/DragBlockHandleSingle.tsx +10 -5
  655. package/src/icons/react/DragHandle.tsx +10 -5
  656. package/src/icons/react/Duplicate.tsx +10 -5
  657. package/src/icons/react/DynamicFilterValue.tsx +10 -5
  658. package/src/icons/react/EditValue.tsx +10 -5
  659. package/src/icons/react/Email.tsx +10 -5
  660. package/src/icons/react/EmojiDelete.tsx +10 -5
  661. package/src/icons/react/EntityCreate.tsx +10 -5
  662. package/src/icons/react/EntityCreateFilled.tsx +10 -5
  663. package/src/icons/react/EntityMerge.tsx +10 -5
  664. package/src/icons/react/Equation.tsx +10 -5
  665. package/src/icons/react/ExpandAll.tsx +10 -5
  666. package/src/icons/react/ExpandAllHorizontal.tsx +10 -5
  667. package/src/icons/react/Export.tsx +10 -5
  668. package/src/icons/react/ExtensionAssignments.tsx +10 -5
  669. package/src/icons/react/ExtensionAvatar.tsx +10 -5
  670. package/src/icons/react/ExtensionComments.tsx +10 -5
  671. package/src/icons/react/ExtensionFiles.tsx +10 -5
  672. package/src/icons/react/ExtensionReferences.tsx +10 -5
  673. package/src/icons/react/ExtensionWorkflow.tsx +10 -5
  674. package/src/icons/react/Eye.tsx +10 -5
  675. package/src/icons/react/Favorites.tsx +10 -5
  676. package/src/icons/react/FavoritesChecked.tsx +10 -5
  677. package/src/icons/react/FavoritesOff.tsx +10 -5
  678. package/src/icons/react/FiberyDesktopApp.tsx +10 -5
  679. package/src/icons/react/FiberyMono.tsx +10 -5
  680. package/src/icons/react/FieldUnit.tsx +10 -5
  681. package/src/icons/react/Fields.tsx +10 -5
  682. package/src/icons/react/Figma.tsx +10 -5
  683. package/src/icons/react/FileArchive.tsx +10 -5
  684. package/src/icons/react/FileBroken.tsx +10 -5
  685. package/src/icons/react/FileCounter.tsx +10 -5
  686. package/src/icons/react/FileDocument.tsx +10 -5
  687. package/src/icons/react/FileDownload.tsx +10 -5
  688. package/src/icons/react/FileImage.tsx +10 -5
  689. package/src/icons/react/FileMultiple.tsx +10 -5
  690. package/src/icons/react/FileOther.tsx +10 -5
  691. package/src/icons/react/FilePresentation.tsx +10 -5
  692. package/src/icons/react/FileTable.tsx +10 -5
  693. package/src/icons/react/FileUpload.tsx +10 -5
  694. package/src/icons/react/FileVideo.tsx +10 -5
  695. package/src/icons/react/Filter.tsx +10 -5
  696. package/src/icons/react/FitToScreen.tsx +10 -5
  697. package/src/icons/react/FocusMode.tsx +10 -5
  698. package/src/icons/react/FocusModeOff.tsx +10 -5
  699. package/src/icons/react/Folder.tsx +10 -5
  700. package/src/icons/react/FolderFavorite.tsx +18 -0
  701. package/src/icons/react/FormWithCover.tsx +10 -5
  702. package/src/icons/react/FormWithoutCover.tsx +10 -5
  703. package/src/icons/react/FullscreenModeOffIcon.tsx +10 -5
  704. package/src/icons/react/FullscreenModeOn.tsx +10 -5
  705. package/src/icons/react/FullscreenModeOnIcon.tsx +10 -5
  706. package/src/icons/react/Gift.tsx +10 -5
  707. package/src/icons/react/Github.tsx +10 -5
  708. package/src/icons/react/Gitlab.tsx +10 -5
  709. package/src/icons/react/Globe.tsx +10 -5
  710. package/src/icons/react/GlobeSimple.tsx +10 -5
  711. package/src/icons/react/GlobeUnpublish.tsx +10 -5
  712. package/src/icons/react/GoTo.tsx +10 -5
  713. package/src/icons/react/GoogleDrive.tsx +10 -5
  714. package/src/icons/react/GoogleMap.tsx +10 -5
  715. package/src/icons/react/GraduationCapFilled.tsx +10 -5
  716. package/src/icons/react/Headphones.tsx +10 -5
  717. package/src/icons/react/HeadphonesAi.tsx +10 -5
  718. package/src/icons/react/Hide.tsx +10 -5
  719. package/src/icons/react/Highlights.tsx +10 -5
  720. package/src/icons/react/Hint.tsx +10 -5
  721. package/src/icons/react/Home.tsx +10 -5
  722. package/src/icons/react/HomeFilled.tsx +10 -5
  723. package/src/icons/react/ImageXmark.tsx +10 -5
  724. package/src/icons/react/Import.tsx +10 -5
  725. package/src/icons/react/ImportFilled.tsx +10 -5
  726. package/src/icons/react/InfoCircle.tsx +10 -5
  727. package/src/icons/react/InfoCircleFilled.tsx +10 -5
  728. package/src/icons/react/Integration.tsx +10 -5
  729. package/src/icons/react/IntegrationsFilled.tsx +10 -5
  730. package/src/icons/react/IntegrationsIntegrationDiscourseColor.tsx +10 -5
  731. package/src/icons/react/IntegrationsIntegrationIntercomColor.tsx +10 -5
  732. package/src/icons/react/IntegrationsIntegrationSlackColor.tsx +10 -5
  733. package/src/icons/react/IntegrationsIntegrationZendeskColor.tsx +10 -5
  734. package/src/icons/react/Intercom.tsx +18 -0
  735. package/src/icons/react/InvitePeople.tsx +10 -5
  736. package/src/icons/react/Items.tsx +10 -5
  737. package/src/icons/react/ItemsTimeline.tsx +10 -5
  738. package/src/icons/react/Jira.tsx +10 -5
  739. package/src/icons/react/Key.tsx +10 -5
  740. package/src/icons/react/KeyboardHideDown.tsx +10 -5
  741. package/src/icons/react/Lab.tsx +10 -5
  742. package/src/icons/react/LayoutDouble.tsx +10 -5
  743. package/src/icons/react/LayoutMultiple.tsx +10 -5
  744. package/src/icons/react/LayoutSingle.tsx +10 -5
  745. package/src/icons/react/LeftPanel.tsx +10 -5
  746. package/src/icons/react/LevelPlus.tsx +10 -5
  747. package/src/icons/react/Levels.tsx +10 -5
  748. package/src/icons/react/LineDivider.tsx +10 -5
  749. package/src/icons/react/LineJump.tsx +10 -5
  750. package/src/icons/react/Link.tsx +10 -5
  751. package/src/icons/react/LocationEdit.tsx +10 -5
  752. package/src/icons/react/Lock.tsx +10 -5
  753. package/src/icons/react/LockOutline.tsx +10 -5
  754. package/src/icons/react/Logout.tsx +10 -5
  755. package/src/icons/react/Loom.tsx +10 -5
  756. package/src/icons/react/LoupeZoom.tsx +10 -5
  757. package/src/icons/react/LoupeZoomIn.tsx +10 -5
  758. package/src/icons/react/LoupeZoomOut.tsx +10 -5
  759. package/src/icons/react/ManyPeople.tsx +10 -5
  760. package/src/icons/react/MapMode.tsx +10 -5
  761. package/src/icons/react/Markdown.tsx +10 -5
  762. package/src/icons/react/MenuCollapser.tsx +10 -5
  763. package/src/icons/react/Mermaid.tsx +10 -5
  764. package/src/icons/react/MessagePlus.tsx +10 -5
  765. package/src/icons/react/MessagePlusSquare.tsx +10 -5
  766. package/src/icons/react/Milestones.tsx +10 -5
  767. package/src/icons/react/Minus.tsx +10 -5
  768. package/src/icons/react/Miro.tsx +10 -5
  769. package/src/icons/react/MirrorOff.tsx +10 -5
  770. package/src/icons/react/MirrorOn.tsx +10 -5
  771. package/src/icons/react/Mixpanel.tsx +10 -5
  772. package/src/icons/react/Monitor.tsx +10 -5
  773. package/src/icons/react/More.tsx +10 -5
  774. package/src/icons/react/MoreCompact.tsx +10 -5
  775. package/src/icons/react/MoveBottom.tsx +10 -5
  776. package/src/icons/react/MoveLeft.tsx +10 -5
  777. package/src/icons/react/MoveRight.tsx +10 -5
  778. package/src/icons/react/MoveSpace.tsx +10 -5
  779. package/src/icons/react/MoveTop.tsx +10 -5
  780. package/src/icons/react/Network.tsx +10 -5
  781. package/src/icons/react/NetworkAdd.tsx +10 -5
  782. package/src/icons/react/NoBorder.tsx +10 -5
  783. package/src/icons/react/NoFill.tsx +10 -5
  784. package/src/icons/react/Notifications.tsx +10 -5
  785. package/src/icons/react/ObjChild.tsx +10 -5
  786. package/src/icons/react/ObjM2M.tsx +10 -5
  787. package/src/icons/react/ObjO2O.tsx +10 -5
  788. package/src/icons/react/ObjParent.tsx +10 -5
  789. package/src/icons/react/ObjSelf.tsx +10 -5
  790. package/src/icons/react/OnSchedule.tsx +10 -5
  791. package/src/icons/react/OpenAi.tsx +10 -5
  792. package/src/icons/react/OpenAsPage.tsx +10 -5
  793. package/src/icons/react/PageRegularMode.tsx +10 -5
  794. package/src/icons/react/PageWideMode.tsx +10 -5
  795. package/src/icons/react/PanelAdd.tsx +10 -5
  796. package/src/icons/react/Pencil.tsx +10 -5
  797. package/src/icons/react/People.tsx +10 -5
  798. package/src/icons/react/PeopleCheck.tsx +10 -5
  799. package/src/icons/react/Photo.tsx +10 -5
  800. package/src/icons/react/Pin.tsx +10 -5
  801. package/src/icons/react/PinFilled.tsx +10 -5
  802. package/src/icons/react/Popup.tsx +10 -5
  803. package/src/icons/react/Posts.tsx +10 -5
  804. package/src/icons/react/PresentPlay.tsx +10 -5
  805. package/src/icons/react/PresentStop.tsx +10 -5
  806. package/src/icons/react/Print.tsx +10 -5
  807. package/src/icons/react/PrivateItems.tsx +10 -5
  808. package/src/icons/react/Question.tsx +10 -5
  809. package/src/icons/react/QuickFilter.tsx +10 -5
  810. package/src/icons/react/QuickFilterPersonal.tsx +10 -5
  811. package/src/icons/react/ReadOnly.tsx +10 -5
  812. package/src/icons/react/Refresh.tsx +10 -5
  813. package/src/icons/react/Remove.tsx +10 -5
  814. package/src/icons/react/RemovePeople.tsx +10 -5
  815. package/src/icons/react/Reply.tsx +10 -5
  816. package/src/icons/react/ResetPassword.tsx +10 -5
  817. package/src/icons/react/Restore.tsx +10 -5
  818. package/src/icons/react/RicheditorActionsMore.tsx +10 -5
  819. package/src/icons/react/RicheditorBlockCallout.tsx +10 -5
  820. package/src/icons/react/RicheditorBlockCode.tsx +10 -5
  821. package/src/icons/react/RicheditorBlockEmbed.tsx +10 -5
  822. package/src/icons/react/RicheditorBlockEntity.tsx +10 -5
  823. package/src/icons/react/RicheditorBlockFile.tsx +10 -5
  824. package/src/icons/react/RicheditorBlockH1.tsx +10 -5
  825. package/src/icons/react/RicheditorBlockH2.tsx +10 -5
  826. package/src/icons/react/RicheditorBlockH3.tsx +10 -5
  827. package/src/icons/react/RicheditorBlockH4.tsx +10 -5
  828. package/src/icons/react/RicheditorBlockMention.tsx +10 -5
  829. package/src/icons/react/RicheditorBlockParagraph.tsx +10 -5
  830. package/src/icons/react/RicheditorBlockQuote.tsx +10 -5
  831. package/src/icons/react/RicheditorChecklistCreate.tsx +10 -5
  832. package/src/icons/react/RicheditorCommentCreate.tsx +10 -5
  833. package/src/icons/react/RicheditorEntityLinkCreate.tsx +10 -5
  834. package/src/icons/react/RicheditorHistoryRedo.tsx +10 -5
  835. package/src/icons/react/RicheditorHistoryUndo.tsx +10 -5
  836. package/src/icons/react/RicheditorImageAlignCenter.tsx +10 -5
  837. package/src/icons/react/RicheditorImageAlignLeft.tsx +10 -5
  838. package/src/icons/react/RicheditorImageAlignRight.tsx +10 -5
  839. package/src/icons/react/RicheditorImageUpload.tsx +10 -5
  840. package/src/icons/react/RicheditorImageWrapCenter.tsx +10 -5
  841. package/src/icons/react/RicheditorImageWrapLeft.tsx +10 -5
  842. package/src/icons/react/RicheditorImageWrapRight.tsx +10 -5
  843. package/src/icons/react/RicheditorImageZoom.tsx +10 -5
  844. package/src/icons/react/RicheditorLinkCreate.tsx +10 -5
  845. package/src/icons/react/RicheditorLinkedhighlightCreate.tsx +10 -5
  846. package/src/icons/react/RicheditorListBullet.tsx +10 -5
  847. package/src/icons/react/RicheditorListIndent.tsx +10 -5
  848. package/src/icons/react/RicheditorListOrdered.tsx +10 -5
  849. package/src/icons/react/RicheditorListUnindent.tsx +10 -5
  850. package/src/icons/react/RicheditorMarkCode.tsx +10 -5
  851. package/src/icons/react/RicheditorMarkEm.tsx +10 -5
  852. package/src/icons/react/RicheditorMarkHighlight.tsx +10 -5
  853. package/src/icons/react/RicheditorMarkStrike.tsx +10 -5
  854. package/src/icons/react/RicheditorMarkStrong.tsx +10 -5
  855. package/src/icons/react/RicheditorMarkTextBackgroundColor.tsx +10 -5
  856. package/src/icons/react/RicheditorMarkUnderline.tsx +10 -5
  857. package/src/icons/react/RicheditorOpenLink.tsx +10 -5
  858. package/src/icons/react/RicheditorTableCreate.tsx +10 -5
  859. package/src/icons/react/RicheditorUnlink.tsx +10 -5
  860. package/src/icons/react/RicheditorVideoUpload.tsx +10 -5
  861. package/src/icons/react/RightPanel.tsx +10 -5
  862. package/src/icons/react/Rows.tsx +10 -5
  863. package/src/icons/react/RuleScheduled.tsx +10 -5
  864. package/src/icons/react/Search.tsx +10 -5
  865. package/src/icons/react/SearchAdd.tsx +10 -5
  866. package/src/icons/react/SearchFilled.tsx +10 -5
  867. package/src/icons/react/SearchRemove.tsx +10 -5
  868. package/src/icons/react/SelfReferenceOff.tsx +10 -5
  869. package/src/icons/react/SelfReferenceOn.tsx +10 -5
  870. package/src/icons/react/SendArrow.tsx +10 -5
  871. package/src/icons/react/SendBackward.tsx +10 -5
  872. package/src/icons/react/SendToBack.tsx +10 -5
  873. package/src/icons/react/Settings.tsx +10 -5
  874. package/src/icons/react/SettingsFilled.tsx +10 -5
  875. package/src/icons/react/SettingsOff.tsx +10 -5
  876. package/src/icons/react/Share.tsx +10 -5
  877. package/src/icons/react/Shared.tsx +10 -5
  878. package/src/icons/react/ShieldKeyhole.tsx +10 -5
  879. package/src/icons/react/ShowAuthor.tsx +10 -5
  880. package/src/icons/react/Sidebar.tsx +10 -5
  881. package/src/icons/react/SidebarFields.tsx +10 -5
  882. package/src/icons/react/SidebarFieldsOpened.tsx +10 -5
  883. package/src/icons/react/SimpleCompass.tsx +10 -5
  884. package/src/icons/react/Slack.tsx +10 -5
  885. package/src/icons/react/SlackIcon.tsx +10 -5
  886. package/src/icons/react/SlideMenu.tsx +10 -5
  887. package/src/icons/react/SlideMenuClose.tsx +10 -5
  888. package/src/icons/react/SlideMenuFilled.tsx +10 -5
  889. package/src/icons/react/SlideMenuOpen.tsx +10 -5
  890. package/src/icons/react/SmartFolder.tsx +10 -5
  891. package/src/icons/react/Sort.tsx +10 -5
  892. package/src/icons/react/SortOnBottom.tsx +10 -5
  893. package/src/icons/react/SortOnTop.tsx +10 -5
  894. package/src/icons/react/SpaceApp.tsx +10 -5
  895. package/src/icons/react/SpaceGenerate.tsx +10 -5
  896. package/src/icons/react/SpaceList.tsx +10 -5
  897. package/src/icons/react/SpaceScratch.tsx +10 -5
  898. package/src/icons/react/SpaceTemplate.tsx +10 -5
  899. package/src/icons/react/Spinner.tsx +10 -5
  900. package/src/icons/react/Success.tsx +10 -5
  901. package/src/icons/react/SuggestIntegration.tsx +10 -5
  902. package/src/icons/react/SwitchToMention.tsx +10 -5
  903. package/src/icons/react/SwitchToText.tsx +10 -5
  904. package/src/icons/react/SwitchToWidget.tsx +10 -5
  905. package/src/icons/react/TableLayout.tsx +10 -5
  906. package/src/icons/react/Template.tsx +10 -5
  907. package/src/icons/react/Templates.tsx +10 -5
  908. package/src/icons/react/TemplatesFilled.tsx +10 -5
  909. package/src/icons/react/Terminal.tsx +10 -5
  910. package/src/icons/react/TextNoWrap.tsx +10 -5
  911. package/src/icons/react/TextToolAlignBottom.tsx +10 -5
  912. package/src/icons/react/TextToolAlignMiddle.tsx +10 -5
  913. package/src/icons/react/TextToolAlignTop.tsx +10 -5
  914. package/src/icons/react/TextWrap.tsx +10 -5
  915. package/src/icons/react/ThumbsDown.tsx +10 -5
  916. package/src/icons/react/ThumbsUp.tsx +10 -5
  917. package/src/icons/react/Toc.tsx +18 -0
  918. package/src/icons/react/Twitter.tsx +10 -5
  919. package/src/icons/react/TypeBoolean.tsx +10 -5
  920. package/src/icons/react/TypeButton.tsx +10 -5
  921. package/src/icons/react/TypeCheckbox.tsx +10 -5
  922. package/src/icons/react/TypeDate.tsx +10 -5
  923. package/src/icons/react/TypeEmail.tsx +10 -5
  924. package/src/icons/react/TypeEmoji.tsx +10 -5
  925. package/src/icons/react/TypeFormula.tsx +10 -5
  926. package/src/icons/react/TypeFunction.tsx +10 -5
  927. package/src/icons/react/TypeId.tsx +10 -5
  928. package/src/icons/react/TypeLocation.tsx +10 -5
  929. package/src/icons/react/TypeLookup.tsx +10 -5
  930. package/src/icons/react/TypeMoney.tsx +10 -5
  931. package/src/icons/react/TypeMultiSelect.tsx +10 -5
  932. package/src/icons/react/TypeNumber.tsx +10 -5
  933. package/src/icons/react/TypePercent.tsx +10 -5
  934. package/src/icons/react/TypePhone.tsx +10 -5
  935. package/src/icons/react/TypeRelation.tsx +10 -5
  936. package/src/icons/react/TypeRichText.tsx +10 -5
  937. package/src/icons/react/TypeRule.tsx +10 -5
  938. package/src/icons/react/TypeSingleSelect.tsx +10 -5
  939. package/src/icons/react/TypeText.tsx +10 -5
  940. package/src/icons/react/TypeUrl.tsx +10 -5
  941. package/src/icons/react/UnitsAvatar.tsx +10 -5
  942. package/src/icons/react/UnitsCollection.tsx +10 -5
  943. package/src/icons/react/UnitsCounter.tsx +10 -5
  944. package/src/icons/react/UnitsDate.tsx +10 -5
  945. package/src/icons/react/UnitsDbBadgeAbbr.tsx +10 -5
  946. package/src/icons/react/UnitsDbBadgeFull.tsx +10 -5
  947. package/src/icons/react/UnitsDbIcon.tsx +10 -5
  948. package/src/icons/react/UnitsField.tsx +10 -5
  949. package/src/icons/react/UnitsFieldIconButton.tsx +10 -5
  950. package/src/icons/react/UnitsInput.tsx +10 -5
  951. package/src/icons/react/UnitsProgressBar.tsx +10 -5
  952. package/src/icons/react/UnitsRichText.tsx +10 -5
  953. package/src/icons/react/UnitsSnippet.tsx +10 -5
  954. package/src/icons/react/Unlink.tsx +10 -5
  955. package/src/icons/react/UnlockFilled.tsx +10 -5
  956. package/src/icons/react/UnlockOutline.tsx +10 -5
  957. package/src/icons/react/Upgrade.tsx +10 -5
  958. package/src/icons/react/UsbFlashDrive.tsx +10 -5
  959. package/src/icons/react/UserCheck.tsx +10 -5
  960. package/src/icons/react/UserGroup.tsx +10 -5
  961. package/src/icons/react/UserGroupRemove.tsx +10 -5
  962. package/src/icons/react/UserRole.tsx +10 -5
  963. package/src/icons/react/UserX.tsx +10 -5
  964. package/src/icons/react/ValueEdit.tsx +10 -5
  965. package/src/icons/react/ViewAi.tsx +10 -5
  966. package/src/icons/react/ViewBoard.tsx +10 -5
  967. package/src/icons/react/ViewCalendar.tsx +10 -5
  968. package/src/icons/react/ViewCanvas.tsx +10 -5
  969. package/src/icons/react/ViewChart.tsx +10 -5
  970. package/src/icons/react/ViewDashboard.tsx +10 -5
  971. package/src/icons/react/ViewDetails.tsx +10 -5
  972. package/src/icons/react/ViewDocument.tsx +10 -5
  973. package/src/icons/react/ViewEmbed.tsx +18 -0
  974. package/src/icons/react/ViewFeed.tsx +10 -5
  975. package/src/icons/react/ViewForm.tsx +10 -5
  976. package/src/icons/react/ViewGallery.tsx +10 -5
  977. package/src/icons/react/ViewGantt.tsx +10 -5
  978. package/src/icons/react/ViewList.tsx +10 -5
  979. package/src/icons/react/ViewMap.tsx +10 -5
  980. package/src/icons/react/ViewPage.tsx +10 -5
  981. package/src/icons/react/ViewTable.tsx +10 -5
  982. package/src/icons/react/ViewTimeline.tsx +10 -5
  983. package/src/icons/react/Views.tsx +10 -5
  984. package/src/icons/react/Warning.tsx +10 -5
  985. package/src/icons/react/WarningTriangle.tsx +10 -5
  986. package/src/icons/react/WarningTriangleFilled.tsx +10 -5
  987. package/src/icons/react/Webhooks.tsx +18 -0
  988. package/src/icons/react/Windows.tsx +10 -5
  989. package/src/icons/react/WorkspaceMap.tsx +10 -5
  990. package/src/icons/react/Youtube.tsx +10 -5
  991. package/src/icons/react/ZoomIn.tsx +10 -5
  992. package/src/icons/react/ZoomOut.tsx +10 -5
  993. package/src/icons/react/index.tsx +453 -441
  994. package/src/icons/svg/add-database.svg +1 -1
  995. package/src/icons/svg/add-integration.svg +1 -1
  996. package/src/icons/svg/arrow-bar-down.svg +4 -0
  997. package/src/icons/svg/arrow-bar-up.svg +4 -0
  998. package/src/icons/svg/arrows-right-left.svg +1 -1
  999. package/src/icons/svg/chat-bubble.svg +1 -1
  1000. package/src/icons/svg/chat-float.svg +1 -1
  1001. package/src/icons/svg/chat-sidebar.svg +3 -3
  1002. package/src/icons/svg/clean.svg +1 -1
  1003. package/src/icons/svg/create.svg +1 -1
  1004. package/src/icons/svg/folder-favorite.svg +3 -0
  1005. package/src/icons/svg/intercom.svg +3 -0
  1006. package/src/icons/svg/items-timeline.svg +1 -1
  1007. package/src/icons/svg/key.svg +1 -1
  1008. package/src/icons/svg/network-add.svg +1 -1
  1009. package/src/icons/svg/print.svg +1 -1
  1010. package/src/icons/svg/richeditor/list/indent.svg +7 -2
  1011. package/src/icons/svg/richeditor/list/unindent.svg +7 -2
  1012. package/src/icons/svg/richeditor/mark/underline.svg +2 -2
  1013. package/src/icons/svg/success.svg +1 -1
  1014. package/src/icons/svg/suggest-integration.svg +1 -1
  1015. package/src/icons/svg/toc.svg +5 -0
  1016. package/src/icons/svg/view-embed.svg +3 -0
  1017. package/src/icons/svg/warning-triangle.svg +1 -1
  1018. package/src/icons/svg/webhooks.svg +5 -0
  1019. package/src/icons/svg/windows.svg +1 -1
  1020. package/src/icons/types.ts +2 -0
  1021. package/src/images-gallery/images-gallery.tsx +91 -16
  1022. package/src/images-gallery/slide-buttons.tsx +5 -9
  1023. package/src/integration-compact-info-button.tsx +10 -6
  1024. package/src/lists/actions-menu-row-surface.tsx +2 -1
  1025. package/src/loaders.tsx +2 -2
  1026. package/src/loading-sausage.tsx +4 -4
  1027. package/src/logo.tsx +14 -13
  1028. package/src/mobile-keyboard-aware-popup.tsx +1 -1
  1029. package/src/modal-menu/index.tsx +1 -0
  1030. package/src/modal-menu/modal-menu-checkbox-item.tsx +50 -0
  1031. package/src/modal-menu/modal-menu-content.tsx +1 -1
  1032. package/src/modal-menu/modal-menu-separator.tsx +1 -1
  1033. package/src/modal-menu/modal-submenu-content.tsx +3 -1
  1034. package/src/new-badge.tsx +2 -2
  1035. package/src/number-input/edit-unit-styles.ts +3 -3
  1036. package/src/online-users.tsx +53 -54
  1037. package/src/open-popover-tracker.tsx +73 -0
  1038. package/src/palette-generator.test.ts +145 -147
  1039. package/src/palette-generator.ts +24 -34
  1040. package/src/palettes/_.test.ts +226 -0
  1041. package/src/palettes/_.ts +66 -23
  1042. package/src/palettes/diff-colors.ts +253 -0
  1043. package/src/palettes/inspect.canvas-colors.test.ts +257 -0
  1044. package/src/palettes/inspect.defs.colors.neutral-arch.test.ts +2291 -0
  1045. package/src/palettes/inspect.defs.colors.neutral-user.test.ts +2291 -0
  1046. package/src/palettes/inspect.defs.colors.warm-arch.test.ts +2291 -0
  1047. package/src/palettes/inspect.defs.colors.warm-user.test.ts +2291 -0
  1048. package/src/palettes/inspect.neutral-arch.test.ts +191 -0
  1049. package/src/palettes/inspect.neutral-user.test.ts +191 -0
  1050. package/src/palettes/inspect.warm-arch.test.ts +191 -0
  1051. package/src/palettes/inspect.warm-user.test.ts +191 -0
  1052. package/src/palettes/neutral-arch.ts +37 -0
  1053. package/src/palettes/neutral-user.ts +37 -0
  1054. package/src/palettes/{slate-arch.ts → neutral.ts} +19 -33
  1055. package/src/palettes/warm-arch.ts +2 -187
  1056. package/src/palettes/warm-user.ts +2 -187
  1057. package/src/palettes/warm.ts +157 -0
  1058. package/src/popover/index.tsx +124 -212
  1059. package/src/popover/mobile-popover.tsx +4 -2
  1060. package/src/popover/popup-modifiers-context.ts +4 -4
  1061. package/src/preference-setting.test.ts +223 -0
  1062. package/src/preference-setting.ts +71 -0
  1063. package/src/pretty-size.test.ts +18 -0
  1064. package/src/pretty-size.ts +23 -0
  1065. package/src/reactions/reaction-button.tsx +4 -4
  1066. package/src/reactions/reaction-picker.tsx +2 -2
  1067. package/src/rich-text-embed-error.tsx +3 -1
  1068. package/src/root-theme-provider.test.tsx +25 -20
  1069. package/src/scale-generator.ts +2 -2
  1070. package/src/select/components/clear-indicator.tsx +1 -1
  1071. package/src/select/components/drop-down-indicator.tsx +2 -2
  1072. package/src/select/components/group-heading.tsx +3 -3
  1073. package/src/select/components/menu-list-virtualized.tsx +1 -1
  1074. package/src/select/components/option.tsx +1 -1
  1075. package/src/select/index.tsx +39 -38
  1076. package/src/select/select-in-popover.tsx +34 -202
  1077. package/src/select/select.tsx +6 -4
  1078. package/src/select/styles.ts +3 -0
  1079. package/src/static-palettes.ts +3 -5
  1080. package/src/tab-nav/tab-nav.tsx +61 -17
  1081. package/src/thematic-color-picker.tsx +158 -234
  1082. package/src/thematic-constants.tsx +0 -1
  1083. package/src/thematic-controls.tsx +118 -9
  1084. package/src/thematic-scales.tsx +66 -86
  1085. package/src/thematic-state.ts +62 -45
  1086. package/src/thematic.tsx +379 -244
  1087. package/src/theme-provider.test.tsx +70 -67
  1088. package/src/theme-provider.tsx +51 -34
  1089. package/src/theme-settings.ts +12 -44
  1090. package/src/theme-styles.ts +36 -23
  1091. package/src/themed-ink.tsx +26 -0
  1092. package/src/toast/toast-action.tsx +2 -2
  1093. package/src/toggle-button/round-toggle-button.tsx +2 -1
  1094. package/src/toggle-button/toggle-button.tsx +51 -38
  1095. package/src/toggle-on-off.tsx +7 -7
  1096. package/src/tooltip-if-overflown.tsx +3 -3
  1097. package/src/tree-utils.test.ts +166 -0
  1098. package/src/tree-utils.ts +107 -0
  1099. package/src/type-badge-box.tsx +2 -2
  1100. package/src/type-badge.tsx +9 -10
  1101. package/src/unit/maybe-unit-value.tsx +1 -1
  1102. package/src/unit/types.ts +1 -1
  1103. package/src/workflow-progress-icon.tsx +1 -1
  1104. package/src/actions-menu/actions-menu-open-state-tracker.tsx +0 -66
  1105. package/src/design-system/alpha.test.ts +0 -59
  1106. package/src/design-system.test.ts +0 -47
  1107. package/src/error-alert/error-alert-action.tsx +0 -12
  1108. package/src/error-alert/error-alert.tsx +0 -71
  1109. package/src/file-item/use-register-in-image-gallery.tsx +0 -70
  1110. package/src/file-item-2.tsx +0 -357
  1111. package/src/palettes/slate-arch.colors-snapshot.test.ts +0 -1689
  1112. package/src/palettes/slate-user.colors-snapshot.test.ts +0 -1689
  1113. package/src/palettes/slate-user.ts +0 -187
  1114. package/src/palettes/warm-arch.colors-snapshot.test.ts +0 -1689
  1115. package/src/palettes/warm-user.colors-snapshot.test.ts +0 -1689
  1116. /package/src/number-input/{decimal.test.js → decimal.test.ts} +0 -0
@@ -1,10 +1,10 @@
1
1
  /* eslint-disable max-lines */
2
2
  import {ThemePalette} from "../palette-generator";
3
- import mapValues from "lodash/mapValues";
4
- import {a11yColor} from "../a11y-color";
5
- import {darkenChroma, produceColor, set, setAlpha, setLuminanceChroma} from "../color-utils";
3
+ import {darkenChroma, hslFrom, produceColor, serializeHexVariadic, setAlpha, setLuminanceChroma} from "../color-utils";
6
4
  import {ThemeMode} from "../theme-settings";
7
- import {getOpacities, opacity, transparent} from "./alpha";
5
+ import {alpha, opacity, transparent} from "./alpha";
6
+ import {getDarkenColor, makeAdaptiveBgFg} from "./colors-js";
7
+ import {cssFromFilter, makeColorFilter} from "../color-filter";
8
8
 
9
9
  export const cardTypeColors = [
10
10
  "#4A4A4A",
@@ -26,12 +26,6 @@ export const cardTypeColors = [
26
26
  "#B04E31",
27
27
  ] as const;
28
28
 
29
- const swatches = {
30
- "gray-light": cardTypeColors[1],
31
- yellow: cardTypeColors[14],
32
- green: "#69AC5E",
33
- };
34
-
35
29
  type ThemeColorsDef = Record<
36
30
  string,
37
31
  | readonly [lightColor: string, darkColor: string]
@@ -50,7 +44,24 @@ type ThemeFnsDef = Record<
50
44
  }
51
45
  >;
52
46
 
53
- export function makeThemeDefs({
47
+ const separator = (color: string) => `0.5px solid ${color}`;
48
+ const border1 = (color: string) => `1px solid ${color}`;
49
+ const border3 = (color: string) => `3px solid ${color}`;
50
+
51
+ const steps = (steps: string[]) => steps.join(", ");
52
+
53
+ /** @deprecated analyze usages — most likely you should use light/dark (different) variants like [base, baseDark] */
54
+ const same = <T>(v: T): [light: T, dark: T] => [v, v];
55
+
56
+ const both =
57
+ (map: (_: string) => string) =>
58
+ ([light, dark]: Def): Def => [map(light), map(dark)];
59
+
60
+ type Def = [light: string, dark: string];
61
+ type Defs = Record<string, Def>;
62
+
63
+ export function defsFromPalette({
64
+ key,
54
65
  white,
55
66
  black,
56
67
  whiteA,
@@ -65,633 +76,990 @@ export function makeThemeDefs({
65
76
  tealDark,
66
77
  yellow,
67
78
  yellowDark,
79
+ deneutralize,
68
80
  }: ThemePalette) {
69
- const blackish = produceColor(black, (x) => set(x, "hsl.l", (x) => x + 5));
81
+ const shift = makeColorFilter(deneutralize);
82
+ const colorPickerCssFilter = cssFromFilter(deneutralize) ?? "none";
70
83
 
71
- const shades = getOpacities(black);
72
- const separators = {
73
- ...mapValues(shades, (shade) => `0.5px solid ${shade}`),
74
- } as const;
84
+ // beg(TODO pull into ThemePalette)
85
+ const blackish = produceColor(black, (x) => {
86
+ const hsl = hslFrom(x);
87
+ return {...hsl, l: (hsl.l ?? 0) + 0.05};
88
+ });
89
+ const purple9 = shift("rgb(157, 99, 212)");
90
+ const purpleDark9 = shift("rgb(131, 73, 182)");
91
+ const blue9 = shift("rgba(56, 105, 204, 1)");
92
+ const blueDark9 = shift("rgba(151, 177, 237, 1)");
93
+ // end(TODO pull into ThemePalette)
75
94
 
76
- const lights = getOpacities(white);
77
- const inversedSeparators = {
78
- ...mapValues(lights, (light) => `0.5px solid ${light}`),
79
- } as const;
95
+ // whiteA = surface direction (white on light / black on dark) — blends INTO bg
96
+ const whiteA5: Def = [alpha(white, 0.05), alpha(black, 0.05)];
97
+ const whiteA10: Def = [alpha(white, 0.1), alpha(black, 0.1)];
98
+ const whiteA25: Def = [alpha(white, 0.25), alpha(black, 0.25)];
99
+ const whiteA40: Def = [alpha(white, 0.4), alpha(black, 0.4)];
100
+ const whiteA100: Def = [white, black];
80
101
 
81
- const colors = {
82
- mode: ["light", "dark"],
102
+ // blackA = contrast direction (black on light / white on dark) — readable on bg
103
+ const blackA5: Def = [alpha(black, 0.05), alpha(white, 0.05)];
104
+ const blackA10: Def = [alpha(black, 0.1), alpha(white, 0.1)];
105
+ const blackA15: Def = [alpha(black, 0.15), alpha(white, 0.15)];
106
+ const blackA25: Def = [alpha(black, 0.25), alpha(white, 0.25)];
107
+ const blackA50: Def = [alpha(black, 0.5), alpha(white, 0.5)];
108
+ const blackA90: Def = [alpha(black, 0.9), alpha(white, 0.9)];
83
109
 
84
- // Elevations
85
- surfaceElevationS: [`0 2px 4px 0 ${blackA[3]}`, `0 2px 4px 0 ${whiteA[3]}`],
86
- surfaceElevationM: [`0 4px 8px 0 ${blackA[5]}`, `0 4px 8px 0 ${whiteA[5]}`],
87
- surfaceElevationL: [`0 8px 12px 0 ${blackA[5]}`, `0 8px 12px 0 ${whiteA[5]}`],
110
+ const opacities = {
111
+ subtle: same(opacity.opacity15.toString()),
112
+ faint: same(opacity.opacity20.toString()),
113
+ weak: same(opacity.opacity30.toString()),
114
+ drag: same(opacity.opacity40.toString()),
115
+ muted: same(opacity.opacity50.toString()),
116
+ done: same(opacity.opacity60.toString()),
117
+ disabled: same(opacity.opacity65.toString()),
118
+ visible: same(opacity.opacity70.toString()),
119
+ disabledHoverOrFocus: same(opacity.opacity75.toString()),
120
+ };
88
121
 
89
- // Shadows and effects / Elevation
90
- shadow50: [
91
- `0px 0px 0px 1px ${getOpacities(base[12]).opacity5}`,
92
- `0px 0px 0px 1px ${getOpacities(baseDark[12]).opacity10}`,
93
- ],
94
- shadow100: [
95
- `0px 1px 4px 0px ${getOpacities(base[12]).opacity5}`,
96
- `0px 1px 4px 0px ${getOpacities(base[12]).opacity10}`,
97
- ],
98
- shadow200: [
99
- `0px 2px 6px 0px ${getOpacities(base[12]).opacity5}`,
100
- `0px 2px 6px 0px ${getOpacities(base[12]).opacity10}`,
101
- ],
102
- shadow300: [
103
- `0px 3px 6px -3px ${getOpacities(base[12]).opacity10}, 0px 8px 20px -4px ${getOpacities(base[12]).opacity15}`,
104
- `0px 3px 6px -3px ${getOpacities(base[12]).opacity10}, 0px 8px 20px -4px ${getOpacities(base[12]).opacity15}`,
105
- ],
106
- shadow400: [
107
- `0px 0px 1px 0px ${getOpacities(base[12]).opacity20}, 0px 16px 40px 0px ${getOpacities(base[12]).opacity15}`,
108
- `0px 0px 1px 0px ${getOpacities(base[12]).opacity20}, 0px 16px 40px 0px ${getOpacities(base[12]).opacity15}`,
109
- ],
110
- shadow500: [
111
- `0px 0px 1px 0px ${getOpacities(base[12]).opacity20}, 0px 20px 50px 0px ${getOpacities(base[12]).opacity15}`,
112
- `0px 0px 1px 0px ${getOpacities(base[12]).opacity20}, 0px 20px 50px 0px ${getOpacities(base[12]).opacity15}`,
113
- ],
114
- shadow600: [
115
- `0px 0px 1px 0px ${getOpacities(base[12]).opacity20}, 0px 26px 80px 0px ${getOpacities(base[12]).opacity20}`,
116
- `0px 0px 1px 0px ${getOpacities(base[12]).opacity20}, 0px 26px 80px 0px ${getOpacities(base[12]).opacity20}`,
117
- ],
118
- actionMenuShadow: [
119
- `0px 0px 2px 0px ${getOpacities(base[11]).opacity30}, 0px 4px 6px 0px ${
120
- getOpacities(base[11]).opacity5
121
- }, 0px 10px 26px 0px ${getOpacities(base[11]).opacity15}`,
122
- `0px 0px 0px 1px ${getOpacities(baseDark[6]).opacity100}, 0px 4px 6px 0px ${
123
- getOpacities(baseDark[1]).opacity5
124
- }, 0px 10px 26px 0px ${getOpacities(baseDark[1]).opacity15}`,
122
+ // FIXME WIP to find commons/dedupe/adjust
123
+ const surface = {
124
+ // pure white / deepest dark
125
+ level0: [white, baseDark[1]],
126
+
127
+ // pure white / slightly elevated dark
128
+ level0elevated: [white, baseDark[2]],
129
+
130
+ // near-white canvas
131
+ level1: [base[1], baseDark[1]],
132
+ level1_1: [base[1], baseDark[2]],
133
+ level1_3: [base[1], baseDark[3]],
134
+ level1_4: [base[1], baseDark[4]],
135
+ level1_6: [base[1], baseDark[6]],
136
+
137
+ // secondary/subtle bg
138
+ level2: [base[2], baseDark[2]],
139
+ level2_1: [base[2], baseDark[1]],
140
+ level2_3: [base[2], baseDark[3]],
141
+ level2_6: [base[2], baseDark[6]],
142
+
143
+ // muted bg (code, form fields)
144
+ level3exotic: [base[3], blackish], // FIXME try blackA[3] | baseDark[3] to make it less exotic
145
+ level3_1: [base[3], baseDark[1]],
146
+ level3_4: [base[3], baseDark[4]],
147
+ level3_6: [base[3], baseDark[6]],
148
+ level3_7: [base[3], baseDark[7]],
149
+
150
+ // hover emphasis (neutral)
151
+ level4: [base[4], baseDark[4]],
152
+
153
+ // hover emphasis, elevated dark
154
+ level4_5: [base[4], baseDark[5]],
155
+ level4_6: [base[4], baseDark[6]],
156
+
157
+ level5_4: [base[5], baseDark[4]],
158
+ level6_7: [base[6], baseDark[7]],
159
+ } satisfies Defs;
160
+
161
+ const raised = {
162
+ // menus, modals, entity boxes
163
+ level1: [white, baseDark[3]],
164
+
165
+ // popups, inner menus, hover on raised.level1
166
+ level2: [white, baseDark[4]],
167
+
168
+ // entity cards (old)
169
+ level3: [white, baseDark[5]],
170
+
171
+ // card bg, comment bubbles, float editors
172
+ level4: [white, baseDark[6]],
173
+ } satisfies Defs;
174
+
175
+ // Strokes (spread-only, no blur/offset)
176
+ const stroke05 = (color: string) => `0 0 0 0.5px ${color}`;
177
+ const stroke1 = (color: string) => `0 0 0 1px ${color}`;
178
+ const stroke2 = (color: string) => `0 0 0 2px ${color}`;
179
+ const stroke3 = (color: string) => `0 0 0 3px ${color}`;
180
+
181
+ // Glows (blur-only, no offset/spread)
182
+ const glow1 = (color: string) => `0 0 1px 0 ${color}`;
183
+ const glow2 = (color: string) => `0 0 2px 0 ${color}`;
184
+ const glow6 = (color: string) => `0 0 6px 0 ${color}`;
185
+
186
+ // Elevations (y-offset + blur)
187
+ const elevationS = (color: string) => `0 2px 4px 0 ${color}`;
188
+ const elevationS_shrinked = (color: string) => `0 2px 4px -4px ${color}`;
189
+ const elevationSM = (color: string) => `0 4px 6px 0 ${color}`;
190
+ const elevationSL = (color: string) => `0 3px 12px 0 ${color}`; // soft-large: small offset, large blur
191
+ const elevationM = (color: string) => `0 4px 8px 0 ${color}`;
192
+ const elevationL = (color: string) => `0 8px 12px 0 ${color}`;
193
+ const elevationXL = (color: string) => `0 10px 26px 0 ${color}`; // extra-large
194
+ const elevation100 = (color: string) => `0 1px 4px 0 ${color}`;
195
+ const elevation200 = (color: string) => `0 2px 6px 0 ${color}`;
196
+ const elevation250 = (color: string) => `0 3px 6px -3px ${color}`;
197
+ const elevation300 = (color: string) => `0 8px 20px -4px ${color}`;
198
+ const elevation400 = (color: string) => `0 16px 40px 0 ${color}`;
199
+ const elevation500 = (color: string) => `0 20px 50px 0 ${color}`;
200
+ const elevation600 = (color: string) => `0 26px 80px 0 ${color}`;
201
+
202
+ // --- Input borders (stroke shadows) ---
203
+ const inputStrokes = {
204
+ disabled: [stroke1(alpha(base[6], 0.2)), stroke1(alpha(baseDark[8], 0.2))],
205
+ default: [stroke1(alpha(base[6], 0.7)), stroke1(alpha(baseDark[8], 0.7))],
206
+ hover: [stroke1(base[7]), stroke1(baseDark[8])],
207
+ focus: [stroke1(base[8]), stroke1(baseDark[9])],
208
+ error: [stroke1(red[11]), stroke1(red[7])],
209
+ errorHover: [stroke1(alpha(red[11], 0.4)), stroke1(alpha(red[7], 0.4))],
210
+ errorFocus: [stroke1(alpha(red[11], 0.25)), stroke1(alpha(red[7], 0.25))],
211
+ errorFocusRing: [stroke3(alpha(red[11], 0.25)), stroke3(alpha(red[7], 0.25))],
212
+ warning: [stroke1(yellow[9]), stroke1(yellowDark[8])],
213
+ } satisfies Defs;
214
+
215
+ // --- Floating surface shadows ---
216
+ const floatingShadows = {
217
+ popup: [
218
+ steps([glow2(alpha(base[11], 0.3)), elevationSM(alpha(base[11], 0.05)), elevationXL(alpha(base[11], 0.15))]),
219
+ steps([stroke1(baseDark[6]), elevationSM(alpha(baseDark[1], 0.05)), elevationXL(alpha(baseDark[1], 0.15))]),
125
220
  ],
126
- shadowPopup: [
127
- `0px 0px 2px 0px ${getOpacities(base[11]).opacity30}, 0px 4px 6px 0px ${
128
- getOpacities(base[11]).opacity5
129
- }, 0px 10px 26px 0px ${getOpacities(base[11]).opacity15}`,
130
- `0px 0px 0px 1px ${getOpacities(baseDark[6]).opacity100}, 0px 4px 6px 0px ${
131
- getOpacities(baseDark[1]).opacity5
132
- }, 0px 10px 26px 0px ${getOpacities(baseDark[1]).opacity15}`,
221
+ instrumentsMenu: [
222
+ steps([glow1(alpha(base[11], 0.2)), elevationSM(alpha(base[11], 0.05)), elevationSL(alpha(base[11], 0.1))]),
223
+ steps([glow1(baseDark[6]), elevationSM(alpha(baseDark[1], 0.05)), elevationSL(alpha(baseDark[1], 0.15))]),
133
224
  ],
134
- shadowSidebar: [
135
- `-3px 0px 10px 0px ${getOpacities(base[10]).opacity10}`,
136
- `-3px 0px 10px 0px ${getOpacities(baseDark[1]).opacity80}`,
225
+ } satisfies Defs;
226
+
227
+ // --- Card/container shadows ---
228
+ const cardShadows = {
229
+ subtle: [
230
+ steps([stroke1(alpha(base[10], 0.1)), elevationS_shrinked(alpha(base[10], 0.2))]),
231
+ steps([stroke1(alpha(baseDark[2], 0.1)), elevationS_shrinked(alpha(baseDark[2], 0.2))]),
137
232
  ],
233
+ } satisfies Defs;
234
+
235
+ const entityBoxShadows = {
236
+ stroke: {
237
+ default: [stroke1(base[5]), stroke1(baseDark[5])],
238
+ focus: [stroke2(alpha(accent[9], 0.4)), stroke2(alpha(accentDark[9], 0.4))],
239
+ focusHover: [stroke2(alpha(accent[9], 0.6)), stroke2(alpha(accentDark[9], 0.6))],
240
+ selected: [
241
+ steps([stroke1(alpha(accent[9], 0.4)), stroke3(alpha(accent[9], 0.4))]),
242
+ steps([stroke1(accentDark[9]), stroke3(alpha(accentDark[9], 0.4))]),
243
+ ],
244
+ selectedHover: [
245
+ steps([stroke1(alpha(accent[9], 0.6)), stroke3(alpha(accent[9], 0.4))]),
246
+ steps([stroke1(accentDark[9]), stroke3(alpha(accentDark[9], 0.4))]),
247
+ ],
248
+ } satisfies Defs,
249
+ elevation: {
250
+ // Progression: S → M → L (default → hover → drag)
251
+ default: [elevationS(alpha(base[12], 0.05)), elevationS(alpha(baseDark[1], 0.05))],
252
+ hover: [elevationM(alpha(base[12], 0.1)), elevationM(alpha(baseDark[1], 0.1))],
253
+ drag: [elevationL(alpha(base[12], 0.1)), elevationL(alpha(baseDark[1], 0.1))],
254
+ } satisfies Defs,
255
+ };
256
+
257
+ // FIXME assymetric: light is composite (elevation100 + stroke05), dark is simple (stroke1 only)
258
+ const shadowMenuHeaderAvatar = [
259
+ steps([elevation100(alpha(base[11], 0.1)), stroke05(alpha(base[5], 0.5))]),
260
+ stroke1(alpha(baseDark[9], 0.2)),
261
+ ] as const;
262
+
263
+ const edgeLeft = (color: string) => `-3px 0 10px 0 ${color}`;
264
+
265
+ const formHeaderShadow = [glow6(alpha(base[10], 0.1)), glow6(alpha(baseDark[1], 0.4))] as const;
266
+
267
+ const shadows = {
268
+ // Elevations
269
+ surfaceElevationS: [elevationS(blackA[3]), elevationS(whiteA[3])],
270
+ surfaceElevationM: [elevationM(blackA[5]), elevationM(whiteA[5])],
271
+ surfaceElevationL: [elevationL(blackA[5]), elevationL(whiteA[5])],
272
+
273
+ // Shadows and effects / Elevation
274
+ shadow50: [stroke1(alpha(base[12], 0.05)), stroke1(alpha(baseDark[12], 0.1))],
275
+ shadow100: [elevation100(alpha(base[12], 0.05)), elevation100(alpha(base[12], 0.1))],
276
+ shadow200: [elevation200(alpha(base[12], 0.05)), elevation200(alpha(base[12], 0.1))],
277
+ shadow300: same(steps([elevation250(alpha(base[12], 0.1)), elevation300(alpha(base[12], 0.15))])),
278
+ shadow400: same(steps([glow1(alpha(base[12], 0.2)), elevation400(alpha(base[12], 0.15))])),
279
+ shadow500: same(steps([glow1(alpha(base[12], 0.2)), elevation500(alpha(base[12], 0.15))])),
280
+ shadow600: same(steps([glow1(alpha(base[12], 0.2)), elevation600(alpha(base[12], 0.2))])),
281
+
282
+ actionMenuShadow: floatingShadows.popup,
283
+ shadowPopup: floatingShadows.popup,
284
+ shadowSidebar: [edgeLeft(alpha(base[10], 0.1)), edgeLeft(alpha(baseDark[1], 0.8))],
285
+ } as const;
286
+
287
+ // names proposal: forbid color in keys (they all are colors) — restructure it better (separate shadows, borders etc)
288
+ // inspired by tailwind:
289
+ // bg-* Sets the background color of an element
290
+ // text-* Sets the text color of an element
291
+ // border-* Sets the border color of an element
292
+ // shadow-* Sets the color of box shadows
293
+ // fill-* Sets the fill color of SVG elements
294
+ // stroke-* Sets the stroke color of SVG elements
295
+ // TODO elevation = raised * shadow
296
+
297
+ const transparentAlways = same(transparent);
298
+ const whiteColor = same(white);
299
+ const blackColor = same(black);
300
+
301
+ const fg = {
302
+ accent: [accent[11], accentDark[11]],
303
+ accentActive: [alpha(accent[11], 0.8), alpha(accentDark[11], 0.8)],
304
+
305
+ neutral: [base[11], baseDark[11]],
306
+ neutralActive: [alpha(base[11], 0.8), alpha(baseDark[11], 0.8)],
307
+ // FIXME uses base[12] while soft/ghost use base[11] — inconsistent?
308
+ neutralActive__TODO: [alpha(base[12], 0.8), alpha(baseDark[12], 0.8)],
309
+ muted: [base[9], baseDark[9]],
310
+
311
+ destructive: [red[11], redDark[11]],
312
+ destructiveActive: [alpha(red[11], 0.8), alpha(redDark[11], 0.8)],
313
+
314
+ addition: [teal[9], tealDark[11]],
315
+
316
+ success: [teal[11], tealDark[11]],
317
+ warning: [yellow[11], yellowDark[11]],
318
+
319
+ icon: [alpha(base[12], 0.7), alpha(baseDark[12], 0.7)],
320
+ // TODO The 0.65 vs 0.7 dark alpha might be intentional (text slightly more muted than icons?) or drift.
321
+ secondary: [alpha(base[12], 0.7), alpha(baseDark[12], 0.65)],
322
+ } satisfies Defs;
323
+
324
+ const bg = {
325
+ neutral3: [base[3], baseDark[3]],
326
+ accent3: [accent[3], accentDark[3]],
327
+ success: [teal[3], tealDark[3]],
328
+ warning: [yellow[3], yellowDark[3]],
329
+ error: [red[3], redDark[3]],
330
+ } satisfies Defs;
331
+
332
+ const icon = {
333
+ primary: [base[12], baseDark[12]],
334
+ neutral: [base[11], baseDark[11]],
335
+ accent: [accent[11], accentDark[11]],
336
+ success: [teal[11], tealDark[11]],
337
+ warning: [yellow[11], yellowDark[11]],
338
+ error: [red[11], redDark[11]],
339
+ link: [blue9, blueDark9],
340
+ ai: [purple9, purpleDark9],
341
+ } satisfies Defs;
342
+
343
+ const text = {
344
+ primary: [base[12], baseDark[12]],
345
+ accent: [accent[11], accentDark[11]],
346
+ success: [teal[11], tealDark[11]],
347
+ warning: [yellow[11], yellowDark[11]],
348
+ error: [red[11], redDark[11]],
349
+ } satisfies Defs;
350
+
351
+ const primary = {
352
+ accent: [accent[9], accentDark[9]],
353
+ destructive_TODO: [red[9], redDark[9]],
354
+ destructive: [red[9], redDark[10]], // TODO 9_9?
355
+ success: [teal[9], tealDark[9]],
356
+ warning: [yellow[9], yellowDark[8]], // TODO 9_9 after correct adjusting palette?
357
+ } satisfies Defs;
358
+
359
+ const bgStatus = {
360
+ accent: [alpha(accent[5], 0.7), alpha(accentDark[4], 0.8)],
361
+ neutral: [alpha(base[5], 0.7), alpha(baseDark[4], 0.8)],
362
+ success: [teal[5], tealDark[5]],
363
+ warning: [yellow[5], yellowDark[5]],
364
+ error: [red[5], redDark[5]],
365
+ } satisfies Defs;
366
+
367
+ const borderAccentOrMedium = [accent[7], accentDark[7]] as const;
368
+ const borderAccentOrMediumAccent = [accent[8], accentDark[8]] as const;
369
+ const borderDanger = [red[7], redDark[7]] as const;
370
+ const borderNeutral = [base[8], baseDark[7]] as const;
371
+
372
+ // beg(TODO shake it)
373
+ const bgEntityCardOverlay = [alpha(base[2], 0.8), alpha(baseDark[6], 0.5)] as const;
374
+ const bgEntityCardDone = [alpha(base[4], 0.3), alpha(baseDark[5], 0.3)] as const;
375
+ const base5_6 = [base[5], baseDark[6]] as const;
376
+ const base6_6_opacity30 = [alpha(base[6], 0.3), alpha(baseDark[6], 0.3)] as const;
377
+ const base8 = [base[8], baseDark[8]] as const;
378
+ const fgAccentText = [base[10], baseDark[10]] as const;
379
+ const fgMenuEtc = [base[12], baseDark[12]] as const;
380
+
381
+ const bgTabFocus = [base[6], baseDark[6]] as const;
382
+ const bgTabHover = [alpha(base[11], 0.1), alpha(baseDark[11], 0.1)] as const;
383
+
384
+ const viewHighlightBg = [accent[3], accentDark[3]] as const;
385
+ const notificationSelected = [accent[3], accentDark[4]] as const;
386
+ const bgCellGridDisabledOrHighlighted = [accent[4], accentDark[5]] as const;
387
+ const notificationSelectedHover = [accent[4], accentDark[6]] as const;
388
+
389
+ const fgSelection = [alpha(accent[9], 0.2), alpha(accentDark[9], 0.4)] as const;
390
+
391
+ const warningColor = [alpha(yellow[6], 0.6), alpha(yellowDark[9], 0.4)] as const;
392
+ const bgBtnGhostAccentHover = [alpha(accent[4], 0.8), alpha(accentDark[4], 0.8)] as const;
393
+ const bgBtnGhostNeutralHover = [alpha(base[7], 0.5), alpha(baseDark[6], 0.8)] as const;
394
+ const bgBtnGhostDestructiveHover = [red[4], redDark[4]] as const;
395
+ const bgBtnSoftAccentHover = [accent[5], accentDark[6]] as const;
396
+ const bgBtnSoftNeutralDefault = [base[3], baseDark[3]] as const;
397
+ const bgBtnSoftNeutralHover = [base[7], baseDark[7]] as const;
398
+ const bgBtnSoftDestructiveHover = [red[6], redDark[6]] as const;
399
+ const borderFocusRingAccent = same(alpha(accent[9], 0.3));
400
+ const borderFocusRingNeutral = same(alpha(base[9], 0.3));
401
+ const borderFocusRingDestructive = same(alpha(red[9], 0.3));
402
+ const textWhiteboardSelectionLockedOrDisabled = [alpha(base[9], 0.5), alpha(baseDark[9], 0.5)] as const;
403
+
404
+ const fgSelectedText = same(base[2]);
405
+ const fgSolidActiveText = same(alpha(white, 0.8));
406
+ const linkBlue = [blue9, blueDark9] as const;
407
+
408
+ const codeOrErrorMessage = [red[9], red[8]] as const; // TODO check: lack of redDark scale usage
409
+ const errorIndicatorColor = same(red[8]);
410
+ const neutralStrong = same(base[11]);
411
+ // end(TODO shake it)
412
+
413
+ const bgActionsMenu = raised.level1;
414
+ const bgActionsMenuItemHover = surface.level4_5;
415
+
416
+ const iconFromFg = (fg: string) => ({
417
+ fg: same(fg),
418
+ bg: same(alpha(fg, 0.2)),
419
+ });
420
+
421
+ const swatches = {
422
+ green: "#69AC5E",
423
+ grayLight: cardTypeColors[1],
424
+ indigo: cardTypeColors[8],
425
+ teal: cardTypeColors[10],
426
+ yellow: cardTypeColors[14],
427
+ };
428
+
429
+ const iconMySpace = iconFromFg(shift(swatches.grayLight, serializeHexVariadic));
430
+ const iconPrivate = iconFromFg(shift(swatches.green, serializeHexVariadic));
431
+ const iconFavorites = iconFromFg(shift(swatches.yellow, serializeHexVariadic));
432
+ const defaultCardTypeColorUppercaseHex = same(
433
+ (key.includes("arch") ? swatches.yellow : key.includes("neutral") ? swatches.indigo : swatches.teal).toUpperCase()
434
+ );
435
+
436
+ const iconBadge = iconFromFg(base[10]);
437
+
438
+ const colors = {
439
+ mode: ["light", "dark"],
440
+ ...shadows,
441
+
442
+ // Accent background tints (light → strong)
443
+ colorAccentBgSubtle: same(alpha(accent[9], 0.1)),
444
+ colorAccentBgMild: same(alpha(accent[9], 0.15)),
445
+ colorAccentBgMedium: same(alpha(accent[9], 0.2)),
446
+ colorAccentBgStrong: same(alpha(accent[9], 0.3)),
447
+ colorAccentBgBold: same(alpha(accent[9], 0.35)),
448
+ colorAccentBgVivid: same(alpha(accent[9], 0.6)),
449
+
450
+ // Accent strokes
451
+ colorAccentStroke: same(alpha(accent[9], 0.25)),
452
+ colorAccentStrokeHover: same(alpha(accent[9], 0.4)),
453
+ colorAccentStrokeFocus: same(alpha(accent[9], 0.5)),
454
+
455
+ // Accent solid
456
+ colorAccentSolid: same(alpha(accent[9], 0.8)),
457
+
458
+ // Accent base
459
+ colorAccent: primary.accent,
138
460
 
139
461
  // Rubbish dump
140
- primaryBlue: [accent[9], accentDark[9]],
141
- whiteColor: [white, white],
142
- blackColor: [black, black],
143
- mainBg: [base[3], blackish],
144
- panelBg: [white, baseDark[1]],
145
- panelContentBg: [base[2], baseDark[1]],
146
- colorBgRelationContainer: [base[2], baseDark[1]],
462
+ /** @deprecated */
463
+ darkenPrimary: same(getDarkenColor(accent[9])),
464
+ whiteColor,
465
+ blackColor,
466
+ mainBg: surface.level3exotic,
467
+ panelBg: surface.level0,
468
+ panelContentBg: surface.level2_1,
469
+ colorBgRelationContainer: surface.level2_1,
470
+
147
471
  // AI colors
148
- colorAI: ["rgb(157, 99, 212)", "rgb(131, 73, 182)"],
149
- colorBgAI: ["rgba(157, 99, 212, 0.1)", "rgba(131, 73, 182, 0.1)"],
150
- colorSubtleBgAI: ["hsla(271, 57%, 61%, 0.05)", "hsla(272, 43%, 50%, 0.1)"],
151
- colorBgAIFloatingLauncher: [base[1], baseDark[4]],
152
- colorBgAIFloatingPanelContent: [base[1], baseDark[3]],
153
- colorBgAISidebarContent: [base[1], baseDark[1]],
472
+ colorAI: [purple9, purpleDark9],
473
+ colorBgAI: [alpha(purple9, 0.1), alpha(purpleDark9, 0.1)],
474
+ // FIXME why 0.1 for dark vs 0.05 for light?
475
+ colorSubtleBgAI: [alpha(purple9, 0.05), alpha(purpleDark9, 0.1)],
476
+ colorBgAIFloatingLauncher: surface.level1_4,
477
+ colorBgAIFloatingPanelContent: surface.level1_3,
478
+ colorBgAISidebarContent: surface.level1,
479
+
154
480
  // Other colors
155
- pageContentBg: [white, baseDark[2]],
156
- colorBgPopup: [white, baseDark[4]],
157
- menuBg: [base[3], blackish],
158
- menuTextColor: [base[12], baseDark[12]],
159
- menuItemHoverColor: [base[5], baseDark[6]],
160
- menuSelectedTextColor: [base[2], base[2]],
161
- menuIconColor: [getOpacities(base[12]).opacity70, getOpacities(baseDark[12]).opacity70],
481
+ pageContentBg: surface.level0elevated,
482
+ colorBgPopup: raised.level2,
483
+ menuBg: surface.level3exotic,
484
+ menuTextColor: fgMenuEtc,
485
+ menuItemHoverColor: base5_6,
486
+ menuSelectedTextColor: fgSelectedText,
487
+ menuIconColor: fg.icon,
162
488
 
163
489
  // Text, links colors
164
- textColor: [base[12], baseDark[12]],
165
- textSelectionColor: [getOpacities(accent[9]).opacity20, getOpacities(accentDark[9]).opacity40],
166
- accentTextColor: [base[10], baseDark[10]],
167
- disabledTextColor: [base[9], baseDark[9]],
168
- inversedTextColor: [base[3], baseDark[6]],
169
- colorTextSecondary: [getOpacities(base[12]).opacity70, getOpacities(baseDark[12]).opacity65],
170
- linkColor: ["rgba(56, 105, 204, 1)", "rgba(151, 177, 237, 1)"],
171
- linkBorder: [`0.5px solid "rgba(56, 105, 204, 0.4)"`, `0.5px solid "rgba(151, 177, 237, 0.4)"`],
172
- linkHoverColor: ["rgba(56, 105, 204, 1)", "rgba(151, 177, 237, 1)"],
173
- linkBorderHover: [`0.5px solid "rgba(56, 105, 204, 0.8)"`, `0.5px solid "rgba(151, 177, 237, 0.7)"`],
174
- codeColor: [red[9], red[8]],
175
- codeBgColor: [base[3], baseDark[4]],
176
- codeBlockBgColor: [base[3], baseDark[4]],
177
- addedDiffTextColor: [teal[9], tealDark[11]],
178
- removedDiffTextColor: [red[11], redDark[11]],
490
+ textColor: fgMenuEtc,
491
+ textSelectionColor: fgSelection,
492
+ accentTextColor: fgAccentText,
493
+ disabledTextColor: fg.muted,
494
+ inversedTextColor: surface.level3_6,
495
+ colorTextSecondary: fg.secondary,
496
+ linkColor: linkBlue,
497
+ linkBorder: [separator(alpha(blue9, 0.4)), separator(alpha(blueDark9, 0.4))],
498
+ linkHoverColor: linkBlue,
499
+ linkBorderHover: [separator(alpha(blue9, 0.8)), separator(alpha(blueDark9, 0.7))], // FIXME why different alpha?
500
+ codeColor: codeOrErrorMessage,
501
+ codeBgColor: surface.level3_4,
502
+ codeBlockBgColor: surface.level3_4,
503
+ addedDiffTextColor: fg.addition,
504
+ removedDiffTextColor: fg.destructive,
179
505
 
180
506
  // Entity
181
507
  entityNodeColor: [baseDark[3], base[8]],
182
- entityNodeBorder: [
183
- `0.5px solid ${getOpacities(baseDark[3]).opacity30}`,
184
- `0.5px solid ${getOpacities(base[8]).opacity40}`,
185
- ],
508
+ entityNodeBorder: [separator(alpha(baseDark[3], 0.3)), separator(alpha(base[8], 0.4))],
186
509
  entityNodeHoverColor: [baseDark[7], base[7]],
187
- entityNodeBorderHover: [
188
- `0.5px solid ${getOpacities(base[11]).opacity80}`,
189
- `0.5px solid ${getOpacities(base[7]).opacity80}`,
190
- ],
191
- entityNodeBgColor: [base[2], baseDark[3]],
510
+ entityNodeBorderHover: [separator(alpha(base[11], 0.8)), separator(alpha(base[7], 0.8))],
511
+ entityNodeBgColor: surface.level2_3,
192
512
  shortcutTextColor: [base[9], baseDark[11]],
193
- shortcutBorder: [
194
- `1px solid ${getOpacities(base[8]).opacity50}`,
195
- `1px solid ${getOpacities(baseDark[10]).opacity20}`,
196
- ],
197
- shortcutBorderColor: [getOpacities(base[8]).opacity50, getOpacities(baseDark[10]).opacity20],
513
+ shortcutBorder: [border1(alpha(base[8], 0.5)), border1(alpha(baseDark[10], 0.2))],
514
+ shortcutBorderColor: [alpha(base[8], 0.5), alpha(baseDark[10], 0.2)],
198
515
 
199
516
  // Input
200
- inputBgColor: [white, baseDark[2]],
201
- inputDisabledBgColor: [getOpacities(base[6]).opacity30, getOpacities(baseDark[6]).opacity30],
202
- inputDisabledBorderColor: [
203
- `0 0 0 1px ${getOpacities(base[6]).opacity20}`,
204
- `0 0 0 1px ${getOpacities(baseDark[8]).opacity20}`,
205
- ],
206
- inputCopyBgColor: [base[3], baseDark[4]],
207
- inputBorderColor: [
208
- `0 0 0 1px ${getOpacities(base[6]).opacity70}`,
209
- `0 0 0 1px ${getOpacities(baseDark[8]).opacity70}`,
210
- ],
211
- inputBorderHoverColor: [
212
- `0 0 0 1px ${getOpacities(base[7]).opacity100}`,
213
- `0 0 0 1px ${getOpacities(baseDark[8]).opacity100}`,
214
- ],
215
- inputBorderFocusColor: [
216
- `0 0 0 1px ${getOpacities(base[8]).opacity100}`,
217
- `0 0 0 1px ${getOpacities(baseDark[9]).opacity100}`,
218
- ],
517
+ inputBgColor: surface.level0elevated,
518
+ inputDisabledBgColor: base6_6_opacity30,
519
+ inputDisabledBorderColor: inputStrokes.disabled,
520
+ inputCopyBgColor: surface.level3_4,
521
+ inputBorderColor: inputStrokes.default,
522
+ inputBorderHoverColor: inputStrokes.hover,
523
+ inputBorderFocusColor: inputStrokes.focus,
219
524
  inputBorderBlendMode: ["multiply", "lighten"],
220
- inputPlaceholderTextColor: [base[9], baseDark[9]],
221
- inputErrorBorderColor: [`0 0 0 1px ${red[11]}`, `0 0 0 1px ${red[7]}`],
222
- inputErrorBorderHoverColor: [
223
- `0 0 0 1px ${getOpacities(red[11]).opacity40}`,
224
- `0 0 0 1px ${getOpacities(red[7]).opacity40}`,
225
- ],
226
- inputErrorBorderFocusColor: [
227
- `0 0 0 1px ${getOpacities(red[11]).opacity25}`,
228
- `0 0 0 1px ${getOpacities(red[7]).opacity25}`,
229
- ],
230
- inputErrorBorderFocusShadow: [
231
- `0 0 0 3px ${getOpacities(red[11]).opacity25}`,
232
- `0 0 0 3px ${getOpacities(red[7]).opacity25}`,
233
- ],
234
- buttonPrimaryColor: [accent[9], accentDark[9]],
235
- buttonColor: [base[10], baseDark[10]],
525
+ inputPlaceholderTextColor: fg.muted,
526
+ inputErrorBorderColor: inputStrokes.error,
527
+ inputErrorBorderHoverColor: inputStrokes.errorHover,
528
+ inputErrorBorderFocusColor: inputStrokes.errorFocus,
529
+ inputErrorBorderFocusShadow: inputStrokes.errorFocusRing,
530
+ inputBorderWarningColor: inputStrokes.warning,
531
+ buttonPrimaryColor: primary.accent,
532
+ buttonColor: fgAccentText,
236
533
  buttonPrimaryTextColor: [base[2], base[6]],
237
- checkboxColor: [getOpacities(base[12]).opacity70, getOpacities(baseDark[12]).opacity70],
238
- colorBorderBlockQuote: [base[11], baseDark[11]],
534
+ checkboxColor: fg.icon,
535
+ colorBorderBlockQuote: fg.neutral,
239
536
 
240
537
  // Actions menu
241
- colorBgActionsMenu: [white, baseDark[3]],
242
- colorBgActionsMenuItemHover: [base[4], baseDark[5]],
243
- colorBgActionsMenuItemSelected: [getOpacities(accent[4]).opacity80, getOpacities(accentDark[4]).opacity80],
244
- colorBgActionsMenuItemSelectedHover: [getOpacities(accent[5]).opacity80, getOpacities(accentDark[6]).opacity80],
245
- colorBgActionsMenuItemDangerHover: [getOpacities(red[9]).opacity10, getOpacities(redDark[10]).opacity10],
246
- colorBgActionsMenuItemDangerActive: [getOpacities(red[9]).opacity80, getOpacities(redDark[10]).opacity80],
247
- actionMenuBg: [white, baseDark[3]],
248
- actionMenuInnerBg: [white, baseDark[4]],
249
- actionMenuHover: [base[4], baseDark[5]],
250
- actionMenuInnerHover: [base[4], getOpacities(baseDark[6]).opacity50],
251
- actionMenuButtonColor: [white, baseDark[2]],
252
- actionMenuButtonHoverColor: [base[1], baseDark[3]],
253
- actionMenuButtonShadow: [
254
- `0 0 0 1px ${getOpacities(base[10]).opacity10}, 0 2px 4px -4px ${getOpacities(base[10]).opacity20}`,
255
- `0 0 0 1px ${getOpacities(baseDark[2]).opacity10}, 0 2px 4px -4px ${getOpacities(baseDark[2]).opacity20}`,
538
+ colorBgActionsMenu: bgActionsMenu,
539
+ colorBgActionsMenuItemHover: bgActionsMenuItemHover,
540
+ colorBgActionsMenuItemSelected: bgBtnGhostAccentHover,
541
+ colorBgActionsMenuItemSelectedHover: [alpha(accent[5], 0.8), alpha(accentDark[6], 0.8)],
542
+ colorBgActionsMenuItemDangerHover: [alpha(red[9], 0.1), alpha(redDark[10], 0.1)],
543
+ colorBgActionsMenuItemDangerActive: [alpha(red[9], 0.8), alpha(redDark[10], 0.8)],
544
+ actionMenuBg: bgActionsMenu,
545
+ actionMenuInnerBg: raised.level2,
546
+ actionMenuHover: bgActionsMenuItemHover,
547
+ actionMenuInnerHover: [base[4], alpha(baseDark[6], 0.5)],
548
+ actionMenuButtonColor: surface.level0elevated,
549
+ actionMenuButtonHoverColor: surface.level1_3,
550
+ actionMenuButtonShadow: cardShadows.subtle,
551
+ actionMenuSeparatorColor: [alpha(black, 0.1), alpha(white, 0.15)],
552
+ separatorColor: blackA10,
553
+ separatorColorDimmed: blackA5,
554
+ separatorBreadcrumbsColor: base8,
555
+
556
+ // Border shorthands — 0.5px (thin separator)
557
+ borderSeparatorDimmed: both(separator)(blackA5),
558
+ borderSeparator: both(separator)(blackA10),
559
+ borderSeparatorMedium: both(separator)(blackA15),
560
+ borderSeparatorStrong: both(separator)(blackA25),
561
+ borderMedia: same(separator(blackA[7])),
562
+
563
+ // Border shorthands — 1px (solid)
564
+ borderSolidSeparator: both(border1)(blackA10),
565
+ borderSolidSeparatorDimmed: both(border1)(blackA5),
566
+ borderSolidFilterGroup: [border1(blackA[3]), border1(whiteA[3])],
567
+ borderSolidGrid: [border1(base5_6[0]), border1(base5_6[1])],
568
+ borderSolidOutlineNeutral: [border1(borderNeutral[0]), border1(borderNeutral[1])],
569
+ borderSolidMedia: same(border1(blackA[7])),
570
+ borderSolidCommentBubble: [border1(raised.level4[0]), border1(raised.level4[1])],
571
+
572
+ // Border shorthands — 3px
573
+ borderBlockQuote: [border3(fg.neutral[0]), border3(fg.neutral[1])],
574
+
575
+ // Composite shadows (stroke + elevation)
576
+ shadowCardDefault: [
577
+ steps([inputStrokes.default[0], shadows.shadow100[0]]),
578
+ steps([inputStrokes.default[1], shadows.shadow100[1]]),
256
579
  ],
257
- actionMenuSeparatorColor: [getOpacities(black).opacity10, getOpacities(white).opacity15],
258
- separatorColor: [getOpacities(black).opacity10, getOpacities(white).opacity10],
259
- separatorColorDimmed: [getOpacities(black).opacity5, getOpacities(white).opacity5],
260
- separatorBreadcrumbsColor: [base[8], baseDark[8]],
261
- iconColor: [getOpacities(base[12]).opacity70, getOpacities(baseDark[12]).opacity70],
262
- appIconColor: [getOpacities(base[2]).opacity90, getOpacities(base[2]).opacity70],
263
- appIconBgColor: [getOpacities(base[1]).opacity90, getOpacities(base[2]).opacity50],
264
- mentionBgColor: [getOpacities(base[7]).opacity30, getOpacities(baseDark[7]).opacity40],
265
- colorBgSelectMenu: [base[1], baseDark[3]],
266
- shadowSelectMenu: [
267
- `0px 0px 2px 0px ${getOpacities(base[11]).opacity30}, 0px 4px 6px 0px ${
268
- getOpacities(base[11]).opacity5
269
- }, 0px 10px 26px 0px ${getOpacities(base[11]).opacity15}`,
270
- `0px 0px 0px 1px ${getOpacities(baseDark[6]).opacity100}, 0px 4px 6px 0px ${
271
- getOpacities(baseDark[1]).opacity5
272
- }, 0px 10px 26px 0px ${getOpacities(baseDark[1]).opacity15}`,
580
+ shadowCardHover: [
581
+ steps([inputStrokes.default[0], shadows.shadow200[0]]),
582
+ steps([inputStrokes.default[1], shadows.shadow200[1]]),
273
583
  ],
274
- colorBgListItemGeneral: [transparent, transparent],
275
- colorBgListItemGeneralHover: [base[3], baseDark[4]],
276
- colorBgListItemGeneralFocus: [base[4], baseDark[6]],
277
- colorBgListItemGeneralSelected: [accent[3], accentDark[4]],
278
- colorBgListItemGeneralSelectedHover: [accent[4], accentDark[6]],
279
- colorBgListItemGeneralSelectedFocus: [accent[4], accentDark[6]],
280
- colorBgListItemGeneralDisabled: [transparent, transparent],
281
- colorTextListItemGeneralDisabled: [base[9], baseDark[9]],
584
+ shadowCardInset: [`inset ${inputStrokes.default[0]}`, `inset ${inputStrokes.default[1]}`],
585
+
586
+ iconColor: fg.icon,
587
+ appIconColor: [alpha(base[2], 0.9), alpha(base[2], 0.7)],
588
+ appIconBgColor: [alpha(base[1], 0.9), alpha(base[2], 0.5)],
589
+ mentionBgColor: [alpha(base[7], 0.3), alpha(baseDark[7], 0.4)],
590
+ colorBgSelectMenu: surface.level1_3,
591
+ shadowSelectMenu: floatingShadows.popup,
592
+ colorBgListItemGeneral: transparentAlways,
593
+ colorBgListItemGeneralHover: surface.level3_4,
594
+ colorBgListItemGeneralFocus: surface.level4_6,
595
+ colorBgListItemGeneralSelected: notificationSelected,
596
+ colorBgListItemGeneralSelectedHover: notificationSelectedHover,
597
+ colorBgListItemGeneralSelectedFocus: notificationSelectedHover,
598
+ colorBgListItemGeneralDisabled: transparentAlways,
599
+ colorTextListItemGeneralDisabled: fg.muted,
282
600
  colorBgListItemGeneralSelectedDisabled: [accent[5], accentDark[5]],
283
- opacityListItemGeneralDisabled: [`${opacity.opacity40}`, `${opacity.opacity40}`],
601
+ opacityListItemGeneralDisabled: opacities.drag,
284
602
 
285
603
  // Search Items
286
- colorBgSearchRowHover: [base[4], baseDark[5]],
604
+ colorBgSearchRowHover: bgActionsMenuItemHover,
287
605
  colorBgSearchRowCreateHover: [accent[4], accentDark[4]],
288
- opacitySearchItemDone: [`${opacity.opacity40}`, `${opacity.opacity40}`],
606
+ opacitySearchItemDone: opacities.drag,
607
+
289
608
  // Entity Box Style And States
290
609
  // Basic Entity Box State
291
- colorBgEntityBoxDefault: [white, baseDark[3]],
292
- shadowStrokeEntityBoxDefault: [`0 0 0 1px ${base[5]}`, `0 0 0 1px ${baseDark[5]}`],
293
- shadowEntityBoxDefault: [
294
- `0px 2px 4px 0px ${getOpacities(base[12]).opacity5}`,
295
- `0px 2px 4px 0px ${getOpacities(baseDark[1]).opacity5}`,
296
- ],
610
+ colorBgEntityBoxDefault: bgActionsMenu,
611
+ shadowStrokeEntityBoxDefault: entityBoxShadows.stroke.default,
612
+ shadowEntityBoxDefault: entityBoxShadows.elevation.default,
297
613
  // :hover
298
- colorBgEntityBoxDefaultHover: [white, baseDark[4]],
299
- shadowEntityBoxDefaultHover: [
300
- `0px 4px 8px 0px ${getOpacities(base[12]).opacity10}`,
301
- `0px 4px 8px 0px ${getOpacities(baseDark[1]).opacity10}`,
302
- ],
614
+ colorBgEntityBoxDefaultHover: raised.level2,
615
+ shadowEntityBoxDefaultHover: entityBoxShadows.elevation.hover,
303
616
  // :focus
304
- colorBgEntityBoxDefaultFocus: [white, baseDark[3]],
305
- colorOverlayEntityBoxDefaultFocus: [accent[9], accentDark[9]],
306
- shadowStrokeEntityBoxDefaultFocus: [
307
- `0 0 0 2px ${getOpacities(accent[9]).opacity40}`,
308
- `0 0 0 2px ${getOpacities(accentDark[9]).opacity40}`,
309
- ],
617
+ colorBgEntityBoxDefaultFocus: bgActionsMenu,
618
+ colorOverlayEntityBoxDefaultFocus: primary.accent,
619
+ shadowStrokeEntityBoxDefaultFocus: entityBoxShadows.stroke.focus,
310
620
  // :focus:hover
311
- colorBgEntityBoxDefaultFocusHover: [white, baseDark[4]],
312
- colorOverlayEntityBoxDefaultFocusHover: [accent[9], accentDark[9]],
313
- shadowStrokeEntityBoxDefaultFocusHover: [
314
- `0 0 0 2px ${getOpacities(accent[9]).opacity60}`,
315
- `0 0 0 2px ${getOpacities(accentDark[9]).opacity60}`,
316
- ],
621
+ colorBgEntityBoxDefaultFocusHover: raised.level2,
622
+ colorOverlayEntityBoxDefaultFocusHover: primary.accent,
623
+ shadowStrokeEntityBoxDefaultFocusHover: entityBoxShadows.stroke.focusHover,
317
624
  //::drag
318
- opacityEntityBoxDefaultDrag: [`${opacity.opacity40}`, `${opacity.opacity40}`],
319
- shadowEntityBoxDefaultDrag: [
320
- `0px 8px 12px 0px ${getOpacities(base[12]).opacity10}`,
321
- `0px 8px 12px 0px ${getOpacities(baseDark[1]).opacity10}`,
322
- ],
625
+ opacityEntityBoxDefaultDrag: opacities.drag,
626
+ shadowEntityBoxDefaultDrag: entityBoxShadows.elevation.drag,
323
627
  // Selected Entity Box State
324
628
  colorBgEntityBoxSelected: [accent[2], accentDark[3]],
325
- shadowStrokeEntityBoxSelected: [
326
- `0 0 0 1px ${getOpacities(accent[9]).opacity40}, 0 0 0 3px ${getOpacities(accent[9]).opacity40}`,
327
- `0 0 0 1px ${accentDark[9]}, 0 0 0 3px ${getOpacities(accentDark[9]).opacity40}`,
328
- ],
629
+ shadowStrokeEntityBoxSelected: entityBoxShadows.stroke.selected,
329
630
  // :hover
330
- colorBgEntityBoxSelectedHover: [accent[3], accentDark[3]],
331
- shadowStrokeEntityBoxSelectedHover: [
332
- `0 0 0 1px ${getOpacities(accent[9]).opacity60}, 0 0 0 3px ${getOpacities(accent[9]).opacity40}`,
333
- `0 0 0 1px ${accentDark[9]}, 0 0 0 3px ${getOpacities(accentDark[9]).opacity40}`,
334
- ],
631
+ colorBgEntityBoxSelectedHover: viewHighlightBg,
632
+ shadowStrokeEntityBoxSelectedHover: entityBoxShadows.stroke.selectedHover,
335
633
  //::drag
336
- colorBgEntityBoxSelectedDrag: [accent[3], accentDark[3]],
337
- shadowStrokeEntityBoxSelectedDrag: [
338
- `0 0 0 1px ${getOpacities(accent[9]).opacity40}, 0 0 0 3px ${getOpacities(accent[9]).opacity40}`,
339
- `0 0 0 1px ${accentDark[9]}, 0 0 0 3px ${getOpacities(accentDark[9]).opacity40}`,
340
- ],
634
+ colorBgEntityBoxSelectedDrag: viewHighlightBg,
635
+ shadowStrokeEntityBoxSelectedDrag: entityBoxShadows.stroke.selected,
341
636
  // Disabled Entity Box State (done)
342
- opacityEntityBoxDisabled: [`${opacity.opacity65}`, `${opacity.opacity65}`],
637
+ opacityEntityBoxDisabled: opacities.disabled,
343
638
  // :hover
344
- opacityEntityBoxDisabledHover: [`${opacity.opacity75}`, `${opacity.opacity75}`],
639
+ opacityEntityBoxDisabledHover: opacities.disabledHoverOrFocus,
345
640
  // :focus
346
- opacityEntityBoxDisabledFocus: [`${opacity.opacity75}`, `${opacity.opacity75}`],
641
+ opacityEntityBoxDisabledFocus: opacities.disabledHoverOrFocus,
347
642
  // :drag
348
- opacityEntityBoxDisabledDrag: [`${opacity.opacity40}`, `${opacity.opacity40}`],
643
+ opacityEntityBoxDisabledDrag: opacities.drag,
644
+
349
645
  // Entity Old
350
- entityCardBgColor: [white, baseDark[5]],
351
- entityCardSelectedColor: [getOpacities(base[2]).opacity80, getOpacities(baseDark[6]).opacity50],
352
- entityCardHoverColor: [getOpacities(base[2]).opacity80, getOpacities(baseDark[6]).opacity50],
353
- entityCardDoneColor: [getOpacities(base[4]).opacity30, getOpacities(baseDark[5]).opacity30],
354
- entityCardShadow: [
355
- `0 0 0 1px ${getOpacities(base[10]).opacity10}, 0 2px 4px -4px ${getOpacities(base[10]).opacity20}`,
356
- `0 0 0 1px ${getOpacities(baseDark[2]).opacity10}, 0 2px 4px -4px ${getOpacities(baseDark[2]).opacity20}`,
357
- ],
358
- entityCardShadowHover: [
359
- `0 0 0 1px ${getOpacities(base[10]).opacity10}, 0 2px 4px -4px ${getOpacities(base[10]).opacity20}`,
360
- `0 0 0 1px ${getOpacities(baseDark[2]).opacity10}, 0 2px 4px -4px ${getOpacities(baseDark[2]).opacity20}`,
361
- ],
362
- colorBgSegmentedControl: [getOpacities(base[5]).opacity80, getOpacities(baseDark[3]).opacity80],
363
- colorBgMenuHeaderAvatar: [white, baseDark[2]],
364
- shadowMenuHeaderAvatar: [
365
- `0px 1px 4px ${getOpacities(base[11]).opacity10}, 0 0 0 0.5px ${getOpacities(base[5]).opacity50}`,
366
- `0 0 0 1px ${getOpacities(baseDark[9]).opacity20}`,
367
- ],
646
+ entityCardBgColor: raised.level3,
647
+ entityCardSelectedColor: bgEntityCardOverlay,
648
+ entityCardHoverColor: bgEntityCardOverlay,
649
+ entityCardDoneColor: bgEntityCardDone,
650
+ entityCardShadow: cardShadows.subtle,
651
+ entityCardShadowHover: cardShadows.subtle,
652
+ colorBgSegmentedControl: [alpha(base[5], 0.8), alpha(baseDark[3], 0.8)],
653
+ colorBgMenuHeaderAvatar: surface.level0elevated,
654
+ shadowMenuHeaderAvatar: shadowMenuHeaderAvatar,
655
+
368
656
  // Main Menu Items Styles and States
369
657
  // Dragged
370
- opacityMenuItemDragged: [`${opacity.opacity40}`, `${opacity.opacity40}`],
658
+ opacityMenuItemDragged: opacities.drag,
371
659
  colorBgMenuItemSelectedDragged: [accent[6], accentDark[6]],
372
660
  // Default
373
- colorTextMenuItem: [getOpacities(base[12]).opacity90, getOpacities(baseDark[12]).opacity90],
374
-
375
- colorBgMenuItem: [transparent, transparent],
661
+ colorTextMenuItem: [alpha(base[12], 0.9), alpha(baseDark[12], 0.9)],
662
+ colorBgMenuItem: transparentAlways,
376
663
  // :hover
377
664
  colorBgMenuItemHover: [base[5], baseDark[2]],
378
665
  // :focus
379
666
  colorBgMenuItemFocus: [base[6], baseDark[5]],
380
667
  // Selected
381
- colorBgMenuItemSelected: [getOpacities(accent[5]).opacity80, accentDark[3]],
668
+ colorBgMenuItemSelected: [alpha(accent[5], 0.8), accentDark[3]],
382
669
  // :hover
383
- colorBgMenuItemSelectedHover: [getOpacities(accent[6]).opacity70, accentDark[5]],
670
+ colorBgMenuItemSelectedHover: [alpha(accent[6], 0.7), accentDark[5]],
384
671
  // :focus, :focus:hover
385
- colorBgPinnedFieldsLabel: [base[11], baseDark[11]],
386
- colorBgObjectEditorSeparator: [base[12], baseDark[12]],
672
+ colorBgPinnedFieldsLabel: fg.neutral,
673
+ colorBgObjectEditorSeparator: fgMenuEtc,
387
674
  colorBgMenuItemSelectedFocused: [accent[6], accentDark[5]],
388
- colorBgFieldEditorContainer: [base[2], baseDark[3]],
675
+ colorBgFieldEditorContainer: surface.level2_3,
389
676
  colorBgFieldEditorLinkEqualSign: [base[6], baseDark[2]],
390
- allowedDropColor: [base[4], baseDark[4]],
391
- relationViewBgColor: [base[2], baseDark[3]],
677
+ allowedDropColor: surface.level4,
678
+ relationViewBgColor: surface.level2_3,
392
679
 
393
- mySpaceIconColor: [swatches["gray-light"], swatches["gray-light"]],
394
- mySpaceIconBg: [getOpacities(swatches["gray-light"]).opacity20, getOpacities(swatches["gray-light"]).opacity20],
395
- privateIconColor: [swatches.green, swatches.green],
396
- privateIconBg: [getOpacities(swatches.green).opacity20, getOpacities(swatches.green).opacity20],
397
- favoritesIconColor: [swatches.yellow, swatches.yellow],
398
- favoritesIconBg: [getOpacities(swatches.yellow).opacity20, getOpacities(swatches.yellow).opacity20],
680
+ mySpaceIconColor: iconMySpace.fg,
681
+ mySpaceIconBg: iconMySpace.bg,
682
+ privateIconColor: iconPrivate.fg,
683
+ privateIconBg: iconPrivate.bg,
684
+ favoritesIconColor: iconFavorites.fg,
685
+ favoritesIconBg: iconFavorites.bg,
686
+ defaultCardTypeColorUppercaseHex,
399
687
 
400
688
  // Unit
401
- unitBg: [base[3], baseDark[6]],
689
+ unitBg: surface.level3_6,
402
690
  unitBgHover: [base[4], baseDark[7]],
403
691
 
404
692
  // Badges
405
- colorBgBadgeNeutral: [getOpacities(accent[5]).opacity70, getOpacities(accentDark[4]).opacity80],
406
- colorBgBadgeSuccess: [teal[5], tealDark[5]],
407
- colorBgBadgeWarning: [yellow[5], yellowDark[5]],
408
- colorBgBadgeError: [red[5], redDark[5]],
409
- colorTextBadgeNeutral: [accent[11], accentDark[11]],
410
- colorTextBadgeSuccess: [teal[11], tealDark[11]],
411
- colorTextBadgeWarning: [yellow[11], yellowDark[11]],
412
- colorTextBadgeError: [red[11], redDark[11]],
413
- // FIXME: lack of baseDark usage; same values!
414
- badgeBgColor: [getOpacities(base[10]).opacity20, getOpacities(base[10]).opacity20],
693
+ colorBgBadgeNeutral: bgStatus.neutral,
694
+ colorBgBadgeAccent: bgStatus.accent,
695
+ colorBgBadgeSuccess: bgStatus.success,
696
+ colorBgBadgeWarning: bgStatus.warning,
697
+ colorBgBadgeError: bgStatus.error,
698
+ colorTextBadgeNeutral: fg.neutral,
699
+ colorTextBadgeAccent: fg.accent,
700
+ colorTextBadgeSuccess: fg.success,
701
+ colorTextBadgeWarning: fg.warning,
702
+ colorTextBadgeError: fg.destructive,
703
+ badgeBgColor: iconBadge.bg,
704
+
415
705
  tooltipBgColor: [baseDark[5], baseDark[6]],
416
706
  todayMarkerColor: [red[8], redDark[6]],
417
- viewBgOverlayColor: [getOpacities(base[8]).opacity20, getOpacities(baseDark[1]).opacity60],
418
- floatEditorMenuBg: [base[1], baseDark[6]],
419
- floatEditorActiveColor: [accent[11], accentDark[11]],
420
- commentColor: [getOpacities(yellow[6]).opacity60, getOpacities(yellowDark[9]).opacity40],
421
- cellBackgroundColor: [base[2], baseDark[2]],
422
- cellBackgroundHoverColor: [getOpacities(base[6]).opacity30, getOpacities(baseDark[6]).opacity30],
423
- cellBorderColor: [getOpacities(base[8]).opacity50, getOpacities(baseDark[9]).opacity50],
424
- cellPinnedBorderColor: [getOpacities(base[8]).opacity70, getOpacities(baseDark[9]).opacity70],
425
- tableRowWarningColor: [getOpacities(yellow[6]).opacity60, getOpacities(yellowDark[9]).opacity40],
426
- errorBgColor: [getOpacities(red[9]).opacity20, getOpacities(redDark[9]).opacity60],
707
+ viewBgOverlayColor: [alpha(base[8], 0.2), alpha(baseDark[1], 0.6)],
708
+ floatEditorMenuBg: surface.level1_6,
709
+ floatEditorActiveColor: fg.accent,
710
+ commentColor: warningColor,
711
+ cellBackgroundColor: surface.level2,
712
+ cellBackgroundHoverColor: base6_6_opacity30,
713
+ cellBorderColor: [alpha(base[8], 0.5), alpha(baseDark[9], 0.5)],
714
+ cellPinnedBorderColor: [alpha(base[8], 0.7), alpha(baseDark[9], 0.7)],
715
+ tableRowWarningColor: warningColor,
716
+ errorBgColor: [alpha(red[9], 0.2), alpha(redDark[9], 0.6)],
427
717
  errorTextColor: [red[11], red[7]],
428
- errorButtonColor: [red[9], redDark[10]],
429
- warningBgColor: [getOpacities(yellow[6]).opacity60, getOpacities(yellowDark[8]).opacity60],
430
- warningButtonColor: [yellow[11], yellowDark[11]],
431
- infoBox: [getOpacities(yellow[4]).opacity50, getOpacities(yellowDark[9]).opacity20],
432
- appCardBgColor: [white, baseDark[2]],
433
- appCardHoverColor: [getOpacities(base[1]).opacity95, baseDark[2]],
434
- modalBg: [getOpacities(base[11]).opacity20, getOpacities(baseDark[2]).opacity50],
435
- modalContentBg: [white, baseDark[3]],
718
+ errorButtonColor: primary.destructive,
719
+ warningBgColor: [alpha(yellow[6], 0.6), alpha(yellowDark[8], 0.6)],
720
+ warningButtonColor: fg.warning,
721
+ infoBox: [alpha(yellow[4], 0.5), alpha(yellowDark[9], 0.2)],
722
+ appCardBgColor: surface.level0elevated,
723
+ appCardHoverColor: [alpha(base[1], 0.95), baseDark[2]],
724
+ modalBg: [alpha(base[11], 0.2), alpha(baseDark[2], 0.5)],
725
+ modalContentBg: bgActionsMenu,
436
726
  progressIconBg: [blackA[7], whiteA[7]],
437
727
  progressIconFill: [blackA[11], whiteA[11]],
438
- formBg: [base[2], baseDark[2]],
439
- formHeaderShadow: [
440
- `${getOpacities(base[10]).opacity10} 0px 0px 6px`,
441
- `${getOpacities(baseDark[1]).opacity40} 0px 0px 6px`,
442
- ],
443
- formEditorFieldBg: [base[3], baseDark[4]],
444
- filterGroup1Bg: [base[2], baseDark[6]],
445
- filterGroup2Bg: [base[3], baseDark[7]],
728
+ formBg: surface.level2,
729
+ formHeaderShadow: formHeaderShadow,
730
+ formEditorFieldBg: surface.level3_4,
731
+ filterGroup1Bg: surface.level2_6,
732
+ filterGroup2Bg: surface.level3_7,
446
733
  filterGroupBorder: [blackA[3], whiteA[3]],
447
- colorBgNotificationHover: [base[3], baseDark[4]],
448
- colorBgNotificationSelected: [accent[3], accentDark[4]],
449
- colorBgNotificationSelectedHover: [accent[4], accentDark[6]],
450
- disabledInversedTextColor: [shades.opacity25, lights.opacity25],
451
- success: [teal[9], tealDark[9]],
452
- danger: [red[9], redDark[10]],
453
- active: [red[9], redDark[10]],
454
- warning: [yellow[9], yellowDark[8]],
455
- cardBg: [white, baseDark[6]],
734
+ colorBgNotificationHover: surface.level3_4,
735
+ colorBgNotificationSelected: notificationSelected,
736
+ colorBgNotificationSelectedHover: notificationSelectedHover,
737
+ disabledInversedTextColor: blackA25,
738
+ success: primary.success,
739
+ danger: primary.destructive,
740
+ active: primary.destructive,
741
+ warning: primary.warning,
742
+ cardBg: raised.level4,
456
743
  selectedImageBorder: [blackA[8], whiteA[11]],
457
- transparent: [transparent, transparent],
458
- shades: [lights, shades],
459
- lights: [shades, lights],
460
- separators: [separators, inversedSeparators],
461
- // FIXME: lack of baseDark scale usage, same values!
462
- progressBg: [base[4], base[4]],
463
- progressText: [base[11], base[11]],
464
- progressFillBg: [base[11], base[11]],
465
- progressFillText: [white, white],
466
- progressBarFillNeutral: [getOpacities(base[9]).opacity20, getOpacities(baseDark[9]).opacity20],
744
+ transparent: transparentAlways,
745
+ progressBg: same(base[4]), // TODO check if that could be surface.level4?
746
+ progressText: neutralStrong,
747
+ progressFillBg: neutralStrong,
748
+ progressFillText: whiteColor,
749
+ progressBarFillNeutral: [alpha(base[9], 0.2), alpha(baseDark[9], 0.2)],
467
750
  progressBarFill: [accent[9], accentDark[10]],
468
- progressBarBg: [getOpacities(accent[9]).opacity25, getOpacities(accentDark[10]).opacity25],
469
- // FIXME: lack of inverse scale usage, same values!
470
- colorPickerSwatchBorder: [blackA[7], blackA[7]],
471
- colorBorderRichTextMedia: [blackA[7], blackA[7]],
751
+ progressBarBg: [alpha(accent[9], 0.25), alpha(accentDark[10], 0.25)],
752
+ colorPickerSwatchBorder: same(blackA[7]),
753
+ colorBorderRichTextMedia: same(blackA[7]),
472
754
  richTextTableBorder: [blackA[5], whiteA[7]],
473
755
 
474
756
  // Drag and drop
475
- colorBgDropLine: [accent[8], accentDark[8]],
757
+ colorBgDropLine: borderAccentOrMediumAccent,
476
758
 
477
759
  // Views
478
- viewBg: [base[1], baseDark[1]],
479
- viewSecondaryBg: [base[2], baseDark[2]],
480
- viewHighlightBg: [accent[3], accentDark[3]],
760
+ viewBg: surface.level1,
761
+ viewSecondaryBg: surface.level2,
762
+ viewHighlightBg: viewHighlightBg,
481
763
 
482
764
  // Board
483
- boardBg: [base[1], baseDark[1]],
484
- boardBgWithOpacity80: [getOpacities(base[1]).opacity80, getOpacities(baseDark[1]).opacity80],
485
- boardAxisBgHover: [base[4], baseDark[4]],
765
+ boardBg: surface.level1,
766
+ boardBgWithOpacity80: [alpha(base[1], 0.8), alpha(baseDark[1], 0.8)],
767
+ boardAxisBgHover: surface.level4,
486
768
 
487
769
  // Grid
488
- gridHeaderBgColor: [base[2], baseDark[3]],
489
- gridHeaderHoverBgColor: [base[3], baseDark[4]],
770
+ gridHeaderBgColor: surface.level2_3,
771
+ gridHeaderHoverBgColor: surface.level3_4,
490
772
  gridHeaderTextColor: [base[10], baseDark[11]],
491
- gridCellBgColor: [white, baseDark[2]],
492
- gridCellBorderColor: [base[5], baseDark[6]],
493
- gridDisabledCellBgColor: [base[2], baseDark[3]],
494
- gridSelectedCellBgColor: [accent[3], accentDark[3]],
495
- gridHighlightedCellBgColor: [accent[4], accentDark[5]],
773
+ gridCellBgColor: surface.level0elevated,
774
+ gridCellBorderColor: base5_6,
775
+ gridDisabledCellBgColor: surface.level2_3,
776
+ gridSelectedCellBgColor: viewHighlightBg,
777
+ gridHighlightedCellBgColor: bgCellGridDisabledOrHighlighted,
496
778
  gridSelectedCellBorderColor: [accent[6], accentDark[7]],
497
- gridSelectedPinnedCellBorderColor: [accent[7], accentDark[7]],
498
- gridDisabledSelectedCellBgColor: [accent[4], accentDark[5]],
779
+ gridSelectedPinnedCellBorderColor: borderAccentOrMedium,
780
+ gridDisabledSelectedCellBgColor: bgCellGridDisabledOrHighlighted,
499
781
  gridActiveCellBorderColor: [accent[8], accentDark[9]],
500
782
 
501
783
  //timeline
502
- timelineEntityHandleColor: [accent[7], accentDark[7]],
503
- timelineDependencyHoverBgColor: [accent[8], accentDark[8]],
504
- timelineDependencyOverlapBgColor: [red[9], redDark[9]],
505
- timelineDependencyOverlapHoverBgColor: [red[11], redDark[11]],
506
- timelineCellBgColor: [base[1], baseDark[1]],
507
- timelineCellWeekendBgColor: [base[2], baseDark[2]],
784
+ timelineEntityHandleColor: borderAccentOrMedium,
785
+ timelineDependencyHoverBgColor: borderAccentOrMediumAccent,
786
+ timelineDependencyOverlapBgColor: primary.destructive_TODO,
787
+ timelineDependencyOverlapHoverBgColor: fg.destructive,
788
+ timelineCellBgColor: surface.level1,
789
+ timelineCellWeekendBgColor: surface.level2,
508
790
  timelineCellTodayBgColor: [accent[4], accentDark[2]],
509
- timelineCreateEntityPlaceholderBgColor: [getOpacities(base[11]).opacity20, baseDark[7]],
791
+ timelineCreateEntityPlaceholderBgColor: [alpha(base[11], 0.2), baseDark[7]],
510
792
 
511
793
  // #region buttons
512
794
  // solid
513
- colorBgButtonSolidAccentDefault: [accent[9], accentDark[9]],
795
+ colorBgButtonSolidAccentDefault: primary.accent,
514
796
  colorBgButtonSolidAccentHover: [accent[11], accentDark[10]],
515
- colorBgButtonSolidNeutralDefault: [base[12], baseDark[12]],
516
- colorBgButtonSolidNeutralHover: [getOpacities(base[12]).opacity85, white],
517
- colorBgButtonSolidDestructiveDefault: [red[9], redDark[9]],
797
+ colorBgButtonSolidNeutralDefault: fgMenuEtc,
798
+ colorBgButtonSolidNeutralHover: [alpha(base[12], 0.85), white],
799
+ colorBgButtonSolidDestructiveDefault: primary.destructive_TODO,
518
800
  colorBgButtonSolidDestructiveHover: [red[11], redDark[10]],
519
- colorTextButtonSolidAccent: [white, white],
520
- colorTextButtonSolidAccentActive: [getOpacities(white).opacity80, getOpacities(white).opacity80],
801
+ colorTextButtonSolidAccent: whiteColor,
802
+ colorTextButtonSolidAccentActive: fgSolidActiveText,
521
803
  colorTextButtonSolidNeutral: [white, baseDark[2]],
522
- colorTextButtonSolidNeutralActive: [white, getOpacities(baseDark[2]).opacity80],
523
- colorTextButtonSolidDestructive: [white, white],
524
- colorTextButtonSolidDestructiveActive: [getOpacities(white).opacity80, getOpacities(white).opacity80],
525
- colorIconButtonSolidAccent: [white, white],
804
+ colorTextButtonSolidNeutralActive: [white, alpha(baseDark[2], 0.8)],
805
+ colorTextButtonSolidDestructive: whiteColor,
806
+ colorTextButtonSolidDestructiveActive: fgSolidActiveText,
807
+ colorIconButtonSolidAccent: whiteColor,
526
808
  colorIconButtonSolidNeutral: [white, baseDark[8]],
527
- colorIconButtonSolidDestructive: [white, white],
809
+ colorIconButtonSolidDestructive: whiteColor,
528
810
  // outline
529
- colorBorderButtonOutlineAccentDefault: [accent[8], accentDark[8]],
530
- colorBorderButtonOutlineNeutralDefault: [base[8], baseDark[7]],
531
- colorBorderButtonOutlineDestructiveDefault: [red[7], redDark[7]],
532
- colorBgButtonOutlineAccentDefault: [white, baseDark[1]],
533
- colorBgButtonOutlineAccentHover: [accent[3], accentDark[3]],
534
- colorBgButtonOutlineNeutralDefault: [white, baseDark[1]],
535
- colorBgButtonOutlineNeutralHover: [base[4], baseDark[4]],
536
- colorBgButtonOutlineDestructiveDefault: [white, baseDark[1]],
537
- colorBgButtonOutlineDestructiveHover: [red[4], redDark[4]],
538
- colorTextButtonOutlineAccent: [accent[11], accentDark[11]],
539
- colorTextButtonOutlineAccentActive: [getOpacities(accent[11]).opacity80, getOpacities(accentDark[11]).opacity80],
540
- colorTextButtonOutlineNeutral: [base[11], baseDark[11]],
541
- colorTextButtonOutlineNeutralActive: [getOpacities(base[12]).opacity80, getOpacities(baseDark[12]).opacity80],
542
- colorTextButtonOutlineDestructive: [red[11], redDark[11]],
543
- colorTextButtonOutlineDestructiveActive: [getOpacities(red[11]).opacity80, getOpacities(redDark[11]).opacity80],
544
- colorIconButtonOutlineAccent: [accent[11], accentDark[11]],
545
- colorIconButtonOutlineNeutral: [base[11], baseDark[11]],
546
- colorIconButtonOutlineDestructive: [red[11], redDark[11]],
811
+ colorBorderButtonOutlineAccentDefault: borderAccentOrMediumAccent,
812
+ colorBorderButtonOutlineNeutralDefault: borderNeutral,
813
+ colorBorderButtonOutlineDestructiveDefault: borderDanger,
814
+ colorBgButtonOutlineAccentDefault: surface.level0,
815
+ colorBgButtonOutlineAccentHover: viewHighlightBg,
816
+ colorBgButtonOutlineNeutralDefault: surface.level0,
817
+ colorBgButtonOutlineNeutralHover: surface.level4,
818
+ colorBgButtonOutlineDestructiveDefault: surface.level0,
819
+ colorBgButtonOutlineDestructiveHover: bgBtnGhostDestructiveHover,
820
+ colorTextButtonOutlineAccent: fg.accent,
821
+ colorTextButtonOutlineAccentActive: fg.accentActive,
822
+ colorTextButtonOutlineNeutral: fg.neutral,
823
+ colorTextButtonOutlineNeutralActive: fg.neutralActive__TODO,
824
+ colorTextButtonOutlineDestructive: fg.destructive,
825
+ colorTextButtonOutlineDestructiveActive: fg.destructiveActive,
826
+ colorIconButtonOutlineAccent: fg.accent,
827
+ colorIconButtonOutlineNeutral: fg.neutral,
828
+ colorIconButtonOutlineDestructive: fg.destructive,
547
829
  // soft
548
- colorBgButtonSoftAccentDefault: [accent[3], accentDark[4]],
549
- colorBgButtonSoftAccentHover: [accent[5], accentDark[6]],
550
- colorBgButtonSoftNeutralDefault: [base[3], baseDark[3]],
551
- colorBgButtonSoftNeutralHover: [base[7], baseDark[7]],
552
- colorBgButtonSoftDestructiveDefault: [red[4], redDark[4]],
553
- colorBgButtonSoftDestructiveHover: [red[6], redDark[6]],
554
- colorTextButtonSoftAccent: [accent[11], accentDark[11]],
555
- colorTextButtonSoftAccentActive: [getOpacities(accent[11]).opacity80, getOpacities(accentDark[11]).opacity80],
556
- colorTextButtonSoftNeutral: [base[11], baseDark[11]],
557
- colorTextButtonSoftNeutralActive: [getOpacities(base[11]).opacity80, getOpacities(baseDark[11]).opacity80],
558
- colorTextButtonSoftDestructive: [red[11], redDark[11]],
559
- colorTextButtonSoftDestructiveActive: [getOpacities(red[11]).opacity80, getOpacities(redDark[11]).opacity80],
560
- colorIconButtonSoftAccent: [accent[11], accentDark[11]],
561
- colorIconButtonSoftNeutral: [base[11], baseDark[11]],
562
- colorIconButtonSoftDestructive: [red[11], redDark[11]],
830
+ colorBgButtonSoftAccentDefault: notificationSelected,
831
+ colorBgButtonSoftAccentHover: bgBtnSoftAccentHover,
832
+ colorBgButtonSoftNeutralDefault: bgBtnSoftNeutralDefault,
833
+ colorBgButtonSoftNeutralHover: bgBtnSoftNeutralHover,
834
+ colorBgButtonSoftDestructiveDefault: bgBtnGhostDestructiveHover,
835
+ colorBgButtonSoftDestructiveHover: bgBtnSoftDestructiveHover,
836
+ colorTextButtonSoftAccent: fg.accent,
837
+ colorTextButtonSoftAccentActive: fg.accentActive,
838
+ colorTextButtonSoftNeutral: fg.neutral,
839
+ colorTextButtonSoftNeutralActive: fg.neutralActive,
840
+ colorTextButtonSoftDestructive: fg.destructive,
841
+ colorTextButtonSoftDestructiveActive: fg.destructiveActive,
842
+ colorIconButtonSoftAccent: fg.accent,
843
+ colorIconButtonSoftNeutral: fg.neutral,
844
+ colorIconButtonSoftDestructive: fg.destructive,
563
845
  // ghost
564
- colorBgButtonGhostAccentDefault: [transparent, transparent],
565
- colorBgButtonGhostAccentHover: [getOpacities(accent[4]).opacity80, getOpacities(accentDark[4]).opacity80],
566
- colorBgButtonGhostNeutralDefault: [transparent, transparent],
567
- colorBgButtonGhostNeutralHover: [getOpacities(base[7]).opacity50, getOpacities(baseDark[6]).opacity80],
568
- colorBgButtonGhostDestructiveDefault: [transparent, transparent],
569
- colorBgButtonGhostDestructiveHover: [red[4], redDark[4]],
570
- colorTextButtonGhostAccent: [accent[11], accentDark[11]],
571
- colorTextButtonGhostAccentActive: [getOpacities(accent[11]).opacity80, getOpacities(accentDark[11]).opacity80],
572
- colorTextButtonGhostNeutral: [base[11], baseDark[11]],
573
- colorTextButtonGhostNeutralActive: [getOpacities(base[11]).opacity80, getOpacities(baseDark[11]).opacity80],
574
- colorTextButtonGhostDestructive: [red[11], redDark[11]],
575
- colorTextButtonGhostDestructiveActive: [getOpacities(red[11]).opacity80, getOpacities(redDark[11]).opacity80],
576
- colorIconButtonGhostAccent: [accent[11], accentDark[11]],
577
- colorIconButtonGhostNeutral: [base[11], baseDark[11]],
578
- colorIconButtonGhostDestructive: [red[11], redDark[11]],
846
+ colorBgButtonGhostAccentDefault: transparentAlways,
847
+ colorBgButtonGhostAccentHover: bgBtnGhostAccentHover,
848
+ colorBgButtonGhostNeutralDefault: transparentAlways,
849
+ colorBgButtonGhostNeutralHover: bgBtnGhostNeutralHover,
850
+ colorBgButtonGhostDestructiveDefault: transparentAlways,
851
+ colorBgButtonGhostDestructiveHover: bgBtnGhostDestructiveHover,
852
+ colorTextButtonGhostAccent: fg.accent,
853
+ colorTextButtonGhostAccentActive: fg.accentActive,
854
+ colorTextButtonGhostNeutral: fg.neutral,
855
+ colorTextButtonGhostNeutralActive: fg.neutralActive,
856
+ colorTextButtonGhostDestructive: fg.destructive,
857
+ colorTextButtonGhostDestructiveActive: fg.destructiveActive,
858
+ colorIconButtonGhostAccent: fg.accent,
859
+ colorIconButtonGhostNeutral: fg.neutral,
860
+ colorIconButtonGhostDestructive: fg.destructive,
579
861
  // #endregion
580
862
 
581
- colorBorderAccentFocusRing: [getOpacities(accent[9]).opacity30, getOpacities(accent[9]).opacity30],
582
- colorBorderNeutralFocusRing: [getOpacities(base[9]).opacity30, getOpacities(base[9]).opacity30],
583
- colorBorderDestructiveFocusRing: [getOpacities(red[9]).opacity30, getOpacities(red[9]).opacity30],
863
+ colorBorderAccentFocusRing: borderFocusRingAccent,
864
+ colorBorderNeutralFocusRing: borderFocusRingNeutral,
865
+ colorBorderDestructiveFocusRing: borderFocusRingDestructive,
584
866
 
585
- colorBgReactionsDefault: [white, baseDark[2]],
586
- colorBgReactionsHover: [base[3], baseDark[6]],
867
+ colorBgReactionsDefault: surface.level0elevated,
868
+ colorBgReactionsHover: surface.level3_6,
587
869
  colorBorderReactionsHover: [base[8], baseDark[9]],
588
870
  colorBgReactionsSelectedDefault: [accent[3], accentDark[8]],
589
- colorBorderReactionsSelectedDefault: [accent[8], accentDark[8]],
871
+ colorBorderReactionsSelectedDefault: borderAccentOrMediumAccent,
590
872
  // FIXME: lack of accentDark scale usage
591
873
  colorBgReactionsSelectedHover: [accent[2], accent[10]],
592
874
  colorBorderReactionsSelectedHover: [accent[9], accent[10]],
593
875
  colorTextReactionsSelected: [accent[10], baseDark[12]],
594
- colorBgToastDefault: [base[1], baseDark[1]],
595
- colorBgDbTabHover: [base[3], baseDark[4]],
596
- colorBgDbTabFocus: [base[6], baseDark[6]],
597
- colorBgTabHover: [getOpacities(base[11]).opacity10, getOpacities(baseDark[11]).opacity10],
876
+ colorBgToastDefault: surface.level1,
877
+ colorBgDbTabHover: surface.level3_4,
878
+ colorBgDbTabFocus: bgTabFocus,
879
+ colorBgTabHover: bgTabHover,
598
880
 
599
881
  // Chat
600
- colorBgMessageContainer: [blackA[3], baseDark[6]],
601
- colorBgMessageContainerHover: [base[2], baseDark[3]],
882
+ colorBgMessageContainer: [base[3], baseDark[3]],
883
+ colorBgMessageContainerHover: [base[4], baseDark[4]],
602
884
  colorBgEntityAvatarDefault: [accent[1], accentDark[1]],
603
- colorBgEntityAvatarHover: [accent[3], accentDark[3]],
604
- colorTextEntityAvatarDefault: [accent[8], accentDark[8]],
605
- colorTextEntityAvatarHover: [accent[9], accentDark[9]],
885
+ colorBgEntityAvatarHover: viewHighlightBg,
886
+ colorTextEntityAvatarDefault: borderAccentOrMediumAccent,
887
+ colorTextEntityAvatarHover: primary.accent,
888
+ colorBgMessageHighlighted: surface.level0elevated,
606
889
 
607
890
  // Text editor
608
- colorBgEditorImageZoomed: [base[3], baseDark[6]],
891
+ colorBgEditorImageZoomed: surface.level3_6,
609
892
  colorMermaidPrimaryColor: [base[2], baseDark[8]],
610
- colorMermaidPrimaryBorderColor: [base[9], baseDark[9]],
893
+ colorMermaidPrimaryBorderColor: fg.muted,
611
894
  colorMermaidLineColor: [base[10], baseDark[9]],
612
895
 
896
+ // Text highlight backgrounds (shifted for warm palette)
897
+ highlightBgYellow: [shift("rgba(250, 240, 185, 1)"), shift("rgba(88, 72, 18, 1)")],
898
+ highlightBgGreen: [shift("rgba(208, 242, 187, 1)"), shift("rgba(50, 88, 51, 1)")],
899
+ highlightBgAquamarine: [shift("rgba(195, 247, 193, 1)"), shift("rgba(15, 75, 52, 1)")],
900
+ highlightBgAqua: [shift("rgba(198, 242, 235, 1)"), shift("rgba(45, 87, 83, 1)")],
901
+ highlightBgBlue: [shift("rgba(208, 235, 250, 1)"), shift("rgba(45, 54, 90, 1)")],
902
+ highlightBgPurple: [shift("rgba(242, 228, 250, 1)"), shift("rgba(82, 50, 82, 1)")],
903
+ highlightBgPink: [shift("rgba(250, 228, 240, 1)"), shift("rgba(108, 50, 85, 1)")],
904
+ highlightBgRed: [shift("rgba(250, 224, 221, 1)"), shift("rgba(95, 44, 49, 1)")],
905
+ highlightBgGrey: [shift("rgba(222, 227, 233, 1)"), shift("rgba(62, 63, 78, 1)")],
906
+
907
+ // Text highlight backgrounds (shifted for warm palette)
908
+ highlightFgYellow: [shift("rgba(195, 155, 45, 1)"), shift("rgba(200, 168, 85, 1)")],
909
+ highlightFgGreen: [shift("rgba(80, 165, 65, 1)"), shift("rgba(88, 172, 78, 1)")],
910
+ highlightFgAquamarine: [shift("rgba(40, 165, 115, 1)"), shift("rgba(52, 172, 128, 1)")],
911
+ highlightFgAqua: [shift("rgba(35, 155, 150, 1)"), shift("rgba(52, 168, 158, 1)")],
912
+ highlightFgBlue: [shift("rgba(55, 125, 205, 1)"), shift("rgba(72, 135, 200, 1)")],
913
+ highlightFgPurple: [shift("rgba(150, 85, 205, 1)"), shift("rgba(155, 90, 200, 1)")],
914
+ highlightFgPink: [shift("rgba(205, 85, 148, 1)"), shift("rgba(200, 90, 152, 1)")],
915
+ highlightFgRed: [shift("rgba(205, 85, 80, 1)"), shift("rgba(200, 90, 85, 1)")],
916
+ highlightFgGrey: [shift("rgba(115, 125, 142, 1)"), shift("rgba(135, 140, 160, 1)")],
917
+
918
+ // Color picker CSS filter (applied as CSS filter property to warm the picker UI)
919
+ colorPickerCssFilter: same(colorPickerCssFilter),
920
+
613
921
  //Whiteboard
614
- colorBgWhiteboard: [white, baseDark[1]],
615
- colorGridDotWhiteboard: [base[6], baseDark[6]],
616
- colorSelectionWhiteboardBorderEnabled: [accent[8], accentDark[8]],
617
- colorHighlightWhiteboardSelection: [accent[8], accentDark[8]],
618
- colorHighlightWhiteboardSelectionLocked: [getOpacities(base[9]).opacity50, getOpacities(baseDark[9]).opacity50],
619
- colorSelectionWhiteboardBorderDisabled: [getOpacities(base[9]).opacity50, getOpacities(baseDark[9]).opacity50],
620
- colorPlaceholderWhiteboardDefault: [getOpacities(accent[8]).opacity20, getOpacities(accentDark[8]).opacity20],
621
- colorLinkPointWhiteboardDefault: [accent[8], accentDark[8]],
922
+ colorBgWhiteboard: surface.level0,
923
+ colorGridDotWhiteboard: bgTabFocus,
924
+ colorSelectionWhiteboardBorderEnabled: borderAccentOrMediumAccent,
925
+ colorHighlightWhiteboardSelection: borderAccentOrMediumAccent,
926
+ colorHighlightWhiteboardSelectionLocked: textWhiteboardSelectionLockedOrDisabled,
927
+ colorSelectionWhiteboardBorderDisabled: textWhiteboardSelectionLockedOrDisabled,
928
+ colorPlaceholderWhiteboardDefault: [alpha(accent[8], 0.2), alpha(accentDark[8], 0.2)],
929
+ colorLinkPointWhiteboardDefault: borderAccentOrMediumAccent,
622
930
  colorLinkPointWhiteboardFillDefault: [white, blackish],
623
- colorMapWhiteboardPreviewDefault: [getOpacities(accent[8]).opacity40, getOpacities(accentDark[8]).opacity40],
624
- colorCardWhiteboardShadowDefault: [getOpacities(base[11]).opacity5, getOpacities(baseDark[11]).opacity5],
625
- colorCardWhiteboardBgDefault: [white, baseDark[5]],
626
- colorCardWhiteboardBorderDefault: [getOpacities(base[12]).opacity20, getOpacities(baseDark[12]).opacity20],
627
- colorUnitHeaderWhiteboardDefault: [getOpacities(base[12]).opacity60, getOpacities(baseDark[12]).opacity60],
628
- colorUnitWhiteboardBgDefault: [base[3], baseDark[6]],
629
- colorUnitWhiteboardBorderDefault: [getOpacities(base[12]).opacity20, getOpacities(baseDark[12]).opacity25],
630
- colorSectionWhiteboardBgInactive: [base[2], baseDark[2]],
631
- colorSectionWhiteboardBorderInactive: [base[6], baseDark[6]],
632
- colorEmbedWhiteboardEditBorder: [getOpacities(teal[8]).opacity90, getOpacities(tealDark[8]).opacity90],
633
- colorTextWhiteboardDefault: [base[12], baseDark[12]],
634
- colorTextWhiteboardDisabled: [base[9], baseDark[9]],
635
- colorTextWhiteboardAccent: [getOpacities(base[12]).opacity60, getOpacities(baseDark[1]).opacity60],
636
- colorTextWhiteboardInversedDefault: [white, white],
637
- instrumentsMenuBg: [getOpacities(white).opacity100, getOpacities(baseDark[4]).opacity100],
638
- instrumentsMenuShadow: [
639
- `0px 0px 1px 0px ${getOpacities(base[11]).opacity20}, 0px 4px 6px 0px ${
640
- getOpacities(base[11]).opacity5
641
- }, 0px 3px 12px 0px ${getOpacities(base[11]).opacity10}`,
642
- `0px 0px 1px 0px ${getOpacities(baseDark[6]).opacity100}, 0px 4px 6px 0px ${
643
- getOpacities(baseDark[1]).opacity5
644
- }, 0px 3px 12px 0px ${getOpacities(baseDark[1]).opacity15}`,
645
- ],
646
- commentBubbleBg: [white, baseDark[6]],
647
- commentsPanelShadow: [
648
- `0 0 0 1px ${getOpacities(base[10]).opacity10}, 0 2px 4px -4px ${getOpacities(base[10]).opacity20}`,
649
- `0 0 0 1px ${getOpacities(baseDark[2]).opacity10}, 0 2px 4px -4px ${getOpacities(baseDark[2]).opacity20}`,
650
- ],
651
- searchFiltersBg: [base[1], baseDark[2]],
652
- selectedColorBorder: [getOpacities(base[6]).opacity25, getOpacities(base[6]).opacity25],
931
+ colorMapWhiteboardPreviewDefault: [alpha(accent[8], 0.4), alpha(accentDark[8], 0.4)],
932
+ colorCardWhiteboardShadowDefault: [alpha(base[11], 0.05), alpha(baseDark[11], 0.05)],
933
+ colorCardWhiteboardBgDefault: raised.level3,
934
+ colorCardWhiteboardBorderDefault: [alpha(base[12], 0.2), alpha(baseDark[12], 0.2)],
935
+ colorUnitHeaderWhiteboardDefault: [alpha(base[12], 0.6), alpha(baseDark[12], 0.6)],
936
+ colorUnitWhiteboardBgDefault: surface.level3_6,
937
+ colorUnitWhiteboardBorderDefault: [alpha(base[12], 0.2), alpha(baseDark[12], 0.25)],
938
+ colorSectionWhiteboardBgInactive: surface.level2,
939
+ colorSectionWhiteboardBorderInactive: bgTabFocus,
940
+ colorEmbedWhiteboardEditBorder: [alpha(teal[8], 0.9), alpha(tealDark[8], 0.9)],
941
+ colorTextWhiteboardDefault: fgMenuEtc,
942
+ colorTextWhiteboardDisabled: fg.muted,
943
+ // FIXME bug?
944
+ // Dark uses baseDark[1] (near-black at 60% opacity) as "accent text" on a dark background.
945
+ // This reads as near-invisible dark text on dark bg.
946
+ // Compare with colorUnitHeaderWhiteboardDefault (L772) which correctly uses baseDark[12] for dark.
947
+ // Likely should be baseDark[12] too.
948
+ colorTextWhiteboardAccent: [alpha(base[12], 0.6), alpha(baseDark[1], 0.6)],
949
+ colorTextWhiteboardInversedDefault: whiteColor,
950
+ instrumentsMenuBg: raised.level2,
951
+ instrumentsMenuShadow: floatingShadows.instrumentsMenu,
952
+ commentBubbleBg: raised.level4,
953
+ commentsPanelShadow: floatingShadows.instrumentsMenu,
954
+ searchFiltersBg: surface.level1_1,
955
+ selectedColorBorder: same(alpha(base[6], 0.25)),
653
956
 
654
957
  // SegmentedControl
655
- colorBgSegmentedControlDefault: [base[3], baseDark[1]],
656
- colorBgSegmentedControlActive: [base[1], baseDark[6]],
657
- colorBgSegmentedControlHover: [base[5], baseDark[4]],
658
- colorBorderSegmentedControlDefault: [base[6], baseDark[7]],
958
+ colorBgSegmentedControlDefault: surface.level3_1,
959
+ colorBgSegmentedControlActive: surface.level1_6,
960
+ colorBgSegmentedControlHover: surface.level5_4,
961
+ colorBorderSegmentedControlDefault: surface.level6_7,
962
+
963
+ // Banner
964
+ colorBgBannerNeutral: bg.neutral3,
965
+ colorBgBannerPrimary: bg.accent3,
966
+ colorBgBannerWarning: bg.warning,
967
+ colorBgBannerError: bg.error,
968
+ colorBgBannerSuccess: bg.success,
969
+
970
+ colorIconBannerNeutral: icon.primary,
971
+ colorIconBannerAccent: icon.accent,
972
+ colorIconBannerWarning: icon.warning,
973
+ colorIconBannerError: icon.error,
974
+ colorIconBannerSuccess: icon.success,
975
+
976
+ colorTextBannerNeutral: text.primary,
977
+ colorTextBannerAccent: text.accent,
978
+ colorTextBannerWarning: text.warning,
979
+ colorTextBannerError: text.error,
980
+ colorTextBannerSuccess: text.success,
659
981
 
660
982
  // Chargebee info
661
- colorBgChargebeeInfoBox: [base[3], baseDark[1]],
983
+ colorBgChargebeeInfoBox: surface.level3_1,
662
984
 
663
985
  // Various found direct palette references
664
- // FIXME: lack of redDark scale usage, same values!
665
- newCommentHorizontalRulerColor: [red[8], red[8]],
666
- colorBgErrorMessage: [red[8], red[8]],
986
+ newCommentHorizontalRulerColor: errorIndicatorColor,
987
+ colorBgErrorMessage: errorIndicatorColor,
667
988
 
668
989
  // Logo/illustration specific colors
669
- colorBorderLogoGrid: [base[4], baseDark[4]],
670
- colorBorderLogoGridSubtle: [getOpacities(base[4]).opacity20, baseDark[4]],
671
- colorBorderLogoGridMedium: [getOpacities(base[4]).opacity40, baseDark[4]],
990
+ colorBorderLogoGrid: surface.level4,
991
+ colorBorderLogoGridSubtle: [alpha(base[4], 0.2), baseDark[4]],
992
+ colorBorderLogoGridMedium: [alpha(base[4], 0.4), baseDark[4]],
672
993
  colorStrokeLogoDashed: [base[6], baseDark[8]],
673
- colorBgLogoCardTransparent: [white, baseDark[2]],
674
- colorBgLogoCardDark: [base[8], baseDark[8]],
675
- colorBgLogoCardMedium: [base[4], baseDark[4]],
994
+ colorBgLogoCardTransparent: surface.level0elevated,
995
+ colorBgLogoCardDark: base8,
996
+ colorBgLogoCardMedium: surface.level4,
997
+
998
+ // Skeleton/loading
999
+ colorBgSkeletonFrom: whiteA5,
1000
+ colorBgSkeletonTo: whiteA10,
1001
+
1002
+ // Inset edge shadows (scroll containers)
1003
+ colorShadowInsetEdge: whiteA5,
1004
+
1005
+ // Shadow border (surface direction for colors-css)
1006
+ colorShadowBorder: whiteA10,
1007
+
1008
+ // Elevation shadows (ink direction)
1009
+ colorShadowElevation: blackA10,
1010
+ colorShadowOutline: [alpha(black, 0.2), alpha(white, 0.2)],
1011
+
1012
+ // Placeholder/fallback
1013
+ colorPlaceholder: whiteA40,
1014
+ colorPlaceholderSubtle: whiteA25,
1015
+ colorBgSubtleLight: whiteA5,
1016
+ colorStrokeSurface: whiteA100,
1017
+
1018
+ // Ink-based tokens (contrast direction)
1019
+ colorTextMilestone: blackA50,
1020
+ colorSpinnerIcon: blackA90,
1021
+ colorSpinnerBg: blackA10,
1022
+ colorBgLaneSubtle: blackA5,
1023
+
1024
+ // Opacities (numeric)
1025
+ opacity15: opacities.subtle,
1026
+ opacity20: opacities.faint,
1027
+ opacity25: same(opacity.opacity25.toString()),
1028
+ opacity30: opacities.weak,
1029
+ opacity40: opacities.drag,
1030
+ opacity50: opacities.muted,
1031
+ opacity60: opacities.done,
1032
+ opacity65: opacities.disabled,
1033
+ opacity70: opacities.visible,
1034
+ opacity75: opacities.disabledHoverOrFocus,
1035
+ opacity80: same(opacity.opacity80.toString()),
1036
+ opacity85: same(opacity.opacity85.toString()),
1037
+ opacity90: same(opacity.opacity90.toString()),
1038
+
1039
+ // Gradient overlays (whiteA direction)
1040
+ whiteA10,
1041
+ whiteA40,
1042
+ whiteA100,
1043
+
1044
+ // File hover overlay (always dark scrim for white text readability)
1045
+ colorBgFileOverlay: same(alpha(black, 0.6)),
1046
+
1047
+ // Scroll fade edges
1048
+ colorBgScrollFade: [alpha(white, 0.15), alpha(black, 0.15)],
1049
+
1050
+ // Date picker selected outline
1051
+ colorStrokeSelectedOutline: [alpha(black, 0.75), alpha(white, 0.75)],
676
1052
 
677
1053
  // Preloader / chrome
678
- scrollbar: [getOpacities(base[9]).opacity50, getOpacities(baseDark[7]).opacity50],
1054
+ scrollbar: [alpha(base[9], 0.5), alpha(baseDark[7], 0.5)],
679
1055
  } as const satisfies ThemeColorsDef;
680
1056
 
1057
+ const adaptive = makeAdaptiveBgFg(white, blackish);
681
1058
  const fns = {
682
- getEnumBackground: {
683
- light: (color: string) => a11yColor(getOpacities(color).opacity15, white, 1),
684
- dark: (color: string) => a11yColor(getOpacities(color).opacity30, blackish, 1.3),
685
- },
686
- getAppIconBackground: {
687
- light: (color: string) => a11yColor(getOpacities(color).opacity15, white, 1),
688
- dark: (color: string) => a11yColor(getOpacities(color).opacity30, blackish, 1.3),
689
- light2: (color: string) => a11yColor(getOpacities(color).opacity30, blackish, 1.3),
690
- },
691
- getIconColor: {
692
- light: (color: string) => a11yColor(getOpacities(color).opacity95, white, 3),
693
- dark: (color: string) => a11yColor(getOpacities(color).opacity95, blackish, 5),
694
- },
1059
+ deneutralize: {light: shift, dark: shift},
1060
+ getEnumBackground: {light: adaptive.bg[0], dark: adaptive.bg[1]},
1061
+ getAppIconBackground: {light: adaptive.bg[0], dark: adaptive.bg[1], light2: adaptive.bg[1]},
1062
+ getIconColor: {light: adaptive.fg[0], dark: adaptive.fg[1]},
695
1063
  getLinkedHighlightBackground: {
696
1064
  light: (color: string) => produceColor(color, [(c) => setAlpha(c, 0.3), (c) => setLuminanceChroma(c, 0.6)]),
697
1065
  dark: (color: string) => produceColor(color, [(c) => setAlpha(c, 0.4), (c) => setLuminanceChroma(c, 0.5)]),
@@ -703,20 +1071,10 @@ export function makeThemeDefs({
703
1071
  },
704
1072
  } as const satisfies ThemeFnsDef;
705
1073
 
706
- return {colors, fns} as const;
1074
+ return {key, colors, fns} as const;
707
1075
  }
708
1076
 
709
- export type ThemeDefs = ReturnType<typeof makeThemeDefs>;
710
-
711
- type ThemeFns = {
712
- [K in keyof ThemeDefs["fns"]]: ThemeDefs["fns"][K]["light"];
713
- };
714
-
715
- export function pickFns(fns: ThemeFnsDef, mode: ThemeMode) {
716
- return Object.fromEntries(
717
- Object.entries(fns).map(([key, modeFns]) => [key, modeFns[mode] ?? modeFns.light])
718
- ) as ThemeFns;
719
- }
1077
+ export type ThemeDefs = ReturnType<typeof defsFromPalette>;
720
1078
 
721
1079
  type ThemeDefsColors = ThemeDefs["colors"];
722
1080
 
@@ -724,36 +1082,34 @@ type GetThemeColors<idx extends number> = {
724
1082
  [k in keyof ThemeDefsColors]: ThemeDefsColors[k][idx];
725
1083
  };
726
1084
 
727
- function pickColorsByIndex<I extends 0 | 1>(colors: ThemeDefsColors, idx: I): GetThemeColors<I> {
1085
+ function colorsByIndex<I extends 0 | 1>(colors: ThemeDefsColors, idx: I): GetThemeColors<I> {
728
1086
  type ColorTuple = readonly [unknown, unknown];
729
1087
  return Object.fromEntries(
730
1088
  (Object.entries(colors) as [string, ColorTuple][]).map(([k, v]) => [k, v[idx]])
731
1089
  ) as GetThemeColors<I>;
732
1090
  }
733
1091
 
734
- function pickLightColors(themeDefs: ThemeDefs) {
735
- return pickColorsByIndex(themeDefs.colors, 0);
1092
+ function colorsFromDefs(themeDefs: ThemeDefs, side: ThemeMode) {
1093
+ if (side === "dark") {
1094
+ return colorsByIndex(themeDefs.colors, 1);
1095
+ }
1096
+ if (side === "light2") {
1097
+ return {
1098
+ ...colorsByIndex(themeDefs.colors, 0),
1099
+ mode: "light2",
1100
+ } as const;
1101
+ }
1102
+ return colorsByIndex(themeDefs.colors, 0);
736
1103
  }
737
1104
 
738
- function pickDarkColors(themeDefs: ThemeDefs) {
739
- return pickColorsByIndex(themeDefs.colors, 1);
1105
+ function fnsFromDefs({fns}: {fns: ThemeFnsDef}, side: ThemeMode) {
1106
+ return Object.fromEntries(Object.entries(fns).map(([key, modeFns]) => [key, modeFns[side] ?? modeFns.light])) as {
1107
+ [K in keyof ThemeDefs["fns"]]: ThemeDefs["fns"][K]["light"];
1108
+ };
740
1109
  }
741
-
742
- function pickLight2Colors(themeDefs: ThemeDefs) {
1110
+ export function sideFromDefs(defs: ThemeDefs, side: ThemeMode) {
743
1111
  return {
744
- ...pickLightColors(themeDefs),
745
- mode: "light2",
746
- } as const;
1112
+ colors: colorsFromDefs(defs, side),
1113
+ fns: fnsFromDefs(defs, side),
1114
+ };
747
1115
  }
748
-
749
- export function pickColors(themeDefs: ThemeDefs, mode: ThemeMode) {
750
- if (mode === "dark") {
751
- return pickDarkColors(themeDefs);
752
- }
753
- if (mode === "light2") {
754
- return pickLight2Colors(themeDefs);
755
- }
756
- return pickLightColors(themeDefs);
757
- }
758
-
759
- export type Colors = ReturnType<typeof pickColors>;