@fibery/ui-kit 1.29.5 → 1.31.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 (316) hide show
  1. package/package.json +5 -5
  2. package/src/button/actions-button-compact.tsx +3 -3
  3. package/src/button/actions-button.tsx +5 -5
  4. package/src/button/button.tsx +40 -4
  5. package/src/design-system.ts +83 -7
  6. package/src/emoji-picker/emoji-picker-content-with-color.tsx +4 -11
  7. package/src/emoji-picker/primitives/category-label.tsx +4 -4
  8. package/src/emoji-picker/primitives/grid-item.tsx +2 -5
  9. package/src/emoji-picker/primitives/search.tsx +8 -8
  10. package/src/emoji-picker/primitives/skin-tone.tsx +2 -2
  11. package/src/emoji-picker/use-emoji-found.tsx +6 -0
  12. package/src/error-alert/error-alert.tsx +3 -3
  13. package/src/icon-button.tsx +1 -1
  14. package/src/icons/Icon.tsx +58 -49
  15. package/src/icons/ast/PinFilled.ts +8 -0
  16. package/src/icons/ast/index.tsx +1 -0
  17. package/src/icons/react/Abort.tsx +4 -3
  18. package/src/icons/react/Activity.tsx +4 -3
  19. package/src/icons/react/ActivityLog.tsx +4 -3
  20. package/src/icons/react/Add.tsx +4 -3
  21. package/src/icons/react/AddAfter.tsx +4 -3
  22. package/src/icons/react/AddBefore.tsx +4 -3
  23. package/src/icons/react/AddCompact.tsx +4 -3
  24. package/src/icons/react/AddGroup.tsx +4 -3
  25. package/src/icons/react/AddReactions.tsx +4 -3
  26. package/src/icons/react/AiAssistant.tsx +4 -3
  27. package/src/icons/react/AiAvatar.tsx +4 -3
  28. package/src/icons/react/AlertTriangle.tsx +4 -3
  29. package/src/icons/react/App.tsx +4 -3
  30. package/src/icons/react/AppDetails.tsx +4 -3
  31. package/src/icons/react/AppStore.tsx +4 -3
  32. package/src/icons/react/AppStoreOneColor.tsx +4 -3
  33. package/src/icons/react/AppTemplates.tsx +4 -3
  34. package/src/icons/react/AppWebhooks.tsx +4 -3
  35. package/src/icons/react/AppWiki.tsx +4 -3
  36. package/src/icons/react/ArrowBarLeft.tsx +4 -3
  37. package/src/icons/react/ArrowBarRight.tsx +4 -3
  38. package/src/icons/react/ArrowBottom.tsx +4 -3
  39. package/src/icons/react/ArrowCollapse.tsx +4 -3
  40. package/src/icons/react/ArrowCollapseVertical.tsx +4 -3
  41. package/src/icons/react/ArrowForward.tsx +4 -3
  42. package/src/icons/react/ArrowLeft.tsx +4 -3
  43. package/src/icons/react/ArrowRight.tsx +4 -3
  44. package/src/icons/react/ArrowTop.tsx +4 -3
  45. package/src/icons/react/AskForInput.tsx +4 -3
  46. package/src/icons/react/Atom.tsx +4 -3
  47. package/src/icons/react/AutomationsCancelled.tsx +4 -3
  48. package/src/icons/react/AutomationsDisabled.tsx +4 -3
  49. package/src/icons/react/AutomationsError.tsx +4 -3
  50. package/src/icons/react/AutomationsInProgress.tsx +4 -3
  51. package/src/icons/react/AutomationsNotStarted.tsx +4 -3
  52. package/src/icons/react/AutomationsSuccess.tsx +4 -3
  53. package/src/icons/react/Back.tsx +4 -3
  54. package/src/icons/react/BacklogIcon.tsx +4 -3
  55. package/src/icons/react/BatchActionsIcon.tsx +4 -3
  56. package/src/icons/react/BellCircle.tsx +4 -3
  57. package/src/icons/react/BellFilled.tsx +4 -3
  58. package/src/icons/react/BellOff.tsx +4 -3
  59. package/src/icons/react/BellRinging.tsx +4 -3
  60. package/src/icons/react/BellX.tsx +4 -3
  61. package/src/icons/react/Bolt.tsx +4 -3
  62. package/src/icons/react/Cards.tsx +4 -3
  63. package/src/icons/react/Chat.tsx +4 -3
  64. package/src/icons/react/ChatAi.tsx +4 -3
  65. package/src/icons/react/CheckCircle.tsx +4 -3
  66. package/src/icons/react/CheckCircleFilled.tsx +4 -3
  67. package/src/icons/react/Checked.tsx +4 -3
  68. package/src/icons/react/Clear.tsx +4 -3
  69. package/src/icons/react/ClearValue.tsx +4 -3
  70. package/src/icons/react/Clock.tsx +4 -3
  71. package/src/icons/react/ClockAlarm.tsx +4 -3
  72. package/src/icons/react/ClockForward.tsx +4 -3
  73. package/src/icons/react/Close.tsx +4 -3
  74. package/src/icons/react/ColorCoding.tsx +4 -3
  75. package/src/icons/react/ColorCodingFilled.tsx +4 -3
  76. package/src/icons/react/Columns.tsx +4 -3
  77. package/src/icons/react/Columns2.tsx +4 -3
  78. package/src/icons/react/Columns4.tsx +4 -3
  79. package/src/icons/react/Copy.tsx +4 -3
  80. package/src/icons/react/Database.tsx +4 -3
  81. package/src/icons/react/DatabaseStroke.tsx +4 -3
  82. package/src/icons/react/Delete.tsx +4 -3
  83. package/src/icons/react/Demo.tsx +4 -3
  84. package/src/icons/react/DoubleArrowLeft.tsx +4 -3
  85. package/src/icons/react/DoubleArrowRight.tsx +4 -3
  86. package/src/icons/react/DragBlockHandle.tsx +4 -3
  87. package/src/icons/react/DragBlockHandleSingle.tsx +4 -3
  88. package/src/icons/react/DragHandle.tsx +4 -3
  89. package/src/icons/react/DynamicFilterValue.tsx +4 -3
  90. package/src/icons/react/Email.tsx +4 -3
  91. package/src/icons/react/EmojiDelete.tsx +4 -3
  92. package/src/icons/react/Export.tsx +4 -3
  93. package/src/icons/react/ExtensionAssignments.tsx +4 -3
  94. package/src/icons/react/ExtensionAvatar.tsx +4 -3
  95. package/src/icons/react/ExtensionComments.tsx +4 -3
  96. package/src/icons/react/ExtensionFiles.tsx +4 -3
  97. package/src/icons/react/ExtensionReferences.tsx +4 -3
  98. package/src/icons/react/ExtensionWorkflow.tsx +4 -3
  99. package/src/icons/react/Eye.tsx +4 -3
  100. package/src/icons/react/Favorites.tsx +4 -3
  101. package/src/icons/react/FavoritesChecked.tsx +4 -3
  102. package/src/icons/react/FavoritesOff.tsx +4 -3
  103. package/src/icons/react/FiberyMono.tsx +4 -3
  104. package/src/icons/react/FieldUnit.tsx +4 -3
  105. package/src/icons/react/Fields.tsx +4 -3
  106. package/src/icons/react/Figma.tsx +4 -3
  107. package/src/icons/react/FileUpload.tsx +4 -3
  108. package/src/icons/react/Filter.tsx +4 -3
  109. package/src/icons/react/FocusMode.tsx +4 -3
  110. package/src/icons/react/FocusModeOff.tsx +4 -3
  111. package/src/icons/react/FormWithCover.tsx +4 -3
  112. package/src/icons/react/FormWithoutCover.tsx +4 -3
  113. package/src/icons/react/Github.tsx +4 -3
  114. package/src/icons/react/Gitlab.tsx +4 -3
  115. package/src/icons/react/Globe.tsx +4 -3
  116. package/src/icons/react/GlobeSimple.tsx +4 -3
  117. package/src/icons/react/GoogleDrive.tsx +4 -3
  118. package/src/icons/react/GoogleMap.tsx +4 -3
  119. package/src/icons/react/Headphones.tsx +4 -3
  120. package/src/icons/react/HeadphonesAi.tsx +4 -3
  121. package/src/icons/react/Hide.tsx +4 -3
  122. package/src/icons/react/Highlights.tsx +4 -3
  123. package/src/icons/react/Hint.tsx +4 -3
  124. package/src/icons/react/Home.tsx +4 -3
  125. package/src/icons/react/ImageXmark.tsx +4 -3
  126. package/src/icons/react/Import.tsx +4 -3
  127. package/src/icons/react/InfoCircle.tsx +4 -3
  128. package/src/icons/react/InfoCircleFilled.tsx +4 -3
  129. package/src/icons/react/Integration.tsx +4 -3
  130. package/src/icons/react/IntegrationsIntegrationDiscourseColor.tsx +4 -3
  131. package/src/icons/react/IntegrationsIntegrationIntercomColor.tsx +4 -3
  132. package/src/icons/react/IntegrationsIntegrationSlackColor.tsx +4 -3
  133. package/src/icons/react/IntegrationsIntegrationZendeskColor.tsx +4 -3
  134. package/src/icons/react/InvitePeople.tsx +4 -3
  135. package/src/icons/react/Items.tsx +4 -3
  136. package/src/icons/react/Jira.tsx +4 -3
  137. package/src/icons/react/Key.tsx +4 -3
  138. package/src/icons/react/Lab.tsx +4 -3
  139. package/src/icons/react/LayoutDouble.tsx +4 -3
  140. package/src/icons/react/LayoutSingle.tsx +4 -3
  141. package/src/icons/react/LeftPanel.tsx +4 -3
  142. package/src/icons/react/Levels.tsx +4 -3
  143. package/src/icons/react/LineDivider.tsx +4 -3
  144. package/src/icons/react/Link.tsx +4 -3
  145. package/src/icons/react/Lock.tsx +4 -3
  146. package/src/icons/react/Loom.tsx +4 -3
  147. package/src/icons/react/MenuCollapser.tsx +4 -3
  148. package/src/icons/react/MessagePlusSquare.tsx +4 -3
  149. package/src/icons/react/Milestones.tsx +4 -3
  150. package/src/icons/react/Minus.tsx +4 -3
  151. package/src/icons/react/Miro.tsx +4 -3
  152. package/src/icons/react/MirrorOff.tsx +4 -3
  153. package/src/icons/react/MirrorOn.tsx +4 -3
  154. package/src/icons/react/Mixpanel.tsx +4 -3
  155. package/src/icons/react/Monitor.tsx +4 -3
  156. package/src/icons/react/More.tsx +4 -3
  157. package/src/icons/react/MoreCompact.tsx +4 -3
  158. package/src/icons/react/MoveBottom.tsx +4 -3
  159. package/src/icons/react/MoveLeft.tsx +4 -3
  160. package/src/icons/react/MoveRight.tsx +4 -3
  161. package/src/icons/react/MoveTop.tsx +4 -3
  162. package/src/icons/react/MySpace.tsx +4 -3
  163. package/src/icons/react/Network.tsx +4 -3
  164. package/src/icons/react/NetworkAdd.tsx +4 -3
  165. package/src/icons/react/Notifications.tsx +4 -3
  166. package/src/icons/react/ObjChild.tsx +4 -3
  167. package/src/icons/react/ObjM2M.tsx +4 -3
  168. package/src/icons/react/ObjO2O.tsx +4 -3
  169. package/src/icons/react/ObjParent.tsx +4 -3
  170. package/src/icons/react/ObjSelf.tsx +4 -3
  171. package/src/icons/react/OnSchedule.tsx +4 -3
  172. package/src/icons/react/OpenAsPage.tsx +4 -3
  173. package/src/icons/react/PageRegularMode.tsx +4 -3
  174. package/src/icons/react/PageWideMode.tsx +4 -3
  175. package/src/icons/react/Pencil.tsx +4 -3
  176. package/src/icons/react/People.tsx +4 -3
  177. package/src/icons/react/Photo.tsx +4 -3
  178. package/src/icons/react/Pin.tsx +4 -3
  179. package/src/icons/react/PinFilled.tsx +13 -0
  180. package/src/icons/react/Popup.tsx +4 -3
  181. package/src/icons/react/Posts.tsx +4 -3
  182. package/src/icons/react/Question.tsx +4 -3
  183. package/src/icons/react/Refresh.tsx +4 -3
  184. package/src/icons/react/Remove.tsx +4 -3
  185. package/src/icons/react/RemovePeople.tsx +4 -3
  186. package/src/icons/react/Reply.tsx +4 -3
  187. package/src/icons/react/Restore.tsx +4 -3
  188. package/src/icons/react/RicheditorActionsMore.tsx +4 -3
  189. package/src/icons/react/RicheditorBlockCallout.tsx +4 -3
  190. package/src/icons/react/RicheditorBlockCode.tsx +4 -3
  191. package/src/icons/react/RicheditorBlockEmbed.tsx +4 -3
  192. package/src/icons/react/RicheditorBlockEntity.tsx +4 -3
  193. package/src/icons/react/RicheditorBlockFile.tsx +4 -3
  194. package/src/icons/react/RicheditorBlockH1.tsx +4 -3
  195. package/src/icons/react/RicheditorBlockH2.tsx +4 -3
  196. package/src/icons/react/RicheditorBlockH3.tsx +4 -3
  197. package/src/icons/react/RicheditorBlockH4.tsx +4 -3
  198. package/src/icons/react/RicheditorBlockMention.tsx +4 -3
  199. package/src/icons/react/RicheditorBlockParagraph.tsx +4 -3
  200. package/src/icons/react/RicheditorBlockQuote.tsx +4 -3
  201. package/src/icons/react/RicheditorChecklistCreate.tsx +4 -3
  202. package/src/icons/react/RicheditorCommentCreate.tsx +4 -3
  203. package/src/icons/react/RicheditorEntityLinkCreate.tsx +4 -3
  204. package/src/icons/react/RicheditorHistoryRedo.tsx +4 -3
  205. package/src/icons/react/RicheditorHistoryUndo.tsx +4 -3
  206. package/src/icons/react/RicheditorImageAlignCenter.tsx +4 -3
  207. package/src/icons/react/RicheditorImageAlignLeft.tsx +4 -3
  208. package/src/icons/react/RicheditorImageAlignRight.tsx +4 -3
  209. package/src/icons/react/RicheditorImageUpload.tsx +4 -3
  210. package/src/icons/react/RicheditorImageWrapCenter.tsx +4 -3
  211. package/src/icons/react/RicheditorImageWrapLeft.tsx +4 -3
  212. package/src/icons/react/RicheditorImageWrapRight.tsx +4 -3
  213. package/src/icons/react/RicheditorImageZoom.tsx +4 -3
  214. package/src/icons/react/RicheditorLinkCreate.tsx +4 -3
  215. package/src/icons/react/RicheditorLinkedhighlightCreate.tsx +4 -3
  216. package/src/icons/react/RicheditorListBullet.tsx +4 -3
  217. package/src/icons/react/RicheditorListIndent.tsx +4 -3
  218. package/src/icons/react/RicheditorListOrdered.tsx +4 -3
  219. package/src/icons/react/RicheditorListUnindent.tsx +4 -3
  220. package/src/icons/react/RicheditorMarkCode.tsx +4 -3
  221. package/src/icons/react/RicheditorMarkEm.tsx +4 -3
  222. package/src/icons/react/RicheditorMarkStrike.tsx +4 -3
  223. package/src/icons/react/RicheditorMarkStrong.tsx +4 -3
  224. package/src/icons/react/RicheditorMarkTextBackgroundColor.tsx +4 -3
  225. package/src/icons/react/RicheditorMarkUnderline.tsx +4 -3
  226. package/src/icons/react/RicheditorOpenLink.tsx +4 -3
  227. package/src/icons/react/RicheditorTableCreate.tsx +4 -3
  228. package/src/icons/react/RicheditorUnlink.tsx +4 -3
  229. package/src/icons/react/RicheditorVideoUpload.tsx +4 -3
  230. package/src/icons/react/RightPanel.tsx +4 -3
  231. package/src/icons/react/Rows.tsx +4 -3
  232. package/src/icons/react/Search.tsx +4 -3
  233. package/src/icons/react/SelfReferenceOff.tsx +4 -3
  234. package/src/icons/react/SelfReferenceOn.tsx +4 -3
  235. package/src/icons/react/SendArrow.tsx +4 -3
  236. package/src/icons/react/Settings.tsx +4 -3
  237. package/src/icons/react/Share.tsx +4 -3
  238. package/src/icons/react/Shared.tsx +4 -3
  239. package/src/icons/react/ShieldKeyhole.tsx +4 -3
  240. package/src/icons/react/Sidebar.tsx +4 -3
  241. package/src/icons/react/SidebarFields.tsx +4 -3
  242. package/src/icons/react/SidebarFieldsOpened.tsx +4 -3
  243. package/src/icons/react/SimpleCompass.tsx +4 -3
  244. package/src/icons/react/Slack.tsx +4 -3
  245. package/src/icons/react/SlackIcon.tsx +4 -3
  246. package/src/icons/react/SlideMenu.tsx +4 -3
  247. package/src/icons/react/SlideMenuOpened.tsx +4 -3
  248. package/src/icons/react/SmartFolder.tsx +4 -3
  249. package/src/icons/react/Sort.tsx +4 -3
  250. package/src/icons/react/SortOnBottom.tsx +4 -3
  251. package/src/icons/react/SortOnTop.tsx +4 -3
  252. package/src/icons/react/Spinner.tsx +4 -3
  253. package/src/icons/react/Success.tsx +4 -3
  254. package/src/icons/react/Templates.tsx +4 -3
  255. package/src/icons/react/Terminal.tsx +4 -3
  256. package/src/icons/react/Twitter.tsx +4 -3
  257. package/src/icons/react/TypeBoolean.tsx +4 -3
  258. package/src/icons/react/TypeButton.tsx +4 -3
  259. package/src/icons/react/TypeCheckbox.tsx +4 -3
  260. package/src/icons/react/TypeDate.tsx +4 -3
  261. package/src/icons/react/TypeEmail.tsx +4 -3
  262. package/src/icons/react/TypeEmoji.tsx +4 -3
  263. package/src/icons/react/TypeFormula.tsx +4 -3
  264. package/src/icons/react/TypeFunction.tsx +4 -3
  265. package/src/icons/react/TypeLocation.tsx +4 -3
  266. package/src/icons/react/TypeLookup.tsx +4 -3
  267. package/src/icons/react/TypeMoney.tsx +4 -3
  268. package/src/icons/react/TypeMultiSelect.tsx +4 -3
  269. package/src/icons/react/TypeNumber.tsx +4 -3
  270. package/src/icons/react/TypePercent.tsx +4 -3
  271. package/src/icons/react/TypePhone.tsx +4 -3
  272. package/src/icons/react/TypeRelation.tsx +4 -3
  273. package/src/icons/react/TypeRichText.tsx +4 -3
  274. package/src/icons/react/TypeRule.tsx +4 -3
  275. package/src/icons/react/TypeSingleSelect.tsx +4 -3
  276. package/src/icons/react/TypeText.tsx +4 -3
  277. package/src/icons/react/TypeUrl.tsx +4 -3
  278. package/src/icons/react/UnitsAvatar.tsx +4 -3
  279. package/src/icons/react/UnitsCollection.tsx +4 -3
  280. package/src/icons/react/UnitsCounter.tsx +4 -3
  281. package/src/icons/react/UnitsDbBadgeAbbr.tsx +4 -3
  282. package/src/icons/react/UnitsDbBadgeFull.tsx +4 -3
  283. package/src/icons/react/UnitsDbIcon.tsx +4 -3
  284. package/src/icons/react/UnitsField.tsx +4 -3
  285. package/src/icons/react/UnitsInput.tsx +4 -3
  286. package/src/icons/react/UnitsProgressBar.tsx +4 -3
  287. package/src/icons/react/UnitsRichText.tsx +4 -3
  288. package/src/icons/react/UnitsSnippet.tsx +4 -3
  289. package/src/icons/react/Upgrade.tsx +4 -3
  290. package/src/icons/react/UsbFlashDrive.tsx +4 -3
  291. package/src/icons/react/UserRole.tsx +4 -3
  292. package/src/icons/react/ViewBoard.tsx +4 -3
  293. package/src/icons/react/ViewCalendar.tsx +4 -3
  294. package/src/icons/react/ViewCanvas.tsx +4 -3
  295. package/src/icons/react/ViewChart.tsx +4 -3
  296. package/src/icons/react/ViewDetails.tsx +4 -3
  297. package/src/icons/react/ViewDocument.tsx +4 -3
  298. package/src/icons/react/ViewFeed.tsx +4 -3
  299. package/src/icons/react/ViewForm.tsx +4 -3
  300. package/src/icons/react/ViewList.tsx +4 -3
  301. package/src/icons/react/ViewMap.tsx +4 -3
  302. package/src/icons/react/ViewPage.tsx +4 -3
  303. package/src/icons/react/ViewTable.tsx +4 -3
  304. package/src/icons/react/ViewTimeline.tsx +4 -3
  305. package/src/icons/react/Views.tsx +4 -3
  306. package/src/icons/react/Warning.tsx +4 -3
  307. package/src/icons/react/WarningTriangle.tsx +4 -3
  308. package/src/icons/react/Youtube.tsx +4 -3
  309. package/src/icons/react/index.tsx +1 -0
  310. package/src/icons/types.ts +12 -8
  311. package/src/loaders.tsx +1 -1
  312. package/src/select/custom-select-partials/clear-indicator.tsx +5 -4
  313. package/src/select/select-in-popover.tsx +21 -7
  314. package/src/toast/primitives.tsx +3 -3
  315. package/src/toggle-on-off.tsx +4 -4
  316. package/src/button/icon-button.tsx +0 -49
