@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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @fibery/ui-kit
2
2
 
3
+ ## 2.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 7cb3105: Text and background color for highlight
8
+
9
+ ## 2.0.1
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies [7091c2b]
14
+ - @fibery/emoji-data@2.7.3
15
+
3
16
  ## 2.0.0
4
17
 
5
18
  ### Major Changes
@@ -1,4 +1,4 @@
1
- import baseConfig from "@fibery/eslint-config";
1
+ import baseConfig from "../../esfint.config.mjs";
2
2
 
3
3
  export default [
4
4
  ...baseConfig,
@@ -0,0 +1,36 @@
1
+ /** @type {import('@jest/schemas').InitialOptions} */
2
+ const config = {
3
+ collectCoverageFrom: ["src/**/*.{js,jsx,ts,tsx}", "!src/**/*.d.ts"],
4
+ coveragePathIgnorePatterns: ["/node_modules/"],
5
+ coverageReporters: ["text", "cobertura"],
6
+ moduleNameMapper: {
7
+ "\\.(css)$": "<rootDir>/src/__mocks__/styleMock.js",
8
+ },
9
+ setupFilesAfterEnv: ["<rootDir>/config/jest/testFrameworkSetup.js"],
10
+ testEnvironment: "jsdom",
11
+ testEnvironmentOptions: {
12
+ customExportConditions: ["@fibery/source"],
13
+ },
14
+ transform: {
15
+ "^.+\\.(js|jsx|ts|tsx)$": [
16
+ "@swc/jest",
17
+ {
18
+ jsc: {
19
+ parser: {
20
+ syntax: "typescript",
21
+ tsx: true,
22
+ decorators: true,
23
+ dynamicImport: true,
24
+ },
25
+ transform: {
26
+ react: {
27
+ runtime: "automatic",
28
+ },
29
+ },
30
+ },
31
+ },
32
+ ],
33
+ },
34
+ };
35
+
36
+ module.exports = config;
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@fibery/ui-kit",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "private": false,
5
5
  "license": "UNLICENSED",
6
6
  "dependencies": {
7
- "@linaria/core": "6.2.0",
8
- "@linaria/react": "6.2.1",
7
+ "@linaria/core": "7.0.0",
8
+ "@linaria/react": "7.0.1",
9
9
  "@popperjs/core": "2.11.6",
10
10
  "@radix-ui/react-collapsible": "1.1.0",
11
11
  "@radix-ui/react-context-menu": "2.2.1",
@@ -25,7 +25,7 @@
25
25
  "classnames": "2.3.1",
26
26
  "cmdk": "1.0.0",
27
27
  "color-hash": "1.0.3",
28
- "colorjs.io": "0.6.1",
28
+ "culori": "4.0.2",
29
29
  "d3-shape": "1.3.7",
30
30
  "date-fns": "2.29.2",
31
31
  "invariant": "2.2.4",
@@ -46,14 +46,10 @@
46
46
  "react-virtuoso": "4.18.1",
47
47
  "screenfull": "6.0.2",
48
48
  "tabbable": "5.2.1",
49
- "@fibery/emoji-data": "2.7.2",
49
+ "@fibery/emoji-data": "2.7.3",
50
50
  "@fibery/helpers": "2.0.0",
51
51
  "@fibery/react": "1.5.1"
52
52
  },
53
- "peerDependencies": {
54
- "react": "18.3.1",
55
- "react-dom": "18.3.1"
56
- },
57
53
  "devDependencies": {
58
54
  "@babel/core": "7.28.5",
59
55
  "@babel/runtime": "7.28.4",
@@ -62,14 +58,17 @@
62
58
  "@testing-library/react": "16.3.1",
63
59
  "@testing-library/user-event": "14.6.1",
64
60
  "@types/color-hash": "1.0.2",
61
+ "@types/culori": "4.0.1",
65
62
  "@types/history": "4.7.11",
66
63
  "@types/invariant": "2.2.34",
67
64
  "@types/jest": "30.0.0",
68
65
  "@types/lodash": "4.14.172",
69
66
  "@types/prop-types": "15.7.5",
70
67
  "@types/react": "18.3.12",
68
+ "@types/react-color": "2.13.5",
71
69
  "@types/react-dom": "18.3.1",
72
- "@wyw-in-js/babel-preset": "0.5.5",
70
+ "@typescript/native-preview": "7.0.0-dev.20260401.1",
71
+ "@wyw-in-js/babel-preset": "1.0.6",
73
72
  "csstype": "3.0.8",
74
73
  "fs-extra": "10.0.0",
75
74
  "glob": "7.1.7",
@@ -79,57 +78,21 @@
79
78
  "react-dom": "18.3.1",
80
79
  "svg-parser": "2.0.4",
81
80
  "svgo": "2.8.0",
82
- "typescript": "5.9.3",
81
+ "typescript": "6.0.1-rc",
83
82
  "unist-util-reduce": "0.2.2",
84
- "@fibery/babel-preset": "7.4.2",
85
- "@fibery/eslint-config": "9.0.1"
83
+ "@fibery/babel-preset": "7.4.2"
86
84
  },
87
- "jest": {
88
- "testEnvironment": "jsdom",
89
- "coveragePathIgnorePatterns": [
90
- "/node_modules/"
91
- ],
92
- "collectCoverageFrom": [
93
- "src/**/*.{js,jsx,ts,tsx}",
94
- "!src/**/*.d.ts"
95
- ],
96
- "coverageReporters": [
97
- "text",
98
- "cobertura"
99
- ],
100
- "moduleNameMapper": {
101
- "\\.(css)$": "<rootDir>/src/__mocks__/styleMock.js"
102
- },
103
- "transform": {
104
- "^.+\\.(js|jsx|ts|tsx)$": [
105
- "@swc/jest",
106
- {
107
- "jsc": {
108
- "parser": {
109
- "syntax": "typescript",
110
- "tsx": true,
111
- "decorators": true,
112
- "dynamicImport": true
113
- },
114
- "transform": {
115
- "react": {
116
- "runtime": "automatic"
117
- }
118
- }
119
- }
120
- }
121
- ]
122
- },
123
- "setupFilesAfterEnv": [
124
- "<rootDir>/config/jest/testFrameworkSetup.js"
125
- ]
85
+ "peerDependencies": {
86
+ "react": "18.3.1",
87
+ "react-dom": "18.3.1"
126
88
  },
127
89
  "scripts": {
128
90
  "test": "TZ=Europe/Minsk jest",
129
91
  "test:ci": "pnpm run test --reporters=default --reporters=jest-junit",
130
92
  "test:coverage": "pnpm run test --coverage --coverageDirectory=${JEST_COVERAGE_RESULT_DIR:-$(pwd)}/coverage/ui-kit --reporters=default --reporters=jest-junit",
131
- "lint": "eslint .",
93
+ "check": "../../scripts/check.sh",
94
+ "lint": "../../scripts/lint.sh",
132
95
  "generate-icons": "node scripts/generate-icons.mjs",
133
- "typecheck": "tsc --noEmit"
96
+ "typecheck": "../../scripts/typecheck.sh"
134
97
  }
135
98
  }
@@ -1,13 +1,13 @@
1
- import path from "path";
2
1
  import fs from "fs-extra";
3
2
  import {readFile} from "fs/promises";
4
- import svgo from "svgo";
5
- import {parse} from "svg-parser";
6
3
  import glob from "glob";
7
- import {promisify} from "util";
8
4
  import _ from "lodash";
5
+ import path from "path";
6
+ import {parse} from "svg-parser";
7
+ import svgo from "svgo";
9
8
  import {recursiveReduce} from "unist-util-reduce";
10
9
  import {fileURLToPath} from "url";
10
+ import {promisify} from "util";
11
11
 
12
12
  const svgoConfig = (prefix) => ({
13
13
  plugins: [
@@ -23,26 +23,23 @@ const svgoConfig = (prefix) => ({
23
23
  ],
24
24
  });
25
25
 
26
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
27
-
28
- const template = `
29
- // This icon file is generated automatically.
26
+ const __filename = fileURLToPath(import.meta.url);
27
+ const __dirname = path.dirname(__filename);
30
28
 
31
- import { IconDefinition } from '../types';
32
-
33
- const <%= identifier %>: IconDefinition = <%= content %>;
34
-
35
- export default <%= identifier %>;
29
+ const preludeTemplate = `/**
30
+ * This file was automatically generated. Do not edit manually.
31
+ * <% if (source) { %>
32
+ * @see import("<%= source %>")<% } %>
33
+ * @see import("<%= generator %>")
34
+ */
36
35
  `;
37
36
 
38
37
  const render = _.template(
39
- `
40
- // This icon file is generated automatically.
41
-
42
- import {forwardRef} from 'react';
43
- import <%= svgIdentifier %>Svg from '../ast/<%= svgIdentifier %>';
44
- import { Icon } from '../Icon';
45
- import { IconBaseProps } from '../types';
38
+ `${preludeTemplate}
39
+ import {forwardRef} from "react";
40
+ import <%= svgIdentifier %>Svg from "../ast/<%= svgIdentifier %>";
41
+ import {Icon} from "../Icon";
42
+ import type {IconBaseProps} from "../types";
46
43
 
47
44
  const <%= svgIdentifier %> = forwardRef<SVGSVGElement, IconBaseProps>(function <%= svgIdentifier %>(
48
45
  props: IconBaseProps,
@@ -53,29 +50,38 @@ export default <%= svgIdentifier %>;
53
50
  `.trim()
54
51
  );
55
52
 
56
- const defTemplate = _.template(template);
53
+ const defTemplate = _.template(`${preludeTemplate}
54
+ import type {IconDefinition} from "../types";
55
+
56
+ const <%= identifier %>: IconDefinition = <%= content %>;
57
+
58
+ export default <%= identifier %>;
59
+ `);
57
60
 
58
61
  const iconsDir = path.join(__dirname, "../src/icons");
59
62
  const iconsSvgPathDir = path.join(iconsDir, "./svg");
60
63
  const iconsReactPathDir = path.join(iconsDir, "./react");
61
64
  const iconsAstPathDir = path.join(iconsDir, "./ast");
62
- const iconPaths = await promisify(glob)("**/*.svg", {cwd: iconsSvgPathDir});
65
+ const pattern = "**/*.svg";
66
+ const icons = await promisify(glob)(pattern, {cwd: iconsSvgPathDir});
63
67
 
64
68
  await fs.remove(iconsReactPathDir);
65
69
  await fs.remove(iconsAstPathDir);
66
- let entryText =
67
- `
68
- // This icon file is generated automatically.
69
- `.trim() + "\n";
70
- for (const iconPath of iconPaths) {
71
- const name = _.upperFirst(_.camelCase(iconPath.replace("/", "-").replace(".svg", "")));
72
- const ast = parse(
73
- svgo.optimize((await readFile(path.join(iconsSvgPathDir, iconPath))).toString(), svgoConfig(name)).data
74
- );
70
+
71
+ const generator = path.relative(iconsReactPathDir, __filename);
72
+ let barrelExportContent = _.template(preludeTemplate)({source: null, generator: generator}) + "\n";
73
+ for (const icon of icons) {
74
+ const name = _.upperFirst(_.camelCase(icon.replace("/", "-").replace(".svg", "")));
75
+ const iconPath = path.join(iconsSvgPathDir, icon);
76
+ const source = path.relative(iconsReactPathDir, iconPath);
77
+
78
+ const ast = parse(svgo.optimize((await readFile(iconPath)).toString(), svgoConfig(name)).data);
75
79
 
76
80
  await fs.outputFile(
77
81
  path.join(iconsAstPathDir, `./${name}.ts`),
78
82
  defTemplate({
83
+ source,
84
+ generator,
79
85
  identifier: name,
80
86
  content: JSON.stringify({
81
87
  icon: recursiveReduce(ast, (node) => {
@@ -107,14 +113,16 @@ for (const iconPath of iconPaths) {
107
113
  await fs.outputFile(
108
114
  path.join(iconsReactPathDir, `${name}.tsx`),
109
115
  render({
116
+ source,
117
+ generator,
110
118
  svgIdentifier: name,
111
119
  })
112
120
  );
113
121
 
114
- entryText += `export { default as ${name} } from './${name}';\n`;
122
+ barrelExportContent += `export {default as ${name}} from "./${name}";\n`;
115
123
  }
116
- await fs.outputFile(path.join(iconsReactPathDir, `./index.tsx`), entryText);
117
- await fs.outputFile(path.join(iconsAstPathDir, `./index.tsx`), entryText);
124
+ await fs.outputFile(path.join(iconsReactPathDir, `./index.tsx`), barrelExportContent);
125
+ await fs.outputFile(path.join(iconsAstPathDir, `./index.tsx`), barrelExportContent);
118
126
 
119
127
  // import {getSvg, iconNames} from "../Icon";
120
128
  //
@@ -0,0 +1 @@
1
+ declare module "*.css" {}
@@ -5,13 +5,13 @@ describe("a11yColor", () => {
5
5
  it("color already passes contrast on light background", () => {
6
6
  // Dark blue on white should already pass
7
7
  const result = a11yColor("#000080", "#ffffff");
8
- expect(result).toMatchInlineSnapshot(`"rgb(0,0,128)"`);
8
+ expect(result).toMatchInlineSnapshot(`"rgb(0, 0, 128)"`);
9
9
  });
10
10
 
11
11
  it("color already passes contrast on dark background", () => {
12
12
  // White on black should already pass
13
13
  const result = a11yColor("#ffffff", "#000000");
14
- expect(result).toMatchInlineSnapshot(`"rgb(255,255,255)"`);
14
+ expect(result).toMatchInlineSnapshot(`"rgb(255, 255, 255)"`);
15
15
  });
16
16
 
17
17
  it("invalid toMakeA11y color is provided", () => {
@@ -39,124 +39,131 @@ describe("a11yColor", () => {
39
39
  it("makes light color darker on white background", () => {
40
40
  // Light yellow on white needs to be darker
41
41
  const result = a11yColor("#ffff00", "#ffffff");
42
- expect(result).toMatchInlineSnapshot(`"rgb(154,154,0)"`);
42
+ expect(result).toMatchInlineSnapshot(`"rgb(154, 154, 0)"`);
43
43
  });
44
44
 
45
45
  it("makes dark color lighter on black background", () => {
46
46
  // Dark blue on black needs to be lighter
47
47
  const result = a11yColor("#000033", "#000000");
48
- expect(result).toMatchInlineSnapshot(`"rgb(49,49,255)"`);
48
+ expect(result).toMatchInlineSnapshot(`"rgb(48, 48, 255)"`);
49
49
  });
50
50
 
51
51
  it("handles medium colors on light backgrounds", () => {
52
52
  // Medium gray on white
53
53
  const result = a11yColor("#808080", "#ffffff");
54
- expect(result).toMatchInlineSnapshot(`"rgb(128,128,128)"`);
54
+ expect(result).toMatchInlineSnapshot(`"rgb(128, 128, 128)"`);
55
55
  });
56
56
 
57
57
  it("handles medium colors on dark backgrounds", () => {
58
58
  // Medium gray on black
59
59
  const result = a11yColor("#808080", "#000000");
60
- expect(result).toMatchInlineSnapshot(`"rgb(128,128,128)"`);
60
+ expect(result).toMatchInlineSnapshot(`"rgb(128, 128, 128)"`);
61
61
  });
62
62
  });
63
63
 
64
64
  describe("respects minimum contrast ratio", () => {
65
65
  it("uses default 3.0 contrast ratio", () => {
66
66
  const result = a11yColor("#cccccc", "#ffffff");
67
- expect(result).toMatchInlineSnapshot(`"rgb(148,148,148)"`);
67
+ expect(result).toMatchInlineSnapshot(`"rgb(149, 149, 149)"`);
68
68
  });
69
69
 
70
70
  it("adjusts for higher contrast ratio (4.5 WCAG AA)", () => {
71
71
  const result = a11yColor("#cccccc", "#ffffff", 4.5);
72
- expect(result).toMatchInlineSnapshot(`"rgb(118,118,118)"`);
72
+ expect(result).toMatchInlineSnapshot(`"rgb(118, 118, 118)"`);
73
73
  });
74
74
 
75
75
  it("adjusts for highest contrast ratio (7.0 WCAG AAA)", () => {
76
76
  const result = a11yColor("#cccccc", "#ffffff", 7.0);
77
- expect(result).toMatchInlineSnapshot(`"rgb(89,89,89)"`);
77
+ expect(result).toMatchInlineSnapshot(`"rgb(89, 89, 89)"`);
78
78
  });
79
79
  });
80
80
 
81
81
  describe("handles various color formats", () => {
82
82
  it("handles 3-digit hex colors", () => {
83
83
  const result = a11yColor("#f00", "#fff");
84
- expect(result).toMatchInlineSnapshot(`"rgb(255,0,0)"`);
84
+ expect(result).toMatchInlineSnapshot(`"rgb(255, 0, 0)"`);
85
85
  });
86
86
 
87
87
  it("handles 6-digit hex colors", () => {
88
88
  const result = a11yColor("#ff0000", "#ffffff");
89
- expect(result).toMatchInlineSnapshot(`"rgb(255,0,0)"`);
89
+ expect(result).toMatchInlineSnapshot(`"rgb(255, 0, 0)"`);
90
+ });
91
+
92
+ it("handles 8-digit hex colors with alpha", () => {
93
+ const result = a11yColor("#ff0000aa", "#aaa");
94
+ const result2 = a11yColor("#ff0000", "#aaa");
95
+ expect(result).toMatchInlineSnapshot(`"rgb(176, 25, 25)"`);
96
+ expect(result2).toMatchInlineSnapshot(`"rgb(182, 0, 0)"`);
90
97
  });
91
98
 
92
99
  it("handles rgb() colors", () => {
93
100
  const result = a11yColor("rgb(255, 0, 0)", "#ffffff");
94
- expect(result).toMatchInlineSnapshot(`"rgb(255,0,0)"`);
101
+ expect(result).toMatchInlineSnapshot(`"rgb(255, 0, 0)"`);
95
102
  });
96
103
 
97
104
  it("handles named colors", () => {
98
105
  const result = a11yColor("red", "white");
99
- expect(result).toMatchInlineSnapshot(`"rgb(255,0,0)"`);
106
+ expect(result).toMatchInlineSnapshot(`"rgb(255, 0, 0)"`);
100
107
  });
101
108
 
102
109
  it("handles hsl() colors", () => {
103
110
  const result = a11yColor("hsl(0, 100%, 50%)", "#ffffff");
104
- expect(result).toMatchInlineSnapshot(`"rgb(255,0,0)"`);
111
+ expect(result).toMatchInlineSnapshot(`"rgb(255, 0, 0)"`);
112
+ });
113
+ });
114
+
115
+ describe("alpha foreground colors", () => {
116
+ it("alpha fg already passing contrast", () => {
117
+ // black at 80% on white → dark gray, passes 3.0
118
+ expect(a11yColor("rgba(0,0,0,0.8)", "#ffffff")).toMatchInlineSnapshot(`"rgb(51, 51, 51)"`);
119
+ });
120
+
121
+ it("alpha fg needing adjustment on white", () => {
122
+ // light gray at 30% on white → very light, fails contrast
123
+ expect(a11yColor("rgba(200,200,200,0.3)", "#ffffff")).toMatchInlineSnapshot(`"rgb(149, 149, 149)"`);
124
+ });
125
+
126
+ it("very low alpha (nearly transparent) on white", () => {
127
+ // red at 10% on white → nearly white, needs heavy adjustment
128
+ expect(a11yColor("rgba(255,0,0,0.1)", "#ffffff")).toMatchInlineSnapshot(`"rgb(255, 93, 93)"`);
129
+ });
130
+
131
+ it("alpha fg on dark bg", () => {
132
+ expect(a11yColor("rgba(255,255,255,0.3)", "#1a1a1a")).toMatchInlineSnapshot(`"rgb(101, 101, 101)"`);
133
+ });
134
+
135
+ it("alpha bg flattened over white", () => {
136
+ expect(a11yColor("#ff0000", "rgba(255,255,255,0.5)")).toMatchInlineSnapshot(`"rgb(255, 0, 0)"`);
137
+ });
138
+
139
+ it("both fg and bg with alpha", () => {
140
+ expect(a11yColor("rgba(100,100,100,0.5)", "rgba(200,200,200,0.8)")).toMatchInlineSnapshot(`"rgb(119, 119, 119)"`);
141
+ });
142
+
143
+ it("real-world: alpha(color, 0.15) on white", () => {
144
+ // common pattern in the codebase
145
+ expect(a11yColor("rgba(73,120,212,0.15)", "#ffffff")).toMatchInlineSnapshot(`"rgb(111, 148, 221)"`);
146
+ });
147
+
148
+ it("real-world: alpha(color, 0.95) on dark bg", () => {
149
+ expect(a11yColor("rgba(73,120,212,0.95)", "#1a1a1a")).toMatchInlineSnapshot(`"rgb(71, 115, 203)"`);
105
150
  });
106
151
  });
107
152
 
108
153
  describe("real-world use cases", () => {
109
154
  it("brand green on white background", () => {
110
155
  const result = a11yColor("#69AC5E", "#ffffff");
111
- expect(result).toMatchInlineSnapshot(`"rgb(96,164,85)"`);
156
+ expect(result).toMatchInlineSnapshot(`"rgb(96, 165, 85)"`);
112
157
  });
113
158
 
114
159
  it("brand blue on white background", () => {
115
160
  const result = a11yColor("#4978D4", "#ffffff");
116
- expect(result).toMatchInlineSnapshot(`"rgb(73,120,212)"`);
161
+ expect(result).toMatchInlineSnapshot(`"rgb(73, 120, 212)"`);
117
162
  });
118
163
 
119
164
  it("light text on dark theme background", () => {
120
165
  const result = a11yColor("#aaaaaa", "#1a1a1a");
121
- expect(result).toMatchInlineSnapshot(`"rgb(170,170,170)"`);
122
- });
123
-
124
- it("card type colors on white", () => {
125
- const cardColors = [
126
- "#F0D0DD",
127
- "#F5D3CA",
128
- "#FAE0B7",
129
- "#FCEAA2",
130
- "#E3ECAB",
131
- "#CFEFC8",
132
- "#C1F3DF",
133
- "#C1EDF5",
134
- "#C1E0F5",
135
- "#C7D6F9",
136
- "#D8D3F5",
137
- "#E8D1EF",
138
- "#E6DFDA",
139
- "#D2D2D2",
140
- "#FFFF8D",
141
- ];
142
-
143
- expect(cardColors.map((color) => a11yColor(color, "#ffffff"))).toEqual([
144
- "rgb(212,120,158)",
145
- "rgb(224,119,91)",
146
- "rgb(207,132,14)",
147
- "rgb(180,145,6)",
148
- "rgb(140,157,36)",
149
- "rgb(71,169,49)",
150
- "rgb(33,169,115)",
151
- "rgb(30,162,186)",
152
- "rgb(57,156,223)",
153
- "rgb(107,146,239)",
154
- "rgb(150,137,228)",
155
- "rgb(189,124,209)",
156
- "rgb(169,144,127)",
157
- "rgb(148,148,148)",
158
- "rgb(154,154,0)",
159
- ]);
166
+ expect(result).toMatchInlineSnapshot(`"rgb(170, 170, 170)"`);
160
167
  });
161
168
  });
162
169
  });
package/src/a11y-color.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  // https://github.com/alex-page/a11ycolor
2
- import {fromHSL, getContrastRatio, getHsl, isValidColor, toCss} from "./color-utils";
2
+ import {Hsl, Rgb, wcagContrast} from "culori";
3
+ import {colorFromUnsafe, cssFromColor, flattenAlpha, hslFrom, isValidColor, rgbFrom} from "./color-utils";
3
4
 
4
5
  class LRUCache<TKey, TValue> {
5
6
  #capacity: number;
@@ -37,6 +38,11 @@ class LRUCache<TKey, TValue> {
37
38
 
38
39
  const cache = new LRUCache<string, string>(5000);
39
40
 
41
+ const white: Rgb = {mode: "rgb", r: 1, g: 1, b: 1};
42
+ const black: Rgb = {mode: "rgb", r: 0, g: 0, b: 0};
43
+
44
+ const hasAlpha = (color: {alpha?: number}) => color.alpha !== undefined && color.alpha < 1;
45
+
40
46
  const checkColor = (colorValue: string) => {
41
47
  if (colorValue === "transparent") {
42
48
  return false;
@@ -44,43 +50,42 @@ const checkColor = (colorValue: string) => {
44
50
  return isValidColor(colorValue);
45
51
  };
46
52
 
47
- /**
48
- * Find the nearest accessible color
49
- *
50
- * @param {string} toMakeA11y - The color that is to be changed
51
- * @param {string} background - The background color to for the contrast
52
- * * @param {string} minimumContrast - The WCAG 2.1 contrast ratio
53
- *
54
- * @return {string} - The closest hex color for `toMakeA11y` on `background`
55
- */
56
- export function a11yColor(toMakeA11y: string, background: string, minimumContrast = 3.0): string {
57
- const key = toMakeA11y + background + minimumContrast;
53
+ export function a11yColor(fg: string, bg: string, minimumContrast = 3.0): string {
54
+ const key = fg + bg + minimumContrast;
58
55
  if (cache.has(key)) {
59
56
  return cache.get(key)!;
60
57
  }
61
- if (!checkColor(toMakeA11y) || !checkColor(background)) {
62
- cache.put(key, toMakeA11y);
63
- return toMakeA11y;
58
+ if (!checkColor(fg) || !checkColor(bg)) {
59
+ cache.put(key, fg);
60
+ return fg;
64
61
  }
65
62
 
66
- if (minimumContrast < 0 && minimumContrast > 21) {
63
+ if (minimumContrast < 0 || minimumContrast > 21) {
67
64
  throw new Error(`Minimum contrast must be a number between 0 and 21. It was ${minimumContrast}`);
68
65
  }
69
66
 
70
- // Check the ratio straight away, if it passes return the value as hex
71
- if (getContrastRatio(background, toMakeA11y) >= minimumContrast) {
72
- const val = toCss(toMakeA11y);
73
- cache.put(key, val);
74
- return val;
67
+ const fgColor = colorFromUnsafe(fg);
68
+ const bgColor = colorFromUnsafe(bg);
69
+
70
+ // Flatten alpha to get the effective opaque colors the user sees on screen
71
+ const effectiveBg = hasAlpha(bgColor) ? flattenAlpha(bgColor, white) : bgColor;
72
+ const effectiveFg = hasAlpha(fgColor) ? flattenAlpha(fgColor, effectiveBg) : fgColor;
73
+
74
+ // Check the ratio straight away, if it passes return the value as-is
75
+ if (wcagContrast(effectiveBg, effectiveFg) >= minimumContrast) {
76
+ const effectiveFgCss = cssFromColor(rgbFrom(effectiveFg));
77
+ cache.put(key, effectiveFgCss);
78
+ return effectiveFgCss;
75
79
  }
76
80
 
77
- // Ratio didn't pass so we need to find the nearest color
78
- const a11yHSL = getHsl(toMakeA11y);
79
- const a11yLightness = a11yHSL[2] * 100;
81
+ // Ratio didn't pass binary search on HSL lightness of the effective fg
82
+ const {h = 0, s = 0, l = 0} = hslFrom(effectiveFg);
83
+
84
+ const a11yLightness = l * 100;
80
85
  const minHexDiff = 100 / 255; // 255 Colors / 100% HSL
81
86
 
82
- const isBlackBgContrast = getContrastRatio(background, "#000") >= minimumContrast;
83
- const isWhiteBgContrast = getContrastRatio(background, "#FFF") >= minimumContrast;
87
+ const isBlackBgContrast = wcagContrast(effectiveBg, black) >= minimumContrast;
88
+ const isWhiteBgContrast = wcagContrast(effectiveBg, white) >= minimumContrast;
84
89
  let minLightness = 0;
85
90
  let maxLightness = 100;
86
91
  let isDarkColor = false;
@@ -104,25 +109,22 @@ export function a11yColor(toMakeA11y: string, background: string, minimumContras
104
109
  minLightness = a11yLightness;
105
110
  }
106
111
 
107
- // The colour to return
108
- let foundColor;
112
+ let res: Hsl | undefined;
109
113
 
110
114
  // Binary search until we find the colour that meets contrast
111
- while (!foundColor) {
115
+ while (!res) {
112
116
  const midLightness = (minLightness + maxLightness) / 2;
113
- const midA11yHex = fromHSL(a11yHSL[0], a11yHSL[1], midLightness / 100);
117
+ const midColor: Hsl = {mode: "hsl", h, s, l: midLightness / 100};
114
118
 
115
119
  // Give up if we are stuck
116
120
  if (Math.abs(maxLightness - minLightness) < 0.01) {
117
- foundColor = midA11yHex;
121
+ res = midColor;
118
122
  break;
119
123
  }
120
124
 
121
- // The colour meets contrast
122
- if (getContrastRatio(midA11yHex, background) >= minimumContrast) {
123
- // It is the minimal lightness range for one hexadecimal
125
+ if (wcagContrast(midColor, effectiveBg) >= minimumContrast) {
124
126
  if (maxLightness - minLightness <= minHexDiff) {
125
- foundColor = midA11yHex;
127
+ res = midColor;
126
128
  } else if (isDarkColor) {
127
129
  // If it is going to be a dark color move the min to mid
128
130
  minLightness = midLightness;
@@ -138,6 +140,7 @@ export function a11yColor(toMakeA11y: string, background: string, minimumContras
138
140
  minLightness = midLightness;
139
141
  }
140
142
  }
141
- cache.put(key, foundColor);
142
- return foundColor;
143
+ const foundColorCss = cssFromColor(res);
144
+ cache.put(key, foundColorCss);
145
+ return foundColorCss;
143
146
  }