@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
@@ -10,17 +10,20 @@ import {
10
10
  useThemePreference,
11
11
  useThemeStyles,
12
12
  } from "./theme-provider";
13
- import {defaultDarkTheme, defaultLightTheme, defaultLightThemeStyles} from "./theme-styles";
14
- import {createInlineStyles, getThemeColors, themeVars} from "./design-system";
15
- import {makeDefaultPalette} from "./palette-generator";
13
+ import {locateThemeBundle} from "./theme-styles";
14
+ import {stylesFromTheme, themeFromPalette, themeVars} from "./design-system";
16
15
 
17
- const palette = makeDefaultPalette();
16
+ const {
17
+ palette,
18
+ themes: [coolLightTheme, coolDarkTheme],
19
+ styles: [coolLightThemeStyles],
20
+ } = locateThemeBundle(false);
18
21
 
19
22
  function ThemeDisplay({testId = "theme-display"}: {testId?: string}) {
20
23
  const theme = useTheme();
21
24
  const mode = useThemeMode();
22
25
  return (
23
- <div data-testid={testId} data-mode={mode} data-primary={theme.primary}>
26
+ <div data-testid={testId} data-mode={mode} data-primary={theme.colors.colorAccent}>
24
27
  {theme.key}
25
28
  </div>
26
29
  );
@@ -30,7 +33,7 @@ describe("ThemeProvider", () => {
30
33
  describe("basic rendering", () => {
31
34
  it("renders children", () => {
32
35
  render(
33
- <ThemeProvider theme={defaultLightTheme}>
36
+ <ThemeProvider theme={coolLightTheme}>
34
37
  <div data-testid="child">Hello</div>
35
38
  </ThemeProvider>
36
39
  );
@@ -39,7 +42,7 @@ describe("ThemeProvider", () => {
39
42
 
40
43
  it("provides theme via useTheme", () => {
41
44
  render(
42
- <ThemeProvider theme={defaultLightTheme}>
45
+ <ThemeProvider theme={coolLightTheme}>
43
46
  <ThemeDisplay />
44
47
  </ThemeProvider>
45
48
  );
@@ -48,7 +51,7 @@ describe("ThemeProvider", () => {
48
51
 
49
52
  it("provides dark theme correctly", () => {
50
53
  render(
51
- <ThemeProvider theme={defaultDarkTheme}>
54
+ <ThemeProvider theme={coolDarkTheme}>
52
55
  <ThemeDisplay />
53
56
  </ThemeProvider>
54
57
  );
@@ -59,8 +62,8 @@ describe("ThemeProvider", () => {
59
62
  describe("diff behavior", () => {
60
63
  it("when theme equals parent, applies no styles", () => {
61
64
  const {container} = render(
62
- <ThemeProvider theme={defaultLightTheme}>
63
- <ThemeProvider theme={defaultLightTheme}>
65
+ <ThemeProvider theme={coolLightTheme}>
66
+ <ThemeProvider theme={coolLightTheme}>
64
67
  <ThemeDisplay />
65
68
  </ThemeProvider>
66
69
  </ThemeProvider>
@@ -72,12 +75,12 @@ describe("ThemeProvider", () => {
72
75
  });
73
76
 
74
77
  it("nested provider only sets properties that differ from parent", () => {
75
- const lightTheme = getThemeColors(null, "light", palette);
76
- const darkTheme = getThemeColors(null, "dark", palette);
78
+ const lightTheme = themeFromPalette(palette, "light");
79
+ const darkTheme = themeFromPalette(palette, "dark");
77
80
 
78
81
  // Compare full inline themes to verify they differ
79
- const lightStyles = createInlineStyles(lightTheme);
80
- const darkStyles = createInlineStyles(darkTheme);
82
+ const lightStyles = stylesFromTheme(lightTheme);
83
+ const darkStyles = stylesFromTheme(darkTheme);
81
84
 
82
85
  // Count how many properties differ between light and dark
83
86
  let diffCount = 0;
@@ -109,13 +112,13 @@ describe("ThemeProvider", () => {
109
112
  });
110
113
 
111
114
  it("deeply nested providers accumulate only diffs", () => {
112
- const theme1 = getThemeColors(null, "light", palette);
113
- const theme2 = getThemeColors(null, "dark", palette);
114
- const theme3 = getThemeColors(null, "light", palette); // back to light
115
+ const theme1 = themeFromPalette(palette, "light");
116
+ const theme2 = themeFromPalette(palette, "dark");
117
+ const theme3 = themeFromPalette(palette, "light"); // back to light
115
118
 
116
119
  // Verify themes differ
117
- const styles1 = createInlineStyles(theme1);
118
- const styles2 = createInlineStyles(theme2);
120
+ const styles1 = stylesFromTheme(theme1);
121
+ const styles2 = stylesFromTheme(theme2);
119
122
 
120
123
  let diffCount = 0;
121
124
  for (const key in styles2) {
@@ -147,7 +150,7 @@ describe("ThemeProvider", () => {
147
150
 
148
151
  describe("context-based diff", () => {
149
152
  it("diffs against parent context value", () => {
150
- const lightTheme = getThemeColors(null, "light", palette);
153
+ const lightTheme = themeFromPalette(palette, "light");
151
154
 
152
155
  // When parent context has same theme, diff should be empty
153
156
  const {container} = render(
@@ -173,8 +176,8 @@ describe("ThemeProvider", () => {
173
176
  // Outer ThemeProvider sets context to dark theme
174
177
  // Inner ThemeProvider with same theme should have empty diff
175
178
  const {container} = render(
176
- <ThemeProvider theme={defaultDarkTheme}>
177
- <ThemeProvider theme={defaultDarkTheme}>
179
+ <ThemeProvider theme={coolDarkTheme}>
180
+ <ThemeProvider theme={coolDarkTheme}>
178
181
  <ThemeDisplay />
179
182
  </ThemeProvider>
180
183
  </ThemeProvider>
@@ -193,11 +196,11 @@ describe("ThemeProvider", () => {
193
196
 
194
197
  describe("rejectKeys", () => {
195
198
  it("by default, all properties are included in diff", () => {
196
- const lightTheme = getThemeColors(null, "light", palette);
197
- const darkTheme = getThemeColors(null, "dark", palette);
199
+ const lightTheme = themeFromPalette(palette, "light");
200
+ const darkTheme = themeFromPalette(palette, "dark");
198
201
 
199
- const lightStyles = createInlineStyles(lightTheme);
200
- const darkStyles = createInlineStyles(darkTheme);
202
+ const lightStyles = stylesFromTheme(lightTheme);
203
+ const darkStyles = stylesFromTheme(darkTheme);
201
204
 
202
205
  let diffCount = 0;
203
206
  for (const key in darkStyles) {
@@ -224,10 +227,10 @@ describe("ThemeProvider", () => {
224
227
  });
225
228
 
226
229
  it("without rejectKeys, uses default reject keys (fewer properties)", () => {
227
- const theme = getThemeColors(null, "dark", palette);
230
+ const theme = themeFromPalette(palette, "dark");
228
231
 
229
232
  const {container: withEmptyReject} = render(
230
- <ThemeProvider theme={defaultLightTheme}>
233
+ <ThemeProvider theme={coolLightTheme}>
231
234
  <ThemeProvider theme={theme}>
232
235
  <ThemeDisplay testId="with-empty" />
233
236
  </ThemeProvider>
@@ -235,7 +238,7 @@ describe("ThemeProvider", () => {
235
238
  );
236
239
 
237
240
  const {container: withDefaultReject} = render(
238
- <ThemeProvider theme={defaultLightTheme}>
241
+ <ThemeProvider theme={coolLightTheme}>
239
242
  <ThemeProvider theme={theme}>
240
243
  <ThemeDisplay testId="with-default" />
241
244
  </ThemeProvider>
@@ -258,8 +261,8 @@ describe("ThemeProvider", () => {
258
261
 
259
262
  describe("useTheme and useThemeMode", () => {
260
263
  it("useTheme returns current theme in nested context", () => {
261
- const lightTheme = getThemeColors(null, "light", palette);
262
- const darkTheme = getThemeColors(null, "dark", palette);
264
+ const lightTheme = themeFromPalette(palette, "light");
265
+ const darkTheme = themeFromPalette(palette, "dark");
263
266
 
264
267
  render(
265
268
  <ThemeProvider theme={lightTheme}>
@@ -325,7 +328,7 @@ describe("ThemeProvider", () => {
325
328
 
326
329
  describe("style optimization verification", () => {
327
330
  it("same theme nested produces no inline styles", () => {
328
- const theme = getThemeColors(null, "light", palette);
331
+ const theme = themeFromPalette(palette, "light");
329
332
 
330
333
  const {container} = render(
331
334
  <ThemeProvider theme={theme}>
@@ -353,11 +356,11 @@ describe("ThemeProvider", () => {
353
356
  });
354
357
 
355
358
  it("switching light→dark→light produces symmetric diffs", () => {
356
- const lightTheme = getThemeColors(null, "light", palette);
357
- const darkTheme = getThemeColors(null, "dark", palette);
359
+ const lightTheme = themeFromPalette(palette, "light");
360
+ const darkTheme = themeFromPalette(palette, "dark");
358
361
 
359
- const lightStyles = createInlineStyles(lightTheme);
360
- const darkStyles = createInlineStyles(darkTheme);
362
+ const lightStyles = stylesFromTheme(lightTheme);
363
+ const darkStyles = stylesFromTheme(darkTheme);
361
364
 
362
365
  // Calculate light→dark diff
363
366
  const lightToDarkDiff: Record<string, string> = {};
@@ -380,14 +383,14 @@ describe("ThemeProvider", () => {
380
383
  });
381
384
 
382
385
  it("diff count is significantly less than full theme count", () => {
383
- const lightTheme = getThemeColors(null, "light", palette);
384
- const darkTheme = getThemeColors(null, "dark", palette);
386
+ const lightTheme = themeFromPalette(palette, "light");
387
+ const darkTheme = themeFromPalette(palette, "dark");
385
388
 
386
- const fullStyles = createInlineStyles(darkTheme);
389
+ const fullStyles = stylesFromTheme(darkTheme);
387
390
  const fullCount = Object.keys(fullStyles).length;
388
391
 
389
392
  // Calculate diff
390
- const lightStyles = createInlineStyles(lightTheme);
393
+ const lightStyles = stylesFromTheme(lightTheme);
391
394
  let diffCount = 0;
392
395
  for (const key in fullStyles) {
393
396
  if (fullStyles[key] !== lightStyles[key]) {
@@ -404,8 +407,8 @@ describe("ThemeProvider", () => {
404
407
 
405
408
  describe("style helpers verification", () => {
406
409
  it("getStyleCount returns correct number of CSS properties", () => {
407
- const lightTheme = getThemeColors(null, "light", palette);
408
- const darkTheme = getThemeColors(null, "dark", palette);
410
+ const lightTheme = themeFromPalette(palette, "light");
411
+ const darkTheme = themeFromPalette(palette, "dark");
409
412
 
410
413
  // Same theme nested = inner div has no style attribute (empty diff)
411
414
  const {container: sameContainer} = render(
@@ -439,10 +442,10 @@ describe("ThemeProvider", () => {
439
442
  });
440
443
 
441
444
  it("getStyleObject returns parseable CSS properties", () => {
442
- const darkTheme = getThemeColors(null, "dark", palette);
445
+ const darkTheme = themeFromPalette(palette, "dark");
443
446
 
444
447
  const {container} = render(
445
- <ThemeProvider theme={defaultLightTheme}>
448
+ <ThemeProvider theme={coolLightTheme}>
446
449
  <ThemeProvider theme={darkTheme}>
447
450
  <span>content</span>
448
451
  </ThemeProvider>
@@ -473,7 +476,7 @@ describe("ThemeProvider", () => {
473
476
  });
474
477
 
475
478
  it("nested providers have decreasing style counts", () => {
476
- const darkTheme = getThemeColors(null, "dark", palette);
479
+ const darkTheme = themeFromPalette(palette, "dark");
477
480
 
478
481
  // Outer: diff from context default
479
482
  // Inner: only diff from outer (which should be 0 since same theme)
@@ -502,10 +505,10 @@ describe("ThemeProvider", () => {
502
505
  });
503
506
 
504
507
  it("getStyleObject can verify specific CSS variable values", () => {
505
- const darkTheme = getThemeColors(null, "dark", palette);
508
+ const darkTheme = themeFromPalette(palette, "dark");
506
509
 
507
510
  const {container} = render(
508
- <ThemeProvider theme={defaultLightTheme}>
511
+ <ThemeProvider theme={coolLightTheme}>
509
512
  <ThemeProvider theme={darkTheme}>
510
513
  <span>content</span>
511
514
  </ThemeProvider>
@@ -541,7 +544,7 @@ describe("ThemeProvider", () => {
541
544
 
542
545
  it("returns computed styles from context", () => {
543
546
  render(
544
- <ThemeProvider theme={defaultLightTheme}>
547
+ <ThemeProvider theme={coolLightTheme}>
545
548
  <StylesDisplay />
546
549
  </ThemeProvider>
547
550
  );
@@ -552,14 +555,14 @@ describe("ThemeProvider", () => {
552
555
  it("returns default styles outside ThemeProvider", () => {
553
556
  render(<StylesDisplay />);
554
557
  const count = Number(screen.getByTestId("styles").getAttribute("data-style-count"));
555
- expect(count).toBe(Object.keys(defaultLightThemeStyles).length);
558
+ expect(count).toBe(Object.keys(coolLightThemeStyles).length);
556
559
  });
557
560
 
558
561
  it("nested provider updates styles context", () => {
559
562
  render(
560
- <ThemeProvider theme={defaultLightTheme}>
563
+ <ThemeProvider theme={coolLightTheme}>
561
564
  <StylesDisplay testId="outer" />
562
- <ThemeProvider theme={defaultDarkTheme}>
565
+ <ThemeProvider theme={coolDarkTheme}>
563
566
  <StylesDisplay testId="inner" />
564
567
  </ThemeProvider>
565
568
  </ThemeProvider>
@@ -624,7 +627,7 @@ describe("ThemeProvider", () => {
624
627
  }
625
628
 
626
629
  it("diffs against root styles, not parent context", () => {
627
- const darkTheme = getThemeColors(null, "dark", palette);
630
+ const darkTheme = themeFromPalette(palette, "dark");
628
631
 
629
632
  // Non-portal dark inside dark parent: diffs against parent (same) → 0 styles
630
633
  const {container: normalContainer} = renderWithRoot(
@@ -660,7 +663,7 @@ describe("ThemeProvider", () => {
660
663
  });
661
664
 
662
665
  it("when theme matches root, produces no inline styles", () => {
663
- const lightTheme = getThemeColors(null, "light", palette);
666
+ const lightTheme = themeFromPalette(palette, "light");
664
667
 
665
668
  const {container} = renderWithRoot(
666
669
  <ThemeProvider theme={lightTheme} portal>
@@ -675,11 +678,11 @@ describe("ThemeProvider", () => {
675
678
  });
676
679
 
677
680
  it("when theme differs from root, emits diff against root", () => {
678
- const lightTheme = getThemeColors(null, "light", palette);
679
- const darkTheme = getThemeColors(null, "dark", palette);
681
+ const lightTheme = themeFromPalette(palette, "light");
682
+ const darkTheme = themeFromPalette(palette, "dark");
680
683
 
681
- const lightStyles = createInlineStyles(lightTheme);
682
- const darkStyles = createInlineStyles(darkTheme);
684
+ const lightStyles = stylesFromTheme(lightTheme);
685
+ const darkStyles = stylesFromTheme(darkTheme);
683
686
  let expectedDiffCount = 0;
684
687
  for (const key in darkStyles) {
685
688
  if (darkStyles[key] !== lightStyles[key]) {
@@ -699,8 +702,8 @@ describe("ThemeProvider", () => {
699
702
  });
700
703
 
701
704
  it("portal ignores intermediate parent overrides for diff base", () => {
702
- const lightTheme = getThemeColors(null, "light", palette);
703
- const darkTheme = getThemeColors(null, "dark", palette);
705
+ const lightTheme = themeFromPalette(palette, "light");
706
+ const darkTheme = themeFromPalette(palette, "dark");
704
707
 
705
708
  // root(light) > dark > portal(light)
706
709
  // Portal diffs against root(light), not dark parent
@@ -719,11 +722,11 @@ describe("ThemeProvider", () => {
719
722
  });
720
723
 
721
724
  it("portal with dark mode emits overrides vs light root", () => {
722
- const lightTheme = getThemeColors(null, "light", palette);
723
- const darkTheme = getThemeColors(null, "dark", palette);
725
+ const lightTheme = themeFromPalette(palette, "light");
726
+ const darkTheme = themeFromPalette(palette, "dark");
724
727
 
725
- const lightStyles = createInlineStyles(lightTheme);
726
- const darkStyles = createInlineStyles(darkTheme);
728
+ const lightStyles = stylesFromTheme(lightTheme);
729
+ const darkStyles = stylesFromTheme(darkTheme);
727
730
  let expectedDiffCount = 0;
728
731
  for (const key in darkStyles) {
729
732
  if (darkStyles[key] !== lightStyles[key]) {
@@ -744,7 +747,7 @@ describe("ThemeProvider", () => {
744
747
  });
745
748
 
746
749
  it("non-portal still diffs against parent context", () => {
747
- const darkTheme = getThemeColors(null, "dark", palette);
750
+ const darkTheme = themeFromPalette(palette, "dark");
748
751
 
749
752
  // Non-portal nested with same theme as parent: empty diff
750
753
  const {container} = renderWithRoot(
@@ -761,7 +764,7 @@ describe("ThemeProvider", () => {
761
764
  });
762
765
 
763
766
  it("provides correct theme context regardless of portal flag", () => {
764
- const darkTheme = getThemeColors(null, "dark", palette);
767
+ const darkTheme = themeFromPalette(palette, "dark");
765
768
 
766
769
  renderWithRoot(
767
770
  <ThemeProvider theme={darkTheme} portal>
@@ -773,11 +776,11 @@ describe("ThemeProvider", () => {
773
776
  });
774
777
 
775
778
  it("provides correct ThemeStylesContext inside portal", () => {
776
- const darkTheme = getThemeColors(null, "dark", palette);
779
+ const darkTheme = themeFromPalette(palette, "dark");
777
780
 
778
781
  function StylesCheck() {
779
782
  const styles = useThemeStyles();
780
- const expected = createInlineStyles(darkTheme);
783
+ const expected = stylesFromTheme(darkTheme);
781
784
  const match = Object.keys(expected).every((k) => styles[k] === expected[k]);
782
785
  return <div data-testid="styles-match" data-match={String(match)} />;
783
786
  }
@@ -1,11 +1,5 @@
1
1
  import invariant from "invariant";
2
- import {
3
- chooseGlobalStyles,
4
- defaultLightTheme,
5
- defaultLightThemeStyles,
6
- defaultPalette,
7
- selectGlobalTheme,
8
- } from "./theme-styles";
2
+ import {chooseGlobalStyles, locateThemeBundle} from "./theme-styles";
9
3
  import {layoutStyles} from "./layout-styles";
10
4
  import {
11
5
  createContext,
@@ -18,7 +12,7 @@ import {
18
12
  useMemo,
19
13
  useState,
20
14
  } from "react";
21
- import {createInlineStyles, getThemeColors, ThemeColors, ThemeStyles} from "./design-system";
15
+ import {Styles, stylesFromTheme, Theme, themeFromPalette} from "./design-system";
22
16
  import {selectPalette, ThemePalette} from "./palette-generator";
23
17
  import {
24
18
  subscribeOnThemeMenuPreferenceChange,
@@ -47,10 +41,15 @@ export function useThemeMenuPreference(): ThemeMenuPreference {
47
41
  return themeMenuPreference;
48
42
  }
49
43
 
50
- const ThemeColorsContext = createContext<ThemeColors>(defaultLightTheme);
44
+ const {
45
+ palette,
46
+ themes: [coolLightTheme],
47
+ styles: [coolLightThemeStyles],
48
+ } = locateThemeBundle(false);
49
+ const ThemeContext = createContext<Theme>(coolLightTheme);
51
50
 
52
- export function useTheme(): ThemeColors {
53
- return useContext(ThemeColorsContext);
51
+ export function useTheme(): Theme {
52
+ return useContext(ThemeContext);
54
53
  }
55
54
 
56
55
  export function useThemeMode(): ThemeMode {
@@ -58,14 +57,22 @@ export function useThemeMode(): ThemeMode {
58
57
  return theme.mode;
59
58
  }
60
59
 
61
- const RootThemeStylesContext = createContext<ThemeStyles>(defaultLightThemeStyles);
62
- const ThemeStylesContext = createContext<ThemeStyles>(defaultLightThemeStyles);
60
+ /** @deprecated Use `useThemedColor` instead */
61
+ export const useNeutralColor = useThemedColor;
62
+
63
+ export function useThemedColor(color: string) {
64
+ const theme = useTheme();
65
+ return theme.fns.deneutralize(color);
66
+ }
63
67
 
64
- export function useThemeStyles(): ThemeStyles {
68
+ const RootThemeStylesContext = createContext<Styles>(coolLightThemeStyles);
69
+ const ThemeStylesContext = createContext<Styles>(coolLightThemeStyles);
70
+
71
+ export function useThemeStyles(): Styles {
65
72
  return useContext(ThemeStylesContext);
66
73
  }
67
74
 
68
- const ThemePaletteContext = createContext<ThemePalette>(defaultPalette);
75
+ const ThemePaletteContext = createContext<ThemePalette>(palette);
69
76
 
70
77
  export function useThemePalette(): ThemePalette {
71
78
  return useContext(ThemePaletteContext);
@@ -77,7 +84,7 @@ type ThematicContextValue = {
77
84
  };
78
85
 
79
86
  const ThematicContext = createContext<ThematicContextValue>({
80
- palette: defaultPalette,
87
+ palette,
81
88
  setPalette: () => {},
82
89
  });
83
90
 
@@ -87,30 +94,25 @@ export function useThematic(): ThematicContextValue {
87
94
 
88
95
  export function ThemeProvider({
89
96
  theme: themeOverride,
90
- color: colorOverride,
91
97
  mode: modeOverride,
92
98
  portal,
93
99
  children,
94
100
  }: PropsWithChildren<
95
- {portal?: true} & (
96
- | {theme: ThemeColors; color?: never; mode?: never}
97
- | {color?: string; theme?: never; mode?: ThemeMode}
98
- )
101
+ {portal?: true} & ({theme: Theme; color?: never; mode?: never} | {color?: string; theme?: never; mode?: ThemeMode})
99
102
  >) {
100
103
  const palette = useContext(ThemePaletteContext);
101
- const parentTheme = useContext(ThemeColorsContext);
104
+ const parentTheme = useContext(ThemeContext);
102
105
 
103
106
  const mode = modeOverride ?? parentTheme.mode;
104
- const color = colorOverride ?? parentTheme.primary;
105
- const theme = themeOverride ?? getThemeColors(color, mode, palette);
107
+ const theme = themeOverride ?? themeFromPalette(palette, mode);
106
108
 
107
109
  const parentStyles = useContext(portal ? RootThemeStylesContext : ThemeStylesContext);
108
- const styles = createInlineStyles(theme);
110
+ const styles = stylesFromTheme(theme);
109
111
  const stylesDiff = useMemo(() => {
110
112
  if (styles === parentStyles) {
111
113
  return undefined;
112
114
  }
113
- const diff: ThemeStyles = {};
115
+ const diff: Styles = {};
114
116
  for (const key of Object.keys(styles)) {
115
117
  if (styles[key] !== parentStyles[key]) {
116
118
  diff[key] = styles[key];
@@ -120,7 +122,7 @@ export function ThemeProvider({
120
122
  }, [styles, parentStyles]);
121
123
 
122
124
  return (
123
- <ThemeColorsContext.Provider value={theme}>
125
+ <ThemeContext.Provider value={theme}>
124
126
  <ThemeStylesContext.Provider value={styles}>
125
127
  <div
126
128
  style={stylesDiff}
@@ -131,7 +133,7 @@ export function ThemeProvider({
131
133
  {children}
132
134
  </div>
133
135
  </ThemeStylesContext.Provider>
134
- </ThemeColorsContext.Provider>
136
+ </ThemeContext.Provider>
135
137
  );
136
138
  }
137
139
 
@@ -156,6 +158,15 @@ export function MenuThemeProvider({children}: {children: ReactNode}) {
156
158
  return <ThemeProvider mode={mode}>{children}</ThemeProvider>;
157
159
  }
158
160
 
161
+ function useUpdateBrowserThemeColor(light: Theme, dark: Theme) {
162
+ useEffect(() => {
163
+ const lightEl = document.querySelector('meta[name="theme-color"][media*="light"]');
164
+ const darkEl = document.querySelector('meta[name="theme-color"][media*="dark"]');
165
+ lightEl?.setAttribute("content", light.colors.mainBg);
166
+ darkEl?.setAttribute("content", dark.colors.mainBg);
167
+ }, [light.colors.mainBg, dark.colors.mainBg]);
168
+ }
169
+
159
170
  export function RootThemeProvider({
160
171
  initialThemeMode,
161
172
  initialPreference,
@@ -169,11 +180,11 @@ export function RootThemeProvider({
169
180
  isArchitect?: boolean;
170
181
  children: ReactNode;
171
182
  }): JSX.Element {
172
- const [themeMode, setThemeMode] = useState<ThemeMode>(initialThemeMode);
173
- useEffect(() => subscribeOnThemeModeChange(setThemeMode), []);
183
+ const [mode, setMode] = useState<ThemeMode>(initialThemeMode);
184
+ useEffect(() => subscribeOnThemeModeChange(setMode), []);
174
185
 
175
186
  const [warm] = useWarmPreference();
176
- useEffect(() => chooseGlobalStyles(themeMode, warm), [themeMode, warm]);
187
+ useEffect(() => chooseGlobalStyles(mode, warm), [mode, warm]);
177
188
 
178
189
  const [paletteOverride, setPaletteOverride] = useState<ThemePalette | null>(null);
179
190
 
@@ -181,13 +192,19 @@ export function RootThemeProvider({
181
192
  return paletteOverride ?? selectPalette({warmLook: warm, isArchitect});
182
193
  }, [paletteOverride, warm, isArchitect]);
183
194
 
184
- let res = <ThemeProvider theme={getThemeColors(null, themeMode, palette)}>{children}</ThemeProvider>;
195
+ let res = <ThemeProvider theme={themeFromPalette(palette, mode)}>{children}</ThemeProvider>;
185
196
 
186
197
  // Set base context to what global CSS has, so ThemeProvider diffs against it
187
- const [cssThemeColors, cssThemeStyles] = selectGlobalTheme(warm, themeMode === "dark");
198
+ const {
199
+ themes: [lightThemeColors, darkThemeColors],
200
+ styles: [lightThemeStyles, darkThemeStyles],
201
+ } = locateThemeBundle(warm);
202
+ const [cssThemeColors, cssThemeStyles] =
203
+ mode === "dark" ? [darkThemeColors, darkThemeStyles] : [lightThemeColors, lightThemeStyles];
188
204
  res = <ThemeStylesContext.Provider value={cssThemeStyles}>{res}</ThemeStylesContext.Provider>;
189
205
  res = <RootThemeStylesContext.Provider value={cssThemeStyles}>{res}</RootThemeStylesContext.Provider>;
190
- res = <ThemeColorsContext.Provider value={cssThemeColors}>{res}</ThemeColorsContext.Provider>;
206
+ res = <ThemeContext.Provider value={cssThemeColors}>{res}</ThemeContext.Provider>;
207
+ useUpdateBrowserThemeColor(lightThemeColors, darkThemeColors);
191
208
 
192
209
  res = <ThemePaletteContext.Provider value={palette}>{res}</ThemePaletteContext.Provider>;
193
210
 
@@ -1,5 +1,6 @@
1
1
  import {useEffect, useState} from "react";
2
2
  import {getMediaQueryList, subscribeOnChange as subscribeOnMediaQueryChange} from "./media-query-utils";
3
+ import {createPreferenceSetting} from "./preference-setting";
3
4
 
4
5
  const listenersThemeMode = new Map();
5
6
  const listenersThemePreference = new Map();
@@ -170,50 +171,17 @@ export function subscribeOnThemeModeChange(cb: (themeMode: ThemeMode) => void):
170
171
  };
171
172
  }
172
173
 
173
- const warmKey = "warm";
174
- const warmListeners = new Set<(warm: boolean) => void>();
175
-
176
- export function hasWarmPreference(): boolean {
177
- try {
178
- return localStorage.getItem(warmKey) !== null;
179
- } catch {
180
- return false;
181
- }
182
- }
183
-
184
- export function loadWarmPreference(): boolean {
185
- try {
186
- return localStorage.getItem(warmKey) === "true";
187
- } catch {
188
- return false;
189
- }
190
- }
191
-
192
- export function storeWarmPreference(warm: boolean) {
193
- try {
194
- localStorage.setItem(warmKey, JSON.stringify(warm));
195
- } catch {
196
- // ignore
197
- }
198
- warmListeners.forEach((cb) => cb(warm));
199
- }
200
-
201
- export function subscribeOnWarmPreferenceChange(cb: (warm: boolean) => void): () => void {
202
- warmListeners.add(cb);
203
- let prev = loadWarmPreference();
204
- const storageListener = () => {
205
- const next = loadWarmPreference();
206
- if (prev !== next) {
207
- prev = next;
208
- cb(next);
209
- }
210
- };
211
- window.addEventListener("storage", storageListener);
212
- return () => {
213
- warmListeners.delete(cb);
214
- window.removeEventListener("storage", storageListener);
215
- };
216
- }
174
+ export const {
175
+ has: hasWarmPreference,
176
+ load: loadWarmPreference,
177
+ store: storeWarmPreference,
178
+ subscribe: subscribeOnWarmPreferenceChange,
179
+ } = createPreferenceSetting({
180
+ key: "warm",
181
+ parse: (raw) => (raw === "true" ? true : raw === "false" ? false : undefined),
182
+ stringify: (v: boolean) => JSON.stringify(v),
183
+ defaultValue: false,
184
+ });
217
185
 
218
186
  export function useWarmPreference() {
219
187
  const [warm, setWarm] = useState(loadWarmPreference);