@@ -1,12 +1,13 @@
1
1
  // This icon file is generated automatically.
2
2
 
3
+ import {forwardRef} from 'react';
3
4
  import ViewListSvg from '../ast/ViewList';
4
5
  import { Icon } from '../Icon';
5
6
  import { IconBaseProps } from '../types';
6
7
 
7
- const ViewList = (
8
+ const ViewList = forwardRef<SVGSVGElement, IconBaseProps>(function ViewList(
8
9
  props: IconBaseProps,
9
- ): JSX.Element => <Icon {...props} icon={ViewListSvg} />;
10
+ ref: React.Ref<SVGSVGElement>
11
+ ) {return <Icon {...props} className={props.className} ref={ref} icon={ViewListSvg} />});
10
12
 
11
- ViewList.displayName = 'ViewList';
12
13
  export default ViewList;
@@ -1,12 +1,13 @@
1
1
  // This icon file is generated automatically.
2
2
 
3
+ import {forwardRef} from 'react';
3
4
  import ViewMapSvg from '../ast/ViewMap';
4
5
  import { Icon } from '../Icon';
5
6
  import { IconBaseProps } from '../types';
6
7
 
7
- const ViewMap = (
8
+ const ViewMap = forwardRef<SVGSVGElement, IconBaseProps>(function ViewMap(
8
9
  props: IconBaseProps,
9
- ): JSX.Element => <Icon {...props} icon={ViewMapSvg} />;
10
+ ref: React.Ref<SVGSVGElement>
11
+ ) {return <Icon {...props} className={props.className} ref={ref} icon={ViewMapSvg} />});
10
12
 
11
- ViewMap.displayName = 'ViewMap';
12
13
  export default ViewMap;
@@ -1,12 +1,13 @@
1
1
  // This icon file is generated automatically.
2
2
 
3
+ import {forwardRef} from 'react';
3
4
  import ViewPageSvg from '../ast/ViewPage';
4
5
  import { Icon } from '../Icon';
5
6
  import { IconBaseProps } from '../types';
6
7
 
7
- const ViewPage = (
8
+ const ViewPage = forwardRef<SVGSVGElement, IconBaseProps>(function ViewPage(
8
9
  props: IconBaseProps,
9
- ): JSX.Element => <Icon {...props} icon={ViewPageSvg} />;
10
+ ref: React.Ref<SVGSVGElement>
11
+ ) {return <Icon {...props} className={props.className} ref={ref} icon={ViewPageSvg} />});
10
12
 
11
- ViewPage.displayName = 'ViewPage';
12
13
  export default ViewPage;
@@ -1,12 +1,13 @@
1
1
  // This icon file is generated automatically.
2
2
 
3
+ import {forwardRef} from 'react';
3
4
  import ViewTableSvg from '../ast/ViewTable';
4
5
  import { Icon } from '../Icon';
5
6
  import { IconBaseProps } from '../types';
6
7
 
7
- const ViewTable = (
8
+ const ViewTable = forwardRef<SVGSVGElement, IconBaseProps>(function ViewTable(
8
9
  props: IconBaseProps,
9
- ): JSX.Element => <Icon {...props} icon={ViewTableSvg} />;
10
+ ref: React.Ref<SVGSVGElement>
11
+ ) {return <Icon {...props} className={props.className} ref={ref} icon={ViewTableSvg} />});
10
12
 
11
- ViewTable.displayName = 'ViewTable';
12
13
  export default ViewTable;
@@ -1,12 +1,13 @@
1
1
  // This icon file is generated automatically.
2
2
 
3
+ import {forwardRef} from 'react';
3
4
  import ViewTimelineSvg from '../ast/ViewTimeline';
4
5
  import { Icon } from '../Icon';
5
6
  import { IconBaseProps } from '../types';
6
7
 
7
- const ViewTimeline = (
8
+ const ViewTimeline = forwardRef<SVGSVGElement, IconBaseProps>(function ViewTimeline(
8
9
  props: IconBaseProps,
9
- ): JSX.Element => <Icon {...props} icon={ViewTimelineSvg} />;
10
+ ref: React.Ref<SVGSVGElement>
11
+ ) {return <Icon {...props} className={props.className} ref={ref} icon={ViewTimelineSvg} />});
10
12
 
11
- ViewTimeline.displayName = 'ViewTimeline';
12
13
  export default ViewTimeline;
@@ -1,12 +1,13 @@
1
1
  // This icon file is generated automatically.
2
2
 
3
+ import {forwardRef} from 'react';
3
4
  import ViewsSvg from '../ast/Views';
4
5
  import { Icon } from '../Icon';
5
6
  import { IconBaseProps } from '../types';
6
7
 
7
- const Views = (
8
+ const Views = forwardRef<SVGSVGElement, IconBaseProps>(function Views(
8
9
  props: IconBaseProps,
9
- ): JSX.Element => <Icon {...props} icon={ViewsSvg} />;
10
+ ref: React.Ref<SVGSVGElement>
11
+ ) {return <Icon {...props} className={props.className} ref={ref} icon={ViewsSvg} />});
10
12
 
11
- Views.displayName = 'Views';
12
13
  export default Views;
@@ -1,12 +1,13 @@
1
1
  // This icon file is generated automatically.
2
2
 
3
+ import {forwardRef} from 'react';
3
4
  import WarningSvg from '../ast/Warning';
4
5
  import { Icon } from '../Icon';
5
6
  import { IconBaseProps } from '../types';
6
7
 
7
- const Warning = (
8
+ const Warning = forwardRef<SVGSVGElement, IconBaseProps>(function Warning(
8
9
  props: IconBaseProps,
9
- ): JSX.Element => <Icon {...props} icon={WarningSvg} />;
10
+ ref: React.Ref<SVGSVGElement>
11
+ ) {return <Icon {...props} className={props.className} ref={ref} icon={WarningSvg} />});
10
12
 
11
- Warning.displayName = 'Warning';
12
13
  export default Warning;
@@ -1,12 +1,13 @@
1
1
  // This icon file is generated automatically.
2
2
 
3
+ import {forwardRef} from 'react';
3
4
  import WarningTriangleSvg from '../ast/WarningTriangle';
4
5
  import { Icon } from '../Icon';
5
6
  import { IconBaseProps } from '../types';
6
7
 
7
- const WarningTriangle = (
8
+ const WarningTriangle = forwardRef<SVGSVGElement, IconBaseProps>(function WarningTriangle(
8
9
  props: IconBaseProps,
9
- ): JSX.Element => <Icon {...props} icon={WarningTriangleSvg} />;
10
+ ref: React.Ref<SVGSVGElement>
11
+ ) {return <Icon {...props} className={props.className} ref={ref} icon={WarningTriangleSvg} />});
10
12
 
11
- WarningTriangle.displayName = 'WarningTriangle';
12
13
  export default WarningTriangle;
@@ -1,12 +1,13 @@
1
1
  // This icon file is generated automatically.
2
2
 
3
+ import {forwardRef} from 'react';
3
4
  import YoutubeSvg from '../ast/Youtube';
4
5
  import { Icon } from '../Icon';
5
6
  import { IconBaseProps } from '../types';
6
7
 
7
- const Youtube = (
8
+ const Youtube = forwardRef<SVGSVGElement, IconBaseProps>(function Youtube(
8
9
  props: IconBaseProps,
9
- ): JSX.Element => <Icon {...props} icon={YoutubeSvg} />;
10
+ ref: React.Ref<SVGSVGElement>
11
+ ) {return <Icon {...props} className={props.className} ref={ref} icon={YoutubeSvg} />});
10
12
 
11
- Youtube.displayName = 'Youtube';
12
13
  export default Youtube;
@@ -160,6 +160,7 @@ export { default as PageWideMode } from './PageWideMode';
160
160
  export { default as Pencil } from './Pencil';
161
161
  export { default as People } from './People';
162
162
  export { default as Photo } from './Photo';
163
+ export { default as PinFilled } from './PinFilled';
163
164
  export { default as Pin } from './Pin';
164
165
  export { default as Popup } from './Popup';
165
166
  export { default as Posts } from './Posts';
@@ -1,3 +1,5 @@
1
+ import {SVGProps} from "react";
2
+
1
3
  export interface AbstractNode {
2
4
  type: string;
3
5
  tagName?: string;
@@ -13,17 +15,19 @@ export interface IconDefinition {
13
15
  icon: AbstractNode;
14
16
  }
15
17
 
16
- export type IconBaseProps = {
17
- color?: string | null;
18
+ export type IconBaseProps = Omit<SVGProps<SVGSVGElement>, "ref" | "color"> & {
19
+ /**
20
+ * Use when you need icon container to occupy more or less space (e.g. for visual alignment).
21
+ *
22
+ * NOTE: containerSize uses margins to shift the icon.
23
+ * If you need to add background color to icon consider using regular padding instead or wrap the icon in a colored div
24
+ */
18
25
  containerSize?: number;
19
- viewBox?: string;
20
26
  iconSize?: number;
21
- onMouseDown?: () => void;
22
- onMouseEnter?: () => void;
23
- onMouseLeave?: () => void;
27
+ /** Pass null to inherit parent's color */
28
+ color?: string | null | undefined;
24
29
  };
25
30
 
26
31
  export type IconProps = IconBaseProps & {
27
- icon: IconDefinition;
28
- children?: JSX.Element;
32
+ icon?: IconDefinition;
29
33
  };
package/src/loaders.tsx CHANGED
@@ -141,7 +141,7 @@ export const LoadingTreeMenuItem = ({
141
141
  children,
142
142
  }: {
143
143
  color?: string;
144
- Icon: (props: IconBaseProps) => JSX.Element;
144
+ Icon: React.FC<IconBaseProps>;
145
145
  level: number;
146
146
  children?: ReactNode;
147
147
  }) => {
@@ -1,7 +1,6 @@
1
- import React from "react";
2
- import RemoveIcon from "../../icons/react/Remove";
3
1
  import {ClearIndicatorProps, GroupBase, MultiValueRemoveProps} from "react-select";
4
- import {Button} from "../../button/button";
2
+ import {IconButton} from "../../button-v2/icon-button";
3
+ import RemoveIcon from "../../icons/react/Remove";
5
4
 
6
5
  export function ClearIndicator<
7
6
  TOption,
@@ -16,7 +15,9 @@ export function ClearIndicator<
16
15
  }
17
16
  return (
18
17
  <div {...innerProps}>
19
- <Button borderless Icon={RemoveIcon} disabled={selectProps.isDisabled} size={":button-size/super-small"} />
18
+ <IconButton disabled={selectProps.isDisabled} size={"small"}>
19
+ <RemoveIcon />
20
+ </IconButton>
20
21
  </div>
21
22
  );
22
23
  }
@@ -28,6 +28,7 @@ import {
28
28
  } from "./index";
29
29
  import {SelectControlSettingsProvider} from "./select-control-settings-context";
30
30
  import {Menu} from "./custom-select-partials/menu";
31
+ import {useIsPhone} from "../use-is-phone";
31
32
 
32
33
  const offset = [0, space.s4] as [number, number];
33
34
  const popupHeightVH = 45;
@@ -56,6 +57,11 @@ const popupClassName = css`
56
57
  padding-left: ${space.s8}px;
57
58
  padding-right: ${space.s8}px;
58
59
  `;
60
+ const mobileClassName = css`
61
+ padding-top: ${space.s12}px;
62
+ padding-left: ${space.s12}px;
63
+ padding-right: ${space.s12}px;
64
+ `;
59
65
 
60
66
  const valueClassName = css`
61
67
  border-radius: ${border.radius4}px;
@@ -110,7 +116,7 @@ export const selectInPopupStyles = {
110
116
  position: "static",
111
117
  marginTop: space.s6,
112
118
  marginBottom: 0,
113
- boxShadow: "none",
119
+ boxShadow: "none !important",
114
120
  borderRadius: border.radius4,
115
121
  }),
116
122
  };
@@ -301,11 +307,13 @@ function SelectInPopoverInner<Option, IsMulti extends boolean, Group extends Gro
301
307
  );
302
308
  const paddingPopup = popupPaddingTop + popupPaddingBottom;
303
309
  const paddingMenu = 6 + 6 + 6;
304
- const maxMenuHeight =
305
- Math.max((document.body.clientHeight / 100) * popupHeightVH, popupMinHeightPx) -
306
- valueMaxHeight -
307
- paddingPopup -
308
- paddingMenu;
310
+ const isPhone = useIsPhone();
311
+ const maxMenuHeight = isPhone
312
+ ? document.body.clientHeight - 45 - valueMaxHeight
313
+ : Math.max((document.body.clientHeight / 100) * popupHeightVH, popupMinHeightPx) -
314
+ valueMaxHeight -
315
+ paddingPopup -
316
+ paddingMenu;
309
317
  const mergedComponents = {...defaultComponents, ...components};
310
318
 
311
319
  return (
@@ -320,9 +328,12 @@ function SelectInPopoverInner<Option, IsMulti extends boolean, Group extends Gro
320
328
  </mergedComponents.Trigger>
321
329
  {Boolean(triggerElement) && (
322
330
  <Popup
331
+ supportMobile
332
+ title={title}
323
333
  offset={offset}
324
334
  popupContainerClassName={popupContainerClassName}
325
335
  popupClassName={cx(popupClassName, popupStyles)}
336
+ mobilePopupContentClassName={mobileClassName}
326
337
  placement="bottom-start"
327
338
  renderInPortal={renderInPortal}
328
339
  open={visible}
@@ -332,7 +343,7 @@ function SelectInPopoverInner<Option, IsMulti extends boolean, Group extends Gro
332
343
  triggerDomElement={triggerElement}
333
344
  getPopupContainer={getPopupContainer}
334
345
  >
335
- {title && <div className={titleClassName}>{title}</div>}
346
+ {title && !isPhone && <div className={titleClassName}>{title}</div>}
336
347
  {/*Usually we set popupContainerElement for react-select via context (SelectControlSettingsProvider). But here we render react-select in popover.*/}
337
348
  {/*Render target in controlled by Popover here. So we just override SelectControlContext here and set popupContainerElement to undefined. */}
338
349
  {/*So in dom react-select will be a child of popover. */}
@@ -350,6 +361,9 @@ function SelectInPopoverInner<Option, IsMulti extends boolean, Group extends Gro
350
361
  }}
351
362
  autoFocus={autoFocus}
352
363
  onBlur={() => {
364
+ if (isPhone) {
365
+ return;
366
+ }
353
367
  blurTimeoutRef.current = setTimeout(() => {
354
368
  onHide(false);
355
369
  }, 250);
@@ -2,7 +2,7 @@ import {preventDefault} from "@fibery/react/src/prevent-default";
2
2
  import {css, cx} from "@linaria/core";
3
3
  import * as ToastPrimitives from "@radix-ui/react-toast";
4
4
  import {ElementRef, forwardRef} from "react";
5
- import {IconButton} from "../button/icon-button";
5
+ import {IconButton} from "../button-v2/icon-button";
6
6
  import {border, space, textStyles, themeVars} from "../design-system";
7
7
  import CloseIcon from "../icons/react/Close";
8
8
 
@@ -150,8 +150,8 @@ export const ToastSubtitle = forwardRef<
150
150
  export const ToastClose = () => {
151
151
  return (
152
152
  <ToastPrimitives.Close aria-label="Dismiss" asChild>
153
- <IconButton>
154
- <CloseIcon iconSize={16} />
153
+ <IconButton size="small">
154
+ <CloseIcon />
155
155
  </IconButton>
156
156
  </ToastPrimitives.Close>
157
157
  );
@@ -1,6 +1,6 @@
1
1
  import chroma from "chroma-js";
2
2
  import {FC, ComponentProps, useMemo} from "react";
3
- import {opacity, ThemeColors} from "./design-system";
3
+ import {ThemeColors} from "./design-system";
4
4
  import {useTheme} from "./theme-provider";
5
5
  import {Toggle} from "./toggle";
6
6
 
@@ -8,11 +8,11 @@ const getBackgroundColors = (accentColor: string | undefined, theme: ThemeColors
8
8
  return accentColor && chroma.valid(accentColor)
9
9
  ? {
10
10
  enabledColor: accentColor,
11
- disabledColor: chroma(accentColor).alpha(opacity.opacity35).css(),
11
+ disabledColor: theme.colorBgButtonSoftNeutralHover,
12
12
  }
13
13
  : {
14
- enabledColor: theme.primaryBlue,
15
- disabledColor: theme.disabledTextColor,
14
+ enabledColor: theme.colorBgButtonSolidAccentDefault,
15
+ disabledColor: theme.colorBgButtonSoftNeutralHover,
16
16
  };
17
17
  };
18
18
 
@@ -1,49 +0,0 @@
1
- import {styled} from "@linaria/react";
2
- import {css} from "@linaria/core";
3
- import {Children, cloneElement, forwardRef} from "react";
4
- import {ButtonBase, ButtonBaseProps} from "./button-base";
5
- import {IconProps} from "../icons/types";
6
- import cx from "classnames";
7
-
8
- export type IconButtonSize = "super-small" | "small" | "normal" | "big";
9
-
10
- export type IconButtonProps = ButtonBaseProps & {
11
- size?: IconButtonSize;
12
- classNameOverride?: string;
13
- };
14
-
15
- const Paddings = {
16
- "super-small": 0,
17
- small: 2,
18
- normal: 4,
19
- big: 6,
20
- };
21
-
22
- type StyledProps = {
23
- /** The size of the component. `super-small` is equivalent to the dense button styling */
24
- size: IconButtonSize;
25
- };
26
-
27
- const getPadding = ({size}: StyledProps) => Paddings[size];
28
-
29
- const weight = css``;
30
-
31
- const StyledIconButton = styled(ButtonBase)<StyledProps>`
32
- &.${weight} {
33
- padding: ${getPadding}px;
34
- }
35
- `;
36
-
37
- export const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(function IconButton(
38
- {size = "normal", children, className, ...rest},
39
- ref
40
- ) {
41
- const iconNode = Children.only(children) as React.ReactElement<IconProps>;
42
-
43
- return (
44
- <StyledIconButton ref={ref} size={size} className={cx(className, weight)} borderless {...rest}>
45
- {/* maybe better to use css variables? */}
46
- {cloneElement(iconNode, {color: iconNode.props.color || "inherit"})}
47
- </StyledIconButton>
48
- );
49
- });