@bbodek/internal-ui 0.0.13 → 0.0.15

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 (483) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +60 -1
  3. package/dist/components/Badge/Badge.d.ts +4 -0
  4. package/dist/components/Badge/Badge.d.ts.map +1 -0
  5. package/dist/components/Badge/BadgeIcon.d.ts +4 -0
  6. package/dist/components/Badge/BadgeIcon.d.ts.map +1 -0
  7. package/dist/components/Badge/BadgeLabel.d.ts +4 -0
  8. package/dist/components/Badge/BadgeLabel.d.ts.map +1 -0
  9. package/dist/components/Badge/constants/index.d.ts +19 -0
  10. package/dist/components/Badge/constants/index.d.ts.map +1 -0
  11. package/dist/components/Badge/index.d.ts +4 -0
  12. package/dist/components/Badge/index.d.ts.map +1 -0
  13. package/dist/components/Badge/types/index.d.ts +22 -0
  14. package/dist/components/Badge/types/index.d.ts.map +1 -0
  15. package/dist/components/BottomSheet/ConfirmBottomSheet/ConfirmBottomSheet.d.ts +8 -0
  16. package/dist/components/BottomSheet/ConfirmBottomSheet/ConfirmBottomSheet.d.ts.map +1 -0
  17. package/dist/components/BottomSheet/ConfirmBottomSheet/index.d.ts +3 -0
  18. package/dist/components/BottomSheet/ConfirmBottomSheet/index.d.ts.map +1 -0
  19. package/dist/components/BottomSheet/ConfirmBottomSheet/types/index.d.ts +4 -0
  20. package/dist/components/BottomSheet/ConfirmBottomSheet/types/index.d.ts.map +1 -0
  21. package/dist/components/BottomSheet/InfoBottomSheet/InfoBottomSheet.d.ts +8 -0
  22. package/dist/components/BottomSheet/InfoBottomSheet/InfoBottomSheet.d.ts.map +1 -0
  23. package/dist/components/BottomSheet/InfoBottomSheet/index.d.ts +3 -0
  24. package/dist/components/BottomSheet/InfoBottomSheet/index.d.ts.map +1 -0
  25. package/dist/components/BottomSheet/InfoBottomSheet/types/index.d.ts +4 -0
  26. package/dist/components/BottomSheet/InfoBottomSheet/types/index.d.ts.map +1 -0
  27. package/dist/components/BottomSheet/index.d.ts +3 -0
  28. package/dist/components/BottomSheet/index.d.ts.map +1 -0
  29. package/dist/components/BottomSheet/shared/BottomSheet.d.ts +10 -0
  30. package/dist/components/BottomSheet/shared/BottomSheet.d.ts.map +1 -0
  31. package/dist/components/BottomSheet/shared/BottomSheetContentWrapper.d.ts +5 -0
  32. package/dist/components/BottomSheet/shared/BottomSheetContentWrapper.d.ts.map +1 -0
  33. package/dist/components/BottomSheet/shared/BottomSheetFooter.d.ts +4 -0
  34. package/dist/components/BottomSheet/shared/BottomSheetFooter.d.ts.map +1 -0
  35. package/dist/components/BottomSheet/shared/types/index.d.ts +9 -0
  36. package/dist/components/BottomSheet/shared/types/index.d.ts.map +1 -0
  37. package/dist/components/Button/Button/Button.d.ts +4 -0
  38. package/dist/components/Button/Button/Button.d.ts.map +1 -0
  39. package/dist/components/Button/Button/index.d.ts.map +1 -0
  40. package/dist/components/Button/Button/types/index.d.ts +7 -0
  41. package/dist/components/Button/Button/types/index.d.ts.map +1 -0
  42. package/dist/components/Button/IconButton/IconButton.d.ts +4 -0
  43. package/dist/components/Button/IconButton/IconButton.d.ts.map +1 -0
  44. package/dist/components/Button/IconButton/constants/index.d.ts +7 -0
  45. package/dist/components/Button/IconButton/constants/index.d.ts.map +1 -0
  46. package/dist/components/Button/IconButton/index.d.ts +4 -0
  47. package/dist/components/Button/IconButton/index.d.ts.map +1 -0
  48. package/dist/components/Button/IconButton/types/index.d.ts +11 -0
  49. package/dist/components/Button/IconButton/types/index.d.ts.map +1 -0
  50. package/dist/components/Button/LinkButton/LinkButton.d.ts +4 -0
  51. package/dist/components/Button/LinkButton/LinkButton.d.ts.map +1 -0
  52. package/dist/components/Button/LinkButton/index.d.ts +3 -0
  53. package/dist/components/Button/LinkButton/index.d.ts.map +1 -0
  54. package/dist/components/Button/LinkButton/types/index.d.ts +7 -0
  55. package/dist/components/Button/LinkButton/types/index.d.ts.map +1 -0
  56. package/dist/components/Button/index.d.ts +4 -2
  57. package/dist/components/Button/index.d.ts.map +1 -1
  58. package/dist/components/Button/shared/ButtonIcon.d.ts +4 -0
  59. package/dist/components/Button/shared/ButtonIcon.d.ts.map +1 -0
  60. package/dist/components/Button/shared/constants/index.d.ts +57 -0
  61. package/dist/components/Button/shared/constants/index.d.ts.map +1 -0
  62. package/dist/components/Button/shared/hooks/effects/useButtonRenderErrorEffect.d.ts +4 -0
  63. package/dist/components/Button/shared/hooks/effects/useButtonRenderErrorEffect.d.ts.map +1 -0
  64. package/dist/components/Button/shared/index.d.ts +5 -0
  65. package/dist/components/Button/shared/index.d.ts.map +1 -0
  66. package/dist/components/Button/shared/types/index.d.ts +24 -0
  67. package/dist/components/Button/shared/types/index.d.ts.map +1 -0
  68. package/dist/components/Button/shared/utils/generateButtonStyle.d.ts +3 -0
  69. package/dist/components/Button/shared/utils/generateButtonStyle.d.ts.map +1 -0
  70. package/dist/components/Button/shared/utils/index.d.ts +2 -0
  71. package/dist/components/Button/shared/utils/index.d.ts.map +1 -0
  72. package/dist/components/Checkbox/Checkbox.d.ts +4 -0
  73. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  74. package/dist/components/Checkbox/CheckboxIcon.d.ts +4 -0
  75. package/dist/components/Checkbox/CheckboxIcon.d.ts.map +1 -0
  76. package/dist/components/Checkbox/CheckboxLabel.d.ts +4 -0
  77. package/dist/components/Checkbox/CheckboxLabel.d.ts.map +1 -0
  78. package/dist/components/Checkbox/constants/index.d.ts +28 -0
  79. package/dist/components/Checkbox/constants/index.d.ts.map +1 -0
  80. package/dist/components/Checkbox/index.d.ts +4 -0
  81. package/dist/components/Checkbox/index.d.ts.map +1 -0
  82. package/dist/components/Checkbox/types/index.d.ts +13 -0
  83. package/dist/components/Checkbox/types/index.d.ts.map +1 -0
  84. package/dist/components/Chip/Chip.d.ts +4 -0
  85. package/dist/components/Chip/Chip.d.ts.map +1 -0
  86. package/dist/components/Chip/ChipGroup.d.ts +5 -0
  87. package/dist/components/Chip/ChipGroup.d.ts.map +1 -0
  88. package/dist/components/Chip/index.d.ts +4 -0
  89. package/dist/components/Chip/index.d.ts.map +1 -0
  90. package/dist/components/Chip/types/index.d.ts +10 -0
  91. package/dist/components/Chip/types/index.d.ts.map +1 -0
  92. package/dist/components/Dialog/FormDialog/FormDialog.d.ts +4 -0
  93. package/dist/components/Dialog/FormDialog/FormDialog.d.ts.map +1 -0
  94. package/dist/components/Dialog/FormDialog/index.d.ts +3 -0
  95. package/dist/components/Dialog/FormDialog/index.d.ts.map +1 -0
  96. package/dist/components/Dialog/FormDialog/types/index.d.ts +4 -0
  97. package/dist/components/Dialog/FormDialog/types/index.d.ts.map +1 -0
  98. package/dist/components/Dialog/InfoDialog/InfoDialog.d.ts +4 -0
  99. package/dist/components/Dialog/InfoDialog/InfoDialog.d.ts.map +1 -0
  100. package/dist/components/Dialog/InfoDialog/index.d.ts +3 -0
  101. package/dist/components/Dialog/InfoDialog/index.d.ts.map +1 -0
  102. package/dist/components/Dialog/InfoDialog/types/index.d.ts +4 -0
  103. package/dist/components/Dialog/InfoDialog/types/index.d.ts.map +1 -0
  104. package/dist/components/Dialog/index.d.ts +3 -0
  105. package/dist/components/Dialog/index.d.ts.map +1 -0
  106. package/dist/components/Dialog/shared/Dialog.d.ts +12 -0
  107. package/dist/components/Dialog/shared/Dialog.d.ts.map +1 -0
  108. package/dist/components/Dialog/shared/DialogContentWrapper.d.ts +5 -0
  109. package/dist/components/Dialog/shared/DialogContentWrapper.d.ts.map +1 -0
  110. package/dist/components/Dialog/shared/DialogFooter.d.ts +4 -0
  111. package/dist/components/Dialog/shared/DialogFooter.d.ts.map +1 -0
  112. package/dist/components/Dialog/shared/DialogHeader.d.ts +4 -0
  113. package/dist/components/Dialog/shared/DialogHeader.d.ts.map +1 -0
  114. package/dist/components/Dialog/shared/index.d.ts +6 -0
  115. package/dist/components/Dialog/shared/index.d.ts.map +1 -0
  116. package/dist/components/Dialog/shared/types/index.d.ts +9 -0
  117. package/dist/components/Dialog/shared/types/index.d.ts.map +1 -0
  118. package/dist/components/Flex/Flex.d.ts +6 -0
  119. package/dist/components/Flex/Flex.d.ts.map +1 -0
  120. package/dist/components/Flex/constants/index.d.ts +214 -0
  121. package/dist/components/Flex/constants/index.d.ts.map +1 -0
  122. package/dist/components/Flex/index.d.ts +4 -0
  123. package/dist/components/Flex/index.d.ts.map +1 -0
  124. package/dist/components/Flex/types/index.d.ts +52 -0
  125. package/dist/components/Flex/types/index.d.ts.map +1 -0
  126. package/dist/components/FullScreenDialog/FormFullScreenDialog/FormFullScreenDialog.d.ts +4 -0
  127. package/dist/components/FullScreenDialog/FormFullScreenDialog/FormFullScreenDialog.d.ts.map +1 -0
  128. package/dist/components/FullScreenDialog/FormFullScreenDialog/index.d.ts +3 -0
  129. package/dist/components/FullScreenDialog/FormFullScreenDialog/index.d.ts.map +1 -0
  130. package/dist/components/FullScreenDialog/FormFullScreenDialog/types/index.d.ts +4 -0
  131. package/dist/components/FullScreenDialog/FormFullScreenDialog/types/index.d.ts.map +1 -0
  132. package/dist/components/FullScreenDialog/InfoFullScreenDialog/InfoFullScreenDialog.d.ts +4 -0
  133. package/dist/components/FullScreenDialog/InfoFullScreenDialog/InfoFullScreenDialog.d.ts.map +1 -0
  134. package/dist/components/FullScreenDialog/InfoFullScreenDialog/index.d.ts +3 -0
  135. package/dist/components/FullScreenDialog/InfoFullScreenDialog/index.d.ts.map +1 -0
  136. package/dist/components/FullScreenDialog/InfoFullScreenDialog/types/index.d.ts +5 -0
  137. package/dist/components/FullScreenDialog/InfoFullScreenDialog/types/index.d.ts.map +1 -0
  138. package/dist/components/FullScreenDialog/index.d.ts +3 -0
  139. package/dist/components/FullScreenDialog/index.d.ts.map +1 -0
  140. package/dist/components/FullScreenDialog/shared/FullScreenDialog.d.ts +11 -0
  141. package/dist/components/FullScreenDialog/shared/FullScreenDialog.d.ts.map +1 -0
  142. package/dist/components/FullScreenDialog/shared/FullScreenDialogContentWrapper.d.ts +5 -0
  143. package/dist/components/FullScreenDialog/shared/FullScreenDialogContentWrapper.d.ts.map +1 -0
  144. package/dist/components/FullScreenDialog/shared/FullScreenDialogHeader.d.ts +4 -0
  145. package/dist/components/FullScreenDialog/shared/FullScreenDialogHeader.d.ts.map +1 -0
  146. package/dist/components/FullScreenDialog/shared/index.d.ts +5 -0
  147. package/dist/components/FullScreenDialog/shared/index.d.ts.map +1 -0
  148. package/dist/components/FullScreenDialog/shared/types/index.d.ts +8 -0
  149. package/dist/components/FullScreenDialog/shared/types/index.d.ts.map +1 -0
  150. package/dist/components/Icon/Icon.d.ts +4 -0
  151. package/dist/components/Icon/Icon.d.ts.map +1 -0
  152. package/dist/components/Icon/index.d.ts +3 -0
  153. package/dist/components/Icon/index.d.ts.map +1 -0
  154. package/dist/components/Icon/types/index.d.ts +7 -0
  155. package/dist/components/Icon/types/index.d.ts.map +1 -0
  156. package/dist/components/InfoPopover/InfoPopover.d.ts +9 -0
  157. package/dist/components/InfoPopover/InfoPopover.d.ts.map +1 -0
  158. package/dist/components/InfoPopover/InfoPopoverDescription.d.ts +4 -0
  159. package/dist/components/InfoPopover/InfoPopoverDescription.d.ts.map +1 -0
  160. package/dist/components/InfoPopover/index.d.ts +4 -0
  161. package/dist/components/InfoPopover/index.d.ts.map +1 -0
  162. package/dist/components/InfoPopover/types/index.d.ts +11 -0
  163. package/dist/components/InfoPopover/types/index.d.ts.map +1 -0
  164. package/dist/components/Input/InputField/InputField.d.ts +4 -0
  165. package/dist/components/Input/InputField/InputField.d.ts.map +1 -0
  166. package/dist/components/Input/InputField/index.d.ts +3 -0
  167. package/dist/components/Input/InputField/index.d.ts.map +1 -0
  168. package/dist/components/Input/InputField/types/index.d.ts +8 -0
  169. package/dist/components/Input/InputField/types/index.d.ts.map +1 -0
  170. package/dist/components/Input/InputPassword/InputPassword.d.ts +4 -0
  171. package/dist/components/Input/InputPassword/InputPassword.d.ts.map +1 -0
  172. package/dist/components/Input/InputPassword/InputPasswordRules.d.ts +4 -0
  173. package/dist/components/Input/InputPassword/InputPasswordRules.d.ts.map +1 -0
  174. package/dist/components/Input/InputPassword/index.d.ts +3 -0
  175. package/dist/components/Input/InputPassword/index.d.ts.map +1 -0
  176. package/dist/components/Input/InputPassword/types/index.d.ts +13 -0
  177. package/dist/components/Input/InputPassword/types/index.d.ts.map +1 -0
  178. package/dist/components/Input/InputSearch/InputSearch.d.ts +4 -0
  179. package/dist/components/Input/InputSearch/InputSearch.d.ts.map +1 -0
  180. package/dist/components/Input/InputSearch/index.d.ts +3 -0
  181. package/dist/components/Input/InputSearch/index.d.ts.map +1 -0
  182. package/dist/components/Input/InputSearch/types/index.d.ts +5 -0
  183. package/dist/components/Input/InputSearch/types/index.d.ts.map +1 -0
  184. package/dist/components/Input/TextArea/TextArea.d.ts +4 -0
  185. package/dist/components/Input/TextArea/TextArea.d.ts.map +1 -0
  186. package/dist/components/Input/TextArea/index.d.ts +3 -0
  187. package/dist/components/Input/TextArea/index.d.ts.map +1 -0
  188. package/dist/components/Input/TextArea/types/index.d.ts +7 -0
  189. package/dist/components/Input/TextArea/types/index.d.ts.map +1 -0
  190. package/dist/components/Input/index.d.ts +6 -0
  191. package/dist/components/Input/index.d.ts.map +1 -0
  192. package/dist/components/Input/shared/Input.d.ts +4 -0
  193. package/dist/components/Input/shared/Input.d.ts.map +1 -0
  194. package/dist/components/Input/shared/InputBase.d.ts +5 -0
  195. package/dist/components/Input/shared/InputBase.d.ts.map +1 -0
  196. package/dist/components/Input/shared/InputIconButton.d.ts +4 -0
  197. package/dist/components/Input/shared/InputIconButton.d.ts.map +1 -0
  198. package/dist/components/Input/shared/constants/index.d.ts +20 -0
  199. package/dist/components/Input/shared/constants/index.d.ts.map +1 -0
  200. package/dist/components/Input/shared/hooks/useInputChange.d.ts +9 -0
  201. package/dist/components/Input/shared/hooks/useInputChange.d.ts.map +1 -0
  202. package/dist/components/Input/shared/index.d.ts +6 -0
  203. package/dist/components/Input/shared/index.d.ts.map +1 -0
  204. package/dist/components/Input/shared/types/index.d.ts +36 -0
  205. package/dist/components/Input/shared/types/index.d.ts.map +1 -0
  206. package/dist/components/Modal/ConfirmModal/ConfirmModal.d.ts +8 -0
  207. package/dist/components/Modal/ConfirmModal/ConfirmModal.d.ts.map +1 -0
  208. package/dist/components/Modal/ConfirmModal/index.d.ts +3 -0
  209. package/dist/components/Modal/ConfirmModal/index.d.ts.map +1 -0
  210. package/dist/components/Modal/ConfirmModal/types/index.d.ts +4 -0
  211. package/dist/components/Modal/ConfirmModal/types/index.d.ts.map +1 -0
  212. package/dist/components/Modal/InfoModal/InfoModal.d.ts +8 -0
  213. package/dist/components/Modal/InfoModal/InfoModal.d.ts.map +1 -0
  214. package/dist/components/Modal/InfoModal/index.d.ts +3 -0
  215. package/dist/components/Modal/InfoModal/index.d.ts.map +1 -0
  216. package/dist/components/Modal/InfoModal/types/index.d.ts +4 -0
  217. package/dist/components/Modal/InfoModal/types/index.d.ts.map +1 -0
  218. package/dist/components/Modal/index.d.ts +3 -0
  219. package/dist/components/Modal/index.d.ts.map +1 -0
  220. package/dist/components/Modal/shared/Modal.d.ts +9 -0
  221. package/dist/components/Modal/shared/Modal.d.ts.map +1 -0
  222. package/dist/components/Modal/shared/ModalContentWrapper.d.ts +5 -0
  223. package/dist/components/Modal/shared/ModalContentWrapper.d.ts.map +1 -0
  224. package/dist/components/Modal/shared/ModalFooter.d.ts +4 -0
  225. package/dist/components/Modal/shared/ModalFooter.d.ts.map +1 -0
  226. package/dist/components/Modal/shared/index.d.ts +4 -0
  227. package/dist/components/Modal/shared/index.d.ts.map +1 -0
  228. package/dist/components/Modal/shared/types/index.d.ts +6 -0
  229. package/dist/components/Modal/shared/types/index.d.ts.map +1 -0
  230. package/dist/components/Popover/Popover/Popover.d.ts +4 -0
  231. package/dist/components/Popover/Popover/Popover.d.ts.map +1 -0
  232. package/dist/components/Popover/Popover/constants/index.d.ts +16 -0
  233. package/dist/components/Popover/Popover/constants/index.d.ts.map +1 -0
  234. package/dist/components/Popover/Popover/hooks/effects/index.d.ts +4 -0
  235. package/dist/components/Popover/Popover/hooks/effects/index.d.ts.map +1 -0
  236. package/dist/components/Popover/Popover/hooks/effects/useOutSideScrollLockEffect.d.ts +4 -0
  237. package/dist/components/Popover/Popover/hooks/effects/useOutSideScrollLockEffect.d.ts.map +1 -0
  238. package/dist/components/Popover/Popover/hooks/effects/usePopoverFocusEffect.d.ts +4 -0
  239. package/dist/components/Popover/Popover/hooks/effects/usePopoverFocusEffect.d.ts.map +1 -0
  240. package/dist/components/Popover/Popover/hooks/effects/usePopoverPositionEffect.d.ts +4 -0
  241. package/dist/components/Popover/Popover/hooks/effects/usePopoverPositionEffect.d.ts.map +1 -0
  242. package/dist/components/Popover/Popover/hooks/index.d.ts +3 -0
  243. package/dist/components/Popover/Popover/hooks/index.d.ts.map +1 -0
  244. package/dist/components/Popover/Popover/hooks/usePopover.d.ts +4 -0
  245. package/dist/components/Popover/Popover/hooks/usePopover.d.ts.map +1 -0
  246. package/dist/components/Popover/Popover/hooks/usePopoverPosition.d.ts +6 -0
  247. package/dist/components/Popover/Popover/hooks/usePopoverPosition.d.ts.map +1 -0
  248. package/dist/components/Popover/Popover/index.d.ts +4 -0
  249. package/dist/components/Popover/Popover/index.d.ts.map +1 -0
  250. package/dist/components/Popover/Popover/types/index.d.ts +64 -0
  251. package/dist/components/Popover/Popover/types/index.d.ts.map +1 -0
  252. package/dist/components/Popover/Popover/utils/getPopoverPosition.d.ts +3 -0
  253. package/dist/components/Popover/Popover/utils/getPopoverPosition.d.ts.map +1 -0
  254. package/dist/components/Popover/Popover/utils/index.d.ts +2 -0
  255. package/dist/components/Popover/Popover/utils/index.d.ts.map +1 -0
  256. package/dist/components/Popover/index.d.ts +2 -0
  257. package/dist/components/Popover/index.d.ts.map +1 -0
  258. package/dist/components/Portal/Portal.d.ts +5 -0
  259. package/dist/components/Portal/Portal.d.ts.map +1 -0
  260. package/dist/components/Portal/constants/index.d.ts +2 -0
  261. package/dist/components/Portal/constants/index.d.ts.map +1 -0
  262. package/dist/components/Portal/index.d.ts +4 -0
  263. package/dist/components/Portal/index.d.ts.map +1 -0
  264. package/dist/components/Portal/types/index.d.ts +4 -0
  265. package/dist/components/Portal/types/index.d.ts.map +1 -0
  266. package/dist/components/Radio/Radio.d.ts +4 -0
  267. package/dist/components/Radio/Radio.d.ts.map +1 -0
  268. package/dist/components/Radio/RadioIcon.d.ts +4 -0
  269. package/dist/components/Radio/RadioIcon.d.ts.map +1 -0
  270. package/dist/components/Radio/RadioLabel.d.ts +4 -0
  271. package/dist/components/Radio/RadioLabel.d.ts.map +1 -0
  272. package/dist/components/Radio/constants/index.d.ts +28 -0
  273. package/dist/components/Radio/constants/index.d.ts.map +1 -0
  274. package/dist/components/Radio/index.d.ts +4 -0
  275. package/dist/components/Radio/index.d.ts.map +1 -0
  276. package/dist/components/Radio/types/index.d.ts +13 -0
  277. package/dist/components/Radio/types/index.d.ts.map +1 -0
  278. package/dist/components/Select/Single/SearchSelect/SearchSelect.d.ts +10 -0
  279. package/dist/components/Select/Single/SearchSelect/SearchSelect.d.ts.map +1 -0
  280. package/dist/components/Select/Single/SearchSelect/SearchSelectItem.d.ts +6 -0
  281. package/dist/components/Select/Single/SearchSelect/SearchSelectItem.d.ts.map +1 -0
  282. package/dist/components/Select/Single/SearchSelect/index.d.ts +3 -0
  283. package/dist/components/Select/Single/SearchSelect/index.d.ts.map +1 -0
  284. package/dist/components/Select/Single/SearchSelect/types/index.d.ts +8 -0
  285. package/dist/components/Select/Single/SearchSelect/types/index.d.ts.map +1 -0
  286. package/dist/components/Select/Single/Select/Select.d.ts +10 -0
  287. package/dist/components/Select/Single/Select/Select.d.ts.map +1 -0
  288. package/dist/components/Select/Single/Select/SelectItem.d.ts +6 -0
  289. package/dist/components/Select/Single/Select/SelectItem.d.ts.map +1 -0
  290. package/dist/components/Select/Single/Select/index.d.ts +3 -0
  291. package/dist/components/Select/Single/Select/index.d.ts.map +1 -0
  292. package/dist/components/Select/Single/Select/types/index.d.ts +6 -0
  293. package/dist/components/Select/Single/Select/types/index.d.ts.map +1 -0
  294. package/dist/components/Select/Single/index.d.ts +3 -0
  295. package/dist/components/Select/Single/index.d.ts.map +1 -0
  296. package/dist/components/Select/Single/shared/SingleSelectBase.d.ts +5 -0
  297. package/dist/components/Select/Single/shared/SingleSelectBase.d.ts.map +1 -0
  298. package/dist/components/Select/Single/shared/SingleSelectBaseItem.d.ts +5 -0
  299. package/dist/components/Select/Single/shared/SingleSelectBaseItem.d.ts.map +1 -0
  300. package/dist/components/Select/Single/shared/SingleSelectBaseList.d.ts +4 -0
  301. package/dist/components/Select/Single/shared/SingleSelectBaseList.d.ts.map +1 -0
  302. package/dist/components/Select/Single/shared/SingleSelectBaseTrigger.d.ts +4 -0
  303. package/dist/components/Select/Single/shared/SingleSelectBaseTrigger.d.ts.map +1 -0
  304. package/dist/components/Select/Single/shared/context/SingleSelectListContext.d.ts +5 -0
  305. package/dist/components/Select/Single/shared/context/SingleSelectListContext.d.ts.map +1 -0
  306. package/dist/components/Select/Single/shared/context/index.d.ts +2 -0
  307. package/dist/components/Select/Single/shared/context/index.d.ts.map +1 -0
  308. package/dist/components/Select/Single/shared/index.d.ts +5 -0
  309. package/dist/components/Select/Single/shared/index.d.ts.map +1 -0
  310. package/dist/components/Select/Single/shared/types/index.d.ts +24 -0
  311. package/dist/components/Select/Single/shared/types/index.d.ts.map +1 -0
  312. package/dist/components/Select/index.d.ts +4 -0
  313. package/dist/components/Select/index.d.ts.map +1 -0
  314. package/dist/components/Select/shared/SelectBase.d.ts +10 -0
  315. package/dist/components/Select/shared/SelectBase.d.ts.map +1 -0
  316. package/dist/components/Select/shared/SelectBaseFeedback.d.ts +5 -0
  317. package/dist/components/Select/shared/SelectBaseFeedback.d.ts.map +1 -0
  318. package/dist/components/Select/shared/SelectBaseItem.d.ts +5 -0
  319. package/dist/components/Select/shared/SelectBaseItem.d.ts.map +1 -0
  320. package/dist/components/Select/shared/SelectBaseLabel.d.ts +5 -0
  321. package/dist/components/Select/shared/SelectBaseLabel.d.ts.map +1 -0
  322. package/dist/components/Select/shared/SelectBaseListEmpty.d.ts +3 -0
  323. package/dist/components/Select/shared/SelectBaseListEmpty.d.ts.map +1 -0
  324. package/dist/components/Select/shared/SelectBasePopoverWrapper.d.ts +5 -0
  325. package/dist/components/Select/shared/SelectBasePopoverWrapper.d.ts.map +1 -0
  326. package/dist/components/Select/shared/SelectBaseTriggerWrapper.d.ts +5 -0
  327. package/dist/components/Select/shared/SelectBaseTriggerWrapper.d.ts.map +1 -0
  328. package/dist/components/Select/shared/constants/index.d.ts +6 -0
  329. package/dist/components/Select/shared/constants/index.d.ts.map +1 -0
  330. package/dist/components/Select/shared/context/SelectLabelContext.d.ts +5 -0
  331. package/dist/components/Select/shared/context/SelectLabelContext.d.ts.map +1 -0
  332. package/dist/components/Select/shared/context/SelectTriggerContext.d.ts +5 -0
  333. package/dist/components/Select/shared/context/SelectTriggerContext.d.ts.map +1 -0
  334. package/dist/components/Select/shared/context/index.d.ts +3 -0
  335. package/dist/components/Select/shared/context/index.d.ts.map +1 -0
  336. package/dist/components/Select/shared/index.d.ts +7 -0
  337. package/dist/components/Select/shared/index.d.ts.map +1 -0
  338. package/dist/components/Select/shared/types/index.d.ts +47 -0
  339. package/dist/components/Select/shared/types/index.d.ts.map +1 -0
  340. package/dist/components/Sort/Sort.d.ts +9 -0
  341. package/dist/components/Sort/Sort.d.ts.map +1 -0
  342. package/dist/components/Sort/SortTrigger.d.ts +4 -0
  343. package/dist/components/Sort/SortTrigger.d.ts.map +1 -0
  344. package/dist/components/Sort/index.d.ts +3 -0
  345. package/dist/components/Sort/index.d.ts.map +1 -0
  346. package/dist/components/Sort/types/index.d.ts +10 -0
  347. package/dist/components/Sort/types/index.d.ts.map +1 -0
  348. package/dist/components/Toggle/Toggle.d.ts +4 -0
  349. package/dist/components/Toggle/Toggle.d.ts.map +1 -0
  350. package/dist/components/Toggle/ToggleIcon.d.ts +4 -0
  351. package/dist/components/Toggle/ToggleIcon.d.ts.map +1 -0
  352. package/dist/components/Toggle/ToggleLabel.d.ts +4 -0
  353. package/dist/components/Toggle/ToggleLabel.d.ts.map +1 -0
  354. package/dist/components/Toggle/constants/index.d.ts +29 -0
  355. package/dist/components/Toggle/constants/index.d.ts.map +1 -0
  356. package/dist/components/Toggle/index.d.ts +4 -0
  357. package/dist/components/Toggle/index.d.ts.map +1 -0
  358. package/dist/components/Toggle/types/index.d.ts +13 -0
  359. package/dist/components/Toggle/types/index.d.ts.map +1 -0
  360. package/dist/components/Tooltip/Tooltip.d.ts +5 -0
  361. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  362. package/dist/components/Tooltip/constants/index.d.ts +2 -0
  363. package/dist/components/Tooltip/constants/index.d.ts.map +1 -0
  364. package/dist/components/Tooltip/index.d.ts +3 -0
  365. package/dist/components/Tooltip/index.d.ts.map +1 -0
  366. package/dist/components/Tooltip/types/index.d.ts +11 -0
  367. package/dist/components/Tooltip/types/index.d.ts.map +1 -0
  368. package/dist/components/Typography/Typography.d.ts +6 -0
  369. package/dist/components/Typography/Typography.d.ts.map +1 -0
  370. package/dist/components/Typography/constants/index.d.ts +27 -0
  371. package/dist/components/Typography/constants/index.d.ts.map +1 -0
  372. package/dist/components/Typography/index.d.ts +4 -0
  373. package/dist/components/Typography/index.d.ts.map +1 -0
  374. package/dist/components/Typography/types/index.d.ts +11 -0
  375. package/dist/components/Typography/types/index.d.ts.map +1 -0
  376. package/dist/components/index.d.ts +20 -0
  377. package/dist/components/index.d.ts.map +1 -0
  378. package/dist/components/shared/components/ConfirmOverlay/ConfirmOverlayContent.d.ts +4 -0
  379. package/dist/components/shared/components/ConfirmOverlay/ConfirmOverlayContent.d.ts.map +1 -0
  380. package/dist/components/shared/components/ConfirmOverlay/ConfirmOverlayDescription.d.ts +4 -0
  381. package/dist/components/shared/components/ConfirmOverlay/ConfirmOverlayDescription.d.ts.map +1 -0
  382. package/dist/components/shared/components/ConfirmOverlay/index.d.ts +4 -0
  383. package/dist/components/shared/components/ConfirmOverlay/index.d.ts.map +1 -0
  384. package/dist/components/shared/components/ConfirmOverlay/types/index.d.ts +16 -0
  385. package/dist/components/shared/components/ConfirmOverlay/types/index.d.ts.map +1 -0
  386. package/dist/components/shared/components/DialogOverlay/DialogOverlayContentWrapper.d.ts +5 -0
  387. package/dist/components/shared/components/DialogOverlay/DialogOverlayContentWrapper.d.ts.map +1 -0
  388. package/dist/components/shared/components/DialogOverlay/DialogOverlayFormDivider.d.ts +3 -0
  389. package/dist/components/shared/components/DialogOverlay/DialogOverlayFormDivider.d.ts.map +1 -0
  390. package/dist/components/shared/components/DialogOverlay/constants/index.d.ts +5 -0
  391. package/dist/components/shared/components/DialogOverlay/constants/index.d.ts.map +1 -0
  392. package/dist/components/shared/components/DialogOverlay/index.d.ts +5 -0
  393. package/dist/components/shared/components/DialogOverlay/index.d.ts.map +1 -0
  394. package/dist/components/shared/components/DialogOverlay/types/index.d.ts +12 -0
  395. package/dist/components/shared/components/DialogOverlay/types/index.d.ts.map +1 -0
  396. package/dist/components/shared/components/Overlay/Overlay.d.ts +5 -0
  397. package/dist/components/shared/components/Overlay/Overlay.d.ts.map +1 -0
  398. package/dist/components/shared/components/Overlay/OverlayContentWrapper.d.ts +5 -0
  399. package/dist/components/shared/components/Overlay/OverlayContentWrapper.d.ts.map +1 -0
  400. package/dist/components/shared/components/Overlay/OverlayDescription.d.ts +4 -0
  401. package/dist/components/shared/components/Overlay/OverlayDescription.d.ts.map +1 -0
  402. package/dist/components/shared/components/Overlay/OverlayFooter.d.ts +4 -0
  403. package/dist/components/shared/components/Overlay/OverlayFooter.d.ts.map +1 -0
  404. package/dist/components/shared/components/Overlay/OverlayHeader.d.ts +5 -0
  405. package/dist/components/shared/components/Overlay/OverlayHeader.d.ts.map +1 -0
  406. package/dist/components/shared/components/Overlay/OverlayLoading.d.ts +3 -0
  407. package/dist/components/shared/components/Overlay/OverlayLoading.d.ts.map +1 -0
  408. package/dist/components/shared/components/Overlay/OverlayTitle.d.ts +4 -0
  409. package/dist/components/shared/components/Overlay/OverlayTitle.d.ts.map +1 -0
  410. package/dist/components/shared/components/Overlay/constants/index.d.ts +8 -0
  411. package/dist/components/shared/components/Overlay/constants/index.d.ts.map +1 -0
  412. package/dist/components/shared/components/Overlay/hooks/effects/index.d.ts +2 -0
  413. package/dist/components/shared/components/Overlay/hooks/effects/index.d.ts.map +1 -0
  414. package/dist/components/shared/components/Overlay/hooks/effects/useBodyScrollLockEffect.d.ts +4 -0
  415. package/dist/components/shared/components/Overlay/hooks/effects/useBodyScrollLockEffect.d.ts.map +1 -0
  416. package/dist/components/shared/components/Overlay/hooks/index.d.ts +2 -0
  417. package/dist/components/shared/components/Overlay/hooks/index.d.ts.map +1 -0
  418. package/dist/components/shared/components/Overlay/index.d.ts +9 -0
  419. package/dist/components/shared/components/Overlay/index.d.ts.map +1 -0
  420. package/dist/components/shared/components/Overlay/types/index.d.ts +46 -0
  421. package/dist/components/shared/components/Overlay/types/index.d.ts.map +1 -0
  422. package/dist/components/shared/components/index.d.ts +4 -0
  423. package/dist/components/shared/components/index.d.ts.map +1 -0
  424. package/dist/components/shared/index.d.ts +3 -0
  425. package/dist/components/shared/index.d.ts.map +1 -0
  426. package/dist/components/shared/types/index.d.ts +5 -0
  427. package/dist/components/shared/types/index.d.ts.map +1 -0
  428. package/dist/index.d.ts +2 -1
  429. package/dist/index.d.ts.map +1 -1
  430. package/dist/index.es.js +1 -1
  431. package/dist/index.es.js.map +1 -1
  432. package/dist/variants/color/index.d.ts +3 -0
  433. package/dist/variants/color/index.d.ts.map +1 -0
  434. package/dist/variants/color/types/index.d.ts +4 -0
  435. package/dist/variants/color/types/index.d.ts.map +1 -0
  436. package/dist/variants/color/variant.d.ts +62 -0
  437. package/dist/variants/color/variant.d.ts.map +1 -0
  438. package/dist/variants/index.d.ts +5 -0
  439. package/dist/variants/index.d.ts.map +1 -0
  440. package/dist/variants/radius/index.d.ts +3 -0
  441. package/dist/variants/radius/index.d.ts.map +1 -0
  442. package/dist/variants/radius/types/index.d.ts +3 -0
  443. package/dist/variants/radius/types/index.d.ts.map +1 -0
  444. package/dist/variants/radius/variant.d.ts +19 -0
  445. package/dist/variants/radius/variant.d.ts.map +1 -0
  446. package/dist/variants/shadow/index.d.ts +3 -0
  447. package/dist/variants/shadow/index.d.ts.map +1 -0
  448. package/dist/variants/shadow/types/index.d.ts +3 -0
  449. package/dist/variants/shadow/types/index.d.ts.map +1 -0
  450. package/dist/variants/shadow/variant.d.ts +9 -0
  451. package/dist/variants/shadow/variant.d.ts.map +1 -0
  452. package/dist/variants/typography/index.d.ts +3 -0
  453. package/dist/variants/typography/index.d.ts.map +1 -0
  454. package/dist/variants/typography/types/index.d.ts +3 -0
  455. package/dist/variants/typography/types/index.d.ts.map +1 -0
  456. package/dist/variants/typography/variant.d.ts +25 -0
  457. package/dist/variants/typography/variant.d.ts.map +1 -0
  458. package/package.json +15 -8
  459. package/src/styles/base.css +51 -0
  460. package/src/styles/globals.css +11 -0
  461. package/src/styles/safelist.css +4 -0
  462. package/src/styles/theme.css +189 -0
  463. package/src/styles/utilities.css +47 -0
  464. package/dist/Button/Button.d.ts +0 -4
  465. package/dist/Button/Button.d.ts.map +0 -1
  466. package/dist/Button/Button.es.js +0 -2
  467. package/dist/Button/Button.es.js.map +0 -1
  468. package/dist/Button/index.d.ts.map +0 -1
  469. package/dist/Button/types/index.d.ts +0 -5
  470. package/dist/Button/types/index.d.ts.map +0 -1
  471. package/dist/LinkButton/LinkButton.d.ts +0 -5
  472. package/dist/LinkButton/LinkButton.d.ts.map +0 -1
  473. package/dist/LinkButton/LinkButton.es.js +0 -2
  474. package/dist/LinkButton/LinkButton.es.js.map +0 -1
  475. package/dist/LinkButton/index.d.ts +0 -2
  476. package/dist/LinkButton/index.d.ts.map +0 -1
  477. package/dist/components/Button/Button.d.ts +0 -4
  478. package/dist/components/Button/Button.d.ts.map +0 -1
  479. package/dist/components/Button/Button.es.js +0 -2
  480. package/dist/components/Button/Button.es.js.map +0 -1
  481. package/dist/components/Button/types/index.d.ts +0 -5
  482. package/dist/components/Button/types/index.d.ts.map +0 -1
  483. /package/dist/{Button → components/Button/Button}/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.es.js","sources":["../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../node_modules/.pnpm/@phosphor-icons+core@2.1.1/node_modules/@phosphor-icons/core/dist/index.mjs","../../hooks/dist/index.es.js","../../utils/dist/index.es.js","../../../node_modules/.pnpm/@floating-ui+utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../node_modules/.pnpm/@floating-ui+utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../node_modules/.pnpm/tabbable@6.2.0/node_modules/tabbable/dist/index.esm.js","../../../node_modules/.pnpm/@floating-ui+react@0.27.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs","../../../node_modules/.pnpm/@floating-ui+core@1.7.0/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../node_modules/.pnpm/@floating-ui+dom@1.7.0/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../node_modules/.pnpm/@floating-ui+react-dom@2.1.2_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../node_modules/.pnpm/@floating-ui+react@0.27.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@floating-ui/react/dist/floating-ui.react.mjs"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","var t = /* @__PURE__ */ ((i) => (i.REGULAR = \"regular\", i.THIN = \"thin\", i.LIGHT = \"light\", i.BOLD = \"bold\", i.FILL = \"fill\", i.DUOTONE = \"duotone\", i))(t || {}), e = /* @__PURE__ */ ((i) => (i.ARROWS = \"arrows\", i.BRAND = \"brands\", i.COMMERCE = \"commerce\", i.COMMUNICATION = \"communications\", i.DESIGN = \"design\", i.DEVELOPMENT = \"technology & development\", i.EDITOR = \"editor\", i.FINANCE = \"finances\", i.GAMES = \"games\", i.HEALTH = \"health & wellness\", i.MAP = \"maps & travel\", i.MEDIA = \"media\", i.NATURE = \"nature\", i.OBJECTS = \"objects\", i.OFFICE = \"office\", i.PEOPLE = \"people\", i.SYSTEM = \"system\", i.WEATHER = \"weather\", i))(e || {}), a = /* @__PURE__ */ ((i) => (i.ARROWS = \"arrows\", i.BRAND = \"brands\", i.COMMERCE = \"commerce\", i.COMMUNICATION = \"communication\", i.DESIGN = \"design\", i.DEVELOPMENT = \"technology & development\", i.EDUCATION = \"education\", i.FINANCE = \"math & finance\", i.GAMES = \"games\", i.HEALTH = \"health & wellness\", i.MAP = \"maps & travel\", i.MEDIA = \"media\", i.OFFICE = \"office & editing\", i.PEOPLE = \"people\", i.SECURITY = \"security & warnings\", i.SYSTEM = \"system & devices\", i.TIME = \"time\", i.WEATHER = \"weather & nature\", i))(a || {});\nconst n = [\n {\n name: \"acorn\",\n pascal_name: \"Acorn\",\n categories: [e.FINANCE, e.NATURE],\n figma_category: a.WEATHER,\n tags: [\n \"*new*\",\n \"savings\",\n \"nut\",\n \"vegetable\",\n \"veggies\",\n \"food\",\n \"groceries\",\n \"market\"\n ],\n codepoint: 60314,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"address-book\",\n pascal_name: \"AddressBook\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"contacts\", \"directory\", \"roledex\"],\n codepoint: 59128,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"address-book-tabs\",\n pascal_name: \"AddressBookTabs\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"*new*\", \"contacts\", \"directory\", \"roledex\"],\n codepoint: 61006,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"air-traffic-control\",\n pascal_name: \"AirTrafficControl\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\"airport\", \"travel\", \"transportation\", \"buildings\"],\n codepoint: 60632,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"airplane\",\n pascal_name: \"Airplane\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"vehicles\",\n \"airports\",\n \"flights\",\n \"flying\",\n \"planes\",\n \"transit\",\n \"transportation\",\n \"traveling\"\n ],\n codepoint: 57346,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"airplane-in-flight\",\n pascal_name: \"AirplaneInFlight\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"vehicles\",\n \"airports\",\n \"flights\",\n \"flying\",\n \"planes\",\n \"transit\",\n \"transportation\",\n \"traveling\",\n \"arrival\"\n ],\n codepoint: 58622,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"airplane-landing\",\n pascal_name: \"AirplaneLanding\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"vehicles\",\n \"airports\",\n \"flights\",\n \"flying\",\n \"planes\",\n \"transit\",\n \"transportation\",\n \"traveling\",\n \"arrival\"\n ],\n codepoint: 58626,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"airplane-takeoff\",\n pascal_name: \"AirplaneTakeoff\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"vehicles\",\n \"airports\",\n \"flights\",\n \"flying\",\n \"planes\",\n \"transit\",\n \"transportation\",\n \"traveling\",\n \"departure\"\n ],\n codepoint: 58628,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"airplane-taxiing\",\n pascal_name: \"AirplaneTaxiing\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"vehicles\",\n \"airports\",\n \"flights\",\n \"flying\",\n \"planes\",\n \"transit\",\n \"transportation\",\n \"traveling\",\n \"arrival\"\n ],\n codepoint: 58624,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"airplane-tilt\",\n pascal_name: \"AirplaneTilt\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"vehicles\",\n \"airports\",\n \"flights\",\n \"flying\",\n \"planes\",\n \"transit\",\n \"transportation\",\n \"traveling\",\n \"departure\"\n ],\n codepoint: 58838,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"airplay\",\n pascal_name: \"Airplay\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"apple\", \"screencasting\", \"television\", \"tv\"],\n codepoint: 57348,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"alarm\",\n pascal_name: \"Alarm\",\n categories: [e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"times\", \"timer\", \"clock\", \"schedule\", \"events\", \"watch\"],\n codepoint: 57350,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"alien\",\n pascal_name: \"Alien\",\n categories: [e.GAMES],\n figma_category: a.GAMES,\n tags: [\"ufo\", \"space\", \"flying saucer\", \"extra terrestrial\", \"sci-fi\"],\n codepoint: 59558,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"align-bottom\",\n pascal_name: \"AlignBottom\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"alignment\", \"arrangement\", \"layout\", \"flush bottom\"],\n codepoint: 58630,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"align-bottom-simple\",\n pascal_name: \"AlignBottomSimple\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"alignment\", \"arrangement\", \"layout\", \"flush bottom\"],\n codepoint: 60172,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"align-center-horizontal\",\n pascal_name: \"AlignCenterHorizontal\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"alignment\", \"arrangement\", \"layout\", \"centered\", \"middle\"],\n codepoint: 58634,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"align-center-horizontal-simple\",\n pascal_name: \"AlignCenterHorizontalSimple\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"alignment\", \"arrangement\", \"layout\", \"centered\", \"middle\"],\n codepoint: 60174,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"align-center-vertical\",\n pascal_name: \"AlignCenterVertical\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"alignment\", \"arrangement\", \"layout\", \"centered\", \"middle\"],\n codepoint: 58636,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"align-center-vertical-simple\",\n pascal_name: \"AlignCenterVerticalSimple\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"alignment\", \"arrangement\", \"layout\", \"centered\", \"middle\"],\n codepoint: 60176,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"align-left\",\n pascal_name: \"AlignLeft\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"alignment\", \"arrangement\", \"layout\", \"flush left\"],\n codepoint: 58638,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"align-left-simple\",\n pascal_name: \"AlignLeftSimple\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"alignment\", \"arrangement\", \"layout\", \"flush left\"],\n codepoint: 60142,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"align-right\",\n pascal_name: \"AlignRight\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"alignment\", \"arrangement\", \"layout\", \"flush right\"],\n codepoint: 58640,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"align-right-simple\",\n pascal_name: \"AlignRightSimple\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"alignment\", \"arrangement\", \"layout\", \"flush right\"],\n codepoint: 60178,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"align-top\",\n pascal_name: \"AlignTop\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"alignment\", \"arrangement\", \"layout\", \"flush top\"],\n codepoint: 58642,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"align-top-simple\",\n pascal_name: \"AlignTopSimple\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"alignment\", \"arrangement\", \"layout\", \"flush top\"],\n codepoint: 60180,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"amazon-logo\",\n pascal_name: \"AmazonLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"ecommerce\", \"shopping\", \"logos\"],\n codepoint: 59756,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"ambulance\",\n pascal_name: \"Ambulance\",\n categories: [e.HEALTH, e.MAP, e.OBJECTS],\n figma_category: a.HEALTH,\n tags: [\n \"*new*\",\n \"first-aid\",\n \"emt\",\n \"medical\",\n \"medicine\",\n \"injury\",\n \"safety\",\n \"emergency\",\n \"doctor\",\n \"vehicles\"\n ],\n codepoint: 58738,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"anchor\",\n pascal_name: \"Anchor\",\n categories: [\n e.COMMUNICATION,\n e.MAP,\n e.OBJECTS\n ],\n figma_category: a.MAP,\n tags: [\"nautical\", \"boats\", \"ships\", \"hope\", \"safety\", \"insurance\"],\n codepoint: 58644,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"anchor-simple\",\n pascal_name: \"AnchorSimple\",\n categories: [\n e.COMMUNICATION,\n e.MAP,\n e.OBJECTS\n ],\n figma_category: a.MAP,\n tags: [\"nautical\", \"boats\", \"ships\", \"hope\", \"safety\", \"insurance\"],\n codepoint: 58840,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"android-logo\",\n pascal_name: \"AndroidLogo\",\n categories: [\n e.BRAND,\n e.DEVELOPMENT,\n e.SYSTEM\n ],\n figma_category: a.BRAND,\n tags: [\"logos\", \"google\", \"mobile\", \"phone\", \"cellular\", \"cellphone\"],\n codepoint: 57352,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"angle\",\n pascal_name: \"Angle\",\n categories: [e.DESIGN, e.OBJECTS],\n figma_category: a.DESIGN,\n tags: [\n \"*new*\",\n \"geometry\",\n \"trigonometry\",\n \"degrees\",\n \"radians\",\n \"measurement\",\n \"protractor\",\n \"compass\",\n \"arc\"\n ],\n codepoint: 59324,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"angular-logo\",\n pascal_name: \"AngularLogo\",\n categories: [e.BRAND, e.DEVELOPMENT],\n figma_category: a.BRAND,\n tags: [\"framework\", \"javascript\", \"google\", \"web\"],\n codepoint: 60288,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"aperture\",\n pascal_name: \"Aperture\",\n categories: [e.DESIGN, e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"photography\", \"cameras\", \"pictures\", \"lens\"],\n codepoint: 57354,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"app-store-logo\",\n pascal_name: \"AppStoreLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"macintosh\", \"imac\", \"iphone\", \"ipad\", \"macos\", \"ios\"],\n codepoint: 59764,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"app-window\",\n pascal_name: \"AppWindow\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"windows\", \"software\", \"programs\", \"applications\"],\n codepoint: 58842,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"apple-logo\",\n pascal_name: \"AppleLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"macintosh\", \"imac\", \"iphone\", \"ipad\", \"macos\", \"ios\"],\n codepoint: 58646,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"apple-podcasts-logo\",\n pascal_name: \"ApplePodcastsLogo\",\n categories: [e.BRAND, e.MEDIA],\n figma_category: a.BRAND,\n tags: [\"macintosh\", \"imac\", \"iphone\", \"ipad\", \"macos\", \"ios\"],\n codepoint: 60310,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"approximate-equals\",\n pascal_name: \"ApproximateEquals\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"≈\",\n \"is approximately equal to\",\n \"congruent\",\n \"equality\",\n \"equivalent\",\n \"equivalence\",\n \"comparison\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60842,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"archive\",\n pascal_name: \"Archive\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"saved\",\n \"saving\",\n \"archived\",\n \"archiving\",\n \"archival\",\n \"downloaded\",\n \"downloading\"\n ],\n codepoint: 57356,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"armchair\",\n pascal_name: \"Armchair\",\n categories: [e.OBJECTS, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"seat\", \"furniture\"],\n codepoint: 57362,\n published_in: 1.2,\n updated_in: 1.4\n },\n {\n name: \"arrow-arc-left\",\n pascal_name: \"ArrowArcLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57364,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-arc-right\",\n pascal_name: \"ArrowArcRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57366,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-bend-double-up-left\",\n pascal_name: \"ArrowBendDoubleUpLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"reply-all\"],\n codepoint: 57402,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-bend-double-up-right\",\n pascal_name: \"ArrowBendDoubleUpRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57404,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-bend-down-left\",\n pascal_name: \"ArrowBendDownLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57368,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-bend-down-right\",\n pascal_name: \"ArrowBendDownRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57370,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-bend-left-down\",\n pascal_name: \"ArrowBendLeftDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57372,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-bend-left-up\",\n pascal_name: \"ArrowBendLeftUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57374,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-bend-right-down\",\n pascal_name: \"ArrowBendRightDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57376,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-bend-right-up\",\n pascal_name: \"ArrowBendRightUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57378,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-bend-up-left\",\n pascal_name: \"ArrowBendUpLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"reply\", \"re\"],\n codepoint: 57380,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-bend-up-right\",\n pascal_name: \"ArrowBendUpRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"forward\", \"fwd\"],\n codepoint: 57382,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-circle-down\",\n pascal_name: \"ArrowCircleDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57384,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-circle-down-left\",\n pascal_name: \"ArrowCircleDownLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57386,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-circle-down-right\",\n pascal_name: \"ArrowCircleDownRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57388,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-circle-left\",\n pascal_name: \"ArrowCircleLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57434,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-circle-right\",\n pascal_name: \"ArrowCircleRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57390,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-circle-up\",\n pascal_name: \"ArrowCircleUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57392,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-circle-up-left\",\n pascal_name: \"ArrowCircleUpLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57394,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-circle-up-right\",\n pascal_name: \"ArrowCircleUpRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57396,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-clockwise\",\n pascal_name: \"ArrowClockwise\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"redo\",\n \"refreshing\",\n \"rotate\",\n \"spin\",\n \"flip\"\n ],\n codepoint: 57398,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"arrow-counter-clockwise\",\n pascal_name: \"ArrowCounterClockwise\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"undo\",\n \"refreshing\",\n \"rotate\",\n \"spin\",\n \"flip\"\n ],\n codepoint: 57400,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"arrow-down\",\n pascal_name: \"ArrowDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57406,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-down-left\",\n pascal_name: \"ArrowDownLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57408,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-down-right\",\n pascal_name: \"ArrowDownRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57410,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-elbow-down-left\",\n pascal_name: \"ArrowElbowDownLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57412,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-elbow-down-right\",\n pascal_name: \"ArrowElbowDownRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57414,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-elbow-left\",\n pascal_name: \"ArrowElbowLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57416,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-elbow-left-down\",\n pascal_name: \"ArrowElbowLeftDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57418,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-elbow-left-up\",\n pascal_name: \"ArrowElbowLeftUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57420,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-elbow-right\",\n pascal_name: \"ArrowElbowRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57422,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-elbow-right-down\",\n pascal_name: \"ArrowElbowRightDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57424,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-elbow-right-up\",\n pascal_name: \"ArrowElbowRightUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57426,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-elbow-up-left\",\n pascal_name: \"ArrowElbowUpLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57428,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-elbow-up-right\",\n pascal_name: \"ArrowElbowUpRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57430,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-fat-down\",\n pascal_name: \"ArrowFatDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"outlined\"],\n codepoint: 58648,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"arrow-fat-left\",\n pascal_name: \"ArrowFatLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"outlined\"],\n codepoint: 58650,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"arrow-fat-line-down\",\n pascal_name: \"ArrowFatLineDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"outlined\"],\n codepoint: 58652,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"arrow-fat-line-left\",\n pascal_name: \"ArrowFatLineLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"outlined\"],\n codepoint: 58654,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"arrow-fat-line-right\",\n pascal_name: \"ArrowFatLineRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"outlined\"],\n codepoint: 58656,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"arrow-fat-line-up\",\n pascal_name: \"ArrowFatLineUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"caps lock\",\n \"outlined\"\n ],\n codepoint: 58658,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"arrow-fat-lines-down\",\n pascal_name: \"ArrowFatLinesDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"outlined\"],\n codepoint: 58660,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"arrow-fat-lines-left\",\n pascal_name: \"ArrowFatLinesLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"outlined\"],\n codepoint: 58662,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"arrow-fat-lines-right\",\n pascal_name: \"ArrowFatLinesRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"outlined\"],\n codepoint: 58664,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"arrow-fat-lines-up\",\n pascal_name: \"ArrowFatLinesUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"outlined\"],\n codepoint: 58666,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"arrow-fat-right\",\n pascal_name: \"ArrowFatRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"outlined\"],\n codepoint: 58668,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"arrow-fat-up\",\n pascal_name: \"ArrowFatUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"shift\",\n \"outlined\"\n ],\n codepoint: 58670,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"arrow-left\",\n pascal_name: \"ArrowLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57432,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-line-down\",\n pascal_name: \"ArrowLineDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"bottom\"],\n codepoint: 57436,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-line-down-left\",\n pascal_name: \"ArrowLineDownLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57438,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-line-down-right\",\n pascal_name: \"ArrowLineDownRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57440,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-line-left\",\n pascal_name: \"ArrowLineLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57442,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-line-right\",\n pascal_name: \"ArrowLineRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57444,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-line-up\",\n pascal_name: \"ArrowLineUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\", \"top\"],\n codepoint: 57446,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-line-up-left\",\n pascal_name: \"ArrowLineUpLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57448,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-line-up-right\",\n pascal_name: \"ArrowLineUpRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57450,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-right\",\n pascal_name: \"ArrowRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57452,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-square-down\",\n pascal_name: \"ArrowSquareDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57454,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-square-down-left\",\n pascal_name: \"ArrowSquareDownLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57456,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-square-down-right\",\n pascal_name: \"ArrowSquareDownRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57458,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-square-in\",\n pascal_name: \"ArrowSquareIn\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"import\", \"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 58844,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"arrow-square-left\",\n pascal_name: \"ArrowSquareLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57460,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-square-out\",\n pascal_name: \"ArrowSquareOut\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"export\",\n \"external\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\"\n ],\n codepoint: 58846,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"arrow-square-right\",\n pascal_name: \"ArrowSquareRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57462,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-square-up\",\n pascal_name: \"ArrowSquareUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57464,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-square-up-left\",\n pascal_name: \"ArrowSquareUpLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57466,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-square-up-right\",\n pascal_name: \"ArrowSquareUpRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57468,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-u-down-left\",\n pascal_name: \"ArrowUDownLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"undo\",\n \"return\",\n \"u-turns\"\n ],\n codepoint: 57470,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-u-down-right\",\n pascal_name: \"ArrowUDownRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"redo\",\n \"u-turns\"\n ],\n codepoint: 57472,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-u-left-down\",\n pascal_name: \"ArrowULeftDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"undo\",\n \"return\",\n \"u-turns\"\n ],\n codepoint: 57474,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-u-left-up\",\n pascal_name: \"ArrowULeftUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"redo\",\n \"u-turns\"\n ],\n codepoint: 57476,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-u-right-down\",\n pascal_name: \"ArrowURightDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"undo\",\n \"return\",\n \"u-turns\"\n ],\n codepoint: 57478,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-u-right-up\",\n pascal_name: \"ArrowURightUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"redo\",\n \"u-turns\"\n ],\n codepoint: 57480,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-u-up-left\",\n pascal_name: \"ArrowUUpLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"undo\",\n \"return\",\n \"u-turns\"\n ],\n codepoint: 57482,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-u-up-right\",\n pascal_name: \"ArrowUUpRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"redo\",\n \"u-turns\"\n ],\n codepoint: 57484,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-up\",\n pascal_name: \"ArrowUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57486,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-up-left\",\n pascal_name: \"ArrowUpLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57488,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrow-up-right\",\n pascal_name: \"ArrowUpRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57490,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"arrows-clockwise\",\n pascal_name: \"ArrowsClockwise\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"redo\",\n \"refreshing\",\n \"sync\",\n \"synchronize\",\n \"rotate\",\n \"spin\",\n \"flip\"\n ],\n codepoint: 57492,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"arrows-counter-clockwise\",\n pascal_name: \"ArrowsCounterClockwise\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"undo\",\n \"refreshing\",\n \"rotate\",\n \"spin\",\n \"flip\"\n ],\n codepoint: 57494,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"arrows-down-up\",\n pascal_name: \"ArrowsDownUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"*updated*\", \"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57496,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"arrows-horizontal\",\n pascal_name: \"ArrowsHorizontal\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"cursor\",\n \"resize\",\n \"expand\",\n \"left\",\n \"right\"\n ],\n codepoint: 60166,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"arrows-in\",\n pascal_name: \"ArrowsIn\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"collapse\",\n \"minimize\",\n \"resize\",\n \"shrink\"\n ],\n codepoint: 57498,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"arrows-in-cardinal\",\n pascal_name: \"ArrowsInCardinal\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"collapse\",\n \"minimize\",\n \"resize\",\n \"shrink\"\n ],\n codepoint: 57500,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"arrows-in-line-horizontal\",\n pascal_name: \"ArrowsInLineHorizontal\",\n categories: [e.ARROWS, e.DESIGN, e.EDITOR],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"close\",\n \"center\",\n \"align\"\n ],\n codepoint: 58672,\n published_in: 1.1,\n updated_in: 2.1\n },\n {\n name: \"arrows-in-line-vertical\",\n pascal_name: \"ArrowsInLineVertical\",\n categories: [e.ARROWS, e.DESIGN, e.EDITOR],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"close\",\n \"center\",\n \"align\"\n ],\n codepoint: 58674,\n published_in: 1.1,\n updated_in: 2.1\n },\n {\n name: \"arrows-in-simple\",\n pascal_name: \"ArrowsInSimple\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"collapse\",\n \"minimize\",\n \"resize\"\n ],\n codepoint: 57502,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"arrows-left-right\",\n pascal_name: \"ArrowsLeftRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"*updated*\", \"directional\", \"pointer\", \"pointing\", \"arrowhead\"],\n codepoint: 57504,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"arrows-merge\",\n pascal_name: \"ArrowsMerge\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"*updated*\", \"arrowheads\", \"join\", \"combine\"],\n codepoint: 60734,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"arrows-out\",\n pascal_name: \"ArrowsOut\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"expand\",\n \"fullscreen\",\n \"resize\",\n \"grow\"\n ],\n codepoint: 57506,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"arrows-out-cardinal\",\n pascal_name: \"ArrowsOutCardinal\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"expand\",\n \"fullscreen\",\n \"resize\",\n \"pan\",\n \"move\",\n \"grow\"\n ],\n codepoint: 57508,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"arrows-out-line-horizontal\",\n pascal_name: \"ArrowsOutLineHorizontal\",\n categories: [e.ARROWS, e.DESIGN, e.EDITOR],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"open\",\n \"split\"\n ],\n codepoint: 58676,\n published_in: 1.1,\n updated_in: 2.1\n },\n {\n name: \"arrows-out-line-vertical\",\n pascal_name: \"ArrowsOutLineVertical\",\n categories: [e.ARROWS, e.DESIGN, e.EDITOR],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"open\",\n \"split\"\n ],\n codepoint: 58678,\n published_in: 1.1,\n updated_in: 2.1\n },\n {\n name: \"arrows-out-simple\",\n pascal_name: \"ArrowsOutSimple\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"expand\",\n \"fullscreen\",\n \"resize\"\n ],\n codepoint: 57510,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"arrows-split\",\n pascal_name: \"ArrowsSplit\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\"*updated*\", \"arrowheads\", \"fork\"],\n codepoint: 60732,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"arrows-vertical\",\n pascal_name: \"ArrowsVertical\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*updated*\",\n \"directional\",\n \"pointer\",\n \"cursor\",\n \"resize\",\n \"expand\",\n \"up\",\n \"down\"\n ],\n codepoint: 60164,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"article\",\n pascal_name: \"Article\",\n categories: [e.MEDIA, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\n \"reading\",\n \"writing\",\n \"journals\",\n \"periodicals\",\n \"text\",\n \"newspaper\"\n ],\n codepoint: 57512,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"article-medium\",\n pascal_name: \"ArticleMedium\",\n categories: [e.MEDIA, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\n \"*updated*\",\n \"reading\",\n \"writing\",\n \"journals\",\n \"periodicals\",\n \"text\",\n \"newspaper\"\n ],\n codepoint: 58848,\n published_in: 1.2,\n updated_in: 2.1\n },\n {\n name: \"article-ny-times\",\n pascal_name: \"ArticleNyTimes\",\n categories: [e.MEDIA, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\n \"*updated*\",\n \"reading\",\n \"writing\",\n \"journals\",\n \"periodicals\",\n \"text\",\n \"news\",\n \"newspaper\",\n \"nyt\",\n \"new york times\"\n ],\n codepoint: 58850,\n published_in: 1.2,\n updated_in: 2.1\n },\n {\n name: \"asclepius\",\n pascal_name: \"Asclepius\",\n alias: { name: \"caduceus\", pascal_name: \"Caduceus\" },\n categories: [e.HEALTH],\n figma_category: a.HEALTH,\n tags: [\n \"*new*\",\n \"caduceus\",\n \"staff\",\n \"mythology\",\n \"rx\",\n \"medicine\",\n \"drugs\",\n \"pharmacy\",\n \"pharmacist\",\n \"pharmaceuticals\",\n \"doctor\",\n \"hospital\",\n \"snake\",\n \"mercury\",\n \"hermes\"\n ],\n codepoint: 60980,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"asterisk\",\n pascal_name: \"Asterisk\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"star\", \"wildcard\", \"bullet point\", \"6\", \"emergency\"],\n codepoint: 57514,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"asterisk-simple\",\n pascal_name: \"AsteriskSimple\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"*updated*\", \"star\", \"wildcard\", \"bullet point\", \"5\", \"emergency\"],\n codepoint: 59442,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"at\",\n pascal_name: \"At\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"@\", \"address\", \"email\", \"at symbol\", \"commercial at\", \"arobase\"],\n codepoint: 57516,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"atom\",\n pascal_name: \"Atom\",\n categories: [e.DEVELOPMENT, e.NATURE],\n figma_category: a.WEATHER,\n tags: [\n \"atomic\",\n \"nucleus\",\n \"nuclear\",\n \"reactor\",\n \"science\",\n \"physics\",\n \"electron\",\n \"automation\",\n \"react\"\n ],\n codepoint: 58852,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"avocado\",\n pascal_name: \"Avocado\",\n categories: [e.COMMERCE, e.NATURE],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"food\",\n \"vegetable\",\n \"veggie\",\n \"fruit\",\n \"groceries\",\n \"market\"\n ],\n codepoint: 60932,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"axe\",\n pascal_name: \"Axe\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"tools\", \"carpentry\", \"forestry\", \"construction\"],\n codepoint: 59900,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"baby\",\n pascal_name: \"Baby\",\n categories: [e.PEOPLE, e.HEALTH],\n figma_category: a.PEOPLE,\n tags: [\"infant\", \"child\", \"children\", \"toddler\"],\n codepoint: 59252,\n published_in: 1.3,\n updated_in: 1.4\n },\n {\n name: \"baby-carriage\",\n pascal_name: \"BabyCarriage\",\n categories: [e.COMMERCE, e.PEOPLE],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"pram\",\n \"stroller\",\n \"infant\",\n \"child\",\n \"children\",\n \"toddler\"\n ],\n codepoint: 59416,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"backpack\",\n pascal_name: \"Backpack\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"knapsack\", \"camping\", \"school\", \"bag\"],\n codepoint: 59682,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"backspace\",\n pascal_name: \"Backspace\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"keyboard\", \"remove\", \"delete\"],\n codepoint: 57518,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bag\",\n pascal_name: \"Bag\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"suitcase\", \"valise\", \"baggage\", \"folders\", \"portfolio\"],\n codepoint: 57520,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bag-simple\",\n pascal_name: \"BagSimple\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"suitcase\", \"valise\", \"baggage\", \"folders\", \"portfolio\"],\n codepoint: 58854,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"balloon\",\n pascal_name: \"Balloon\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"helium\", \"birthday\", \"party\"],\n codepoint: 59244,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"bandaids\",\n pascal_name: \"Bandaids\",\n categories: [e.HEALTH],\n figma_category: a.HEALTH,\n tags: [\"bandages\", \"medical\", \"medicine\", \"first aid\", \"injury\"],\n codepoint: 57522,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bank\",\n pascal_name: \"Bank\",\n categories: [e.FINANCE, e.MAP],\n figma_category: a.FINANCE,\n tags: [\n \"banking\",\n \"checking\",\n \"money\",\n \"savings\",\n \"deposit\",\n \"withdraw\",\n \"places\",\n \"locations\"\n ],\n codepoint: 57524,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"barbell\",\n pascal_name: \"Barbell\",\n categories: [e.HEALTH],\n figma_category: a.HEALTH,\n tags: [\n \"gym\",\n \"weights\",\n \"dumbbells\",\n \"strength training\",\n \"workout\",\n \"exercises\",\n \"fitness\"\n ],\n codepoint: 57526,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"barcode\",\n pascal_name: \"Barcode\",\n categories: [e.COMMERCE, e.SYSTEM],\n figma_category: a.COMMERCE,\n tags: [\"upc\", \"qr\", \"products\", \"shopping\", \"scanner\"],\n codepoint: 57528,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"barn\",\n pascal_name: \"Barn\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"animals\",\n \"livestock\",\n \"buildings\",\n \"farming\",\n \"agriculture\"\n ],\n codepoint: 60530,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"barricade\",\n pascal_name: \"Barricade\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"construction\", \"safety\", \"gate\"],\n codepoint: 59720,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"baseball\",\n pascal_name: \"Baseball\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"sports\", \"mlb\"],\n codepoint: 59162,\n published_in: 1.3,\n updated_in: 1.4\n },\n {\n name: \"baseball-cap\",\n pascal_name: \"BaseballCap\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"clothes\", \"clothing\", \"sports\", \"hat\"],\n codepoint: 59944,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"baseball-helmet\",\n pascal_name: \"BaseballHelmet\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"sports\", \"mlb\"],\n codepoint: 61002,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"basket\",\n pascal_name: \"Basket\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"ecommerce\",\n \"market\",\n \"cart\",\n \"buying\",\n \"shopping\",\n \"groceries\",\n \"checkout\",\n \"places\",\n \"locations\"\n ],\n codepoint: 59748,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"basketball\",\n pascal_name: \"Basketball\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"sports\", \"nba\"],\n codepoint: 59172,\n published_in: 1.3,\n updated_in: 1.4\n },\n {\n name: \"bathtub\",\n pascal_name: \"Bathtub\",\n categories: [e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"bath\", \"shower\", \"bathroom\", \"faucet\"],\n codepoint: 59422,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"battery-charging\",\n pascal_name: \"BatteryCharging\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\"],\n codepoint: 57530,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"battery-charging-vertical\",\n pascal_name: \"BatteryChargingVertical\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\"],\n codepoint: 57532,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"battery-empty\",\n pascal_name: \"BatteryEmpty\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\", \"dead\"],\n codepoint: 57534,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"battery-full\",\n pascal_name: \"BatteryFull\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\", \"filled\"],\n codepoint: 57536,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"battery-high\",\n pascal_name: \"BatteryHigh\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\"],\n codepoint: 57538,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"battery-low\",\n pascal_name: \"BatteryLow\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\"],\n codepoint: 57540,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"battery-medium\",\n pascal_name: \"BatteryMedium\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\"],\n codepoint: 57542,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"battery-plus\",\n pascal_name: \"BatteryPlus\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\"],\n codepoint: 59400,\n published_in: 1.4,\n updated_in: 2\n },\n {\n name: \"battery-plus-vertical\",\n pascal_name: \"BatteryPlusVertical\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\"],\n codepoint: 60496,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"battery-vertical-empty\",\n pascal_name: \"BatteryVerticalEmpty\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\", \"dead\"],\n codepoint: 59334,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"battery-vertical-full\",\n pascal_name: \"BatteryVerticalFull\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\"],\n codepoint: 59332,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"battery-vertical-high\",\n pascal_name: \"BatteryVerticalHigh\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\"],\n codepoint: 59330,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"battery-vertical-low\",\n pascal_name: \"BatteryVerticalLow\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\"],\n codepoint: 59326,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"battery-vertical-medium\",\n pascal_name: \"BatteryVerticalMedium\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\"],\n codepoint: 59328,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"battery-warning\",\n pascal_name: \"BatteryWarning\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\", \"empty\", \"critical\"],\n codepoint: 57544,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"battery-warning-vertical\",\n pascal_name: \"BatteryWarningVertical\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"charged\", \"charger\", \"charging\", \"power\", \"empty\", \"critical\"],\n codepoint: 57546,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"beach-ball\",\n pascal_name: \"BeachBall\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"sports\", \"ocean\", \"party\"],\n codepoint: 60708,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"beanie\",\n pascal_name: \"Beanie\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"clothes\", \"clothing\", \"sports\", \"hat\", \"winter\"],\n codepoint: 59946,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"bed\",\n pascal_name: \"Bed\",\n categories: [e.HEALTH, e.MAP, e.OBJECTS],\n figma_category: a.HEALTH,\n tags: [\n \"hotels\",\n \"accommodations\",\n \"sleeping\",\n \"places\",\n \"locations\",\n \"medical\",\n \"hospital\"\n ],\n codepoint: 57548,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"beer-bottle\",\n pascal_name: \"BeerBottle\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"drinks\",\n \"beverages\",\n \"places\",\n \"locations\",\n \"bars\",\n \"restaurants\",\n \"food\",\n \"dining\"\n ],\n codepoint: 59312,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"beer-stein\",\n pascal_name: \"BeerStein\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"drinks\",\n \"beverages\",\n \"places\",\n \"locations\",\n \"bars\",\n \"restaurants\",\n \"food\",\n \"dining\"\n ],\n codepoint: 60258,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"behance-logo\",\n pascal_name: \"BehanceLogo\",\n categories: [e.BRAND, e.DESIGN],\n figma_category: a.BRAND,\n tags: [\"logos\", \"illustration\", \"ui\", \"interface\"],\n codepoint: 59380,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"bell\",\n pascal_name: \"Bell\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\n \"alarm\",\n \"notifications\",\n \"times\",\n \"timer\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"ringer\",\n \"calls\"\n ],\n codepoint: 57550,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bell-ringing\",\n pascal_name: \"BellRinging\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"alarm\",\n \"notifications\",\n \"times\",\n \"timer\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"ringer\",\n \"calls\"\n ],\n codepoint: 58856,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"bell-simple\",\n pascal_name: \"BellSimple\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\n \"alarm\",\n \"notifications\",\n \"times\",\n \"timer\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"ringer\",\n \"calls\"\n ],\n codepoint: 57552,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bell-simple-ringing\",\n pascal_name: \"BellSimpleRinging\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"alarm\",\n \"notifications\",\n \"times\",\n \"timer\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"ringer\",\n \"calls\"\n ],\n codepoint: 58858,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"bell-simple-slash\",\n pascal_name: \"BellSimpleSlash\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"alarm\",\n \"notifications\",\n \"times\",\n \"timer\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"ringer\",\n \"silent\",\n \"silenced\",\n \"disabled\"\n ],\n codepoint: 57554,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bell-simple-z\",\n pascal_name: \"BellSimpleZ\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"alarm\",\n \"notifications\",\n \"times\",\n \"timer\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"ringer\",\n \"snooze\"\n ],\n codepoint: 58860,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"bell-slash\",\n pascal_name: \"BellSlash\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"alarm\",\n \"notifications\",\n \"times\",\n \"timer\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"silent\",\n \"silenced\",\n \"ringer\",\n \"calls\",\n \"disabled\"\n ],\n codepoint: 57556,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bell-z\",\n pascal_name: \"BellZ\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"alarm\",\n \"notifications\",\n \"times\",\n \"timer\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"ringer\",\n \"snooze\"\n ],\n codepoint: 58862,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"belt\",\n pascal_name: \"Belt\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"clothes\", \"clothing\"],\n codepoint: 59948,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"bezier-curve\",\n pascal_name: \"BezierCurve\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"shapes\", \"drawing\", \"path\", \"pen\", \"vector\"],\n codepoint: 60160,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"bicycle\",\n pascal_name: \"Bicycle\",\n categories: [e.HEALTH, e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"bikers\",\n \"bicycling\",\n \"cyclists\",\n \"transit\",\n \"transportation\",\n \"commuter\",\n \"exercises\",\n \"fitness\"\n ],\n codepoint: 57558,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"binary\",\n pascal_name: \"Binary\",\n categories: [e.DEVELOPMENT, e.SYSTEM],\n figma_category: a.DEVELOPMENT,\n tags: [\"*new*\", \"digital\", \"0\", \"1\", \"programming\", \"coding\", \"executable\"],\n codepoint: 61024,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"binoculars\",\n pascal_name: \"Binoculars\",\n categories: [e.NATURE, e.OBJECTS, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\"telescope\", \"glasses\", \"search\", \"find\", \"explore\"],\n codepoint: 60004,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"biohazard\",\n pascal_name: \"Biohazard\",\n categories: [e.HEALTH],\n figma_category: a.SECURITY,\n tags: [\n \"*new*\",\n \"contamination\",\n \"quarantine\",\n \"toxic\",\n \"poison\",\n \"danger\",\n \"caution\"\n ],\n codepoint: 59872,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"bird\",\n pascal_name: \"Bird\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"*updated*\", \"animals\", \"pets\"],\n codepoint: 59180,\n published_in: 1.3,\n updated_in: 2.1\n },\n {\n name: \"blueprint\",\n pascal_name: \"Blueprint\",\n categories: [e.COMMERCE, e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\n \"*new*\",\n \"architecture\",\n \"layout\",\n \"floorplan\",\n \"building\",\n \"construction\"\n ],\n codepoint: 60832,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"bluetooth\",\n pascal_name: \"Bluetooth\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"wireless\", \"connection\", \"connected\", \"connectivity\"],\n codepoint: 57562,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bluetooth-connected\",\n pascal_name: \"BluetoothConnected\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"wireless\", \"connection\", \"connected\", \"connectivity\"],\n codepoint: 57564,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bluetooth-slash\",\n pascal_name: \"BluetoothSlash\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"wireless\",\n \"connection\",\n \"connectivity\",\n \"disconnected\",\n \"disabled\"\n ],\n codepoint: 57566,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bluetooth-x\",\n pascal_name: \"BluetoothX\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"wireless\", \"connection\", \"connectivity\", \"disconnected\", \"errors\"],\n codepoint: 57568,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"boat\",\n pascal_name: \"Boat\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"ferry\",\n \"ship\",\n \"cruise\",\n \"vehicles\",\n \"public transit\",\n \"transportation\",\n \"commuter\",\n \"traveling\",\n \"sailing\",\n \"places\",\n \"locations\"\n ],\n codepoint: 59270,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"bomb\",\n pascal_name: \"Bomb\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"gaming\", \"grenade\", \"explosive\", \"war\", \"weapon\", \"fuse\"],\n codepoint: 60938,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"bone\",\n pascal_name: \"Bone\",\n categories: [e.NATURE, e.HEALTH],\n figma_category: a.WEATHER,\n tags: [\"dogbone\"],\n codepoint: 59378,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"book\",\n pascal_name: \"Book\",\n categories: [e.OFFICE, e.MEDIA, e.OBJECTS],\n figma_category: a.EDUCATION,\n tags: [\"reading\", \"reader\", \"novel\", \"story\", \"library\"],\n codepoint: 57570,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"book-bookmark\",\n pascal_name: \"BookBookmark\",\n categories: [e.OFFICE, e.MEDIA, e.OBJECTS],\n figma_category: a.EDUCATION,\n tags: [\n \"reading\",\n \"reader\",\n \"novel\",\n \"story\",\n \"library\",\n \"favorites\",\n \"favorited\"\n ],\n codepoint: 57572,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"book-open\",\n pascal_name: \"BookOpen\",\n categories: [e.OFFICE, e.MEDIA, e.OBJECTS],\n figma_category: a.EDUCATION,\n tags: [\"*updated*\", \"reading\", \"reader\", \"novel\", \"story\", \"library\"],\n codepoint: 57574,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"book-open-text\",\n pascal_name: \"BookOpenText\",\n categories: [\n e.OFFICE,\n e.MEDIA,\n e.OBJECTS,\n e.MAP\n ],\n figma_category: a.EDUCATION,\n tags: [\"*updated*\", \"reading\", \"reader\", \"novel\", \"story\", \"library\"],\n codepoint: 59634,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"book-open-user\",\n pascal_name: \"BookOpenUser\",\n categories: [e.OFFICE, e.MEDIA, e.OBJECTS],\n figma_category: a.EDUCATION,\n tags: [\n \"*new*\",\n \"reading\",\n \"reader\",\n \"easy read\",\n \"library\",\n \"places\",\n \"locations\"\n ],\n codepoint: 60896,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"bookmark\",\n pascal_name: \"Bookmark\",\n categories: [e.OFFICE, e.MEDIA, e.OBJECTS],\n figma_category: a.EDUCATION,\n tags: [\n \"reading\",\n \"reader\",\n \"novel\",\n \"story\",\n \"placeholder\",\n \"favorites\",\n \"favorited\",\n \"library\"\n ],\n codepoint: 57576,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bookmark-simple\",\n pascal_name: \"BookmarkSimple\",\n categories: [e.OFFICE, e.MEDIA, e.OBJECTS],\n figma_category: a.EDUCATION,\n tags: [\n \"reading\",\n \"reader\",\n \"novel\",\n \"story\",\n \"placeholder\",\n \"favorites\",\n \"favorited\",\n \"library\"\n ],\n codepoint: 57578,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bookmarks\",\n pascal_name: \"Bookmarks\",\n categories: [e.OFFICE, e.OBJECTS],\n figma_category: a.EDUCATION,\n tags: [\n \"reading\",\n \"reader\",\n \"novel\",\n \"story\",\n \"placeholder\",\n \"favorites\",\n \"favorited\",\n \"library\"\n ],\n codepoint: 57580,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bookmarks-simple\",\n pascal_name: \"BookmarksSimple\",\n categories: [e.OFFICE, e.OBJECTS],\n figma_category: a.EDUCATION,\n tags: [\n \"reading\",\n \"reader\",\n \"novel\",\n \"story\",\n \"placeholder\",\n \"favorites\",\n \"favorited\",\n \"library\"\n ],\n codepoint: 58864,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"books\",\n pascal_name: \"Books\",\n categories: [\n e.OFFICE,\n e.MAP,\n e.MEDIA,\n e.OBJECTS\n ],\n figma_category: a.EDUCATION,\n tags: [\"reading\", \"reader\", \"bookshelf\", \"library\", \"places\", \"locations\"],\n codepoint: 59224,\n published_in: 1.3,\n updated_in: 2\n },\n {\n name: \"boot\",\n pascal_name: \"Boot\",\n categories: [\n e.COMMERCE,\n e.OBJECTS,\n e.HEALTH\n ],\n figma_category: a.COMMERCE,\n tags: [\"hiking\", \"shoes\", \"sports\", \"exercise\"],\n codepoint: 60618,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"boules\",\n pascal_name: \"Boules\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\n \"*new*\",\n \"balls\",\n \"sports\",\n \"pétanque\",\n \"raffa\",\n \"bocce\",\n \"boule lyonnaise\",\n \"lawn bowls\"\n ],\n codepoint: 59170,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"bounding-box\",\n pascal_name: \"BoundingBox\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"polygon\", \"shapes\", \"outline\", \"corners\", \"rectangle\"],\n codepoint: 59086,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"bowl-food\",\n pascal_name: \"BowlFood\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"ramen\",\n \"food\",\n \"meal\",\n \"eating\",\n \"restaurants\",\n \"dining\",\n \"locations\"\n ],\n codepoint: 60068,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"bowl-steam\",\n pascal_name: \"BowlSteam\",\n categories: [e.COMMERCE, e.OBJECTS, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"food\",\n \"meal\",\n \"eating\",\n \"restaurants\",\n \"dining\",\n \"locations\"\n ],\n codepoint: 59620,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"bowling-ball\",\n pascal_name: \"BowlingBall\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"sports\", \"alley\"],\n codepoint: 59956,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"box-arrow-down\",\n pascal_name: \"BoxArrowDown\",\n alias: { name: \"archive-box\", pascal_name: \"ArchiveBox\" },\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"saved\",\n \"saving\",\n \"archived\",\n \"archiving\",\n \"archival\",\n \"downloaded\",\n \"downloading\"\n ],\n codepoint: 57358,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"box-arrow-up\",\n pascal_name: \"BoxArrowUp\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"*new*\", \"unarchive\", \"archival\", \"upload\"],\n codepoint: 61012,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"boxing-glove\",\n pascal_name: \"BoxingGlove\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"sports\", \"combat\", \"martial arts\", \"fight\", \"gym\"],\n codepoint: 59958,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"brackets-angle\",\n pascal_name: \"BracketsAngle\",\n categories: [e.DEVELOPMENT, e.EDITOR],\n figma_category: a.DEVELOPMENT,\n tags: [\"code\", \"angle brackets\", \"angle braces\"],\n codepoint: 59490,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"brackets-curly\",\n pascal_name: \"BracketsCurly\",\n categories: [e.DEVELOPMENT, e.EDITOR],\n figma_category: a.DEVELOPMENT,\n tags: [\"code\", \"curly brackets\", \"curly braces\"],\n codepoint: 59488,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"brackets-round\",\n pascal_name: \"BracketsRound\",\n categories: [e.DEVELOPMENT, e.EDITOR],\n figma_category: a.DEVELOPMENT,\n tags: [\"code\", \"parentheses\", \"round brackets\", \"round braces\"],\n codepoint: 59492,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"brackets-square\",\n pascal_name: \"BracketsSquare\",\n categories: [e.DEVELOPMENT, e.EDITOR],\n figma_category: a.DEVELOPMENT,\n tags: [\"code\", \"square brackets\", \"square braces\", \"array\"],\n codepoint: 59486,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"brain\",\n pascal_name: \"Brain\",\n categories: [e.HEALTH, e.NATURE],\n figma_category: a.HEALTH,\n tags: [\"mind\", \"mental\"],\n codepoint: 59214,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"brandy\",\n pascal_name: \"Brandy\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"drinks\",\n \"beverages\",\n \"whiskey\",\n \"cocktail\",\n \"places\",\n \"locations\",\n \"bars\",\n \"restaurants\",\n \"food\",\n \"dining\"\n ],\n codepoint: 59060,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"bread\",\n pascal_name: \"Bread\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"food\",\n \"meal\",\n \"bakery\",\n \"sandwich\",\n \"gluten\",\n \"loaf\",\n \"toast\",\n \"slice\"\n ],\n codepoint: 59420,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"bridge\",\n pascal_name: \"Bridge\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"travel\", \"transportation\", \"infrastucture\"],\n codepoint: 60008,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"briefcase\",\n pascal_name: \"Briefcase\",\n categories: [e.OFFICE, e.OBJECTS],\n figma_category: a.OFFICE,\n tags: [\"suitcase\", \"valise\", \"baggage\", \"folders\", \"portfolio\"],\n codepoint: 57582,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"briefcase-metal\",\n pascal_name: \"BriefcaseMetal\",\n categories: [e.OFFICE, e.OBJECTS],\n figma_category: a.OFFICE,\n tags: [\"suitcase\", \"valise\", \"baggage\", \"folders\", \"portfolio\"],\n codepoint: 58866,\n published_in: 1.2,\n updated_in: 1.4\n },\n {\n name: \"broadcast\",\n pascal_name: \"Broadcast\",\n categories: [\n e.COMMUNICATION,\n e.MEDIA,\n e.SYSTEM\n ],\n figma_category: a.COMMUNICATION,\n tags: [\"radio\", \"hotspot\", \"wifi\", \"emit\"],\n codepoint: 57586,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"broom\",\n pascal_name: \"Broom\",\n categories: [e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"sweeping\", \"cleaning\"],\n codepoint: 60500,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"browser\",\n pascal_name: \"Browser\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"web browsers\",\n \"windows\",\n \"internet\",\n \"website\",\n \"webpage\",\n \"chrome\",\n \"edge\",\n \"firefox\"\n ],\n codepoint: 57588,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"browsers\",\n pascal_name: \"Browsers\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"web browsers\",\n \"windows\",\n \"internet\",\n \"website\",\n \"webpage\",\n \"chrome\",\n \"edge\",\n \"firefox\"\n ],\n codepoint: 57590,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"bug\",\n pascal_name: \"Bug\",\n categories: [e.DEVELOPMENT, e.NATURE],\n figma_category: a.DEVELOPMENT,\n tags: [\"debug\", \"errors\", \"insect\", \"ladybug\"],\n codepoint: 58868,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"bug-beetle\",\n pascal_name: \"BugBeetle\",\n categories: [e.DEVELOPMENT, e.NATURE],\n figma_category: a.DEVELOPMENT,\n tags: [\"debug\", \"errors\", \"insect\", \"ladybug\"],\n codepoint: 58870,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"bug-droid\",\n pascal_name: \"BugDroid\",\n categories: [e.DEVELOPMENT, e.NATURE],\n figma_category: a.DEVELOPMENT,\n tags: [\"debug\", \"errors\", \"insect\", \"android\", \"google\"],\n codepoint: 58872,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"building\",\n pascal_name: \"Building\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"places\", \"locations\", \"company\", \"business\", \"buildings\"],\n codepoint: 57600,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"building-apartment\",\n pascal_name: \"BuildingApartment\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"places\", \"locations\", \"buildings\"],\n codepoint: 57598,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"building-office\",\n pascal_name: \"BuildingOffice\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"places\", \"locations\", \"company\", \"business\", \"buildings\"],\n codepoint: 57598,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"buildings\",\n pascal_name: \"Buildings\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\"places\", \"locations\", \"company\", \"business\"],\n codepoint: 57602,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"bulldozer\",\n pascal_name: \"Bulldozer\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"vehicles\", \"construction\", \"earth mover\", \"dig\", \"digger\"],\n codepoint: 60524,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"bus\",\n pascal_name: \"Bus\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"vehicles\",\n \"automobile\",\n \"public transit\",\n \"transportation\",\n \"commuter\",\n \"traveling\",\n \"places\",\n \"locations\"\n ],\n codepoint: 57606,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"butterfly\",\n pascal_name: \"Butterfly\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"animals\", \"insects\", \"moth\"],\n codepoint: 60014,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"cable-car\",\n pascal_name: \"CableCar\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"vehicles\",\n \"gondola\",\n \"skiing\",\n \"mountains\",\n \"public transit\",\n \"transportation\",\n \"commuter\",\n \"traveling\",\n \"places\",\n \"locations\"\n ],\n codepoint: 58524,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"cactus\",\n pascal_name: \"Cactus\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"*updated*\", \"plants\", \"cacti\", \"desert\", \"western\"],\n codepoint: 59672,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"cake\",\n pascal_name: \"Cake\",\n categories: [e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"dessert\", \"birthday\", \"celebration\", \"event\"],\n codepoint: 59264,\n published_in: 1.3,\n updated_in: 2\n },\n {\n name: \"calculator\",\n pascal_name: \"Calculator\",\n categories: [\n e.DEVELOPMENT,\n e.FINANCE,\n e.OFFICE,\n e.OBJECTS\n ],\n figma_category: a.FINANCE,\n tags: [\n \"addition\",\n \"sum\",\n \"subtraction\",\n \"difference\",\n \"multiply\",\n \"multiplication\",\n \"product\",\n \"divide\",\n \"division\",\n \"divisor\",\n \"dividend\",\n \"quotient\",\n \"equals\",\n \"equality\",\n \"mathematics\",\n \"arithmetic\",\n \"+\",\n \"-\",\n \"±\",\n \"×\",\n \"÷\",\n \"=\"\n ],\n codepoint: 58680,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"calendar\",\n pascal_name: \"Calendar\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"dates\", \"times\", \"events\", \"schedule\", \"12\"],\n codepoint: 57608,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"calendar-blank\",\n pascal_name: \"CalendarBlank\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"dates\", \"times\", \"events\", \"schedule\", \"none\"],\n codepoint: 57610,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"calendar-check\",\n pascal_name: \"CalendarCheck\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"dates\", \"times\", \"events\", \"schedule\", \"todo\", \"checklist\"],\n codepoint: 59154,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"calendar-dot\",\n pascal_name: \"CalendarDot\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"*new*\", \"dates\", \"times\", \"events\", \"schedule\", \"today\"],\n codepoint: 59314,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"calendar-dots\",\n pascal_name: \"CalendarDots\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"*new*\", \"dates\", \"times\", \"events\", \"schedule\"],\n codepoint: 59316,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"calendar-heart\",\n pascal_name: \"CalendarHeart\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"*new*\", \"dates\", \"times\", \"events\", \"schedule\", \"favorite\", \"star\"],\n codepoint: 59568,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"calendar-minus\",\n pascal_name: \"CalendarMinus\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"*new*\", \"dates\", \"times\", \"events\", \"schedule\", \"remove\", \"delete\"],\n codepoint: 59924,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"calendar-plus\",\n pascal_name: \"CalendarPlus\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"dates\", \"times\", \"events\", \"schedule\", \"add\"],\n codepoint: 59156,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"calendar-slash\",\n pascal_name: \"CalendarSlash\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.TIME,\n tags: [\n \"*new*\",\n \"dates\",\n \"times\",\n \"events\",\n \"schedule\",\n \"remove\",\n \"delete\",\n \"cancel. unavailable\"\n ],\n codepoint: 59922,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"calendar-star\",\n pascal_name: \"CalendarStar\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"*new*\", \"dates\", \"times\", \"events\", \"schedule\", \"favorite\", \"star\"],\n codepoint: 59570,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"calendar-x\",\n pascal_name: \"CalendarX\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"dates\", \"times\", \"events\", \"schedule\", \"closed\", \"cancelled\"],\n codepoint: 57612,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"call-bell\",\n pascal_name: \"CallBell\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"service bell\", \"reception\", \"attendant\", \"concierge bell\"],\n codepoint: 59358,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"camera\",\n pascal_name: \"Camera\",\n categories: [e.MEDIA, e.SYSTEM, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\"photography\", \"pictures\", \"lens\"],\n codepoint: 57614,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"camera-plus\",\n pascal_name: \"CameraPlus\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"photography\", \"pictures\", \"album\", \"add\"],\n codepoint: 60504,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"camera-rotate\",\n pascal_name: \"CameraRotate\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"photography\",\n \"pictures\",\n \"orientation\",\n \"portrait\",\n \"landscape\",\n \"selfie\",\n \"flip\"\n ],\n codepoint: 59300,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"camera-slash\",\n pascal_name: \"CameraSlash\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"photography\", \"pictures\", \"lens\", \"disabled\"],\n codepoint: 57616,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"campfire\",\n pascal_name: \"Campfire\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"camping\", \"flame\", \"bonfire\", \"outdoors\"],\n codepoint: 59864,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"car\",\n pascal_name: \"Car\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"*updated*\",\n \"cars\",\n \"vehicles\",\n \"automobile\",\n \"transit\",\n \"transportation\",\n \"traveling\"\n ],\n codepoint: 57618,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"car-battery\",\n pascal_name: \"CarBattery\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"charged\",\n \"charger\",\n \"charging\",\n \"power\",\n \"voltage\",\n \"electricity\"\n ],\n codepoint: 60976,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"car-profile\",\n pascal_name: \"CarProfile\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"cars\",\n \"vehicles\",\n \"automobile\",\n \"transit\",\n \"transportation\",\n \"traveling\"\n ],\n codepoint: 59596,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"car-simple\",\n pascal_name: \"CarSimple\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"cars\",\n \"vehicles\",\n \"automobile\",\n \"transit\",\n \"transportation\",\n \"traveling\"\n ],\n codepoint: 57620,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"cardholder\",\n pascal_name: \"Cardholder\",\n categories: [\n e.COMMERCE,\n e.FINANCE,\n e.OBJECTS\n ],\n figma_category: a.COMMERCE,\n tags: [\"wallet\", \"money\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 58874,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"cards\",\n pascal_name: \"Cards\",\n categories: [e.DESIGN, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"card\",\n \"slides\",\n \"slideshow\",\n \"windows\",\n \"website\",\n \"webpage\",\n \"layers\"\n ],\n codepoint: 57592,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"cards-three\",\n pascal_name: \"CardsThree\",\n categories: [e.DESIGN, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"*new*\",\n \"card\",\n \"slides\",\n \"slideshow\",\n \"windows\",\n \"website\",\n \"webpage\",\n \"layers\",\n \"stack\"\n ],\n codepoint: 61008,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"caret-circle-double-down\",\n pascal_name: \"CaretCircleDoubleDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57622,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-circle-double-left\",\n pascal_name: \"CaretCircleDoubleLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57624,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-circle-double-right\",\n pascal_name: \"CaretCircleDoubleRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57626,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-circle-double-up\",\n pascal_name: \"CaretCircleDoubleUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57628,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-circle-down\",\n pascal_name: \"CaretCircleDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57630,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-circle-left\",\n pascal_name: \"CaretCircleLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57632,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-circle-right\",\n pascal_name: \"CaretCircleRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57634,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-circle-up\",\n pascal_name: \"CaretCircleUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57636,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-circle-up-down\",\n pascal_name: \"CaretCircleUpDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57662,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"caret-double-down\",\n pascal_name: \"CaretDoubleDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57638,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-double-left\",\n pascal_name: \"CaretDoubleLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57640,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-double-right\",\n pascal_name: \"CaretDoubleRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57642,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-double-up\",\n pascal_name: \"CaretDoubleUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57644,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-down\",\n pascal_name: \"CaretDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57654,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-left\",\n pascal_name: \"CaretLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57656,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-line-down\",\n pascal_name: \"CaretLineDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*new*\",\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57652,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"caret-line-left\",\n pascal_name: \"CaretLineLeft\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*new*\",\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57650,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"caret-line-right\",\n pascal_name: \"CaretLineRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*new*\",\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57648,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"caret-line-up\",\n pascal_name: \"CaretLineUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"*new*\",\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57646,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"caret-right\",\n pascal_name: \"CaretRight\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57658,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-up\",\n pascal_name: \"CaretUp\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57660,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"caret-up-down\",\n pascal_name: \"CaretUpDown\",\n categories: [e.ARROWS],\n figma_category: a.ARROWS,\n tags: [\n \"chevron\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\",\n \"triangle\"\n ],\n codepoint: 57664,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"carrot\",\n pascal_name: \"Carrot\",\n categories: [e.COMMERCE, e.NATURE],\n figma_category: a.COMMERCE,\n tags: [\"food\", \"vegetable\", \"veggie\", \"groceries\", \"market\"],\n codepoint: 60728,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"cash-register\",\n pascal_name: \"CashRegister\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"retail\",\n \"point-of-sale\",\n \"pos\",\n \"transaction\",\n \"sales\",\n \"till\"\n ],\n codepoint: 60800,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"cassette-tape\",\n pascal_name: \"CassetteTape\",\n categories: [e.MEDIA, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\"recording\", \"audio\", \"album\", \"music\"],\n codepoint: 60718,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"castle-turret\",\n pascal_name: \"CastleTurret\",\n categories: [e.MAP, e.OBJECTS, e.GAMES],\n figma_category: a.GAMES,\n tags: [\"*updated*\", \"chess\", \"rook\"],\n codepoint: 59856,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"cat\",\n pascal_name: \"Cat\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"pets\", \"animals\", \"kitty\", \"kitten\"],\n codepoint: 59208,\n published_in: 1.3,\n updated_in: 1.4\n },\n {\n name: \"cell-signal-full\",\n pascal_name: \"CellSignalFull\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"wireless\",\n \"cellular\",\n \"phone\",\n \"mobile\",\n \"network\",\n \"connection\",\n \"connectivity\",\n \"reception\",\n \"service\"\n ],\n codepoint: 57666,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"cell-signal-high\",\n pascal_name: \"CellSignalHigh\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"wireless\",\n \"cellular\",\n \"phone\",\n \"mobile\",\n \"network\",\n \"connection\",\n \"connectivity\",\n \"reception\",\n \"service\"\n ],\n codepoint: 57668,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"cell-signal-low\",\n pascal_name: \"CellSignalLow\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"wireless\",\n \"cellular\",\n \"phone\",\n \"mobile\",\n \"network\",\n \"connection\",\n \"connectivity\",\n \"reception\",\n \"service\"\n ],\n codepoint: 57670,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"cell-signal-medium\",\n pascal_name: \"CellSignalMedium\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"wireless\",\n \"cellular\",\n \"phone\",\n \"mobile\",\n \"network\",\n \"connection\",\n \"connectivity\",\n \"reception\",\n \"service\"\n ],\n codepoint: 57672,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"cell-signal-none\",\n pascal_name: \"CellSignalNone\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"wireless\",\n \"cellular\",\n \"phone\",\n \"mobile\",\n \"network\",\n \"connection\",\n \"connectivity\",\n \"reception\",\n \"service\"\n ],\n codepoint: 57674,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"cell-signal-slash\",\n pascal_name: \"CellSignalSlash\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"wireless\",\n \"cellular\",\n \"phone\",\n \"mobile\",\n \"network\",\n \"connection\",\n \"connectivity\",\n \"disconnected\",\n \"disabled\",\n \"reception\",\n \"service\"\n ],\n codepoint: 57676,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"cell-signal-x\",\n pascal_name: \"CellSignalX\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"wireless\",\n \"cellular\",\n \"phone\",\n \"mobile\",\n \"network\",\n \"connection\",\n \"connectivity\",\n \"reception\",\n \"disconnected\",\n \"errors\",\n \"service\"\n ],\n codepoint: 57678,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"cell-tower\",\n pascal_name: \"CellTower\",\n categories: [e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\n \"*new*\",\n \"wireless\",\n \"cellular\",\n \"broadcast\",\n \"phone\",\n \"mobile\",\n \"network\",\n \"connection\",\n \"connectivity\"\n ],\n codepoint: 60330,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"certificate\",\n pascal_name: \"Certificate\",\n categories: [e.OBJECTS],\n figma_category: a.EDUCATION,\n tags: [\"*updated*\", \"awards\", \"certification\", \"degree\", \"diploma\"],\n codepoint: 59238,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"chair\",\n pascal_name: \"Chair\",\n categories: [e.OBJECTS, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"seat\", \"furniture\"],\n codepoint: 59728,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"chalkboard\",\n pascal_name: \"Chalkboard\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.EDUCATION,\n tags: [\n \"blackboard\",\n \"whiteboard\",\n \"classroom\",\n \"teacher\",\n \"education\",\n \"school\",\n \"college\",\n \"university\"\n ],\n codepoint: 58876,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"chalkboard-simple\",\n pascal_name: \"ChalkboardSimple\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.EDUCATION,\n tags: [\n \"*updated*\",\n \"blackboard\",\n \"whiteboard\",\n \"classroom\",\n \"teacher\",\n \"education\",\n \"school\",\n \"college\",\n \"university\"\n ],\n codepoint: 58878,\n published_in: 1.2,\n updated_in: 2.1\n },\n {\n name: \"chalkboard-teacher\",\n pascal_name: \"ChalkboardTeacher\",\n categories: [e.MAP, e.OBJECTS, e.PEOPLE],\n figma_category: a.EDUCATION,\n tags: [\n \"blackboard\",\n \"whiteboard\",\n \"classroom\",\n \"education\",\n \"school\",\n \"college\",\n \"university\"\n ],\n codepoint: 58880,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"champagne\",\n pascal_name: \"Champagne\",\n categories: [e.MAP, e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"glass\",\n \"drinks\",\n \"beverages\",\n \"wine\",\n \"places\",\n \"locations\",\n \"bars\",\n \"restaurants\",\n \"food\",\n \"dining\"\n ],\n codepoint: 60106,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"charging-station\",\n pascal_name: \"ChargingStation\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"ev\", \"charge\", \"fuel\", \"pump\"],\n codepoint: 59600,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"chart-bar\",\n pascal_name: \"ChartBar\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.FINANCE,\n tags: [\n \"graphs\",\n \"graphing\",\n \"charts\",\n \"statistics\",\n \"histogram\",\n \"analyze\",\n \"analysis\"\n ],\n codepoint: 57680,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chart-bar-horizontal\",\n pascal_name: \"ChartBarHorizontal\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.FINANCE,\n tags: [\n \"graphs\",\n \"graphing\",\n \"charts\",\n \"statistics\",\n \"histogram\",\n \"analyze\",\n \"analysis\"\n ],\n codepoint: 57682,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chart-donut\",\n pascal_name: \"ChartDonut\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.FINANCE,\n tags: [\n \"graphs\",\n \"graphing\",\n \"charts\",\n \"statistics\",\n \"analyze\",\n \"analysis\",\n \"circle\"\n ],\n codepoint: 60070,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"chart-line\",\n pascal_name: \"ChartLine\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.FINANCE,\n tags: [\n \"graphs\",\n \"graphing\",\n \"charts\",\n \"statistics\",\n \"analyze\",\n \"analysis\",\n \"stocks\"\n ],\n codepoint: 57684,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chart-line-down\",\n pascal_name: \"ChartLineDown\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.FINANCE,\n tags: [\n \"*updated*\",\n \"graphs\",\n \"graphing\",\n \"charts\",\n \"statistics\",\n \"analyze\",\n \"analysis\",\n \"stocks\"\n ],\n codepoint: 59574,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"chart-line-up\",\n pascal_name: \"ChartLineUp\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.FINANCE,\n tags: [\n \"*updated*\",\n \"graphs\",\n \"graphing\",\n \"charts\",\n \"statistics\",\n \"analyze\",\n \"analysis\",\n \"stocks\"\n ],\n codepoint: 57686,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"chart-pie\",\n pascal_name: \"ChartPie\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.FINANCE,\n tags: [\n \"graphs\",\n \"graphing\",\n \"charts\",\n \"statistics\",\n \"circle\",\n \"analyze\",\n \"analysis\"\n ],\n codepoint: 57688,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chart-pie-slice\",\n pascal_name: \"ChartPieSlice\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.FINANCE,\n tags: [\n \"*updated*\",\n \"graphs\",\n \"graphing\",\n \"charts\",\n \"statistics\",\n \"circle\",\n \"analyze\",\n \"analysis\"\n ],\n codepoint: 57690,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"chart-polar\",\n pascal_name: \"ChartPolar\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.FINANCE,\n tags: [\n \"graphs\",\n \"graphing\",\n \"charts\",\n \"statistics\",\n \"analyze\",\n \"analysis\",\n \"circle\"\n ],\n codepoint: 60072,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"chart-scatter\",\n pascal_name: \"ChartScatter\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.FINANCE,\n tags: [\"graphs\", \"graphing\", \"charts\", \"statistics\", \"analyze\", \"analysis\"],\n codepoint: 60076,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"chat\",\n pascal_name: \"Chat\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"square\",\n \"bubble\"\n ],\n codepoint: 57692,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chat-centered\",\n pascal_name: \"ChatCentered\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"square\",\n \"bubble\"\n ],\n codepoint: 57696,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chat-centered-dots\",\n pascal_name: \"ChatCenteredDots\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"square\",\n \"bubble\"\n ],\n codepoint: 57700,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chat-centered-slash\",\n pascal_name: \"ChatCenteredSlash\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"*new*\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"square\",\n \"bubble\"\n ],\n codepoint: 57698,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"chat-centered-text\",\n pascal_name: \"ChatCenteredText\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"square\",\n \"bubble\"\n ],\n codepoint: 57702,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chat-circle\",\n pascal_name: \"ChatCircle\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"round\",\n \"bubble\"\n ],\n codepoint: 57704,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chat-circle-dots\",\n pascal_name: \"ChatCircleDots\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"round\",\n \"bubble\"\n ],\n codepoint: 57708,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chat-circle-slash\",\n pascal_name: \"ChatCircleSlash\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"*new*\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"round\",\n \"bubble\"\n ],\n codepoint: 57706,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"chat-circle-text\",\n pascal_name: \"ChatCircleText\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"round\",\n \"bubble\"\n ],\n codepoint: 57710,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chat-dots\",\n pascal_name: \"ChatDots\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"square\",\n \"bubble\"\n ],\n codepoint: 57712,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chat-slash\",\n pascal_name: \"ChatSlash\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"*new*\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"square\",\n \"bubble\"\n ],\n codepoint: 57694,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"chat-teardrop\",\n pascal_name: \"ChatTeardrop\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"bubble\"\n ],\n codepoint: 57714,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chat-teardrop-dots\",\n pascal_name: \"ChatTeardropDots\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"bubble\"\n ],\n codepoint: 57718,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chat-teardrop-slash\",\n pascal_name: \"ChatTeardropSlash\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"*new*\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"bubble\"\n ],\n codepoint: 57716,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"chat-teardrop-text\",\n pascal_name: \"ChatTeardropText\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"bubble\"\n ],\n codepoint: 57720,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chat-text\",\n pascal_name: \"ChatText\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"square\",\n \"bubble\"\n ],\n codepoint: 57722,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chats\",\n pascal_name: \"Chats\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"square\",\n \"bubble\"\n ],\n codepoint: 57724,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chats-circle\",\n pascal_name: \"ChatsCircle\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"round\",\n \"bubble\"\n ],\n codepoint: 57726,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"chats-teardrop\",\n pascal_name: \"ChatsTeardrop\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"sms\",\n \"texting\",\n \"comment\",\n \"bubble\"\n ],\n codepoint: 57728,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"check\",\n pascal_name: \"Check\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"todo\", \"to-do\", \"task\", \"list\", \"checkbox\", \"ok\", \"done\"],\n codepoint: 57730,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"check-circle\",\n pascal_name: \"CheckCircle\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"todo\", \"to-do\", \"task\", \"list\", \"checkbox\", \"round\", \"ok\", \"done\"],\n codepoint: 57732,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"check-fat\",\n pascal_name: \"CheckFat\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"todo\", \"to-do\", \"task\", \"list\", \"checkbox\", \"ok\", \"done\"],\n codepoint: 60326,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"check-square\",\n pascal_name: \"CheckSquare\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"todo\",\n \"to-do\",\n \"task\",\n \"list\",\n \"checkbox\",\n \"rectangle\",\n \"ok\",\n \"done\"\n ],\n codepoint: 57734,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"check-square-offset\",\n pascal_name: \"CheckSquareOffset\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"*updated*\",\n \"todo\",\n \"to-do\",\n \"task\",\n \"list\",\n \"checkbox\",\n \"rectangle\",\n \"ok\",\n \"done\"\n ],\n codepoint: 57736,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"checkerboard\",\n pascal_name: \"Checkerboard\",\n categories: [e.GAMES],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"crossword\"],\n codepoint: 59588,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"checks\",\n pascal_name: \"Checks\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"*updated*\",\n \"todo\",\n \"task\",\n \"to-do\",\n \"list\",\n \"checkbox\",\n \"ok\",\n \"done\"\n ],\n codepoint: 58682,\n published_in: 1.1,\n updated_in: 2.1\n },\n {\n name: \"cheers\",\n pascal_name: \"Cheers\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"glass\",\n \"drinks\",\n \"beverages\",\n \"champagne\",\n \"toast\",\n \"places\",\n \"locations\",\n \"bars\",\n \"restaurants\",\n \"food\",\n \"dining\"\n ],\n codepoint: 59978,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"cheese\",\n pascal_name: \"Cheese\",\n categories: [e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"dairy\", \"wedge\", \"food\", \"dining\"],\n codepoint: 59902,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"chef-hat\",\n pascal_name: \"ChefHat\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"cooking\", \"cuisine\", \"kitchen\", \"clothes\", \"clothing\"],\n codepoint: 60814,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"cherries\",\n pascal_name: \"Cherries\",\n categories: [e.NATURE, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"food\", \"fruit\", \"cherry\", \"groceries\", \"market\"],\n codepoint: 59440,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"church\",\n pascal_name: \"Church\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\"christ\", \"christianity\", \"cathedral\", \"religion\", \"worship\"],\n codepoint: 60650,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"cigarette\",\n pascal_name: \"Cigarette\",\n categories: [e.COMMERCE, e.HEALTH],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"smoking\", \"tobacco\"],\n codepoint: 60816,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"cigarette-slash\",\n pascal_name: \"CigaretteSlash\",\n categories: [e.COMMERCE, e.HEALTH],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"non-smoking\", \"tobacco\"],\n codepoint: 60818,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"circle\",\n pascal_name: \"Circle\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"round\", \"shapes\", \"polygons\"],\n codepoint: 57738,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"circle-dashed\",\n pascal_name: \"CircleDashed\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"missing\", \"round\", \"shapes\", \"polygons\"],\n codepoint: 58882,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"circle-half\",\n pascal_name: \"CircleHalf\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"round\", \"shapes\", \"contrast\", \"brightness\"],\n codepoint: 57740,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"circle-half-tilt\",\n pascal_name: \"CircleHalfTilt\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"round\", \"shapes\", \"contrast\", \"brightness\"],\n codepoint: 57742,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"circle-notch\",\n pascal_name: \"CircleNotch\",\n categories: [e.SYSTEM],\n figma_category: a.DESIGN,\n tags: [\n \"round\",\n \"shapes\",\n \"loading\",\n \"loader\",\n \"spinner\",\n \"waiting\",\n \"progress\"\n ],\n codepoint: 60228,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"circles-four\",\n pascal_name: \"CirclesFour\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"round\", \"shapes\", \"polygons\", \"4\"],\n codepoint: 57744,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"circles-three\",\n pascal_name: \"CirclesThree\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"round\", \"shapes\", \"polygons\", \"3\", \"asana\"],\n codepoint: 57746,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"circles-three-plus\",\n pascal_name: \"CirclesThreePlus\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"round\", \"shapes\", \"polygons\", \"3\", \"+\"],\n codepoint: 57748,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"circuitry\",\n pascal_name: \"Circuitry\",\n categories: [e.DEVELOPMENT],\n figma_category: a.SYSTEM,\n tags: [\n \"processor\",\n \"microchip\",\n \"computer\",\n \"circuit\",\n \"electronics\",\n \"motherboard\"\n ],\n codepoint: 59842,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"city\",\n pascal_name: \"City\",\n categories: [e.MAP, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"skyline\",\n \"skyscrapers\",\n \"places\",\n \"locations\",\n \"buildings\"\n ],\n codepoint: 60010,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"clipboard\",\n pascal_name: \"Clipboard\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"copy\", \"copied\", \"checklist\"],\n codepoint: 57750,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"clipboard-text\",\n pascal_name: \"ClipboardText\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"copy\", \"copied\", \"checklist\"],\n codepoint: 57752,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"clock\",\n pascal_name: \"Clock\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.TIME,\n tags: [\"times\", \"timer\", \"alarm\", \"schedule\", \"events\", \"watch\"],\n codepoint: 57754,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"clock-afternoon\",\n pascal_name: \"ClockAfternoon\",\n categories: [e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"times\", \"timer\", \"alarm\", \"schedule\", \"events\", \"watch\"],\n codepoint: 57756,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"clock-clockwise\",\n pascal_name: \"ClockClockwise\",\n categories: [e.SYSTEM],\n figma_category: a.TIME,\n tags: [\n \"times\",\n \"timer\",\n \"alarm\",\n \"schedule\",\n \"events\",\n \"restore\",\n \"fast forward\",\n \"update\"\n ],\n codepoint: 57758,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"clock-countdown\",\n pascal_name: \"ClockCountdown\",\n categories: [e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"times\", \"timer\", \"alarm\", \"schedule\", \"events\", \"watch\"],\n codepoint: 60716,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"clock-counter-clockwise\",\n pascal_name: \"ClockCounterClockwise\",\n categories: [e.SYSTEM],\n figma_category: a.TIME,\n tags: [\n \"times\",\n \"timer\",\n \"alarm\",\n \"schedule\",\n \"events\",\n \"backup\",\n \"rewind\",\n \"history\"\n ],\n codepoint: 57760,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"clock-user\",\n pascal_name: \"ClockUser\",\n categories: [e.SYSTEM],\n figma_category: a.TIME,\n tags: [\"*new*\", \"times\", \"timer\", \"shift\", \"schedule\", \"events\", \"watch\"],\n codepoint: 60908,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"closed-captioning\",\n pascal_name: \"ClosedCaptioning\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\n \"subtitles\",\n \"television\",\n \"tv\",\n \"transcribed\",\n \"transcription\",\n \"accessibility\",\n \"a11y\"\n ],\n codepoint: 57764,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"cloud\",\n pascal_name: \"Cloud\",\n categories: [e.SYSTEM, e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\n \"serverless\",\n \"backup\",\n \"storage\",\n \"meteorology\",\n \"cloudy\",\n \"overcast\"\n ],\n codepoint: 57770,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"cloud-arrow-down\",\n pascal_name: \"CloudArrowDown\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"serverless\", \"backup\", \"storage\", \"download\"],\n codepoint: 57772,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"cloud-arrow-up\",\n pascal_name: \"CloudArrowUp\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"serverless\", \"backup\", \"storage\", \"upload\"],\n codepoint: 57774,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"cloud-check\",\n pascal_name: \"CloudCheck\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"serverless\", \"backup\", \"storage\", \"sync\", \"synchronized\"],\n codepoint: 57776,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"cloud-fog\",\n pascal_name: \"CloudFog\",\n categories: [e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"meteorology\", \"cloudy\", \"overcast\", \"foggy\", \"mist\", \"haze\"],\n codepoint: 58684,\n published_in: 1.1,\n updated_in: 1.4\n },\n {\n name: \"cloud-lightning\",\n pascal_name: \"CloudLightning\",\n categories: [e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"meteorology\", \"cloudy\", \"overcast\", \"stormy\", \"thunderstorm\"],\n codepoint: 57778,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"cloud-moon\",\n pascal_name: \"CloudMoon\",\n categories: [e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"meteorology\", \"cloudy\", \"partly cloudy\", \"night\", \"evening\"],\n codepoint: 58686,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"cloud-rain\",\n pascal_name: \"CloudRain\",\n categories: [e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"meteorology\", \"cloudy\", \"rainy\", \"raining\", \"stormy\", \"rainstorm\"],\n codepoint: 57780,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"cloud-slash\",\n pascal_name: \"CloudSlash\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"serverless\", \"backup\", \"storage\", \"sync\", \"disabled\"],\n codepoint: 57782,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"cloud-snow\",\n pascal_name: \"CloudSnow\",\n categories: [e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"meteorology\", \"cloudy\", \"snowy\", \"snowing\", \"stormy\", \"snowstorm\"],\n codepoint: 57784,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"cloud-sun\",\n pascal_name: \"CloudSun\",\n categories: [e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"meteorology\", \"cloudy\", \"partly cloudy\", \"partly sunny\"],\n codepoint: 58688,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"cloud-warning\",\n pascal_name: \"CloudWarning\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"serverless\", \"backup\", \"storage\", \"errors\"],\n codepoint: 60056,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"cloud-x\",\n pascal_name: \"CloudX\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"serverless\", \"backup\", \"storage\", \"errors\"],\n codepoint: 60054,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"clover\",\n pascal_name: \"Clover\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"*new*\", \"four leaf clover\", \"plants\", \"luck\", \"lucky\", \"irish\"],\n codepoint: 60872,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"club\",\n pascal_name: \"Club\",\n categories: [e.GAMES],\n figma_category: a.GAMES,\n tags: [\"clubs\", \"suits\", \"cards\", \"gambling\", \"casino\", \"gaming\"],\n codepoint: 57786,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"coat-hanger\",\n pascal_name: \"CoatHanger\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"clothing\", \"clothes\", \"closet\"],\n codepoint: 59390,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"coda-logo\",\n pascal_name: \"CodaLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\n \"project management\",\n \"productivity\",\n \"documentation\",\n \"wiki\",\n \"logos\"\n ],\n codepoint: 59342,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"code\",\n pascal_name: \"Code\",\n categories: [e.DEVELOPMENT, e.EDITOR],\n figma_category: a.DEVELOPMENT,\n tags: [\"angle brackets\", \"angle braces\", \"snippets\"],\n codepoint: 57788,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"code-block\",\n pascal_name: \"CodeBlock\",\n categories: [e.DEVELOPMENT, e.EDITOR],\n figma_category: a.DEVELOPMENT,\n tags: [\"angle brackets\", \"angle braces\", \"snippets\"],\n codepoint: 60158,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"code-simple\",\n pascal_name: \"CodeSimple\",\n categories: [e.DEVELOPMENT, e.EDITOR],\n figma_category: a.DEVELOPMENT,\n tags: [\"angle brackets\", \"angle braces\", \"snippets\"],\n codepoint: 57790,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"codepen-logo\",\n pascal_name: \"CodepenLogo\",\n categories: [e.BRAND, e.DEVELOPMENT],\n figma_category: a.BRAND,\n tags: [\"ide\", \"logos\"],\n codepoint: 59768,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"codesandbox-logo\",\n pascal_name: \"CodesandboxLogo\",\n categories: [e.BRAND, e.DEVELOPMENT],\n figma_category: a.BRAND,\n tags: [\"ide\", \"logos\"],\n codepoint: 59910,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"coffee\",\n pascal_name: \"Coffee\",\n categories: [e.COMMERCE, e.OBJECTS, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\n \"tea\",\n \"java\",\n \"beverages\",\n \"drinks\",\n \"cafe\",\n \"cup\",\n \"mug\",\n \"espresso\",\n \"cappuccino\",\n \"latte\",\n \"places\",\n \"locations\",\n \"bars\",\n \"restaurants\",\n \"food\",\n \"dining\"\n ],\n codepoint: 57794,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"coffee-bean\",\n pascal_name: \"CoffeeBean\",\n categories: [e.COMMERCE, e.MAP, e.NATURE],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"tea\",\n \"java\",\n \"beverages\",\n \"drinks\",\n \"cafe\",\n \"cup\",\n \"mug\",\n \"espresso\",\n \"cappuccino\",\n \"latte\",\n \"places\",\n \"locations\",\n \"bars\",\n \"restaurants\",\n \"food\",\n \"dining\"\n ],\n codepoint: 57792,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"coin\",\n pascal_name: \"Coin\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\n \"coins\",\n \"cents\",\n \"change\",\n \"money\",\n \"currency\",\n \"payment\",\n \"paying\",\n \"purchase\",\n \"price\",\n \"sell\"\n ],\n codepoint: 58894,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"coin-vertical\",\n pascal_name: \"CoinVertical\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\n \"cents\",\n \"change\",\n \"money\",\n \"currency\",\n \"payment\",\n \"paying\",\n \"purchase\",\n \"price\",\n \"sell\"\n ],\n codepoint: 60232,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"coins\",\n pascal_name: \"Coins\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\n \"cents\",\n \"change\",\n \"money\",\n \"currency\",\n \"payment\",\n \"paying\",\n \"purchase\",\n \"price\",\n \"sell\"\n ],\n codepoint: 59278,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"columns\",\n pascal_name: \"Columns\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"2\", \"shapes\", \"polygons\", \"box\", \"stack\", \"list\", \"table\", \"cards\"],\n codepoint: 58694,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"columns-plus-left\",\n pascal_name: \"ColumnsPlusLeft\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\n \"*new*\",\n \"2\",\n \"shapes\",\n \"polygons\",\n \"box\",\n \"stack\",\n \"list\",\n \"table\",\n \"cards\",\n \"prepend\",\n \"insert\"\n ],\n codepoint: 58692,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"columns-plus-right\",\n pascal_name: \"ColumnsPlusRight\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\n \"*new*\",\n \"2\",\n \"shapes\",\n \"polygons\",\n \"box\",\n \"stack\",\n \"list\",\n \"table\",\n \"cards\",\n \"append\",\n \"insert\"\n ],\n codepoint: 58690,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"command\",\n pascal_name: \"Command\",\n categories: [e.EDITOR, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"apple\",\n \"keyboard\",\n \"shortcut\",\n \"modifier\",\n \"looped square\",\n \"bowen knot\",\n \"saint john's arms\"\n ],\n codepoint: 57796,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"compass\",\n pascal_name: \"Compass\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"navigation\", \"directions\", \"maps\", \"safari\", \"apple\"],\n codepoint: 57800,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"compass-rose\",\n pascal_name: \"CompassRose\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"navigation\",\n \"directions\",\n \"maps\",\n \"cardinal\",\n \"cartography\"\n ],\n codepoint: 57798,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"compass-tool\",\n pascal_name: \"CompassTool\",\n categories: [e.DESIGN, e.OBJECTS],\n figma_category: a.DESIGN,\n tags: [\n \"drawing\",\n \"geometry\",\n \"trigonometry\",\n \"degrees\",\n \"radians\",\n \"measurement\",\n \"protractor\",\n \"compass\",\n \"arc\"\n ],\n codepoint: 59918,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"computer-tower\",\n pascal_name: \"ComputerTower\",\n categories: [e.DEVELOPMENT, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"desktop\", \"pc\", \"imac\"],\n codepoint: 58696,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"confetti\",\n pascal_name: \"Confetti\",\n categories: [e.COMMUNICATION],\n figma_category: a.GAMES,\n tags: [\"tada\", \"party\", \"emoji\"],\n codepoint: 59418,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"contactless-payment\",\n pascal_name: \"ContactlessPayment\",\n categories: [e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"purchase\", \"credit card\", \"nfc\"],\n codepoint: 60738,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"control\",\n pascal_name: \"Control\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"ctrl\", \"key\", \"keyboard\", \"shortcut\", \"caret\"],\n codepoint: 60582,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"cookie\",\n pascal_name: \"Cookie\",\n categories: [\n e.MAP,\n e.OBJECTS,\n e.DEVELOPMENT\n ],\n figma_category: a.COMMERCE,\n tags: [\"privacy\", \"dessert\", \"food\", \"dining\"],\n codepoint: 59082,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"cooking-pot\",\n pascal_name: \"CookingPot\",\n categories: [e.OBJECTS, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"stew\", \"kitchen\", \"steaming\", \"restaurants\", \"food\", \"dining\"],\n codepoint: 59236,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"copy\",\n pascal_name: \"Copy\",\n categories: [e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"duplicated\", \"copied\", \"clipboard\"],\n codepoint: 57802,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"copy-simple\",\n pascal_name: \"CopySimple\",\n categories: [e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"duplicated\", \"copied\", \"clipboard\"],\n codepoint: 57804,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"copyleft\",\n pascal_name: \"Copyleft\",\n categories: [e.COMMERCE, e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"🄯\", \"intellectual property\", \"copr.\", \"symbol\"],\n codepoint: 59498,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"copyright\",\n pascal_name: \"Copyright\",\n categories: [e.COMMERCE, e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"©\", \"intellectual property\", \"copr.\", \"symbol\"],\n codepoint: 58698,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"corners-in\",\n pascal_name: \"CornersIn\",\n categories: [e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"*updated*\", \"collapse\", \"windowed\", \"minimized\"],\n codepoint: 57806,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"corners-out\",\n pascal_name: \"CornersOut\",\n categories: [e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"*updated*\", \"expand\", \"fullscreen\", \"maximized\"],\n codepoint: 57808,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"couch\",\n pascal_name: \"Couch\",\n categories: [e.OBJECTS, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"furniture\", \"seat\"],\n codepoint: 59382,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"court-basketball\",\n pascal_name: \"CourtBasketball\",\n categories: [e.GAMES, e.HEALTH, e.MAP],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"sports\", \"nba\"],\n codepoint: 60982,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"cow\",\n pascal_name: \"Cow\",\n categories: [e.COMMERCE, e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"*new*\", \"animals\", \"livestock\", \"beef\", \"bull\", \"milk\", \"dairy\"],\n codepoint: 60094,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"cowboy-hat\",\n pascal_name: \"CowboyHat\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"clothes\", \"clothing\", \"stetson\"],\n codepoint: 60690,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"cpu\",\n pascal_name: \"Cpu\",\n categories: [e.DEVELOPMENT],\n figma_category: a.DEVELOPMENT,\n tags: [\"processor\", \"microchip\", \"computer\", \"circuit\"],\n codepoint: 58896,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"crane\",\n pascal_name: \"Crane\",\n categories: [e.COMMERCE, e.DEVELOPMENT],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"construction\", \"industry\"],\n codepoint: 60744,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"crane-tower\",\n pascal_name: \"CraneTower\",\n categories: [e.COMMERCE, e.DEVELOPMENT],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"construction\", \"industry\"],\n codepoint: 60744,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"credit-card\",\n pascal_name: \"CreditCard\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\n \"debit\",\n \"visa\",\n \"mastercard\",\n \"money\",\n \"payment\",\n \"paying\",\n \"purchase\",\n \"swipe\"\n ],\n codepoint: 57810,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"cricket\",\n pascal_name: \"Cricket\",\n categories: [e.GAMES, e.HEALTH],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"sports\", \"ball\", \"bat\"],\n codepoint: 60946,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"crop\",\n pascal_name: \"Crop\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"photography\", \"clip\", \"screenshots\"],\n codepoint: 57812,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"cross\",\n pascal_name: \"Cross\",\n categories: [e.DESIGN, e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"dagger\",\n \"crucifix\",\n \"christ\",\n \"christianity\",\n \"religion\",\n \"worship\",\n \"symbol\"\n ],\n codepoint: 59552,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"crosshair\",\n pascal_name: \"Crosshair\",\n categories: [e.MAP, e.SYSTEM],\n figma_category: a.MAP,\n tags: [\"geolocation\", \"gps\", \"aiming\", \"targeting\"],\n codepoint: 57814,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"crosshair-simple\",\n pascal_name: \"CrosshairSimple\",\n categories: [e.MAP, e.SYSTEM],\n figma_category: a.MAP,\n tags: [\"geolocation\", \"gps\", \"aiming\", \"targeting\"],\n codepoint: 57816,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"crown\",\n pascal_name: \"Crown\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\n \"*updated*\",\n \"king\",\n \"queen\",\n \"royalty\",\n \"monarch\",\n \"ruler\",\n \"leader\",\n \"chess\"\n ],\n codepoint: 58900,\n published_in: 1.2,\n updated_in: 2.1\n },\n {\n name: \"crown-cross\",\n pascal_name: \"CrownCross\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\n \"*new*\",\n \"king\",\n \"queen\",\n \"royalty\",\n \"monarch\",\n \"ruler\",\n \"leader\",\n \"chess\"\n ],\n codepoint: 61022,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"crown-simple\",\n pascal_name: \"CrownSimple\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\n \"*updated*\",\n \"king\",\n \"queen\",\n \"royalty\",\n \"monarch\",\n \"ruler\",\n \"leader\",\n \"chess\"\n ],\n codepoint: 58902,\n published_in: 1.2,\n updated_in: 2.1\n },\n {\n name: \"cube\",\n pascal_name: \"Cube\",\n categories: [e.DESIGN, e.GAMES, e.OBJECTS],\n figma_category: a.DESIGN,\n tags: [\"square\", \"box\", \"3d\", \"volume\", \"blocks\"],\n codepoint: 57818,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"cube-focus\",\n pascal_name: \"CubeFocus\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"augmented reality\", \"ar\", \"virual reality\", \"vr\", \"3d\", \"scan\"],\n codepoint: 60682,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"cube-transparent\",\n pascal_name: \"CubeTransparent\",\n categories: [e.DESIGN, e.GAMES, e.OBJECTS],\n figma_category: a.DESIGN,\n tags: [\"square\", \"box\", \"3d\", \"volume\", \"blocks\", \"necker\"],\n codepoint: 60540,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"currency-btc\",\n pascal_name: \"CurrencyBtc\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\n \"money\",\n \"btc\",\n \"bitcoin\",\n \"crypto\",\n \"cryptocurrency\",\n \"payment\",\n \"paying\",\n \"purchase\"\n ],\n codepoint: 58904,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"currency-circle-dollar\",\n pascal_name: \"CurrencyCircleDollar\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"money\", \"usd\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 58700,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"currency-cny\",\n pascal_name: \"CurrencyCny\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"money\", \"yuan\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 58702,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"currency-dollar\",\n pascal_name: \"CurrencyDollar\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"money\", \"usd\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 58704,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"currency-dollar-simple\",\n pascal_name: \"CurrencyDollarSimple\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"money\", \"usd\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 58706,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"currency-eth\",\n pascal_name: \"CurrencyEth\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\n \"money\",\n \"ethereum\",\n \"crypto\",\n \"cryptocurrency\",\n \"payment\",\n \"paying\",\n \"purchase\"\n ],\n codepoint: 60122,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"currency-eur\",\n pascal_name: \"CurrencyEur\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"money\", \"euros\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 58708,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"currency-gbp\",\n pascal_name: \"CurrencyGbp\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"money\", \"pounds sterling\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 58710,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"currency-inr\",\n pascal_name: \"CurrencyInr\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"money\", \"rupees\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 58712,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"currency-jpy\",\n pascal_name: \"CurrencyJpy\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"money\", \"yen\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 58714,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"currency-krw\",\n pascal_name: \"CurrencyKrw\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"money\", \"won\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 58716,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"currency-kzt\",\n pascal_name: \"CurrencyKzt\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"money\", \"kazakhstan\", \"tenge\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 60492,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"currency-ngn\",\n pascal_name: \"CurrencyNgn\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"money\", \"nigeria\", \"naira\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 60242,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"currency-rub\",\n pascal_name: \"CurrencyRub\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"money\", \"rubles\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 58718,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"cursor\",\n pascal_name: \"Cursor\",\n categories: [e.DESIGN, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"pointer\", \"arrowhead\", \"mouse\", \"click\"],\n codepoint: 57820,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"cursor-click\",\n pascal_name: \"CursorClick\",\n categories: [e.DESIGN, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"pointer\", \"arrowhead\", \"mouse\"],\n codepoint: 59336,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"cursor-text\",\n pascal_name: \"CursorText\",\n categories: [e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"i-beam\", \"input\", \"select\"],\n codepoint: 59352,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"cylinder\",\n pascal_name: \"Cylinder\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"shapes\", \"tube\"],\n codepoint: 59644,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"database\",\n pascal_name: \"Database\",\n categories: [e.DEVELOPMENT, e.SYSTEM],\n figma_category: a.DEVELOPMENT,\n tags: [\n \"saved\",\n \"saving\",\n \"archived\",\n \"archiving\",\n \"archival\",\n \"hard disk\",\n \"storage\",\n \"hdd\",\n \"servers\",\n \"databases\"\n ],\n codepoint: 57822,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"desk\",\n pascal_name: \"Desk\",\n categories: [\n e.COMMERCE,\n e.OBJECTS,\n e.OFFICE\n ],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"furniture\", \"workspace\", \"table\"],\n codepoint: 60694,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"desktop\",\n pascal_name: \"Desktop\",\n categories: [e.DEVELOPMENT, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"computer\", \"pc\", \"imac\", \"tower\"],\n codepoint: 58720,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"desktop-tower\",\n pascal_name: \"DesktopTower\",\n categories: [e.DEVELOPMENT, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"*updated*\", \"computer\", \"pc\", \"imac\"],\n codepoint: 58722,\n published_in: 1.1,\n updated_in: 2.1\n },\n {\n name: \"detective\",\n pascal_name: \"Detective\",\n categories: [e.PEOPLE, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\"incognito\", \"police\", \"law enforcement\", \"spy\", \"secret\"],\n codepoint: 59454,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"dev-to-logo\",\n pascal_name: \"DevToLogo\",\n categories: [e.BRAND, e.DEVELOPMENT],\n figma_category: a.BRAND,\n tags: [\"reading\", \"writing\", \"social media\", \"logos\"],\n codepoint: 60686,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"device-mobile\",\n pascal_name: \"DeviceMobile\",\n categories: [e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"cellphone\", \"cellular\"],\n codepoint: 57824,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"device-mobile-camera\",\n pascal_name: \"DeviceMobileCamera\",\n categories: [e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"cellphone\", \"cellular\"],\n codepoint: 57826,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"device-mobile-slash\",\n pascal_name: \"DeviceMobileSlash\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"cellphone\", \"cellular\"],\n codepoint: 60998,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"device-mobile-speaker\",\n pascal_name: \"DeviceMobileSpeaker\",\n categories: [e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"cellphone\", \"cellular\"],\n codepoint: 57828,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"device-rotate\",\n pascal_name: \"DeviceRotate\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"orientation\", \"landscape\", \"portrait\", \"spin\", \"flip\"],\n codepoint: 60914,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"device-tablet\",\n pascal_name: \"DeviceTablet\",\n categories: [e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"cellphone\", \"cellular\", \"ipad\", \"phablet\"],\n codepoint: 57830,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"device-tablet-camera\",\n pascal_name: \"DeviceTabletCamera\",\n categories: [e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"cellphone\", \"cellular\", \"ipad\", \"phablet\"],\n codepoint: 57832,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"device-tablet-speaker\",\n pascal_name: \"DeviceTabletSpeaker\",\n categories: [e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"cellphone\", \"cellular\", \"ipad\", \"phablet\"],\n codepoint: 57834,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"devices\",\n pascal_name: \"Devices\",\n categories: [e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"responsive\", \"cellphone\", \"cellular\", \"tablet\", \"destop\"],\n codepoint: 60324,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"diamond\",\n pascal_name: \"Diamond\",\n categories: [e.DESIGN, e.GAMES],\n figma_category: a.GAMES,\n tags: [\n \"rectangle\",\n \"shapes\",\n \"polygons\",\n \"diamonds\",\n \"suits\",\n \"cards\",\n \"gambling\",\n \"casino\",\n \"gaming\"\n ],\n codepoint: 57836,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"diamonds-four\",\n pascal_name: \"DiamondsFour\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"shapes\", \"grid\", \"component\"],\n codepoint: 59636,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"dice-five\",\n pascal_name: \"DiceFive\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"die\", \"rolling\", \"gamble\", \"gambling\", \"casino\", \"gaming\", \"5\"],\n codepoint: 57838,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"dice-four\",\n pascal_name: \"DiceFour\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"die\", \"rolling\", \"gamble\", \"gambling\", \"casino\", \"gaming\", \"4\"],\n codepoint: 57840,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"dice-one\",\n pascal_name: \"DiceOne\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"die\", \"rolling\", \"gamble\", \"gambling\", \"casino\", \"gaming\", \"1\"],\n codepoint: 57842,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"dice-six\",\n pascal_name: \"DiceSix\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"die\", \"rolling\", \"gamble\", \"gambling\", \"casino\", \"gaming\", \"6\"],\n codepoint: 57844,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"dice-three\",\n pascal_name: \"DiceThree\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"die\", \"rolling\", \"gamble\", \"gambling\", \"casino\", \"gaming\", \"3\"],\n codepoint: 57846,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"dice-two\",\n pascal_name: \"DiceTwo\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"die\", \"rolling\", \"gamble\", \"gambling\", \"casino\", \"gaming\", \"2\"],\n codepoint: 57848,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"disc\",\n pascal_name: \"Disc\",\n categories: [\n e.DEVELOPMENT,\n e.MEDIA,\n e.OBJECTS\n ],\n figma_category: a.MEDIA,\n tags: [\"cd-rom\", \"compact disk\", \"album\", \"record\"],\n codepoint: 58724,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"disco-ball\",\n pascal_name: \"DiscoBall\",\n categories: [e.GAMES, e.MAP, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"danging\", \"club\", \"70s\"],\n codepoint: 60824,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"discord-logo\",\n pascal_name: \"DiscordLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"logos\", \"messages\", \"messaging\", \"chat\"],\n codepoint: 58906,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"divide\",\n pascal_name: \"Divide\",\n categories: [e.DEVELOPMENT, e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"division\",\n \"divisor\",\n \"dividend\",\n \"quotient\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 57850,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"dna\",\n pascal_name: \"Dna\",\n categories: [e.HEALTH, e.NATURE],\n figma_category: a.HEALTH,\n tags: [\"double helix\", \"gene\", \"genetics\"],\n codepoint: 59684,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"dog\",\n pascal_name: \"Dog\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"pets\", \"animals\", \"puppy\"],\n codepoint: 59210,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"door\",\n pascal_name: \"Door\",\n categories: [e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"entrance\", \"exit\"],\n codepoint: 58908,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"door-open\",\n pascal_name: \"DoorOpen\",\n categories: [e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"entrance\", \"exit\"],\n codepoint: 59366,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"dot\",\n pascal_name: \"Dot\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"dots\", \"circles\", \"shapes\", \"polygons\"],\n codepoint: 60638,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"dot-outline\",\n pascal_name: \"DotOutline\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"dots\", \"circles\", \"shapes\", \"polygons\"],\n codepoint: 60640,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"dots-nine\",\n pascal_name: \"DotsNine\",\n categories: [e.DESIGN],\n figma_category: a.SYSTEM,\n tags: [\"grid\", \"circles\", \"shapes\", \"polygons\", \"9\"],\n codepoint: 57852,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"dots-six\",\n pascal_name: \"DotsSix\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"*updated*\",\n \"drag handle\",\n \"knurling\",\n \"circles\",\n \"shapes\",\n \"polygons\",\n \"6\"\n ],\n codepoint: 59284,\n published_in: 1.3,\n updated_in: 2.1\n },\n {\n name: \"dots-six-vertical\",\n pascal_name: \"DotsSixVertical\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"*updated*\",\n \"drag handle\",\n \"knurling\",\n \"circles\",\n \"shapes\",\n \"polygons\",\n \"6\"\n ],\n codepoint: 60130,\n published_in: 1.3,\n updated_in: 2.1\n },\n {\n name: \"dots-three\",\n pascal_name: \"DotsThree\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"menu\",\n \"overflow\",\n \"circles\",\n \"shapes\",\n \"polygons\",\n \"3\",\n \"ellipsis\",\n \"ellipses\",\n \"more\"\n ],\n codepoint: 57854,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"dots-three-circle\",\n pascal_name: \"DotsThreeCircle\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"menu\",\n \"overflow\",\n \"circles\",\n \"shapes\",\n \"polygons\",\n \"3\",\n \"ellipsis\",\n \"ellipses\",\n \"more\"\n ],\n codepoint: 57856,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"dots-three-circle-vertical\",\n pascal_name: \"DotsThreeCircleVertical\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"menu\",\n \"overflow\",\n \"circles\",\n \"shapes\",\n \"polygons\",\n \"3\",\n \"ellipsis\",\n \"ellipses\",\n \"more\"\n ],\n codepoint: 57858,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"dots-three-outline\",\n pascal_name: \"DotsThreeOutline\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"menu\",\n \"overflow\",\n \"circles\",\n \"shapes\",\n \"polygons\",\n \"3\",\n \"ellipsis\",\n \"ellipses\",\n \"more\"\n ],\n codepoint: 57860,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"dots-three-outline-vertical\",\n pascal_name: \"DotsThreeOutlineVertical\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"menu\",\n \"overflow\",\n \"circles\",\n \"shapes\",\n \"polygons\",\n \"3\",\n \"ellipsis\",\n \"ellipses\",\n \"more\"\n ],\n codepoint: 57862,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"dots-three-vertical\",\n pascal_name: \"DotsThreeVertical\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"menu\",\n \"overflow\",\n \"circles\",\n \"shapes\",\n \"polygons\",\n \"3\",\n \"ellipsis\",\n \"ellipses\",\n \"more\"\n ],\n codepoint: 57864,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"download\",\n pascal_name: \"Download\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"saved\",\n \"saving\",\n \"archived\",\n \"archiving\",\n \"archival\",\n \"downloaded\",\n \"downloading\",\n \"hard drive\",\n \"disk\"\n ],\n codepoint: 57866,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"download-simple\",\n pascal_name: \"DownloadSimple\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"*updated*\",\n \"saved\",\n \"saving\",\n \"archived\",\n \"archiving\",\n \"archival\",\n \"downloaded\",\n \"downloading\",\n \"hard drive\",\n \"disk\",\n \"import\"\n ],\n codepoint: 57868,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"dress\",\n pascal_name: \"Dress\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"clothes\", \"clothing\"],\n codepoint: 60030,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"dresser\",\n pascal_name: \"Dresser\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"furniture\", \"bedroom\", \"storage\", \"drawers\", \"wardrobe\"],\n codepoint: 59726,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"dribbble-logo\",\n pascal_name: \"DribbbleLogo\",\n categories: [e.BRAND, e.DESIGN],\n figma_category: a.BRAND,\n tags: [\"logos\", \"round\", \"basketball\", \"sports\", \"design\"],\n codepoint: 57870,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"drone\",\n pascal_name: \"Drone\",\n categories: [\n e.GAMES,\n e.OBJECTS,\n e.DEVELOPMENT\n ],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"aerial\", \"uav\", \"photography\", \"remote\"],\n codepoint: 60788,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"drop\",\n pascal_name: \"Drop\",\n categories: [e.NATURE, e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\n \"droplet\",\n \"teardrop\",\n \"raindrop\",\n \"raining\",\n \"meteorology\",\n \"water\",\n \"blur\"\n ],\n codepoint: 57872,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"drop-half\",\n pascal_name: \"DropHalf\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.NATURE,\n e.WEATHER\n ],\n figma_category: a.DESIGN,\n tags: [\n \"droplet\",\n \"teardrop\",\n \"raindrop\",\n \"humidity\",\n \"water\",\n \"contrast\",\n \"brightness\"\n ],\n codepoint: 58726,\n published_in: 1.1,\n updated_in: 1.4\n },\n {\n name: \"drop-half-bottom\",\n pascal_name: \"DropHalfBottom\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.NATURE,\n e.WEATHER\n ],\n figma_category: a.DESIGN,\n tags: [\n \"droplet\",\n \"teardrop\",\n \"raindrop\",\n \"humidity\",\n \"water\",\n \"contrast\",\n \"brightness\"\n ],\n codepoint: 60224,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"drop-simple\",\n pascal_name: \"DropSimple\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.NATURE,\n e.WEATHER\n ],\n figma_category: a.WEATHER,\n tags: [\n \"*new*\",\n \"droplet\",\n \"teardrop\",\n \"raindrop\",\n \"raining\",\n \"humidity\",\n \"meteorology\",\n \"water\",\n \"blur\"\n ],\n codepoint: 60978,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"drop-slash\",\n pascal_name: \"DropSlash\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.NATURE,\n e.WEATHER\n ],\n figma_category: a.DESIGN,\n tags: [\n \"*new*\",\n \"droplet\",\n \"teardrop\",\n \"raindrop\",\n \"raining\",\n \"humidity\",\n \"meteorology\",\n \"water\",\n \"blur\",\n \"disabled\"\n ],\n codepoint: 59732,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"dropbox-logo\",\n pascal_name: \"DropboxLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"cloud\", \"storage\", \"backup\", \"logos\"],\n codepoint: 59344,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"ear\",\n pascal_name: \"Ear\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"hearing\", \"audio\", \"sound\"],\n codepoint: 59148,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"ear-slash\",\n pascal_name: \"EarSlash\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"hearing\", \"audio\", \"sound\", \"mute\", \"accessible\"],\n codepoint: 59150,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"egg\",\n pascal_name: \"Egg\",\n categories: [e.COMMERCE, e.NATURE],\n figma_category: a.COMMERCE,\n tags: [\"chicken\", \"food\", \"meal\", \"baby\", \"hatch\"],\n codepoint: 59410,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"egg-crack\",\n pascal_name: \"EggCrack\",\n categories: [e.COMMERCE, e.NATURE],\n figma_category: a.COMMERCE,\n tags: [\"chicken\", \"food\", \"meal\", \"baby\", \"hatch\", \"break\"],\n codepoint: 60260,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"eject\",\n pascal_name: \"Eject\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"disconnect\"],\n codepoint: 57874,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"eject-simple\",\n pascal_name: \"EjectSimple\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"disconnect\"],\n codepoint: 59054,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"elevator\",\n pascal_name: \"Elevator\",\n categories: [e.OBJECTS, e.MAP],\n figma_category: a.MAP,\n tags: [\"lift\"],\n codepoint: 60608,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"empty\",\n pascal_name: \"Empty\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"∅\",\n \"empty set\",\n \"member\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\",\n \"null\"\n ],\n codepoint: 60860,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"engine\",\n pascal_name: \"Engine\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"*updated*\", \"motor\", \"repair\", \"vehicles\", \"automobile\"],\n codepoint: 60032,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"envelope\",\n pascal_name: \"Envelope\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"mail\", \"email\", \"send\", \"sent\", \"message\", \"post\", \"letter\"],\n codepoint: 57876,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"envelope-open\",\n pascal_name: \"EnvelopeOpen\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"mail\",\n \"email\",\n \"send\",\n \"sent\",\n \"message\",\n \"read\",\n \"post\",\n \"letter\"\n ],\n codepoint: 57878,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"envelope-simple\",\n pascal_name: \"EnvelopeSimple\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"mail\", \"email\", \"send\", \"sent\", \"message\", \"post\", \"letter\"],\n codepoint: 57880,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"envelope-simple-open\",\n pascal_name: \"EnvelopeSimpleOpen\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"mail\",\n \"email\",\n \"send\",\n \"sent\",\n \"message\",\n \"read\",\n \"post\",\n \"letter\"\n ],\n codepoint: 57882,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"equalizer\",\n pascal_name: \"Equalizer\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"meter\", \"volume\", \"spectrum\", \"eq\", \"deezer\"],\n codepoint: 60348,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"equals\",\n pascal_name: \"Equals\",\n categories: [e.DEVELOPMENT, e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"=\",\n \"equality\",\n \"equivalent\",\n \"equivalence\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 57884,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"eraser\",\n pascal_name: \"Eraser\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"write\", \"writing\", \"editing\", \"undo\", \"deleted\"],\n codepoint: 57886,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"escalator-down\",\n pascal_name: \"EscalatorDown\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"stairs\"],\n codepoint: 60602,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"escalator-up\",\n pascal_name: \"EscalatorUp\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"stairs\"],\n codepoint: 60604,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"exam\",\n pascal_name: \"Exam\",\n categories: [e.OBJECTS],\n figma_category: a.EDUCATION,\n tags: [\"text\", \"examination\", \"paper\", \"school\", \"grade\"],\n codepoint: 59202,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"exclamation-mark\",\n pascal_name: \"ExclamationMark\",\n categories: [e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"*new*\",\n \"!\",\n \"alert\",\n \"warning\",\n \"caution\",\n \"interjection\",\n \"punctuation\",\n \"symbol\"\n ],\n codepoint: 60996,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"exclude\",\n pascal_name: \"Exclude\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"venn-diagram\", \"difference\", \"intersection\"],\n codepoint: 59522,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"exclude-square\",\n pascal_name: \"ExcludeSquare\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"venn-diagram\", \"difference\", \"intersection\"],\n codepoint: 59520,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"export\",\n pascal_name: \"Export\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\"share\", \"send to\", \"arrows\"],\n codepoint: 60144,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"eye\",\n pascal_name: \"Eye\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"visible\", \"hidden\", \"show\", \"hide\", \"visibility\", \"view\"],\n codepoint: 57888,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"eye-closed\",\n pascal_name: \"EyeClosed\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\n \"visible\",\n \"hidden\",\n \"show\",\n \"hide\",\n \"visibility\",\n \"view\",\n \"invisible\",\n \"private\"\n ],\n codepoint: 57890,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"eye-slash\",\n pascal_name: \"EyeSlash\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\n \"visible\",\n \"hidden\",\n \"show\",\n \"hide\",\n \"visibility\",\n \"view\",\n \"invisible\",\n \"eyelashes\",\n \"disabled\",\n \"private\"\n ],\n codepoint: 57892,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"eyedropper\",\n pascal_name: \"Eyedropper\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.OBJECTS\n ],\n figma_category: a.DESIGN,\n tags: [\"colors\", \"color picker\", \"sample\", \"arts\"],\n codepoint: 58728,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"eyedropper-sample\",\n pascal_name: \"EyedropperSample\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.OBJECTS\n ],\n figma_category: a.DESIGN,\n tags: [\"colors\", \"color picker\", \"arts\"],\n codepoint: 60100,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"eyeglasses\",\n pascal_name: \"Eyeglasses\",\n categories: [e.HEALTH, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"vision\", \"spectacles\"],\n codepoint: 59322,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"eyes\",\n pascal_name: \"Eyes\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"*new*\", \"look\", \"glance\"],\n codepoint: 61020,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"face-mask\",\n pascal_name: \"FaceMask\",\n categories: [e.HEALTH],\n figma_category: a.HEALTH,\n tags: [\"ppe\", \"facemask\", \"covid-19\", \"coronavirus\", \"flu\", \"cold\"],\n codepoint: 58730,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"facebook-logo\",\n pascal_name: \"FacebookLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"logos\", \"social media\"],\n codepoint: 57894,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"factory\",\n pascal_name: \"Factory\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\"industry\", \"manufacture\", \"buildings\", \"places\", \"locations\"],\n codepoint: 59232,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"faders\",\n pascal_name: \"Faders\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"music\",\n \"audio\",\n \"sliders\",\n \"filters\",\n \"equalizer\",\n \"volume\",\n \"settings\",\n \"preferences\"\n ],\n codepoint: 57896,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"faders-horizontal\",\n pascal_name: \"FadersHorizontal\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"music\",\n \"audio\",\n \"sliders\",\n \"filters\",\n \"equalizer\",\n \"volume\",\n \"settings\",\n \"preferences\"\n ],\n codepoint: 57898,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"fallout-shelter\",\n pascal_name: \"FalloutShelter\",\n categories: [e.HEALTH],\n figma_category: a.SECURITY,\n tags: [\n \"*new*\",\n \"radiation\",\n \"radioactive\",\n \"nuclear\",\n \"bunker\",\n \"contamination\",\n \"quarantine\",\n \"toxic\",\n \"danger\",\n \"caution\"\n ],\n codepoint: 59870,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"fan\",\n pascal_name: \"Fan\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"desk fan\", \"air conditioning\"],\n codepoint: 59890,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"farm\",\n pascal_name: \"Farm\",\n categories: [e.COMMERCE, e.NATURE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"farmer\", \"field\", \"farming\", \"agriculture\"],\n codepoint: 60528,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"fast-forward\",\n pascal_name: \"FastForward\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"audio\", \"music\", \"seek\", \"scrub\", \"scan\", \"ahead\", \"skip\"],\n codepoint: 59046,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"fast-forward-circle\",\n pascal_name: \"FastForwardCircle\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"audio\", \"music\", \"seek\", \"scrub\", \"scan\", \"ahead\", \"skip\"],\n codepoint: 57900,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"feather\",\n pascal_name: \"Feather\",\n categories: [e.NATURE, e.OBJECTS],\n figma_category: a.WEATHER,\n tags: [\"bird\"],\n codepoint: 59840,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"fediverse-logo\",\n pascal_name: \"FediverseLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"*new*\", \"social media\", \"decentralized\"],\n codepoint: 60774,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"figma-logo\",\n pascal_name: \"FigmaLogo\",\n categories: [e.BRAND, e.DESIGN],\n figma_category: a.BRAND,\n tags: [\n \"*updated*\",\n \"logos\",\n \"drawing\",\n \"art\",\n \"illustration\",\n \"ui\",\n \"interface\",\n \"prototype\",\n \"prototyping\"\n ],\n codepoint: 57902,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"file\",\n pascal_name: \"File\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"files\", \"save\", \"write\", \"page\"],\n codepoint: 57904,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"file-archive\",\n pascal_name: \"FileArchive\",\n categories: [e.SYSTEM, e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"zip\", \"compression\"],\n codepoint: 60202,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"file-arrow-down\",\n pascal_name: \"FileArrowDown\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"documents\",\n \"files\",\n \"save\",\n \"write\",\n \"download\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\"\n ],\n codepoint: 57906,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"file-arrow-up\",\n pascal_name: \"FileArrowUp\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"documents\",\n \"files\",\n \"save\",\n \"write\",\n \"upload\",\n \"directional\",\n \"pointer\",\n \"pointing\",\n \"arrowhead\"\n ],\n codepoint: 58910,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"file-audio\",\n pascal_name: \"FileAudio\",\n categories: [e.OFFICE, e.EDITOR, e.MEDIA],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"music\", \"sound\"],\n codepoint: 59936,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-c\",\n pascal_name: \"FileC\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"*new*\", \"documents\", \"code\"],\n codepoint: 60210,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"file-c-sharp\",\n pascal_name: \"FileCSharp\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"*new*\", \"documents\", \"code\", \"c#\"],\n codepoint: 60208,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"file-cloud\",\n pascal_name: \"FileCloud\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"sync\"],\n codepoint: 59742,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-code\",\n pascal_name: \"FileCode\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"documents\"],\n codepoint: 59668,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-cpp\",\n pascal_name: \"FileCpp\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"*new*\", \"documents\", \"code\", \"c++\"],\n codepoint: 60206,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"file-css\",\n pascal_name: \"FileCss\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"code\"],\n codepoint: 60212,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-csv\",\n pascal_name: \"FileCsv\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"data\"],\n codepoint: 60188,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-dashed\",\n pascal_name: \"FileDashed\",\n alias: { name: \"file-dotted\", pascal_name: \"FileDotted\" },\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"files\", \"browse\", \"draft\", \"open\", \"dotted\"],\n codepoint: 59140,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"file-doc\",\n pascal_name: \"FileDoc\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"word\", \"microsoft\"],\n codepoint: 60190,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-html\",\n pascal_name: \"FileHtml\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"*updated*\", \"documents\", \"code\"],\n codepoint: 60216,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"file-image\",\n pascal_name: \"FileImage\",\n categories: [e.OFFICE, e.EDITOR, e.MEDIA],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"pictures\", \"photograph\"],\n codepoint: 59940,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-ini\",\n pascal_name: \"FileIni\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"*new*\", \"documents\"],\n codepoint: 60210,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"file-jpg\",\n pascal_name: \"FileJpg\",\n categories: [e.OFFICE, e.EDITOR, e.MEDIA],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"pictures\", \"photograph\", \"jpeg\"],\n codepoint: 60186,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-js\",\n pascal_name: \"FileJs\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"code\", \"javascript\"],\n codepoint: 60196,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-jsx\",\n pascal_name: \"FileJsx\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"code\", \"javascript\"],\n codepoint: 60218,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-lock\",\n pascal_name: \"FileLock\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"secure\", \"locked\", \"private\"],\n codepoint: 59740,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-magnifying-glass\",\n pascal_name: \"FileMagnifyingGlass\",\n alias: { name: \"file-search\", pascal_name: \"FileSearch\" },\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"documents\",\n \"files\",\n \"search\",\n \"find\",\n \"locate\",\n \"browse\",\n \"missing\"\n ],\n codepoint: 57912,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"file-md\",\n pascal_name: \"FileMd\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"*new*\", \"documents\", \"notes\", \"markdown\"],\n codepoint: 60752,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"file-minus\",\n pascal_name: \"FileMinus\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"files\", \"delete\", \"write\", \"remove\", \"-\"],\n codepoint: 57908,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"file-pdf\",\n pascal_name: \"FilePdf\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"files\", \"acrobat\"],\n codepoint: 59138,\n published_in: 1.3,\n updated_in: 1.4\n },\n {\n name: \"file-plus\",\n pascal_name: \"FilePlus\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"files\", \"save\", \"write\", \"add\", \"new\", \"create\", \"+\"],\n codepoint: 57910,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"file-png\",\n pascal_name: \"FilePng\",\n categories: [e.OFFICE, e.EDITOR, e.MEDIA],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"pictures\", \"photograph\"],\n codepoint: 60184,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-ppt\",\n pascal_name: \"FilePpt\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"powerpoint\", \"microsoft\"],\n codepoint: 60192,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-py\",\n pascal_name: \"FilePy\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"*new*\", \"documents\", \"code\", \"python\"],\n codepoint: 60204,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"file-rs\",\n pascal_name: \"FileRs\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"code\", \"rust\"],\n codepoint: 60200,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-sql\",\n pascal_name: \"FileSql\",\n categories: [e.SYSTEM, e.DEVELOPMENT],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"database\"],\n codepoint: 60750,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"file-svg\",\n pascal_name: \"FileSvg\",\n categories: [e.SYSTEM, e.MEDIA],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"images\", \"vector\"],\n codepoint: 60680,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"file-text\",\n pascal_name: \"FileText\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"files\", \"save\", \"write\"],\n codepoint: 57914,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"file-ts\",\n pascal_name: \"FileTs\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"code\", \"typescript\"],\n codepoint: 60198,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-tsx\",\n pascal_name: \"FileTsx\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"code\", \"typescript\"],\n codepoint: 60220,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-txt\",\n pascal_name: \"FileTxt\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"*new*\", \"documents\"],\n codepoint: 60210,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"file-video\",\n pascal_name: \"FileVideo\",\n categories: [e.OFFICE, e.EDITOR, e.MEDIA],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"movie\"],\n codepoint: 59938,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-vue\",\n pascal_name: \"FileVue\",\n categories: [\n e.OFFICE,\n e.EDITOR,\n e.DEVELOPMENT\n ],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"code\"],\n codepoint: 60222,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-x\",\n pascal_name: \"FileX\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"files\", \"cancelled\", \"deleted\", \"removed\", \"errors\"],\n codepoint: 57916,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"file-xls\",\n pascal_name: \"FileXls\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"excel\", \"microsoft\"],\n codepoint: 60194,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"file-zip\",\n pascal_name: \"FileZip\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"archive\", \"compression\"],\n codepoint: 59736,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"files\",\n pascal_name: \"Files\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"documents\", \"open\", \"library\"],\n codepoint: 59152,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"film-reel\",\n pascal_name: \"FilmReel\",\n categories: [e.MEDIA, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\"videography\", \"films\", \"movies\", \"recording\"],\n codepoint: 59584,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"film-script\",\n pascal_name: \"FilmScript\",\n categories: [e.OFFICE, e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"screenplay\", \"movie\"],\n codepoint: 60240,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"film-slate\",\n pascal_name: \"FilmSlate\",\n categories: [e.MEDIA, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\"*updated*\", \"clapper\", \"movie\"],\n codepoint: 59586,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"film-strip\",\n pascal_name: \"FilmStrip\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"camera\", \"photography\", \"darkroom\", \"movie\", \"analog\"],\n codepoint: 59282,\n published_in: 1.3,\n updated_in: 1.4\n },\n {\n name: \"fingerprint\",\n pascal_name: \"Fingerprint\",\n categories: [e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"security\",\n \"secured\",\n \"authentication\",\n \"authenticated\",\n \"login\",\n \"locked\",\n \"biometrics\",\n \"encrypted\",\n \"encryption\"\n ],\n codepoint: 57918,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"fingerprint-simple\",\n pascal_name: \"FingerprintSimple\",\n categories: [e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"security\",\n \"secured\",\n \"authentication\",\n \"authenticated\",\n \"login\",\n \"locked\",\n \"biometrics\",\n \"encrypted\",\n \"encryption\"\n ],\n codepoint: 57920,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"finn-the-human\",\n pascal_name: \"FinnTheHuman\",\n categories: [e.GAMES],\n figma_category: a.GAMES,\n tags: [\"adventure time\", \"cartoons\", \"television\", \"tv\", \"character\"],\n codepoint: 58732,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"fire\",\n pascal_name: \"Fire\",\n categories: [e.NATURE, e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"flame\", \"burning\", \"match\", \"lighter\"],\n codepoint: 57922,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"fire-extinguisher\",\n pascal_name: \"FireExtinguisher\",\n categories: [e.OBJECTS],\n figma_category: a.SECURITY,\n tags: [\"safety\", \"prevention\", \"emergency\", \"hazard\", \"danger\", \"caution\"],\n codepoint: 59880,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"fire-simple\",\n pascal_name: \"FireSimple\",\n categories: [e.NATURE, e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"flame\", \"burning\", \"match\", \"lighter\"],\n codepoint: 58912,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"fire-truck\",\n pascal_name: \"FireTruck\",\n categories: [e.HEALTH],\n figma_category: a.HEALTH,\n tags: [\n \"*new*\",\n \"first-aid\",\n \"emt\",\n \"medical\",\n \"medicine\",\n \"injury\",\n \"safety\",\n \"emergency\",\n \"firefighter\"\n ],\n codepoint: 58740,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"first-aid\",\n pascal_name: \"FirstAid\",\n categories: [e.HEALTH],\n figma_category: a.HEALTH,\n tags: [\n \"hospital\",\n \"cross\",\n \"medical\",\n \"medicine\",\n \"injury\",\n \"safety\",\n \"emergency\",\n \"doctor\"\n ],\n codepoint: 58734,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"first-aid-kit\",\n pascal_name: \"FirstAidKit\",\n categories: [e.HEALTH],\n figma_category: a.HEALTH,\n tags: [\n \"bandages\",\n \"medical\",\n \"medicine\",\n \"injury\",\n \"safety\",\n \"emergency\",\n \"doctor\"\n ],\n codepoint: 58736,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"fish\",\n pascal_name: \"Fish\",\n categories: [e.NATURE, e.COMMERCE],\n figma_category: a.WEATHER,\n tags: [\"animals\", \"pets\", \"food\", \"seafood\", \"restaurants\", \"dining\"],\n codepoint: 59176,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"fish-simple\",\n pascal_name: \"FishSimple\",\n categories: [e.NATURE, e.COMMERCE],\n figma_category: a.WEATHER,\n tags: [\"animals\", \"pets\", \"food\", \"seafood\", \"restaurants\", \"dining\"],\n codepoint: 59178,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"flag\",\n pascal_name: \"Flag\",\n categories: [e.OBJECTS, e.MAP, e.SYSTEM],\n figma_category: a.MAP,\n tags: [\"country\", \"countries\", \"finished\", \"completed\", \"flags\"],\n codepoint: 57924,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"flag-banner\",\n pascal_name: \"FlagBanner\",\n categories: [e.OBJECTS, e.MAP, e.SYSTEM],\n figma_category: a.MAP,\n tags: [\n \"ribbon\",\n \"country\",\n \"countries\",\n \"finished\",\n \"completed\",\n \"flags\",\n \"swallowtail\"\n ],\n codepoint: 58914,\n published_in: 1.2,\n updated_in: 2\n },\n {\n name: \"flag-banner-fold\",\n pascal_name: \"FlagBannerFold\",\n categories: [e.OBJECTS, e.MAP, e.SYSTEM],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"ribbon\",\n \"country\",\n \"countries\",\n \"finished\",\n \"completed\",\n \"flags\",\n \"swallowtail\"\n ],\n codepoint: 60658,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"flag-checkered\",\n pascal_name: \"FlagCheckered\",\n categories: [e.MAP, e.OBJECTS, e.GAMES],\n figma_category: a.MAP,\n tags: [\"flags\", \"race\", \"racing\", \"finish line\"],\n codepoint: 59960,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"flag-pennant\",\n pascal_name: \"FlagPennant\",\n categories: [\n e.OBJECTS,\n e.MAP,\n e.SYSTEM,\n e.GAMES\n ],\n figma_category: a.MAP,\n tags: [\"flags\", \"race\", \"sports\", \"team\"],\n codepoint: 60656,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"flame\",\n pascal_name: \"Flame\",\n categories: [e.NATURE, e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"fire\", \"burning\", \"match\", \"lighter\"],\n codepoint: 58916,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"flashlight\",\n pascal_name: \"Flashlight\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"torch\", \"find\", \"search\", \"locate\"],\n codepoint: 57926,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"flask\",\n pascal_name: \"Flask\",\n categories: [\n e.DEVELOPMENT,\n e.NATURE,\n e.OBJECTS\n ],\n figma_category: a.HEALTH,\n tags: [\"beaker\", \"science\", \"chemistry\", \"experiment\", \"erlenmeyer\"],\n codepoint: 59294,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"flip-horizontal\",\n pascal_name: \"FlipHorizontal\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"mirror\", \"rotate\", \"invert\"],\n codepoint: 60778,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"flip-vertical\",\n pascal_name: \"FlipVertical\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"mirror\", \"rotate\", \"invert\"],\n codepoint: 60780,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"floppy-disk\",\n pascal_name: \"FloppyDisk\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"diskette\",\n \"directory\",\n \"directories\",\n \"folders\",\n \"documents\",\n \"files\",\n \"save\",\n \"write\"\n ],\n codepoint: 57928,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"floppy-disk-back\",\n pascal_name: \"FloppyDiskBack\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"*updated*\",\n \"diskette\",\n \"directory\",\n \"directories\",\n \"folders\",\n \"documents\",\n \"files\",\n \"save\",\n \"write\"\n ],\n codepoint: 60148,\n published_in: 1.3,\n updated_in: 2.1\n },\n {\n name: \"flow-arrow\",\n pascal_name: \"FlowArrow\",\n categories: [e.ARROWS, e.DESIGN, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\"*updated*\", \"flowchart\", \"arrowhead\"],\n codepoint: 59116,\n published_in: 1.3,\n updated_in: 2.1\n },\n {\n name: \"flower\",\n pascal_name: \"Flower\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"plants\", \"green\", \"environmental\"],\n codepoint: 59230,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"flower-lotus\",\n pascal_name: \"FlowerLotus\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"plants\", \"green\", \"environmental\", \"spirituality\"],\n codepoint: 59084,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"flower-tulip\",\n pascal_name: \"FlowerTulip\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"plants\", \"green\", \"environmental\"],\n codepoint: 60108,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"flying-saucer\",\n pascal_name: \"FlyingSaucer\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"ufo\", \"space\", \"aliens\", \"extra terrestrial\", \"sci-fi\"],\n codepoint: 60234,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"folder\",\n pascal_name: \"Folder\",\n alias: { name: \"folder-notch\", pascal_name: \"FolderNotch\" },\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"directory\", \"directories\", \"files\", \"folders\"],\n codepoint: 57930,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"folder-dashed\",\n pascal_name: \"FolderDashed\",\n alias: { name: \"folder-dotted\", pascal_name: \"FolderDotted\" },\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"directory\",\n \"directories\",\n \"files\",\n \"folders\",\n \"missing\",\n \"temporary\",\n \"dotted\"\n ],\n codepoint: 59640,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"folder-lock\",\n pascal_name: \"FolderLock\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"directory\", \"directories\", \"files\", \"folders\", \"private\", \"secure\"],\n codepoint: 59964,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"folder-minus\",\n pascal_name: \"FolderMinus\",\n alias: { name: \"folder-notch-minus\", pascal_name: \"FolderNotchMinus\" },\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"directory\",\n \"directories\",\n \"files\",\n \"delete\",\n \"write\",\n \"remove\",\n \"-\"\n ],\n codepoint: 57940,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"folder-open\",\n pascal_name: \"FolderOpen\",\n alias: { name: \"folder-notch-open\", pascal_name: \"FolderNotchOpen\" },\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"directory\", \"directories\", \"files\", \"folders\", \"load\"],\n codepoint: 57942,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"folder-plus\",\n pascal_name: \"FolderPlus\",\n alias: { name: \"folder-notch-plus\", pascal_name: \"FolderNotchPlus\" },\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"directory\",\n \"directories\",\n \"files\",\n \"save\",\n \"write\",\n \"add\",\n \"new\",\n \"create\",\n \"+\"\n ],\n codepoint: 57944,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"folder-simple\",\n pascal_name: \"FolderSimple\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"directory\", \"directories\", \"files\", \"folders\"],\n codepoint: 57946,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"folder-simple-dashed\",\n pascal_name: \"FolderSimpleDashed\",\n alias: { name: \"folder-simple-dotted\", pascal_name: \"FolderSimpleDotted\" },\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"directory\",\n \"directories\",\n \"files\",\n \"folders\",\n \"missing\",\n \"temporary\",\n \"dotted\"\n ],\n codepoint: 60458,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"folder-simple-lock\",\n pascal_name: \"FolderSimpleLock\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"directory\", \"directories\", \"files\", \"folders\", \"private\", \"secure\"],\n codepoint: 60254,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"folder-simple-minus\",\n pascal_name: \"FolderSimpleMinus\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"directory\",\n \"directories\",\n \"files\",\n \"delete\",\n \"write\",\n \"remove\",\n \"-\"\n ],\n codepoint: 57948,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"folder-simple-plus\",\n pascal_name: \"FolderSimplePlus\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"directory\",\n \"directories\",\n \"files\",\n \"save\",\n \"write\",\n \"add\",\n \"new\",\n \"create\",\n \"+\"\n ],\n codepoint: 57950,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"folder-simple-star\",\n pascal_name: \"FolderSimpleStar\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"directory\",\n \"directories\",\n \"files\",\n \"folders\",\n \"favorite\",\n \"starred\"\n ],\n codepoint: 60462,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"folder-simple-user\",\n pascal_name: \"FolderSimpleUser\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"directory\", \"directories\", \"files\", \"folders\", \"personal\"],\n codepoint: 60256,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"folder-star\",\n pascal_name: \"FolderStar\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"directory\",\n \"directories\",\n \"files\",\n \"folders\",\n \"favorite\",\n \"starred\"\n ],\n codepoint: 60038,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"folder-user\",\n pascal_name: \"FolderUser\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"directory\", \"directories\", \"files\", \"folders\", \"personal\"],\n codepoint: 60230,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"folders\",\n pascal_name: \"Folders\",\n categories: [e.OFFICE, e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"directory\",\n \"directories\",\n \"files\",\n \"folders\",\n \"copy\",\n \"copied\",\n \"duplicated\"\n ],\n codepoint: 57952,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"football\",\n pascal_name: \"Football\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"sports\", \"american football\", \"nfl\"],\n codepoint: 59160,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"football-helmet\",\n pascal_name: \"FootballHelmet\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"sports\", \"american football\", \"nfl\"],\n codepoint: 61004,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"footprints\",\n pascal_name: \"Footprints\",\n categories: [e.HEALTH, e.MAP],\n figma_category: a.PEOPLE,\n tags: [\"path\", \"trail\", \"walk\", \"route\", \"hike\", \"hiking\"],\n codepoint: 60040,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"fork-knife\",\n pascal_name: \"ForkKnife\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"food\", \"meal\", \"eating\", \"restaurants\", \"dining\", \"utensils\"],\n codepoint: 57954,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"four-k\",\n pascal_name: \"FourK\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"*new*\", \"uhd\", \"resolution\", \"video\"],\n codepoint: 59996,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"frame-corners\",\n pascal_name: \"FrameCorners\",\n categories: [e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"expand\",\n \"fullscreen\",\n \"maximized\",\n \"resize\",\n \"windowed\",\n \"capture\"\n ],\n codepoint: 58918,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"framer-logo\",\n pascal_name: \"FramerLogo\",\n categories: [e.BRAND, e.DESIGN],\n figma_category: a.BRAND,\n tags: [\"logos\", \"interface\", \"ui\", \"motion\", \"prototype\", \"prototyping\"],\n codepoint: 57956,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"function\",\n pascal_name: \"Function\",\n categories: [e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\"mathematics\", \"arithmetic\", \"f-stop\"],\n codepoint: 60388,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"funnel\",\n pascal_name: \"Funnel\",\n categories: [e.EDITOR, e.OBJECTS],\n figma_category: a.OFFICE,\n tags: [\"filters\", \"refine\", \"sorting\"],\n codepoint: 57958,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"funnel-simple\",\n pascal_name: \"FunnelSimple\",\n categories: [e.EDITOR, e.OBJECTS],\n figma_category: a.OFFICE,\n tags: [\"filters\", \"refine\", \"sorting\"],\n codepoint: 57960,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"funnel-simple-x\",\n pascal_name: \"FunnelSimpleX\",\n categories: [e.EDITOR, e.OBJECTS],\n figma_category: a.OFFICE,\n tags: [\"*new*\", \"filters\", \"refine\", \"sorting\"],\n codepoint: 57962,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"funnel-x\",\n pascal_name: \"FunnelX\",\n categories: [e.EDITOR, e.OBJECTS],\n figma_category: a.OFFICE,\n tags: [\"*new*\", \"filters\", \"refine\", \"sorting\"],\n codepoint: 57964,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"game-controller\",\n pascal_name: \"GameController\",\n categories: [e.GAMES, e.MEDIA, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\n \"gaming\",\n \"video games\",\n \"nintendo switch\",\n \"sony playstation\",\n \"microsoft xbox\"\n ],\n codepoint: 57966,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"garage\",\n pascal_name: \"Garage\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\"vehicles\", \"automobile\", \"buildings\", \"transportation\"],\n codepoint: 60630,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"gas-can\",\n pascal_name: \"GasCan\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"jerrycan\", \"petrol\", \"fuel\", \"gasoline\"],\n codepoint: 59598,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"gas-pump\",\n pascal_name: \"GasPump\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"gas station\", \"petrol\", \"fuel\", \"gasoline\"],\n codepoint: 59240,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"gauge\",\n pascal_name: \"Gauge\",\n categories: [\n e.DEVELOPMENT,\n e.OBJECTS,\n e.SYSTEM\n ],\n figma_category: a.SYSTEM,\n tags: [\n \"dashboard\",\n \"meter\",\n \"speed\",\n \"speedometer\",\n \"odometer\",\n \"performance\"\n ],\n codepoint: 58920,\n published_in: 1.2,\n updated_in: 1.4\n },\n {\n name: \"gavel\",\n pascal_name: \"Gavel\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"judge\", \"justice\", \"legal\", \"law\", \"court\", \"hammer\", \"government\"],\n codepoint: 59954,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"gear\",\n pascal_name: \"Gear\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"8\",\n \"settings\",\n \"setup\",\n \"preferences\",\n \"cogs\",\n \"gears\",\n \"machinery\",\n \"mechanical\"\n ],\n codepoint: 57968,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"gear-fine\",\n pascal_name: \"GearFine\",\n categories: [e.SYSTEM],\n figma_category: a.DESIGN,\n tags: [\"setup\", \"preferences\", \"cogs\", \"gears\", \"machinery\", \"mechanical\"],\n codepoint: 59516,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"gear-six\",\n pascal_name: \"GearSix\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"6\",\n \"settings\",\n \"setup\",\n \"preferences\",\n \"cogs\",\n \"gears\",\n \"machinery\",\n \"mechanical\"\n ],\n codepoint: 57970,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"gender-female\",\n pascal_name: \"GenderFemale\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"woman\", \"feminine\", \"venus\"],\n codepoint: 59104,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"gender-intersex\",\n pascal_name: \"GenderIntersex\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"transgender\", \"non-binary\"],\n codepoint: 59110,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"gender-male\",\n pascal_name: \"GenderMale\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"man\", \"masculine\", \"mars\"],\n codepoint: 59106,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"gender-neuter\",\n pascal_name: \"GenderNeuter\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"agender\", \"non-binary\", \"asexual\"],\n codepoint: 59114,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"gender-nonbinary\",\n pascal_name: \"GenderNonbinary\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"intersex\", \"non-binary\"],\n codepoint: 59108,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"gender-transgender\",\n pascal_name: \"GenderTransgender\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"intersex\", \"non-binary\"],\n codepoint: 59112,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"ghost\",\n pascal_name: \"Ghost\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"pac-man\", \"spirit\", \"scary\", \"halloween\"],\n codepoint: 58922,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"gif\",\n pascal_name: \"Gif\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"gifs\", \".gif\", \"giphy\"],\n codepoint: 57972,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"gift\",\n pascal_name: \"Gift\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"presents\", \"holiday\", \"birthday\"],\n codepoint: 57974,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"git-branch\",\n pascal_name: \"GitBranch\",\n categories: [e.DEVELOPMENT],\n figma_category: a.DEVELOPMENT,\n tags: [\n \"*updated*\",\n \"github\",\n \"vcs\",\n \"source control\",\n \"version control\",\n \"versioning\",\n \"branches\"\n ],\n codepoint: 57976,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"git-commit\",\n pascal_name: \"GitCommit\",\n categories: [e.DEVELOPMENT],\n figma_category: a.DEVELOPMENT,\n tags: [\n \"github\",\n \"vcs\",\n \"source control\",\n \"version control\",\n \"versioning\",\n \"commits\"\n ],\n codepoint: 57978,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"git-diff\",\n pascal_name: \"GitDiff\",\n categories: [e.DEVELOPMENT],\n figma_category: a.DEVELOPMENT,\n tags: [\n \"*updated*\",\n \"github\",\n \"vcs\",\n \"source control\",\n \"version control\",\n \"versioning\",\n \"difference\",\n \"compare\"\n ],\n codepoint: 57980,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"git-fork\",\n pascal_name: \"GitFork\",\n categories: [e.DEVELOPMENT],\n figma_category: a.DEVELOPMENT,\n tags: [\n \"*updated*\",\n \"github\",\n \"vcs\",\n \"source control\",\n \"version control\",\n \"versioning\",\n \"split\"\n ],\n codepoint: 57982,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"git-merge\",\n pascal_name: \"GitMerge\",\n categories: [e.DEVELOPMENT],\n figma_category: a.DEVELOPMENT,\n tags: [\n \"*updated*\",\n \"github\",\n \"vcs\",\n \"source control\",\n \"version control\",\n \"versioning\",\n \"split\"\n ],\n codepoint: 57984,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"git-pull-request\",\n pascal_name: \"GitPullRequest\",\n categories: [e.DEVELOPMENT],\n figma_category: a.DEVELOPMENT,\n tags: [\n \"*updated*\",\n \"github\",\n \"vcs\",\n \"source control\",\n \"version control\",\n \"versioning\",\n \"merge request\"\n ],\n codepoint: 57986,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"github-logo\",\n pascal_name: \"GithubLogo\",\n categories: [e.DEVELOPMENT, e.BRAND],\n figma_category: a.BRAND,\n tags: [\n \"octocat\",\n \"vcs\",\n \"source control\",\n \"version control\",\n \"versioning\",\n \"branches\"\n ],\n codepoint: 58742,\n published_in: 1.1,\n updated_in: 2\n },\n {\n name: \"gitlab-logo\",\n pascal_name: \"GitlabLogo\",\n categories: [e.BRAND, e.DEVELOPMENT],\n figma_category: a.BRAND,\n tags: [\n \"vcs\",\n \"source control\",\n \"version control\",\n \"versioning\",\n \"branches\"\n ],\n codepoint: 59028,\n published_in: 1.3,\n updated_in: 2\n },\n {\n name: \"gitlab-logo-simple\",\n pascal_name: \"GitlabLogoSimple\",\n categories: [e.BRAND, e.DEVELOPMENT],\n figma_category: a.BRAND,\n tags: [\n \"vcs\",\n \"source control\",\n \"version control\",\n \"versioning\",\n \"branches\"\n ],\n codepoint: 59030,\n published_in: 1.3,\n updated_in: 2\n },\n {\n name: \"globe\",\n pascal_name: \"Globe\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"world\",\n \"earth\",\n \"global\",\n \"planet\",\n \"circle\",\n \"round\",\n \"internationalization\",\n \"i18n\",\n \"languages\",\n \"country\",\n \"countries\",\n \"geography\",\n \"internet\"\n ],\n codepoint: 57992,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"globe-hemisphere-east\",\n pascal_name: \"GlobeHemisphereEast\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"world\",\n \"earth\",\n \"global\",\n \"planet\",\n \"circle\",\n \"round\",\n \"internationalization\",\n \"i18n\",\n \"languages\",\n \"country\",\n \"countries\",\n \"geography\",\n \"europe\",\n \"africa\",\n \"asia\",\n \"australia\"\n ],\n codepoint: 57994,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"globe-hemisphere-west\",\n pascal_name: \"GlobeHemisphereWest\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"world\",\n \"earth\",\n \"global\",\n \"planet\",\n \"circle\",\n \"round\",\n \"internationalization\",\n \"i18n\",\n \"languages\",\n \"country\",\n \"countries\",\n \"geography\",\n \"north america\",\n \"south america\"\n ],\n codepoint: 57996,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"globe-simple\",\n pascal_name: \"GlobeSimple\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"world\",\n \"earth\",\n \"global\",\n \"planet\",\n \"circle\",\n \"round\",\n \"internationalization\",\n \"i18n\",\n \"languages\",\n \"country\",\n \"countries\",\n \"geography\"\n ],\n codepoint: 57998,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"globe-simple-x\",\n pascal_name: \"GlobeSimpleX\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"world\",\n \"earth\",\n \"global\",\n \"planet\",\n \"circle\",\n \"round\",\n \"internationalization\",\n \"i18n\",\n \"languages\",\n \"country\",\n \"countries\",\n \"geography\",\n \"internet\"\n ],\n codepoint: 57988,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"globe-stand\",\n pascal_name: \"GlobeStand\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"world\",\n \"global\",\n \"planet\",\n \"circle\",\n \"round\",\n \"internationalization\",\n \"i18n\",\n \"languages\",\n \"country\",\n \"countries\",\n \"geography\"\n ],\n codepoint: 58e3,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"globe-x\",\n pascal_name: \"GlobeX\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"world\",\n \"earth\",\n \"global\",\n \"planet\",\n \"circle\",\n \"round\",\n \"internationalization\",\n \"i18n\",\n \"languages\",\n \"country\",\n \"countries\",\n \"geography\",\n \"internet\"\n ],\n codepoint: 57990,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"goggles\",\n pascal_name: \"Goggles\",\n categories: [e.HEALTH, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"swim\", \"swimming\", \"sports\", \"exercise\", \"olympics\", \"aquatics\"],\n codepoint: 60596,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"golf\",\n pascal_name: \"Golf\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"sports\", \"pga\", \"tee\", \"ball\"],\n codepoint: 59966,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"goodreads-logo\",\n pascal_name: \"GoodreadsLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"*updated*\", \"reading\", \"books\", \"social media\", \"logos\"],\n codepoint: 60688,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"google-cardboard-logo\",\n pascal_name: \"GoogleCardboardLogo\",\n categories: [e.BRAND],\n figma_category: a.GAMES,\n tags: [\"virtual reality\", \"vr\", \"logos\"],\n codepoint: 59318,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"google-chrome-logo\",\n pascal_name: \"GoogleChromeLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"web browsers\", \"internet\"],\n codepoint: 59766,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"google-drive-logo\",\n pascal_name: \"GoogleDriveLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"cloud\", \"storage\", \"backup\", \"logos\"],\n codepoint: 59638,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"google-logo\",\n pascal_name: \"GoogleLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"logos\", \"search engine\", \"phone\", \"mobile\", \"android\"],\n codepoint: 58002,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"google-photos-logo\",\n pascal_name: \"GooglePhotosLogo\",\n categories: [e.BRAND, e.MEDIA],\n figma_category: a.BRAND,\n tags: [\"album\", \"pictures\", \"photography\"],\n codepoint: 60306,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"google-play-logo\",\n pascal_name: \"GooglePlayLogo\",\n categories: [e.BRAND, e.SYSTEM, e.MEDIA],\n figma_category: a.BRAND,\n tags: [\n \"logos\",\n \"games\",\n \"apps\",\n \"applications\",\n \"play store\",\n \"app store\",\n \"phone\",\n \"mobile\",\n \"android\"\n ],\n codepoint: 58004,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"google-podcasts-logo\",\n pascal_name: \"GooglePodcastsLogo\",\n categories: [e.BRAND, e.MEDIA],\n figma_category: a.BRAND,\n tags: [\"audio\"],\n codepoint: 60308,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"gps\",\n pascal_name: \"Gps\",\n categories: [e.MAP, e.SYSTEM],\n figma_category: a.MAP,\n tags: [\"*new*\", \"geolocation\", \"location\", \"navigation\"],\n codepoint: 60888,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"gps-fix\",\n pascal_name: \"GpsFix\",\n categories: [e.MAP, e.SYSTEM],\n figma_category: a.MAP,\n tags: [\"*new*\", \"geolocation\", \"location\", \"navigation\"],\n codepoint: 60886,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"gps-slash\",\n pascal_name: \"GpsSlash\",\n categories: [e.MAP, e.SYSTEM],\n figma_category: a.MAP,\n tags: [\"*new*\", \"geolocation\", \"location\", \"navigation\", \"disabled\"],\n codepoint: 60884,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"gradient\",\n pascal_name: \"Gradient\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"fade\", \"ombre\", \"opacity\"],\n codepoint: 60226,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"graduation-cap\",\n pascal_name: \"GraduationCap\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.EDUCATION,\n tags: [\n \"classroom\",\n \"teacher\",\n \"education\",\n \"school\",\n \"college\",\n \"university\",\n \"degree\",\n \"graduate\",\n \"hat\"\n ],\n codepoint: 58924,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"grains\",\n pascal_name: \"Grains\",\n categories: [e.COMMERCE, e.NATURE],\n figma_category: a.COMMERCE,\n tags: [\"wheat\", \"gluten\", \"farm\", \"farming\", \"agriculture\"],\n codepoint: 60520,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"grains-slash\",\n pascal_name: \"GrainsSlash\",\n categories: [e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"gluten-free\", \"wheat\", \"gluten\", \"farm\", \"farming\", \"agriculture\"],\n codepoint: 60522,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"graph\",\n pascal_name: \"Graph\",\n categories: [e.OFFICE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\"nodes\", \"tree\"],\n codepoint: 60248,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"graphics-card\",\n pascal_name: \"GraphicsCard\",\n categories: [e.DEVELOPMENT],\n figma_category: a.DEVELOPMENT,\n tags: [\"*new*\", \"graphics card\", \"microchip\", \"computer\", \"circuit\"],\n codepoint: 58898,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"greater-than\",\n pascal_name: \"GreaterThan\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \">\",\n \"greater than\",\n \"gt\",\n \"comparison\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60868,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"greater-than-or-equal\",\n pascal_name: \"GreaterThanOrEqual\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"≥\",\n \"greater than or equal\",\n \"gte\",\n \"comparison\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60834,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"grid-four\",\n pascal_name: \"GridFour\",\n categories: [e.DESIGN, e.SYSTEM],\n figma_category: a.DESIGN,\n tags: [\n \"4\",\n \"apps\",\n \"applications\",\n \"squares\",\n \"tiles\",\n \"cells\",\n \"tables\",\n \"tabular\",\n \"spreadsheets\",\n \"excel\"\n ],\n codepoint: 58006,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"grid-nine\",\n pascal_name: \"GridNine\",\n categories: [e.DESIGN, e.SYSTEM],\n figma_category: a.DESIGN,\n tags: [\n \"9\",\n \"apps\",\n \"applications\",\n \"squares\",\n \"tiles\",\n \"cells\",\n \"tables\",\n \"tabular\",\n \"spreadsheets\",\n \"excel\"\n ],\n codepoint: 60556,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"guitar\",\n pascal_name: \"Guitar\",\n categories: [e.MEDIA, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\"music\", \"instrument\"],\n codepoint: 60042,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"hair-dryer\",\n pascal_name: \"HairDryer\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"blow dryer\", \"beauty\", \"grooming\", \"salon\"],\n codepoint: 60006,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"hamburger\",\n pascal_name: \"Hamburger\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\n \"fast food\",\n \"party\",\n \"places\",\n \"locations\",\n \"restaurants\",\n \"food\",\n \"dining\"\n ],\n codepoint: 59280,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"hammer\",\n pascal_name: \"Hammer\",\n categories: [\n e.OBJECTS,\n e.SYSTEM,\n e.COMMERCE\n ],\n figma_category: a.COMMERCE,\n tags: [\"tools\", \"carpentry\", \"construction\"],\n codepoint: 59406,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"hand\",\n pascal_name: \"Hand\",\n categories: [e.SYSTEM, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"pointers\", \"cursors\", \"emoji\", \"backhand\"],\n codepoint: 58008,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hand-arrow-down\",\n pascal_name: \"HandArrowDown\",\n categories: [\n e.PEOPLE,\n e.COMMERCE,\n e.FINANCE\n ],\n figma_category: a.PEOPLE,\n tags: [\"*new*\", \"take\", \"receive\", \"remove\", \"withdraw\", \"emoji\"],\n codepoint: 59982,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"hand-arrow-up\",\n pascal_name: \"HandArrowUp\",\n categories: [\n e.PEOPLE,\n e.COMMERCE,\n e.FINANCE\n ],\n figma_category: a.PEOPLE,\n tags: [\"*new*\", \"give\", \"insert\", \"deposit\", \"donation\", \"emoji\"],\n codepoint: 61018,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"hand-coins\",\n pascal_name: \"HandCoins\",\n categories: [\n e.PEOPLE,\n e.COMMERCE,\n e.FINANCE\n ],\n figma_category: a.COMMERCE,\n tags: [\"donation\", \"payment\", \"money\", \"paying\", \"purchase\"],\n codepoint: 60044,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"hand-deposit\",\n pascal_name: \"HandDeposit\",\n categories: [\n e.PEOPLE,\n e.COMMERCE,\n e.FINANCE\n ],\n figma_category: a.PEOPLE,\n tags: [\"*new*\", \"give\", \"insert\", \"donation\", \"atm\", \"emoji\"],\n codepoint: 61058,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"hand-eye\",\n pascal_name: \"HandEye\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"*updated*\", \"emoji\", \"hamsa\", \"evil eye\"],\n codepoint: 59980,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"hand-fist\",\n pascal_name: \"HandFist\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"emoji\", \"power\", \"protest\", \"blm\"],\n codepoint: 58746,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"hand-grabbing\",\n pascal_name: \"HandGrabbing\",\n categories: [e.SYSTEM, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"pointers\", \"cursors\", \"emoji\", \"drag\", \"hold\"],\n codepoint: 58748,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"hand-heart\",\n pascal_name: \"HandHeart\",\n categories: [e.PEOPLE],\n figma_category: a.HEALTH,\n tags: [\"donation\", \"care\", \"emoji\"],\n codepoint: 59408,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"hand-palm\",\n pascal_name: \"HandPalm\",\n categories: [e.SYSTEM, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"pointers\",\n \"cursors\",\n \"emoji\",\n \"palm\",\n \"stop\",\n \"wait\",\n \"hamsa\",\n \"5\"\n ],\n codepoint: 58750,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"hand-peace\",\n pascal_name: \"HandPeace\",\n categories: [e.PEOPLE, e.COMMUNICATION],\n figma_category: a.PEOPLE,\n tags: [\"*new*\", \"emoji\", \"victory\"],\n codepoint: 59340,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"hand-pointing\",\n pascal_name: \"HandPointing\",\n categories: [e.SYSTEM, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"pointers\", \"cursors\", \"emoji\", \"fingers\", \"clicks\", \"mouse\"],\n codepoint: 58010,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hand-soap\",\n pascal_name: \"HandSoap\",\n categories: [e.HEALTH, e.OBJECTS],\n figma_category: a.HEALTH,\n tags: [\n \"dispenser\",\n \"pump\",\n \"sanitizer\",\n \"disinfectant\",\n \"lotion\",\n \"bottle\"\n ],\n codepoint: 58928,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"hand-swipe-left\",\n pascal_name: \"HandSwipeLeft\",\n categories: [e.PEOPLE, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"pointers\", \"cursors\", \"gesture\"],\n codepoint: 60564,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"hand-swipe-right\",\n pascal_name: \"HandSwipeRight\",\n categories: [e.PEOPLE, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"pointers\", \"cursors\", \"gesture\"],\n codepoint: 60562,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"hand-tap\",\n pascal_name: \"HandTap\",\n categories: [e.PEOPLE, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"pointers\", \"cursors\", \"gesture\"],\n codepoint: 60560,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"hand-waving\",\n pascal_name: \"HandWaving\",\n categories: [e.SYSTEM, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"emoji\", \"palm\", \"wave\", \"hello\", \"goodbye\"],\n codepoint: 58752,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"hand-withdraw\",\n pascal_name: \"HandWithdraw\",\n categories: [\n e.PEOPLE,\n e.COMMERCE,\n e.FINANCE\n ],\n figma_category: a.PEOPLE,\n tags: [\"*new*\", \"take\", \"remove\", \"withdrawal\", \"atm\", \"emoji\"],\n codepoint: 61056,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"handbag\",\n pascal_name: \"Handbag\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"suitcases\", \"valises\", \"baggage\", \"purses\"],\n codepoint: 58012,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"handbag-simple\",\n pascal_name: \"HandbagSimple\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"suitcases\", \"valises\", \"baggage\", \"purses\"],\n codepoint: 58926,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"hands-clapping\",\n pascal_name: \"HandsClapping\",\n categories: [e.SYSTEM, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"emoji\", \"clap\", \"applause\"],\n codepoint: 59040,\n published_in: 1.3,\n updated_in: 1.4\n },\n {\n name: \"hands-praying\",\n pascal_name: \"HandsPraying\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"emoji\", \"religion\", \"worship\", \"prayer\", \"thanks\", \"thank you\"],\n codepoint: 60616,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"handshake\",\n pascal_name: \"Handshake\",\n categories: [e.PEOPLE, e.COMMERCE],\n figma_category: a.PEOPLE,\n tags: [\"emoji\", \"deal\", \"agreement\"],\n codepoint: 58754,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"hard-drive\",\n pascal_name: \"HardDrive\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"saved\",\n \"saving\",\n \"archived\",\n \"archiving\",\n \"archival\",\n \"hard disk\",\n \"storage\",\n \"hdd\",\n \"servers\",\n \"databases\"\n ],\n codepoint: 58014,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hard-drives\",\n pascal_name: \"HardDrives\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"saved\",\n \"saving\",\n \"archived\",\n \"archiving\",\n \"archival\",\n \"hard disk\",\n \"storage\",\n \"hdd\",\n \"servers\",\n \"databases\"\n ],\n codepoint: 58016,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hard-hat\",\n pascal_name: \"HardHat\",\n categories: [\n e.COMMERCE,\n e.OBJECTS,\n e.DEVELOPMENT\n ],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"safety\", \"construction\", \"industry\", \"helmet\", \"ppe\"],\n codepoint: 60742,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"hash\",\n pascal_name: \"Hash\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"hashtag\",\n \"octothorpe\",\n \"pound sign\",\n \"number sign\",\n \"tic-tac-toe\",\n \"symbol\"\n ],\n codepoint: 58018,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hash-straight\",\n pascal_name: \"HashStraight\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\n \"hashtag\",\n \"octothorpe\",\n \"pound sign\",\n \"number sign\",\n \"tic-tac-toe\",\n \"symbol\"\n ],\n codepoint: 58020,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"head-circuit\",\n pascal_name: \"HeadCircuit\",\n categories: [e.DEVELOPMENT],\n figma_category: a.DEVELOPMENT,\n tags: [\"*new*\", \"automaton\", \"artificial intelligence\", \"ai\"],\n codepoint: 59348,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"headlights\",\n pascal_name: \"Headlights\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"brights\", \"high beams\"],\n codepoint: 59134,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"headphones\",\n pascal_name: \"Headphones\",\n categories: [e.MEDIA, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"listening\"],\n codepoint: 58022,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"headset\",\n pascal_name: \"Headset\",\n categories: [e.MEDIA, e.GAMES, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\n \"music\",\n \"audio\",\n \"listening\",\n \"gaming\",\n \"voice chat\",\n \"microphone\",\n \"headphones\",\n \"support\",\n \"customer-service\",\n \"call-center\"\n ],\n codepoint: 58756,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"heart\",\n pascal_name: \"Heart\",\n categories: [\n e.COMMUNICATION,\n e.GAMES,\n e.HEALTH\n ],\n figma_category: a.GAMES,\n tags: [\n \"wellness\",\n \"love\",\n \"healthy\",\n \"like\",\n \"favorites\",\n \"favorited\",\n \"suits\",\n \"cards\",\n \"gambling\",\n \"casino\",\n \"gaming\",\n \"emoji\"\n ],\n codepoint: 58024,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"heart-break\",\n pascal_name: \"HeartBreak\",\n categories: [e.COMMUNICATION],\n figma_category: a.GAMES,\n tags: [\"love\", \"hate\", \"crack\", \"split\", \"divorce\", \"emoji\"],\n codepoint: 60392,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"heart-half\",\n pascal_name: \"HeartHalf\",\n categories: [\n e.COMMUNICATION,\n e.GAMES,\n e.HEALTH\n ],\n figma_category: a.GAMES,\n tags: [\"wellness\", \"love\", \"healthy\", \"like\", \"favorites\", \"favorited\"],\n codepoint: 60488,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"heart-straight\",\n pascal_name: \"HeartStraight\",\n categories: [\n e.COMMUNICATION,\n e.GAMES,\n e.HEALTH\n ],\n figma_category: a.GAMES,\n tags: [\n \"wellness\",\n \"love\",\n \"healthy\",\n \"like\",\n \"favorites\",\n \"favorited\",\n \"suits\",\n \"cards\",\n \"gambling\",\n \"casino\",\n \"gaming\",\n \"emoji\"\n ],\n codepoint: 58026,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"heart-straight-break\",\n pascal_name: \"HeartStraightBreak\",\n categories: [e.COMMUNICATION],\n figma_category: a.GAMES,\n tags: [\"love\", \"hate\", \"crack\", \"split\", \"divorce\", \"emoji\"],\n codepoint: 60312,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"heartbeat\",\n pascal_name: \"Heartbeat\",\n categories: [e.HEALTH, e.SYSTEM],\n figma_category: a.HEALTH,\n tags: [\"wellness\", \"healthy\", \"ecg\", \"ekg\", \"vitals\", \"monitor\"],\n codepoint: 58028,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"hexagon\",\n pascal_name: \"Hexagon\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"6\", \"shapes\", \"polygons\"],\n codepoint: 58030,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"high-definition\",\n pascal_name: \"HighDefinition\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"*new*\", \"hd\", \"resolution\", \"video\"],\n codepoint: 60046,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"high-heel\",\n pascal_name: \"HighHeel\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*updated*\", \"pumps\", \"clothes\", \"clothing\", \"shoes\"],\n codepoint: 59624,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"highlighter\",\n pascal_name: \"Highlighter\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"marker\", \"write\", \"writing\", \"editing\"],\n codepoint: 60534,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"highlighter-circle\",\n pascal_name: \"HighlighterCircle\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\"write\", \"writing\", \"editing\", \"drawing\"],\n codepoint: 58930,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"hockey\",\n pascal_name: \"Hockey\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"sports\", \"nhl\", \"stick\", \"puck\"],\n codepoint: 60550,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"hoodie\",\n pascal_name: \"Hoodie\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"clothes\", \"clothing\", \"sweatshirt\"],\n codepoint: 60624,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"horse\",\n pascal_name: \"Horse\",\n categories: [e.GAMES, e.HEALTH, e.NATURE],\n figma_category: a.GAMES,\n tags: [\"animals\", \"equestrian\", \"chess\", \"knight\", \"sports\"],\n codepoint: 58032,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hospital\",\n pascal_name: \"Hospital\",\n categories: [e.MAP, e.HEALTH],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"places\",\n \"locations\",\n \"medical\",\n \"medicine\",\n \"emergency\",\n \"doctor\",\n \"buildings\"\n ],\n codepoint: 59460,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"hourglass\",\n pascal_name: \"Hourglass\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.TIME,\n tags: [\n \"times\",\n \"timer\",\n \"alarms\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"waiting\",\n \"progress\"\n ],\n codepoint: 58034,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hourglass-high\",\n pascal_name: \"HourglassHigh\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.TIME,\n tags: [\n \"times\",\n \"timer\",\n \"alarms\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"waiting\",\n \"progress\"\n ],\n codepoint: 58036,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hourglass-low\",\n pascal_name: \"HourglassLow\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.TIME,\n tags: [\n \"times\",\n \"timer\",\n \"alarms\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"waiting\",\n \"progress\"\n ],\n codepoint: 58038,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hourglass-medium\",\n pascal_name: \"HourglassMedium\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.TIME,\n tags: [\n \"times\",\n \"timer\",\n \"alarms\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"waiting\",\n \"progress\"\n ],\n codepoint: 58040,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hourglass-simple\",\n pascal_name: \"HourglassSimple\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.TIME,\n tags: [\n \"times\",\n \"timer\",\n \"alarms\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"waiting\",\n \"progress\"\n ],\n codepoint: 58042,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hourglass-simple-high\",\n pascal_name: \"HourglassSimpleHigh\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.TIME,\n tags: [\n \"times\",\n \"timer\",\n \"alarms\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"waiting\",\n \"progress\"\n ],\n codepoint: 58044,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hourglass-simple-low\",\n pascal_name: \"HourglassSimpleLow\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.TIME,\n tags: [\n \"times\",\n \"timer\",\n \"alarms\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"waiting\",\n \"progress\"\n ],\n codepoint: 58046,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hourglass-simple-medium\",\n pascal_name: \"HourglassSimpleMedium\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.TIME,\n tags: [\n \"times\",\n \"timer\",\n \"alarms\",\n \"clock\",\n \"schedule\",\n \"events\",\n \"waiting\",\n \"progress\"\n ],\n codepoint: 58048,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"house\",\n pascal_name: \"House\",\n categories: [e.MAP, e.SYSTEM],\n figma_category: a.MAP,\n tags: [\"homes\", \"buildings\", \"places\", \"locations\"],\n codepoint: 58050,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"house-line\",\n pascal_name: \"HouseLine\",\n categories: [e.MAP, e.SYSTEM],\n figma_category: a.MAP,\n tags: [\"*updated*\", \"homes\", \"buildings\", \"places\", \"locations\"],\n codepoint: 58052,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"house-simple\",\n pascal_name: \"HouseSimple\",\n categories: [e.MAP, e.SYSTEM],\n figma_category: a.MAP,\n tags: [\"homes\", \"buildings\", \"places\", \"locations\"],\n codepoint: 58054,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"hurricane\",\n pascal_name: \"Hurricane\",\n categories: [e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"*new*\", \"meteorology\", \"cyclone\", \"storm\", \"disaster\", \"wind\"],\n codepoint: 59534,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"ice-cream\",\n pascal_name: \"IceCream\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"food\", \"dessert\", \"cone\"],\n codepoint: 59396,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"identification-badge\",\n pascal_name: \"IdentificationBadge\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"license\", \"credentials\", \"nametag\", \"user\", \"verification\"],\n codepoint: 59126,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"identification-card\",\n pascal_name: \"IdentificationCard\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"license\",\n \"badge\",\n \"credentials\",\n \"nametag\",\n \"user\",\n \"verification\"\n ],\n codepoint: 58056,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"image\",\n pascal_name: \"Image\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"*updated*\",\n \"pictures\",\n \"photographs\",\n \"photography\",\n \"wallpapers\",\n \"gallery\",\n \"landscape\"\n ],\n codepoint: 58058,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"image-broken\",\n pascal_name: \"ImageBroken\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"*new*\",\n \"pictures\",\n \"photographs\",\n \"photography\",\n \"wallpapers\",\n \"gallery\",\n \"landscape\",\n \"missing\",\n \"error\",\n \"404\"\n ],\n codepoint: 59304,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"image-square\",\n pascal_name: \"ImageSquare\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"pictures\",\n \"photographs\",\n \"photography\",\n \"wallpapers\",\n \"gallery\",\n \"landscape\"\n ],\n codepoint: 58060,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"images\",\n pascal_name: \"Images\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"*updated*\",\n \"pictures\",\n \"photographs\",\n \"photography\",\n \"wallpapers\",\n \"gallery\",\n \"landscape\",\n \"album\"\n ],\n codepoint: 59446,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"images-square\",\n pascal_name: \"ImagesSquare\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"pictures\",\n \"photographs\",\n \"photography\",\n \"wallpapers\",\n \"gallery\",\n \"landscape\",\n \"album\"\n ],\n codepoint: 59444,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"infinity\",\n pascal_name: \"Infinity\",\n alias: { name: \"lemniscate\", pascal_name: \"Lemniscate\" },\n categories: [e.DEVELOPMENT, e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"infinite\",\n \"lemniscate\",\n \"figure-eight\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\",\n \"∞\"\n ],\n codepoint: 58932,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"info\",\n pascal_name: \"Info\",\n categories: [e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\"information\", \"help\", \"support\"],\n codepoint: 58062,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"instagram-logo\",\n pascal_name: \"InstagramLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"logos\", \"social media\", \"photography\", \"camera\"],\n codepoint: 58064,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"intersect\",\n pascal_name: \"Intersect\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\n \"round\",\n \"join\",\n \"union\",\n \"merge\",\n \"combine\",\n \"intersecting\",\n \"intersection\"\n ],\n codepoint: 58066,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"intersect-square\",\n pascal_name: \"IntersectSquare\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"venn-diagram\", \"join\", \"intersection\"],\n codepoint: 59514,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"intersect-three\",\n pascal_name: \"IntersectThree\",\n categories: [e.PEOPLE, e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"venn-diagram\", \"join\", \"intersection\", \"gender\", \"pronouns\"],\n codepoint: 60612,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"intersection\",\n pascal_name: \"Intersection\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"∩\",\n \"intersection\",\n \"set\",\n \"member\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60858,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"invoice\",\n pascal_name: \"Invoice\",\n categories: [\n e.COMMERCE,\n e.FINANCE,\n e.OFFICE\n ],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"receipt\", \"expense\", \"bill\"],\n codepoint: 60994,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"island\",\n pascal_name: \"Island\",\n categories: [e.MAP, e.NATURE],\n figma_category: a.WEATHER,\n tags: [\n \"*new*\",\n \"geography\",\n \"beach\",\n \"ocean\",\n \"tropical\",\n \"palm\",\n \"vacation\",\n \"trip\",\n \"locations\",\n \"places\"\n ],\n codepoint: 60934,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"jar\",\n pascal_name: \"Jar\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"mason jar\",\n \"kitchen\",\n \"pantry\",\n \"canning\",\n \"preserves\",\n \"food\",\n \"condiments\"\n ],\n codepoint: 59360,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"jar-label\",\n pascal_name: \"JarLabel\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"mason jar\",\n \"kitchen\",\n \"pantry\",\n \"canning\",\n \"preserves\",\n \"food\",\n \"condiments\"\n ],\n codepoint: 59360,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"jeep\",\n pascal_name: \"Jeep\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"*updated*\",\n \"vehicles\",\n \"automobile\",\n \"suv\",\n \"cars\",\n \"trucks\",\n \"wrangler\",\n \"off-road\",\n \"transit\",\n \"transportation\",\n \"traveling\"\n ],\n codepoint: 58068,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"joystick\",\n pascal_name: \"Joystick\",\n categories: [e.GAMES, e.MEDIA, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\n \"*new*\",\n \"gaming\",\n \"game controller\",\n \"video games\",\n \"arcade game\",\n \"atari\"\n ],\n codepoint: 59998,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"kanban\",\n pascal_name: \"Kanban\",\n categories: [e.OFFICE],\n figma_category: a.OFFICE,\n tags: [\n \"scheduling\",\n \"tasks\",\n \"project management\",\n \"process\",\n \"lean\",\n \"agile\"\n ],\n codepoint: 60244,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"key\",\n pascal_name: \"Key\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"padlock\",\n \"security\",\n \"secured\",\n \"authentication\",\n \"authenticated\",\n \"login\",\n \"locked\",\n \"encrypted\",\n \"encryption\"\n ],\n codepoint: 58070,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"key-return\",\n pascal_name: \"KeyReturn\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"keyboard\", \"enter\"],\n codepoint: 59266,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"keyboard\",\n pascal_name: \"Keyboard\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"typing\", \"type\", \"keys\", \"input\"],\n codepoint: 58072,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"keyhole\",\n pascal_name: \"Keyhole\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"lock\",\n \"security\",\n \"secured\",\n \"authentication\",\n \"authenticated\",\n \"login\",\n \"locked\",\n \"encrypted\",\n \"encryption\",\n \"privacy\",\n \"private\"\n ],\n codepoint: 60024,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"knife\",\n pascal_name: \"Knife\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"tools\",\n \"food\",\n \"meal\",\n \"eating\",\n \"restaurants\",\n \"dining\",\n \"utensils\"\n ],\n codepoint: 58934,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"ladder\",\n pascal_name: \"Ladder\",\n categories: [e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"stairs\", \"steps\", \"climbing\"],\n codepoint: 59876,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"ladder-simple\",\n pascal_name: \"LadderSimple\",\n categories: [e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"stairs\", \"steps\", \"climbing\"],\n codepoint: 60454,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"lamp\",\n pascal_name: \"Lamp\",\n categories: [e.OBJECTS, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"light\", \"furniture\", \"appliances\"],\n codepoint: 58936,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"lamp-pendant\",\n pascal_name: \"LampPendant\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"light\", \"furniture\", \"appliances\"],\n codepoint: 60974,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"laptop\",\n pascal_name: \"Laptop\",\n categories: [e.DEVELOPMENT, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"computer\", \"notebook\", \"pc\", \"macbook\"],\n codepoint: 58758,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"lasso\",\n pascal_name: \"Lasso\",\n categories: [e.DESIGN, e.OBJECTS],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"select\", \"selection\", \"loop\", \"rope\", \"cowboy\"],\n codepoint: 60870,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"lastfm-logo\",\n pascal_name: \"LastfmLogo\",\n categories: [e.BRAND, e.MEDIA],\n figma_category: a.BRAND,\n tags: [\"*new*\", \"scrobble\", \"music\", \"social media\"],\n codepoint: 59458,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"layout\",\n pascal_name: \"Layout\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"wireframe\", \"sidebar\", \"ui\", \"interface\"],\n codepoint: 59094,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"leaf\",\n pascal_name: \"Leaf\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\n \"plants\",\n \"trees\",\n \"branches\",\n \"leaves\",\n \"nodes\",\n \"green\",\n \"environmental\"\n ],\n codepoint: 58074,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"lectern\",\n pascal_name: \"Lectern\",\n categories: [\n e.OBJECTS,\n e.FINANCE,\n e.OFFICE\n ],\n figma_category: a.EDUCATION,\n tags: [\n \"*new*\",\n \"lecture\",\n \"podium\",\n \"pulpit\",\n \"stand\",\n \"speech\",\n \"presentation\",\n \"keynote\"\n ],\n codepoint: 59738,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"lego\",\n pascal_name: \"Lego\",\n categories: [e.GAMES],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"toys\", \"blocks\", \"bricks\"],\n codepoint: 59590,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"lego-smiley\",\n pascal_name: \"LegoSmiley\",\n categories: [\n e.GAMES,\n e.COMMUNICATION,\n e.PEOPLE\n ],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"face\", \"emoji\", \"toys\", \"blocks\", \"bricks\"],\n codepoint: 59590,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"less-than\",\n pascal_name: \"LessThan\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"<\",\n \"less than\",\n \"lt\",\n \"comparison\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60844,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"less-than-or-equal\",\n pascal_name: \"LessThanOrEqual\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"≤\",\n \"less than or equal\",\n \"lte\",\n \"comparison\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60836,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"letter-circle-h\",\n pascal_name: \"LetterCircleH\",\n categories: [e.EDITOR, e.MAP, e.DESIGN],\n figma_category: a.COMMUNICATION,\n tags: [\"*new*\", \"hospital\", \"letter\", \"glyph\", \"character\"],\n codepoint: 60408,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"letter-circle-p\",\n pascal_name: \"LetterCircleP\",\n categories: [e.EDITOR, e.MAP, e.DESIGN],\n figma_category: a.COMMUNICATION,\n tags: [\n \"*new*\",\n \"parking lot\",\n \"valet\",\n \"vehicles\",\n \"letter\",\n \"glyph\",\n \"character\"\n ],\n codepoint: 60424,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"letter-circle-v\",\n pascal_name: \"LetterCircleV\",\n categories: [\n e.EDITOR,\n e.DESIGN,\n e.COMMERCE\n ],\n figma_category: a.COMMUNICATION,\n tags: [\"*new*\", \"vegan\", \"letter\", \"glyph\", \"character\"],\n codepoint: 60436,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"lifebuoy\",\n pascal_name: \"Lifebuoy\",\n categories: [\n e.HEALTH,\n e.OBJECTS,\n e.SYSTEM\n ],\n figma_category: a.HEALTH,\n tags: [\n \"lifebelt\",\n \"lifesaver\",\n \"safety\",\n \"help\",\n \"support\",\n \"nautical\",\n \"boats\",\n \"ships\"\n ],\n codepoint: 58938,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"lightbulb\",\n pascal_name: \"Lightbulb\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"flashlight\", \"bulbs\", \"lighting\", \"led\", \"energy\", \"idea\"],\n codepoint: 58076,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"lightbulb-filament\",\n pascal_name: \"LightbulbFilament\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"flashlight\", \"bulbs\", \"lighting\", \"led\", \"energy\", \"idea\"],\n codepoint: 58940,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"lighthouse\",\n pascal_name: \"Lighthouse\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\"buildings\", \"nautical\", \"navigation\", \"boats\", \"ships\", \"safety\"],\n codepoint: 59894,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"lightning\",\n pascal_name: \"Lightning\",\n categories: [e.WEATHER, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"meteorology\",\n \"stormy\",\n \"thunderstorm\",\n \"thunderbolt\",\n \"charged\",\n \"charger\",\n \"charging\",\n \"power\",\n \"electricity\",\n \"flash\"\n ],\n codepoint: 58078,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"lightning-a\",\n pascal_name: \"LightningA\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"flash\", \"auto\"],\n codepoint: 60036,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"lightning-slash\",\n pascal_name: \"LightningSlash\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"thunderbolt\",\n \"charged\",\n \"charger\",\n \"charging\",\n \"power\",\n \"electricity\",\n \"disabled\",\n \"flash\"\n ],\n codepoint: 58080,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"line-segment\",\n pascal_name: \"LineSegment\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"shapes\", \"drawing\", \"path\", \"pen\", \"vector\"],\n codepoint: 59090,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"line-segments\",\n pascal_name: \"LineSegments\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"shapes\", \"drawing\", \"path\", \"pen\", \"vector\"],\n codepoint: 59092,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"line-vertical\",\n pascal_name: \"LineVertical\",\n categories: [e.DESIGN, e.DEVELOPMENT],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"bar\", \"pipe\", \"|\", \"divider. symbol\"],\n codepoint: 60784,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"link\",\n pascal_name: \"Link\",\n categories: [e.COMMUNICATION, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\n \"*updated*\",\n \"anchor\",\n \"hyperlink\",\n \"hypertext\",\n \"chains\",\n \"chained\"\n ],\n codepoint: 58082,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"link-break\",\n pascal_name: \"LinkBreak\",\n categories: [e.COMMUNICATION, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\n \"anchor\",\n \"hyperlink\",\n \"hypertext\",\n \"chains\",\n \"chained\",\n \"errors\",\n \"broken\"\n ],\n codepoint: 58084,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"link-simple\",\n pascal_name: \"LinkSimple\",\n categories: [e.COMMUNICATION, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"anchor\", \"hyperlink\", \"hypertext\", \"chains\", \"chained\"],\n codepoint: 58086,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"link-simple-break\",\n pascal_name: \"LinkSimpleBreak\",\n categories: [e.COMMUNICATION, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\n \"anchor\",\n \"hyperlink\",\n \"hypertext\",\n \"chains\",\n \"chained\",\n \"errors\",\n \"broken\"\n ],\n codepoint: 58088,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"link-simple-horizontal\",\n pascal_name: \"LinkSimpleHorizontal\",\n categories: [e.COMMUNICATION, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"anchor\", \"hyperlink\", \"hypertext\", \"chains\", \"chained\"],\n codepoint: 58090,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"link-simple-horizontal-break\",\n pascal_name: \"LinkSimpleHorizontalBreak\",\n categories: [e.COMMUNICATION, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\n \"anchor\",\n \"hyperlink\",\n \"hypertext\",\n \"chains\",\n \"chained\",\n \"errors\",\n \"broken\"\n ],\n codepoint: 58092,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"linkedin-logo\",\n pascal_name: \"LinkedinLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"logos\", \"jobs\", \"employment\", \"social media\"],\n codepoint: 58094,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"linktree-logo\",\n pascal_name: \"LinktreeLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"*new*\", \"social media\", \"links\"],\n codepoint: 60910,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"linux-logo\",\n pascal_name: \"LinuxLogo\",\n categories: [e.BRAND, e.DEVELOPMENT],\n figma_category: a.BRAND,\n tags: [\"penguin\", \"computer\", \"animals\"],\n codepoint: 60162,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"list\",\n pascal_name: \"List\",\n categories: [e.SYSTEM, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"*updated*\",\n \"hamburger menu\",\n \"overflow menu\",\n \"sidebar\",\n \"3\",\n \"ul\",\n \"ol\",\n \"unordered list\",\n \"ordered list\",\n \"checklist\",\n \"lines\"\n ],\n codepoint: 58096,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"list-bullets\",\n pascal_name: \"ListBullets\",\n categories: [e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"*updated*\", \"ul\", \"unordered list\", \"bulleted list\", \"checklist\"],\n codepoint: 58098,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"list-checks\",\n pascal_name: \"ListChecks\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"*updated*\", \"checklist\", \"todo\"],\n codepoint: 60124,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"list-dashes\",\n pascal_name: \"ListDashes\",\n categories: [e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"*updated*\", \"ul\", \"unordered list\", \"dashed list\", \"checklist\"],\n codepoint: 58100,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"list-heart\",\n pascal_name: \"ListHeart\",\n categories: [e.EDITOR, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"favorites\", \"wishlist\", \"liked\"],\n codepoint: 60382,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"list-magnifying-glass\",\n pascal_name: \"ListMagnifyingGlass\",\n categories: [e.EDITOR, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"search\", \"find\", \"locate\", \"query\", \"inspect\"],\n codepoint: 60384,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"list-numbers\",\n pascal_name: \"ListNumbers\",\n categories: [e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"*updated*\", \"ol\", \"ordered list\", \"numbered list\", \"checklist\"],\n codepoint: 58102,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"list-plus\",\n pascal_name: \"ListPlus\",\n categories: [e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"*updated*\",\n \"ul\",\n \"ol\",\n \"unordered list\",\n \"ordered list\",\n \"checklist\",\n \"add\",\n \"+\"\n ],\n codepoint: 58104,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"list-star\",\n pascal_name: \"ListStar\",\n categories: [e.EDITOR, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"favorites\", \"wishlist\", \"liked\"],\n codepoint: 60380,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"lock\",\n pascal_name: \"Lock\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"padlock\",\n \"security\",\n \"secured\",\n \"authentication\",\n \"authenticated\",\n \"login\",\n \"locked\",\n \"encrypted\",\n \"encryption\",\n \"privacy\",\n \"private\"\n ],\n codepoint: 58106,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"lock-key\",\n pascal_name: \"LockKey\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"padlock\",\n \"security\",\n \"secured\",\n \"authentication\",\n \"authenticated\",\n \"login\",\n \"locked\",\n \"encrypted\",\n \"encryption\",\n \"privacy\",\n \"private\"\n ],\n codepoint: 58110,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"lock-key-open\",\n pascal_name: \"LockKeyOpen\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"padlock\",\n \"security\",\n \"unsecured\",\n \"authentication\",\n \"unauthenticated\",\n \"login\",\n \"unlocked\",\n \"unencrypted\",\n \"encryption\",\n \"privacy\"\n ],\n codepoint: 58112,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"lock-laminated\",\n pascal_name: \"LockLaminated\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"padlock\",\n \"security\",\n \"secured\",\n \"authentication\",\n \"authenticated\",\n \"login\",\n \"locked\",\n \"encrypted\",\n \"encryption\",\n \"privacy\",\n \"private\"\n ],\n codepoint: 58114,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"lock-laminated-open\",\n pascal_name: \"LockLaminatedOpen\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"padlock\",\n \"security\",\n \"unsecured\",\n \"authentication\",\n \"unauthenticated\",\n \"login\",\n \"unlocked\",\n \"unencrypted\",\n \"encryption\",\n \"privacy\",\n \"private\"\n ],\n codepoint: 58116,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"lock-open\",\n pascal_name: \"LockOpen\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"padlock\",\n \"security\",\n \"unsecured\",\n \"authentication\",\n \"unauthenticated\",\n \"login\",\n \"unlocked\",\n \"unencrypted\",\n \"encryption\",\n \"privacy\"\n ],\n codepoint: 58118,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"lock-simple\",\n pascal_name: \"LockSimple\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"padlock\",\n \"security\",\n \"secured\",\n \"authentication\",\n \"authenticated\",\n \"login\",\n \"locked\",\n \"encrypted\",\n \"encryption\",\n \"privacy\",\n \"private\"\n ],\n codepoint: 58120,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"lock-simple-open\",\n pascal_name: \"LockSimpleOpen\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"padlock\",\n \"security\",\n \"unsecured\",\n \"authentication\",\n \"unauthenticated\",\n \"login\",\n \"unlocked\",\n \"unencrypted\",\n \"encryption\",\n \"privacy\",\n \"private\"\n ],\n codepoint: 58122,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"lockers\",\n pascal_name: \"Lockers\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\"locker room\", \"gym\", \"storage\"],\n codepoint: 60600,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"log\",\n pascal_name: \"Log\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"*new*\", \"tree\", \"stump\", \"stick\", \"branch\"],\n codepoint: 60802,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"magic-wand\",\n pascal_name: \"MagicWand\",\n categories: [e.DESIGN, e.GAMES, e.OBJECTS],\n figma_category: a.DESIGN,\n tags: [\"selection\", \"wizard\", \"games\"],\n codepoint: 59062,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"magnet\",\n pascal_name: \"Magnet\",\n categories: [e.DEVELOPMENT, e.OBJECTS],\n figma_category: a.DEVELOPMENT,\n tags: [\"magnetism\", \"science\", \"physics\"],\n codepoint: 59008,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"magnet-straight\",\n pascal_name: \"MagnetStraight\",\n categories: [e.DEVELOPMENT, e.OBJECTS],\n figma_category: a.DEVELOPMENT,\n tags: [\"magnetism\", \"science\", \"physics\"],\n codepoint: 59010,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"magnifying-glass\",\n pascal_name: \"MagnifyingGlass\",\n categories: [e.EDITOR, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"search\", \"find\", \"locate\", \"query\", \"inspect\"],\n codepoint: 58124,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"magnifying-glass-minus\",\n pascal_name: \"MagnifyingGlassMinus\",\n categories: [e.EDITOR, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"search\", \"find\", \"locate\", \"query\", \"inspect\", \"zoom out\", \"-\"],\n codepoint: 58126,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"magnifying-glass-plus\",\n pascal_name: \"MagnifyingGlassPlus\",\n categories: [e.EDITOR, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"search\", \"find\", \"locate\", \"query\", \"inspect\", \"zoom in\", \"+\"],\n codepoint: 58128,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"mailbox\",\n pascal_name: \"Mailbox\",\n categories: [\n e.COMMUNICATION,\n e.OBJECTS,\n e.MAP\n ],\n figma_category: a.COMMUNICATION,\n tags: [\"*new*\", \"email\", \"letters\", \"messaging\", \"post\"],\n codepoint: 60446,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"map-pin\",\n pascal_name: \"MapPin\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"maps\",\n \"places\",\n \"markers\",\n \"pins\",\n \"locations\",\n \"poi\",\n \"point of interest\"\n ],\n codepoint: 58134,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"map-pin-area\",\n pascal_name: \"MapPinArea\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"maps\",\n \"places\",\n \"markers\",\n \"pins\",\n \"locations\",\n \"poi\",\n \"point of interest\"\n ],\n codepoint: 60986,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"map-pin-line\",\n pascal_name: \"MapPinLine\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"maps\",\n \"places\",\n \"markers\",\n \"pins\",\n \"locations\",\n \"poi\",\n \"point of interest\"\n ],\n codepoint: 58136,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"map-pin-plus\",\n pascal_name: \"MapPinPlus\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"maps\",\n \"places\",\n \"markers\",\n \"pins\",\n \"locations\",\n \"add\",\n \"point of interest\"\n ],\n codepoint: 58132,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"map-pin-simple\",\n pascal_name: \"MapPinSimple\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"maps\",\n \"places\",\n \"markers\",\n \"pins\",\n \"locations\",\n \"poi\",\n \"point of interest\"\n ],\n codepoint: 60990,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"map-pin-simple-area\",\n pascal_name: \"MapPinSimpleArea\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"maps\",\n \"places\",\n \"markers\",\n \"pins\",\n \"locations\",\n \"poi\",\n \"point of interest\"\n ],\n codepoint: 60988,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"map-pin-simple-line\",\n pascal_name: \"MapPinSimpleLine\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"maps\",\n \"places\",\n \"markers\",\n \"pins\",\n \"locations\",\n \"poi\",\n \"point of interest\"\n ],\n codepoint: 60984,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"map-trifold\",\n pascal_name: \"MapTrifold\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\"maps\", \"places\", \"locations\", \"cartography\", \"geography\"],\n codepoint: 58138,\n published_in: 1,\n updated_in: 2\n },\n {\n name: \"markdown-logo\",\n pascal_name: \"MarkdownLogo\",\n categories: [\n e.DEVELOPMENT,\n e.OFFICE,\n e.MEDIA,\n e.BRAND\n ],\n figma_category: a.DEVELOPMENT,\n tags: [\"*new*\", \"markup\", \"editor\", \".md\"],\n codepoint: 58632,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"marker-circle\",\n pascal_name: \"MarkerCircle\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\"write\", \"writing\", \"editing\", \"drawing\"],\n codepoint: 58944,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"martini\",\n pascal_name: \"Martini\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"glass\",\n \"drinks\",\n \"beverages\",\n \"cocktails\",\n \"places\",\n \"locations\",\n \"bars\",\n \"restaurants\",\n \"food\",\n \"dining\"\n ],\n codepoint: 58140,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"mask-happy\",\n pascal_name: \"MaskHappy\",\n categories: [e.COMMUNICATION, e.GAMES],\n figma_category: a.GAMES,\n tags: [\"theater\", \"costume\", \"smile\", \"smiling\", \"thalia\"],\n codepoint: 59892,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"mask-sad\",\n pascal_name: \"MaskSad\",\n categories: [e.COMMUNICATION, e.GAMES],\n figma_category: a.GAMES,\n tags: [\"theater\", \"costume\", \"cry\", \"crying\", \"melpomene\"],\n codepoint: 60318,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"mastodon-logo\",\n pascal_name: \"MastodonLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"*new*\", \"fediverse\", \"social media\", \"decentralized\"],\n codepoint: 60776,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"math-operations\",\n pascal_name: \"MathOperations\",\n categories: [e.DEVELOPMENT, e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"addition\",\n \"sum\",\n \"subtraction\",\n \"difference\",\n \"multiply\",\n \"multiplication\",\n \"product\",\n \"divide\",\n \"division\",\n \"divisor\",\n \"dividend\",\n \"quotient\",\n \"equals\",\n \"equality\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\",\n \"+\",\n \"-\",\n \"±\",\n \"×\",\n \"÷\",\n \"=\"\n ],\n codepoint: 58142,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"matrix-logo\",\n pascal_name: \"MatrixLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"*new*\", \"matrix protocol\", \"brands\", \"logos\"],\n codepoint: 60772,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"medal\",\n pascal_name: \"Medal\",\n categories: [e.OBJECTS, e.GAMES],\n figma_category: a.GAMES,\n tags: [\"ribbons\", \"winning\", \"victory\", \"awards\", \"rosette\"],\n codepoint: 58144,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"medal-military\",\n pascal_name: \"MedalMilitary\",\n categories: [e.OBJECTS, e.GAMES],\n figma_category: a.GAMES,\n tags: [\"ribbons\", \"winning\", \"victory\", \"awards\", \"military\"],\n codepoint: 60668,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"medium-logo\",\n pascal_name: \"MediumLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"logos\", \"reading\", \"writing\", \"news\", \"social media\"],\n codepoint: 58146,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"megaphone\",\n pascal_name: \"Megaphone\",\n categories: [e.COMMUNICATION, e.OBJECTS],\n figma_category: a.COMMUNICATION,\n tags: [\"bullhorn\", \"announcements\", \"loudspeaker\", \"broadcast\"],\n codepoint: 58148,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"megaphone-simple\",\n pascal_name: \"MegaphoneSimple\",\n categories: [e.COMMUNICATION, e.OBJECTS],\n figma_category: a.COMMUNICATION,\n tags: [\"bullhorn\", \"announcements\", \"loudspeaker\", \"broadcast\"],\n codepoint: 58946,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"member-of\",\n pascal_name: \"MemberOf\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"∈\",\n \"is element of\",\n \"set\",\n \"member\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60866,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"memory\",\n pascal_name: \"Memory\",\n categories: [e.DEVELOPMENT],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"ram\", \"microchip\", \"computer\", \"circuit\", \"electronics\"],\n codepoint: 59844,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"messenger-logo\",\n pascal_name: \"MessengerLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"logos\", \"facebook\", \"social media\"],\n codepoint: 59096,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"meta-logo\",\n pascal_name: \"MetaLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"*updated*\", \"facebook\", \"logos\", \"social media\", \"logos\"],\n codepoint: 60674,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"meteor\",\n pascal_name: \"Meteor\",\n categories: [e.WEATHER, e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"*new*\", \"astronomy\", \"asteroid\", \"fireball\"],\n codepoint: 59834,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"metronome\",\n pascal_name: \"Metronome\",\n categories: [e.OBJECTS, e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"music\", \"beat\", \"tempo\", \"bpm\"],\n codepoint: 60558,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"microphone\",\n pascal_name: \"Microphone\",\n categories: [\n e.COMMUNICATION,\n e.MEDIA,\n e.SYSTEM\n ],\n figma_category: a.MEDIA,\n tags: [\"audio\", \"recording\", \"music\", \"sound\", \"podcast\", \"studio\"],\n codepoint: 58150,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"microphone-slash\",\n pascal_name: \"MicrophoneSlash\",\n categories: [\n e.COMMUNICATION,\n e.MEDIA,\n e.SYSTEM\n ],\n figma_category: a.MEDIA,\n tags: [\n \"audio\",\n \"recording\",\n \"music\",\n \"sound\",\n \"podcast\",\n \"studio\",\n \"muted\",\n \"disabled\"\n ],\n codepoint: 58152,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"microphone-stage\",\n pascal_name: \"MicrophoneStage\",\n categories: [\n e.COMMUNICATION,\n e.MEDIA,\n e.SYSTEM\n ],\n figma_category: a.MEDIA,\n tags: [\"audio\", \"recording\", \"music\", \"sound\", \"performance\", \"concert\"],\n codepoint: 59228,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"microscope\",\n pascal_name: \"Microscope\",\n categories: [\n e.NATURE,\n e.DEVELOPMENT,\n e.OBJECTS,\n e.HEALTH\n ],\n figma_category: a.HEALTH,\n tags: [\"*new*\", \"science\", \"biology\", \"experiment\", \"magnify\"],\n codepoint: 60538,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"microsoft-excel-logo\",\n pascal_name: \"MicrosoftExcelLogo\",\n categories: [e.BRAND, e.OFFICE],\n figma_category: a.BRAND,\n tags: [\"tables\", \"spreadsheets\", \"tabular\"],\n codepoint: 60268,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"microsoft-outlook-logo\",\n pascal_name: \"MicrosoftOutlookLogo\",\n categories: [\n e.BRAND,\n e.COMMUNICATION,\n e.OFFICE\n ],\n figma_category: a.BRAND,\n tags: [\"email\", \"logos\"],\n codepoint: 60272,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"microsoft-powerpoint-logo\",\n pascal_name: \"MicrosoftPowerpointLogo\",\n categories: [e.BRAND, e.OFFICE],\n figma_category: a.BRAND,\n tags: [\"slides\", \"slideshow\", \"presentation\"],\n codepoint: 60110,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"microsoft-teams-logo\",\n pascal_name: \"MicrosoftTeamsLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"chat\", \"video conference\"],\n codepoint: 60262,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"microsoft-word-logo\",\n pascal_name: \"MicrosoftWordLogo\",\n categories: [e.BRAND, e.EDITOR, e.OFFICE],\n figma_category: a.BRAND,\n tags: [\"documents\", \"word processor\", \"doc\", \"docx\"],\n codepoint: 60266,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"minus\",\n pascal_name: \"Minus\",\n categories: [\n e.DEVELOPMENT,\n e.FINANCE,\n e.SYSTEM\n ],\n figma_category: a.FINANCE,\n tags: [\n \"-\",\n \"subtraction\",\n \"difference\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\",\n \"line\",\n \"horizontal\",\n \"divider\"\n ],\n codepoint: 58154,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"minus-circle\",\n pascal_name: \"MinusCircle\",\n categories: [\n e.DEVELOPMENT,\n e.FINANCE,\n e.SYSTEM\n ],\n figma_category: a.FINANCE,\n tags: [\n \"-\",\n \"subtraction\",\n \"difference\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\",\n \"round\"\n ],\n codepoint: 58156,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"minus-square\",\n pascal_name: \"MinusSquare\",\n categories: [e.FINANCE, e.SYSTEM],\n figma_category: a.FINANCE,\n tags: [\n \"-\",\n \"subtraction\",\n \"difference\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60748,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"money\",\n pascal_name: \"Money\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"cash\", \"dollars\", \"paper bills\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 58760,\n published_in: 1.1,\n updated_in: 2\n },\n {\n name: \"money-wavy\",\n pascal_name: \"MoneyWavy\",\n categories: [e.FINANCE, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"cash\",\n \"dollars\",\n \"paper bills\",\n \"payment\",\n \"paying\",\n \"purchase\"\n ],\n codepoint: 61032,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"monitor\",\n pascal_name: \"Monitor\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"screen\", \"television\", \"tv\", \"displays\"],\n codepoint: 58158,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"monitor-arrow-up\",\n pascal_name: \"MonitorArrowUp\",\n categories: [e.SYSTEM, e.MEDIA],\n figma_category: a.SYSTEM,\n tags: [\n \"*new*\",\n \"screen\",\n \"screencast\",\n \"screenshare\",\n \"upload\",\n \"video\",\n \"movie\"\n ],\n codepoint: 58762,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"monitor-play\",\n pascal_name: \"MonitorPlay\",\n categories: [e.SYSTEM, e.MEDIA],\n figma_category: a.SYSTEM,\n tags: [\n \"screen\",\n \"television\",\n \"tv\",\n \"displays\",\n \"screencast\",\n \"video\",\n \"movie\"\n ],\n codepoint: 58764,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"moon\",\n pascal_name: \"Moon\",\n categories: [\n e.NATURE,\n e.SYSTEM,\n e.WEATHER\n ],\n figma_category: a.WEATHER,\n tags: [\n \"night\",\n \"evening\",\n \"clear\",\n \"sleep\",\n \"snooze\",\n \"night mode\",\n \"dark mode\",\n \"astronomy\",\n \"stargazing\"\n ],\n codepoint: 58160,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"moon-stars\",\n pascal_name: \"MoonStars\",\n categories: [e.NATURE, e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\n \"night\",\n \"evening\",\n \"clear\",\n \"sleep\",\n \"snooze\",\n \"night mode\",\n \"dark mode\",\n \"astronomy\",\n \"stargazing\",\n \"constellation\"\n ],\n codepoint: 58766,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"moped\",\n pascal_name: \"Moped\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"scooter\", \"vehicles\", \"vespa\", \"transportation\", \"travel\"],\n codepoint: 59428,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"moped-front\",\n pascal_name: \"MopedFront\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"scooter\", \"vehicles\", \"vespa\", \"transportation\", \"travel\"],\n codepoint: 59426,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"mosque\",\n pascal_name: \"Mosque\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\"islam\", \"muslim\", \"religion\", \"worship\"],\n codepoint: 60654,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"motorcycle\",\n pascal_name: \"Motorcycle\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"vehicles\", \"motorbike\", \"transportation\", \"travel\"],\n codepoint: 59402,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"mountains\",\n pascal_name: \"Mountains\",\n categories: [e.NATURE, e.MAP],\n figma_category: a.WEATHER,\n tags: [\"*updated*\", \"hills\", \"outdoors\", \"terrain\", \"geology\", \"adventure\"],\n codepoint: 59310,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"mouse\",\n pascal_name: \"Mouse\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*updated*\", \"clicks\", \"input\"],\n codepoint: 58170,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"mouse-left-click\",\n pascal_name: \"MouseLeftClick\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"clicks\", \"input\"],\n codepoint: 58164,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"mouse-middle-click\",\n pascal_name: \"MouseMiddleClick\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"clicks\", \"input\"],\n codepoint: 58168,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"mouse-right-click\",\n pascal_name: \"MouseRightClick\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"clicks\", \"input\"],\n codepoint: 58166,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"mouse-scroll\",\n pascal_name: \"MouseScroll\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"clicks\", \"input\"],\n codepoint: 58162,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"mouse-simple\",\n pascal_name: \"MouseSimple\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"clicks\", \"input\"],\n codepoint: 58948,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"music-note\",\n pascal_name: \"MusicNote\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"songs\", \"audio\", \"playlist\", \"albums\"],\n codepoint: 58172,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"music-note-simple\",\n pascal_name: \"MusicNoteSimple\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"songs\", \"audio\", \"playlist\", \"albums\"],\n codepoint: 58174,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"music-notes\",\n pascal_name: \"MusicNotes\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"songs\", \"audio\", \"playlist\", \"albums\"],\n codepoint: 58176,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"music-notes-minus\",\n pascal_name: \"MusicNotesMinus\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\n \"*new*\",\n \"songs\",\n \"audio\",\n \"playlist\",\n \"albums\",\n \"remove\",\n \"subtract\"\n ],\n codepoint: 60940,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"music-notes-plus\",\n pascal_name: \"MusicNotesPlus\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"songs\", \"audio\", \"playlist\", \"albums\", \"add\"],\n codepoint: 60284,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"music-notes-simple\",\n pascal_name: \"MusicNotesSimple\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"songs\", \"audio\", \"playlist\", \"albums\"],\n codepoint: 58178,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"navigation-arrow\",\n pascal_name: \"NavigationArrow\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\"location\", \"directions\", \"compass\", \"gps\"],\n codepoint: 60126,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"needle\",\n pascal_name: \"Needle\",\n categories: [e.OBJECTS, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"sewing\", \"thread\", \"awl\", \"tailor\"],\n codepoint: 59438,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"network\",\n pascal_name: \"Network\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"internet\", \"ethernet\", \"lan\"],\n codepoint: 60894,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"network-slash\",\n pascal_name: \"NetworkSlash\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"internet\", \"ethernet\", \"lan\", \"error\"],\n codepoint: 60892,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"network-x\",\n pascal_name: \"NetworkX\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"internet\", \"ethernet\", \"lan\", \"disabled\"],\n codepoint: 60890,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"newspaper\",\n pascal_name: \"Newspaper\",\n categories: [e.MEDIA, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\"reading\", \"writing\", \"journals\", \"periodicals\"],\n codepoint: 58180,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"newspaper-clipping\",\n pascal_name: \"NewspaperClipping\",\n categories: [e.MEDIA, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\"*updated*\", \"reading\", \"writing\", \"journals\", \"periodicals\"],\n codepoint: 58182,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"not-equals\",\n pascal_name: \"NotEquals\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"≠\",\n \"equality\",\n \"equivalent\",\n \"equivalence\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60838,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"not-member-of\",\n pascal_name: \"NotMemberOf\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"∉\",\n \"is not element of\",\n \"set\",\n \"member\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60846,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"not-subset-of\",\n pascal_name: \"NotSubsetOf\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"⊄\",\n \"not subset of\",\n \"set\",\n \"member\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60848,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"not-superset-of\",\n pascal_name: \"NotSupersetOf\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"⊉\",\n \"not superset of\",\n \"set\",\n \"member\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60850,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"notches\",\n pascal_name: \"Notches\",\n categories: [e.SYSTEM, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"textarea\", \"resize\", \"drag handle\", \"knurling\"],\n codepoint: 60730,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"note\",\n pascal_name: \"Note\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"notes\", \"note-taking\", \"memorandum\", \"post-it\", \"reminders\"],\n codepoint: 58184,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"note-blank\",\n pascal_name: \"NoteBlank\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"notes\", \"note-taking\", \"memorandum\", \"post-it\", \"reminders\"],\n codepoint: 58186,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"note-pencil\",\n pascal_name: \"NotePencil\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"notes\", \"note-taking\", \"memorandum\", \"post-it\", \"reminders\"],\n codepoint: 58188,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"notebook\",\n pascal_name: \"Notebook\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"notes\",\n \"note-taking\",\n \"memorandum\",\n \"journal\",\n \"diary\",\n \"logs\",\n \"logbook\"\n ],\n codepoint: 58190,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"notepad\",\n pascal_name: \"Notepad\",\n categories: [e.OFFICE, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"*updated*\",\n \"logs\",\n \"logbook\",\n \"notes\",\n \"note-taking\",\n \"memorandum\",\n \"journal\",\n \"diary\"\n ],\n codepoint: 58942,\n published_in: 1.2,\n updated_in: 2.1\n },\n {\n name: \"notification\",\n pascal_name: \"Notification\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"badge\", \"pip\"],\n codepoint: 59130,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"notion-logo\",\n pascal_name: \"NotionLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"documentation\", \"productivity\", \"wiki\", \"logos\"],\n codepoint: 59808,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"nuclear-plant\",\n pascal_name: \"NuclearPlant\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"renewable\", \"energy\", \"power\", \"electricity\"],\n codepoint: 60796,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"number-circle-eight\",\n pascal_name: \"NumberCircleEight\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"8\",\n \"round\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58194,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-circle-five\",\n pascal_name: \"NumberCircleFive\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"5\",\n \"round\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58200,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-circle-four\",\n pascal_name: \"NumberCircleFour\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"*updated*\",\n \"4\",\n \"round\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58206,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"number-circle-nine\",\n pascal_name: \"NumberCircleNine\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"9\",\n \"round\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58212,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-circle-one\",\n pascal_name: \"NumberCircleOne\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"1\",\n \"round\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58218,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-circle-seven\",\n pascal_name: \"NumberCircleSeven\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"7\",\n \"round\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58224,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-circle-six\",\n pascal_name: \"NumberCircleSix\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"6\",\n \"round\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58230,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-circle-three\",\n pascal_name: \"NumberCircleThree\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"3\",\n \"round\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58236,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-circle-two\",\n pascal_name: \"NumberCircleTwo\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"2\",\n \"round\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58242,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-circle-zero\",\n pascal_name: \"NumberCircleZero\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"0\",\n \"round\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58248,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-eight\",\n pascal_name: \"NumberEight\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"8\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58192,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-five\",\n pascal_name: \"NumberFive\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"5\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58198,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-four\",\n pascal_name: \"NumberFour\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"*updated*\",\n \"4\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58204,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"number-nine\",\n pascal_name: \"NumberNine\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"9\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58210,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-one\",\n pascal_name: \"NumberOne\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"1\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58216,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-seven\",\n pascal_name: \"NumberSeven\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"7\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58222,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-six\",\n pascal_name: \"NumberSix\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"6\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58228,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-square-eight\",\n pascal_name: \"NumberSquareEight\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"8\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58196,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-square-five\",\n pascal_name: \"NumberSquareFive\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"5\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58202,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-square-four\",\n pascal_name: \"NumberSquareFour\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"*updated*\",\n \"4\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58208,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"number-square-nine\",\n pascal_name: \"NumberSquareNine\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"9\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58214,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-square-one\",\n pascal_name: \"NumberSquareOne\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"1\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58220,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-square-seven\",\n pascal_name: \"NumberSquareSeven\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"7\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58226,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-square-six\",\n pascal_name: \"NumberSquareSix\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"6\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58232,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-square-three\",\n pascal_name: \"NumberSquareThree\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"3\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58238,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-square-two\",\n pascal_name: \"NumberSquareTwo\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"2\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58244,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-square-zero\",\n pascal_name: \"NumberSquareZero\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"0\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58250,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-three\",\n pascal_name: \"NumberThree\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"3\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58234,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-two\",\n pascal_name: \"NumberTwo\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"2\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58240,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"number-zero\",\n pascal_name: \"NumberZero\",\n categories: [e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"0\",\n \"numbers\",\n \"numerals\",\n \"digits\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58246,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"numpad\",\n pascal_name: \"Numpad\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\n \"*new*\",\n \"dialer\",\n \"dialpad\",\n \"call-center\",\n \"telephone\",\n \"landline\",\n \"password\",\n \"passcode\"\n ],\n codepoint: 58312,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"nut\",\n pascal_name: \"Nut\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"bolts\", \"screws\", \"machinery\", \"tools\", \"hexagon\"],\n codepoint: 58252,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"ny-times-logo\",\n pascal_name: \"NyTimesLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\n \"nyt\",\n \"new york times\",\n \"logos\",\n \"reading\",\n \"writing\",\n \"news\",\n \"newspaper\"\n ],\n codepoint: 58950,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"octagon\",\n pascal_name: \"Octagon\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"8\", \"shapes\", \"polygons\"],\n codepoint: 58254,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"office-chair\",\n pascal_name: \"OfficeChair\",\n categories: [e.OBJECTS, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"furniture\", \"seat\"],\n codepoint: 59974,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"onigiri\",\n pascal_name: \"Onigiri\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"rice ball\", \"japanese\", \"food\", \"restaurant\"],\n codepoint: 60972,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"open-ai-logo\",\n pascal_name: \"OpenAiLogo\",\n categories: [e.DEVELOPMENT, e.BRAND],\n figma_category: a.BRAND,\n tags: [\"*new*\", \"artificial intelligence\", \"ai\", \"chatgpt\", \"llm\", \"logos\"],\n codepoint: 59346,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"option\",\n pascal_name: \"Option\",\n categories: [e.SYSTEM, e.EDITOR],\n figma_category: a.SYSTEM,\n tags: [\"keyboard\", \"shortcut\", \"modifier\"],\n codepoint: 59560,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"orange\",\n pascal_name: \"Orange\",\n categories: [e.COMMERCE, e.NATURE],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"food\", \"fruit\", \"juice\", \"citrus\", \"groceries\", \"market\"],\n codepoint: 60992,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"orange-slice\",\n pascal_name: \"OrangeSlice\",\n categories: [e.MAP, e.COMMERCE, e.NATURE],\n figma_category: a.COMMERCE,\n tags: [\"food\", \"fruit\", \"juice\", \"citrus\", \"groceries\", \"market\"],\n codepoint: 60726,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"oven\",\n pascal_name: \"Oven\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"stove\",\n \"stovetop\",\n \"food\",\n \"cooking\",\n \"cuisine\",\n \"kitchen\"\n ],\n codepoint: 60812,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"package\",\n pascal_name: \"Package\",\n categories: [e.DEVELOPMENT, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"packages\",\n \"boxes\",\n \"delivery\",\n \"mail\",\n \"postal service\",\n \"bundles\",\n \"library\",\n \"libraries\",\n \"shipping\"\n ],\n codepoint: 58256,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"paint-brush\",\n pascal_name: \"PaintBrush\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.OBJECTS\n ],\n figma_category: a.DESIGN,\n tags: [\"colors\", \"color picker\", \"arts\"],\n codepoint: 59120,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"paint-brush-broad\",\n pascal_name: \"PaintBrushBroad\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.OBJECTS\n ],\n figma_category: a.DESIGN,\n tags: [\"fill\", \"colors\", \"color picker\", \"arts\"],\n codepoint: 58768,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"paint-brush-household\",\n pascal_name: \"PaintBrushHousehold\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.OBJECTS\n ],\n figma_category: a.DESIGN,\n tags: [\"colors\", \"color picker\", \"arts\"],\n codepoint: 59122,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"paint-bucket\",\n pascal_name: \"PaintBucket\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.OBJECTS\n ],\n figma_category: a.DESIGN,\n tags: [\n \"*updated*\",\n \"paintbucket\",\n \"colors\",\n \"color picker\",\n \"fill\",\n \"arts\"\n ],\n codepoint: 58258,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"paint-roller\",\n pascal_name: \"PaintRoller\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.OBJECTS\n ],\n figma_category: a.DESIGN,\n tags: [\"colors\", \"color picker\", \"fill\", \"arts\", \"theme\"],\n codepoint: 59124,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"palette\",\n pascal_name: \"Palette\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.OBJECTS\n ],\n figma_category: a.DESIGN,\n tags: [\"paint\", \"colors\", \"color picker\", \"arts\"],\n codepoint: 59080,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"panorama\",\n pascal_name: \"Panorama\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"*new*\", \"image\", \"picture\", \"photography\", \"landscape\", \"360\"],\n codepoint: 60066,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"pants\",\n pascal_name: \"Pants\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"clothing\", \"clothes\", \"jeans\"],\n codepoint: 60552,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"paper-plane\",\n pascal_name: \"PaperPlane\",\n categories: [\n e.COMMUNICATION,\n e.MAP,\n e.OBJECTS\n ],\n figma_category: a.COMMUNICATION,\n tags: [\n \"mail\",\n \"email\",\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"toys\",\n \"games\"\n ],\n codepoint: 58260,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"paper-plane-right\",\n pascal_name: \"PaperPlaneRight\",\n categories: [\n e.COMMUNICATION,\n e.MAP,\n e.OBJECTS\n ],\n figma_category: a.COMMUNICATION,\n tags: [\n \"mail\",\n \"email\",\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"toys\",\n \"games\"\n ],\n codepoint: 58262,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"paper-plane-tilt\",\n pascal_name: \"PaperPlaneTilt\",\n categories: [\n e.COMMUNICATION,\n e.MAP,\n e.OBJECTS\n ],\n figma_category: a.COMMUNICATION,\n tags: [\n \"mail\",\n \"email\",\n \"send\",\n \"sent\",\n \"messages\",\n \"messaging\",\n \"toys\",\n \"games\"\n ],\n codepoint: 58264,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"paperclip\",\n pascal_name: \"Paperclip\",\n categories: [\n e.COMMUNICATION,\n e.EDITOR,\n e.OFFICE,\n e.OBJECTS\n ],\n figma_category: a.OFFICE,\n tags: [\"attachments\", \"mail\", \"email\", \"office\"],\n codepoint: 58266,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"paperclip-horizontal\",\n pascal_name: \"PaperclipHorizontal\",\n categories: [\n e.COMMUNICATION,\n e.EDITOR,\n e.OFFICE,\n e.OBJECTS\n ],\n figma_category: a.OFFICE,\n tags: [\"attachments\", \"mail\", \"email\", \"office\"],\n codepoint: 58770,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"parachute\",\n pascal_name: \"Parachute\",\n categories: [e.OBJECTS, e.DEVELOPMENT],\n figma_category: a.GAMES,\n tags: [\"skydiving\", \"safety\"],\n codepoint: 60028,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"paragraph\",\n pascal_name: \"Paragraph\",\n categories: [e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"pilcrow\"],\n codepoint: 59744,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"parallelogram\",\n pascal_name: \"Parallelogram\",\n categories: [e.BRAND, e.MEDIA, e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"shapes\", \"bandcamp\", \"logos\"],\n codepoint: 60614,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"park\",\n pascal_name: \"Park\",\n categories: [e.MAP, e.NATURE],\n figma_category: a.MAP,\n tags: [\"bench\", \"outdoors\"],\n codepoint: 60594,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"password\",\n pascal_name: \"Password\",\n categories: [e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"security\",\n \"secured\",\n \"authentication\",\n \"authenticated\",\n \"login\",\n \"locked\",\n \"encrypted\",\n \"encryption\"\n ],\n codepoint: 59218,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"path\",\n pascal_name: \"Path\",\n categories: [e.DESIGN, e.MAP],\n figma_category: a.MAP,\n tags: [\n \"transit\",\n \"travel\",\n \"trail\",\n \"gps\",\n \"navigation\",\n \"route\",\n \"destination\",\n \"vector\"\n ],\n codepoint: 58268,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"patreon-logo\",\n pascal_name: \"PatreonLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"*updated*\", \"crowdfunding\", \"logos\"],\n codepoint: 59786,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"pause\",\n pascal_name: \"Pause\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"resume\", \"start\", \"stop\"],\n codepoint: 58270,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"pause-circle\",\n pascal_name: \"PauseCircle\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"resume\", \"start\", \"stop\", \"round\"],\n codepoint: 58272,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"paw-print\",\n pascal_name: \"PawPrint\",\n categories: [\n e.NATURE,\n e.COMMERCE,\n e.HEALTH\n ],\n figma_category: a.WEATHER,\n tags: [\n \"pets\",\n \"pet store\",\n \"pet shop\",\n \"animals\",\n \"cat\",\n \"dog\",\n \"veterinarian\"\n ],\n codepoint: 58952,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"paypal-logo\",\n pascal_name: \"PaypalLogo\",\n categories: [\n e.BRAND,\n e.FINANCE,\n e.COMMERCE\n ],\n figma_category: a.BRAND,\n tags: [\"payments\", \"paying\", \"purchase\", \"logos\"],\n codepoint: 59788,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"peace\",\n pascal_name: \"Peace\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"love\", \"hippies\", \"peace sign\", \"symbols\"],\n codepoint: 58274,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"pen\",\n pascal_name: \"Pen\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\"ink\", \"write\", \"writing\", \"editing\", \"sign\", \"signature\"],\n codepoint: 58282,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"pen-nib\",\n pascal_name: \"PenNib\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\n \"ink\",\n \"write\",\n \"writing\",\n \"editing\",\n \"sign\",\n \"signature\",\n \"fountain pen\",\n \"illustrator\"\n ],\n codepoint: 58284,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"pen-nib-straight\",\n pascal_name: \"PenNibStraight\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\n \"ink\",\n \"write\",\n \"writing\",\n \"editing\",\n \"sign\",\n \"signature\",\n \"fountain pen\",\n \"illustrator\"\n ],\n codepoint: 58954,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"pencil\",\n pascal_name: \"Pencil\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\"write\", \"writing\", \"editing\", \"sign\", \"signature\"],\n codepoint: 58286,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"pencil-circle\",\n pascal_name: \"PencilCircle\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\"write\", \"writing\", \"editing\", \"sign\", \"signature\"],\n codepoint: 58288,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"pencil-line\",\n pascal_name: \"PencilLine\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\"write\", \"writing\", \"editing\", \"sign\", \"signature\"],\n codepoint: 58290,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"pencil-ruler\",\n pascal_name: \"PencilRuler\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"drawing\", \"drafting\", \"construction\", \"tools\"],\n codepoint: 59654,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"pencil-simple\",\n pascal_name: \"PencilSimple\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\"write\", \"writing\", \"editing\", \"sign\", \"signature\"],\n codepoint: 58292,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"pencil-simple-line\",\n pascal_name: \"PencilSimpleLine\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\"write\", \"writing\", \"editing\", \"sign\", \"signature\"],\n codepoint: 60358,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"pencil-simple-slash\",\n pascal_name: \"PencilSimpleSlash\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\"read-only\", \"write\", \"writing\", \"editing\"],\n codepoint: 60662,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"pencil-slash\",\n pascal_name: \"PencilSlash\",\n categories: [e.DESIGN, e.EDITOR, e.OFFICE],\n figma_category: a.DESIGN,\n tags: [\"read-only\", \"write\", \"writing\", \"editing\"],\n codepoint: 60664,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"pentagon\",\n pascal_name: \"Pentagon\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"shapes\", \"polygons\", \"5\"],\n codepoint: 60542,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"pentagram\",\n pascal_name: \"Pentagram\",\n categories: [e.GAMES, e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\n \"star\",\n \"wicca\",\n \"satan\",\n \"satanism\",\n \"religion\",\n \"spirituality\",\n \"evil\",\n \"magic\"\n ],\n codepoint: 60508,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"pepper\",\n pascal_name: \"Pepper\",\n categories: [e.COMMERCE, e.NATURE],\n figma_category: a.COMMERCE,\n tags: [\"food\", \"spicy\", \"chile\", \"vegetable\"],\n codepoint: 59722,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"percent\",\n pascal_name: \"Percent\",\n categories: [e.DEVELOPMENT, e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"%\",\n \"percentage\",\n \"percentile\",\n \"ratio\",\n \"delta\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58294,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"person\",\n pascal_name: \"Person\",\n categories: [e.MAP, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"walking\",\n \"human\",\n \"woman\",\n \"man\",\n \"body\",\n \"transit\",\n \"transportation\",\n \"travel\",\n \"commuter\",\n \"user\"\n ],\n codepoint: 58280,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"person-arms-spread\",\n pascal_name: \"PersonArmsSpread\",\n categories: [e.HEALTH, e.MAP, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"accessibility\", \"vitruvian\", \"stretch\", \"sports\"],\n codepoint: 60670,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"person-simple\",\n pascal_name: \"PersonSimple\",\n categories: [e.MAP, e.PEOPLE, e.HEALTH],\n figma_category: a.PEOPLE,\n tags: [\n \"pedestrian\",\n \"walking\",\n \"human\",\n \"woman\",\n \"man\",\n \"body\",\n \"transit\",\n \"transportation\",\n \"travel\",\n \"commuter\",\n \"user\",\n \"exercise\"\n ],\n codepoint: 59182,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"person-simple-bike\",\n pascal_name: \"PersonSimpleBike\",\n categories: [e.MAP, e.PEOPLE, e.HEALTH],\n figma_category: a.PEOPLE,\n tags: [\n \"pedestrian\",\n \"biking\",\n \"bicycle\",\n \"human\",\n \"woman\",\n \"man\",\n \"body\",\n \"sports\",\n \"exercise\"\n ],\n codepoint: 59188,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"person-simple-circle\",\n pascal_name: \"PersonSimpleCircle\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"*new*\", \"human\", \"accessibility\", \"a11y\", \"vitruvius\", \"vitruvian\"],\n codepoint: 61016,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"person-simple-hike\",\n pascal_name: \"PersonSimpleHike\",\n categories: [\n e.NATURE,\n e.HEALTH,\n e.MAP,\n e.PEOPLE\n ],\n figma_category: a.PEOPLE,\n tags: [\"*new*\", \"pedestrian\", \"climbing\", \"mountaineering\", \"bouldering\"],\n codepoint: 60756,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"person-simple-run\",\n pascal_name: \"PersonSimpleRun\",\n categories: [e.MAP, e.PEOPLE, e.HEALTH],\n figma_category: a.PEOPLE,\n tags: [\n \"pedestrian\",\n \"running\",\n \"human\",\n \"woman\",\n \"man\",\n \"body\",\n \"transit\",\n \"transportation\",\n \"travel\",\n \"commuter\",\n \"user\",\n \"exercise\"\n ],\n codepoint: 59184,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"person-simple-ski\",\n pascal_name: \"PersonSimpleSki\",\n categories: [e.GAMES, e.HEALTH],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"sports\", \"skiing\", \"winter\", \"mountain\"],\n codepoint: 59164,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"person-simple-snowboard\",\n pascal_name: \"PersonSimpleSnowboard\",\n categories: [e.GAMES, e.HEALTH],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"sports\", \"snowboarding\", \"winter\", \"mountain\"],\n codepoint: 59166,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"person-simple-swim\",\n pascal_name: \"PersonSimpleSwim\",\n categories: [e.MAP, e.PEOPLE, e.HEALTH],\n figma_category: a.PEOPLE,\n tags: [\n \"*new*\",\n \"pedestrian\",\n \"swimming\",\n \"human\",\n \"woman\",\n \"man\",\n \"body\",\n \"sports\",\n \"exercise\"\n ],\n codepoint: 59190,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"person-simple-tai-chi\",\n pascal_name: \"PersonSimpleTaiChi\",\n categories: [e.HEALTH, e.MAP, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"*new*\",\n \"mindfulness\",\n \"martial arts\",\n \"meditation\",\n \"sports\",\n \"exercise\",\n \"yoga\"\n ],\n codepoint: 60764,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"person-simple-throw\",\n pascal_name: \"PersonSimpleThrow\",\n categories: [e.MAP, e.PEOPLE, e.HEALTH],\n figma_category: a.PEOPLE,\n tags: [\n \"pedestrian\",\n \"tennis\",\n \"human\",\n \"woman\",\n \"man\",\n \"body\",\n \"sports\",\n \"exercise\"\n ],\n codepoint: 59186,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"person-simple-walk\",\n pascal_name: \"PersonSimpleWalk\",\n categories: [e.MAP, e.PEOPLE, e.HEALTH],\n figma_category: a.PEOPLE,\n tags: [\n \"pedestrian\",\n \"walking\",\n \"human\",\n \"woman\",\n \"man\",\n \"body\",\n \"transit\",\n \"transportation\",\n \"travel\",\n \"commuter\",\n \"user\",\n \"exercise\"\n ],\n codepoint: 59194,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"perspective\",\n pascal_name: \"Perspective\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"3d\", \"skew\", \"warp\", \"trapezoid\"],\n codepoint: 60390,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"phone\",\n pascal_name: \"Phone\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\"calls\", \"telephone\", \"landline\", \"talk\"],\n codepoint: 58296,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"phone-call\",\n pascal_name: \"PhoneCall\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\"calls\", \"calling\", \"ringing\", \"telephone\", \"landline\", \"talk\"],\n codepoint: 58298,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"phone-disconnect\",\n pascal_name: \"PhoneDisconnect\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\"calls\", \"hang up\", \"disconnected\", \"telephone\", \"landline\", \"talk\"],\n codepoint: 58300,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"phone-incoming\",\n pascal_name: \"PhoneIncoming\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\"calls\", \"calling\", \"telephone\", \"landline\", \"talk\"],\n codepoint: 58302,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"phone-list\",\n pascal_name: \"PhoneList\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\"*new*\", \"calls\", \"call-center\", \"telephone\", \"landline\", \"talk\"],\n codepoint: 58316,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"phone-outgoing\",\n pascal_name: \"PhoneOutgoing\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\"calls\", \"calling\", \"telephone\", \"landline\", \"talk\"],\n codepoint: 58304,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"phone-pause\",\n pascal_name: \"PhonePause\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\n \"*new*\",\n \"calls\",\n \"hold\",\n \"call-center\",\n \"telephone\",\n \"landline\",\n \"talk\"\n ],\n codepoint: 58314,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"phone-plus\",\n pascal_name: \"PhonePlus\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\"calls\", \"telephone\", \"landline\", \"talk\", \"conference\", \"add\"],\n codepoint: 60502,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"phone-slash\",\n pascal_name: \"PhoneSlash\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\n \"calls\",\n \"disabled\",\n \"disconnected\",\n \"telephone\",\n \"landline\",\n \"talk\"\n ],\n codepoint: 58306,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"phone-transfer\",\n pascal_name: \"PhoneTransfer\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\"*new*\", \"calls\", \"call-center\", \"telephone\", \"landline\", \"talk\"],\n codepoint: 58310,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"phone-x\",\n pascal_name: \"PhoneX\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\"calls\", \"missed\", \"errors\", \"telephone\", \"landline\", \"talk\"],\n codepoint: 58308,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"phosphor-logo\",\n pascal_name: \"PhosphorLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"logos\"],\n codepoint: 58318,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"pi\",\n pascal_name: \"Pi\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\"π\", \"symbol\", \"mathematics\", \"circle\"],\n codepoint: 60544,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"piano-keys\",\n pascal_name: \"PianoKeys\",\n categories: [e.MEDIA, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\"music\", \"instrument\", \"keyboard\"],\n codepoint: 59848,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"picnic-table\",\n pascal_name: \"PicnicTable\",\n categories: [e.MAP, e.NATURE],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"bench\", \"park\", \"outdoors\"],\n codepoint: 60966,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"picture-in-picture\",\n pascal_name: \"PictureInPicture\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"pip\", \"pop-out\", \"minimize\", \"maximize\"],\n codepoint: 58956,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"piggy-bank\",\n pascal_name: \"PiggyBank\",\n categories: [e.FINANCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"savings\", \"deposit\", \"money\", \"coins\"],\n codepoint: 59908,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"pill\",\n pascal_name: \"Pill\",\n categories: [e.HEALTH],\n figma_category: a.HEALTH,\n tags: [\n \"capsule\",\n \"medicine\",\n \"rx\",\n \"pharmacy\",\n \"pharmacist\",\n \"pharmaceuticals\",\n \"prescription\",\n \"drugs\"\n ],\n codepoint: 59136,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"ping-pong\",\n pascal_name: \"PingPong\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"sports\", \"paddle\"],\n codepoint: 59970,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"pint-glass\",\n pascal_name: \"PintGlass\",\n categories: [\n e.COMMERCE,\n e.HEALTH,\n e.OBJECTS\n ],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"water\",\n \"beverage\",\n \"drinks\",\n \"beverages\",\n \"food\",\n \"dining\"\n ],\n codepoint: 60880,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"pinterest-logo\",\n pascal_name: \"PinterestLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"logos\", \"vision board\", \"mood board\", \"social media\"],\n codepoint: 58958,\n published_in: 1.2,\n updated_in: 1.4\n },\n {\n name: \"pinwheel\",\n pascal_name: \"Pinwheel\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"toys\", \"whirligig\"],\n codepoint: 60316,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"pipe\",\n pascal_name: \"Pipe\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"tube\", \"plumber\", \"plumbing\", \"construction\"],\n codepoint: 60806,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"pipe-wrench\",\n pascal_name: \"PipeWrench\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"plumber\", \"plumbing\", \"tools\", \"construction\"],\n codepoint: 60808,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"pix-logo\",\n pascal_name: \"PixLogo\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"payments\", \"paying\", \"purchase\", \"logos\"],\n codepoint: 60610,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"pizza\",\n pascal_name: \"Pizza\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\n \"fast food\",\n \"party\",\n \"places\",\n \"locations\",\n \"restaurants\",\n \"food\",\n \"dining\"\n ],\n codepoint: 59286,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"placeholder\",\n pascal_name: \"Placeholder\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"empty\", \"notdef\", \"tofu\", \"rectangle slash\", \"missing\"],\n codepoint: 58960,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"planet\",\n pascal_name: \"Planet\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"saturn\", \"world\", \"globe\", \"astronomy\", \"space\"],\n codepoint: 58962,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"plant\",\n pascal_name: \"Plant\",\n categories: [e.COMMERCE, e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"sprout\", \"vegan\", \"farm\", \"farming\", \"garden\", \"gardening\"],\n codepoint: 60334,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"play\",\n pascal_name: \"Play\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"resume\", \"start\"],\n codepoint: 58320,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"play-circle\",\n pascal_name: \"PlayCircle\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"resume\", \"start\", \"round\"],\n codepoint: 58322,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"play-pause\",\n pascal_name: \"PlayPause\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"resume\", \"start\", \"stop\"],\n codepoint: 59582,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"playlist\",\n pascal_name: \"Playlist\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"*updated*\", \"music\", \"audio\", \"queue\"],\n codepoint: 59050,\n published_in: 1.3,\n updated_in: 2.1\n },\n {\n name: \"plug\",\n pascal_name: \"Plug\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"outlet\", \"socket\", \"plugin\", \"integration\"],\n codepoint: 59718,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"plug-charging\",\n pascal_name: \"PlugCharging\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"outlet\", \"socket\", \"plugin\", \"integration\", \"charge\", \"charging\"],\n codepoint: 60252,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"plugs\",\n pascal_name: \"Plugs\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"outlet\", \"socket\", \"plugin\", \"integration\", \"disconnected\"],\n codepoint: 60246,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"plugs-connected\",\n pascal_name: \"PlugsConnected\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SYSTEM,\n tags: [\"*updated*\", \"outlet\", \"socket\", \"plugin\", \"integration\"],\n codepoint: 60250,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"plus\",\n pascal_name: \"Plus\",\n categories: [\n e.DEVELOPMENT,\n e.FINANCE,\n e.SYSTEM\n ],\n figma_category: a.FINANCE,\n tags: [\"addition\", \"sum\", \"mathematics\", \"arithmetic\", \"calculator\", \"+\"],\n codepoint: 58324,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"plus-circle\",\n pascal_name: \"PlusCircle\",\n categories: [\n e.DEVELOPMENT,\n e.FINANCE,\n e.SYSTEM\n ],\n figma_category: a.FINANCE,\n tags: [\n \"addition\",\n \"sum\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\",\n \"round\",\n \"+\"\n ],\n codepoint: 58326,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"plus-minus\",\n pascal_name: \"PlusMinus\",\n categories: [e.DEVELOPMENT, e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"plus or minus\",\n \"plus/minus\",\n \"add/subtract\",\n \"addition\",\n \"sum\",\n \"subtraction\",\n \"difference\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\",\n \"+\",\n \"-\",\n \"±\"\n ],\n codepoint: 58328,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"plus-square\",\n pascal_name: \"PlusSquare\",\n categories: [\n e.FINANCE,\n e.DEVELOPMENT,\n e.SYSTEM\n ],\n figma_category: a.FINANCE,\n tags: [\"addition\", \"sum\", \"mathematics\", \"arithmetic\", \"calculator\", \"+\"],\n codepoint: 60746,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"poker-chip\",\n pascal_name: \"PokerChip\",\n categories: [e.GAMES],\n figma_category: a.GAMES,\n tags: [\"chips\", \"tokens\", \"cards\", \"gambling\", \"casino\"],\n codepoint: 58772,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"police-car\",\n pascal_name: \"PoliceCar\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"*updated*\", \"vehicles\", \"cars\", \"automobiles\", \"law enforcement\"],\n codepoint: 60490,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"polygon\",\n pascal_name: \"Polygon\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"shapes\", \"drawing\"],\n codepoint: 59088,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"popcorn\",\n pascal_name: \"Popcorn\",\n categories: [e.MAP, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"food\", \"movies\", \"theater\"],\n codepoint: 60238,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"popsicle\",\n pascal_name: \"Popsicle\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"ice cream\", \"dessert\", \"summer\", \"food\"],\n codepoint: 60350,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"potted-plant\",\n pascal_name: \"PottedPlant\",\n categories: [e.COMMERCE, e.NATURE],\n figma_category: a.COMMERCE,\n tags: [\"sprout\", \"vegan\", \"garden\", \"gardening\"],\n codepoint: 60450,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"power\",\n pascal_name: \"Power\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"charged\",\n \"charger\",\n \"charging\",\n \"on\",\n \"off\",\n \"on/off\",\n \"switch\",\n \"power switch\"\n ],\n codepoint: 58330,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"prescription\",\n pascal_name: \"Prescription\",\n categories: [e.HEALTH],\n figma_category: a.HEALTH,\n tags: [\n \"rx\",\n \"medicine\",\n \"drugs\",\n \"pharmacy\",\n \"pharmacist\",\n \"pharmaceuticals\",\n \"doctor\"\n ],\n codepoint: 59298,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"presentation\",\n pascal_name: \"Presentation\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.OFFICE,\n tags: [\n \"whiteboard\",\n \"flipchart\",\n \"charts\",\n \"statistics\",\n \"analyze\",\n \"analysis\",\n \"meeting\"\n ],\n codepoint: 58964,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"presentation-chart\",\n pascal_name: \"PresentationChart\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.OFFICE,\n tags: [\n \"whiteboard\",\n \"flipchart\",\n \"graphs\",\n \"graphing\",\n \"charts\",\n \"statistics\",\n \"analyze\",\n \"analysis\",\n \"meeting\"\n ],\n codepoint: 58966,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"printer\",\n pascal_name: \"Printer\",\n categories: [e.EDITOR, e.OFFICE],\n figma_category: a.OFFICE,\n tags: [\"printing\"],\n codepoint: 58332,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"prohibit\",\n pascal_name: \"Prohibit\",\n categories: [e.MAP, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"forbidden\",\n \"prohibited\",\n \"cancelled\",\n \"prevent\",\n \"stop\",\n \"do not enter\"\n ],\n codepoint: 58334,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"prohibit-inset\",\n pascal_name: \"ProhibitInset\",\n categories: [e.MAP, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"forbidden\",\n \"prohibited\",\n \"cancelled\",\n \"prevent\",\n \"stop\",\n \"do not enter\"\n ],\n codepoint: 58336,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"projector-screen\",\n pascal_name: \"ProjectorScreen\",\n categories: [e.FINANCE, e.MEDIA, e.OFFICE],\n figma_category: a.OFFICE,\n tags: [\n \"projection\",\n \"presentation\",\n \"slideshow\",\n \"movies\",\n \"charts\",\n \"statistics\",\n \"analyze\",\n \"analysis\"\n ],\n codepoint: 58968,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"projector-screen-chart\",\n pascal_name: \"ProjectorScreenChart\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.OFFICE,\n tags: [\n \"projection\",\n \"presentation\",\n \"slideshow\",\n \"graphs\",\n \"graphing\",\n \"charts\",\n \"statistics\",\n \"analyze\",\n \"analysis\"\n ],\n codepoint: 58970,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"pulse\",\n pascal_name: \"Pulse\",\n alias: { name: \"activity\", pascal_name: \"Activity\" },\n categories: [e.HEALTH],\n figma_category: a.HEALTH,\n tags: [\n \"activity\",\n \"heartbeat\",\n \"medical\",\n \"ecg\",\n \"ekg\",\n \"vitals\",\n \"monitor\",\n \"medicine\"\n ],\n codepoint: 57344,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"push-pin\",\n pascal_name: \"PushPin\",\n categories: [e.OFFICE, e.MAP, e.OBJECTS],\n figma_category: a.OFFICE,\n tags: [\"favorites\", \"favorited\", \"pushpin\"],\n codepoint: 58338,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"push-pin-simple\",\n pascal_name: \"PushPinSimple\",\n categories: [e.OFFICE, e.MAP, e.OBJECTS],\n figma_category: a.OFFICE,\n tags: [\"favorites\", \"favorited\", \"pushpin\"],\n codepoint: 58972,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"push-pin-simple-slash\",\n pascal_name: \"PushPinSimpleSlash\",\n categories: [e.OFFICE, e.MAP, e.OBJECTS],\n figma_category: a.OFFICE,\n tags: [\"favorites\", \"favorited\", \"pushpin\", \"disabled\"],\n codepoint: 58974,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"push-pin-slash\",\n pascal_name: \"PushPinSlash\",\n categories: [e.OFFICE, e.MAP, e.OBJECTS],\n figma_category: a.OFFICE,\n tags: [\"favorites\", \"favorited\", \"pushpin\", \"disabled\"],\n codepoint: 58340,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"puzzle-piece\",\n pascal_name: \"PuzzlePiece\",\n categories: [e.GAMES, e.DEVELOPMENT],\n figma_category: a.GAMES,\n tags: [\"board game\", \"element\", \"component\", \"extension\", \"plugin\"],\n codepoint: 58774,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"qr-code\",\n pascal_name: \"QrCode\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"upc\", \"barcode\", \"products\", \"shopping\", \"scanner\"],\n codepoint: 58342,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"question\",\n pascal_name: \"Question\",\n categories: [e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\"information\", \"help\", \"support\", \"questions\"],\n codepoint: 58344,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"question-mark\",\n pascal_name: \"QuestionMark\",\n categories: [e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"*new*\",\n \"?\",\n \"information\",\n \"help\",\n \"support\",\n \"questions\",\n \"punctuation\",\n \"symbol\"\n ],\n codepoint: 58344,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"queue\",\n pascal_name: \"Queue\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"*updated*\", \"music\", \"audio\", \"playlist\"],\n codepoint: 59052,\n published_in: 1.3,\n updated_in: 2.1\n },\n {\n name: \"quotes\",\n pascal_name: \"Quotes\",\n categories: [\n e.COMMUNICATION,\n e.EDITOR,\n e.MEDIA\n ],\n figma_category: a.COMMUNICATION,\n tags: [\"quoations\", \"quotation marks\", \"double-quotes\", \"writing\", \"books\"],\n codepoint: 58976,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"rabbit\",\n pascal_name: \"Rabbit\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"*new*\", \"hare\", \"fast\", \"animal\"],\n codepoint: 60098,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"racquet\",\n pascal_name: \"Racquet\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"sports\", \"tennis\", \"squash\", \"pickleball\"],\n codepoint: 60930,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"radical\",\n pascal_name: \"Radical\",\n categories: [e.DEVELOPMENT, e.FINANCE],\n figma_category: a.FINANCE,\n tags: [\n \"√\",\n \"radix\",\n \"radicand\",\n \"square root\",\n \"squareroot\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58346,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"radio\",\n pascal_name: \"Radio\",\n categories: [\n e.COMMUNICATION,\n e.MEDIA,\n e.OBJECTS\n ],\n figma_category: a.COMMUNICATION,\n tags: [\"broadcast\", \"fm\", \"am\", \"xm\", \"transmitter\", \"receiver\"],\n codepoint: 59262,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"radio-button\",\n pascal_name: \"RadioButton\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"input\", \"checkbox\", \"checked\"],\n codepoint: 60168,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"radioactive\",\n pascal_name: \"Radioactive\",\n categories: [e.NATURE, e.HEALTH],\n figma_category: a.SECURITY,\n tags: [\"radiation\", \"danger\", \"warning\", \"nuclear\", \"atomic\"],\n codepoint: 59868,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"rainbow\",\n pascal_name: \"Rainbow\",\n categories: [e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"meteorology\", \"rainstorm\", \"arc\", \"pride\", \"lgbtq+\", \"leprechaun\"],\n codepoint: 58776,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"rainbow-cloud\",\n pascal_name: \"RainbowCloud\",\n categories: [e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\n \"meteorology\",\n \"rainstorm\",\n \"cloudy\",\n \"partly cloudy\",\n \"partly sunny\",\n \"pride\",\n \"lgbtq+\",\n \"leprechaun\"\n ],\n codepoint: 58778,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"ranking\",\n pascal_name: \"Ranking\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*new*\", \"medal\", \"rank\", \"leaderboard\", \"winner\", \"sports\"],\n codepoint: 60770,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"read-cv-logo\",\n pascal_name: \"ReadCvLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"resume\", \"jobs\", \"logos\"],\n codepoint: 60684,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"receipt\",\n pascal_name: \"Receipt\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"purchase\", \"money\", \"clipping\", \"expense\"],\n codepoint: 58348,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"receipt-x\",\n pascal_name: \"ReceiptX\",\n categories: [e.COMMERCE, e.FINANCE],\n figma_category: a.COMMERCE,\n tags: [\"purchase\", \"money\", \"clipping\", \"expense\", \"cancel\"],\n codepoint: 60736,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"record\",\n pascal_name: \"Record\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"recording\", \"recorder\", \"voice memo\"],\n codepoint: 58350,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"rectangle\",\n pascal_name: \"Rectangle\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"4\", \"shapes\", \"polygons\", \"box\"],\n codepoint: 58352,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"rectangle-dashed\",\n pascal_name: \"RectangleDashed\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"4\", \"shapes\", \"polygons\", \"box\", \"missing\"],\n codepoint: 58354,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"recycle\",\n pascal_name: \"Recycle\",\n categories: [e.ARROWS, e.NATURE],\n figma_category: a.ARROWS,\n tags: [\"recycling\", \"trash\", \"environmental\", \"green\"],\n codepoint: 59226,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"reddit-logo\",\n pascal_name: \"RedditLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"logos\", \"subreddit\", \"snoo\", \"social media\"],\n codepoint: 58780,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"repeat\",\n pascal_name: \"Repeat\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"recycle\"],\n codepoint: 58358,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"repeat-once\",\n pascal_name: \"RepeatOnce\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"recycle\"],\n codepoint: 58360,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"replit-logo\",\n pascal_name: \"ReplitLogo\",\n categories: [e.BRAND, e.DEVELOPMENT],\n figma_category: a.BRAND,\n tags: [\"*new*\", \"logos\", \"ide\", \"editor\", \"coding\"],\n codepoint: 60298,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"resize\",\n pascal_name: \"Resize\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"maximize\", \"expand\", \"grow\"],\n codepoint: 60782,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"rewind\",\n pascal_name: \"Rewind\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"music\",\n \"audio\",\n \"seek\",\n \"scrub\",\n \"scan\",\n \"skip\",\n \"back\",\n \"backwards\",\n \"reverse\"\n ],\n codepoint: 59048,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"rewind-circle\",\n pascal_name: \"RewindCircle\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"music\",\n \"audio\",\n \"seek\",\n \"scrub\",\n \"scan\",\n \"skip\",\n \"back\",\n \"backwards\",\n \"reverse\"\n ],\n codepoint: 58362,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"road-horizon\",\n pascal_name: \"RoadHorizon\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\"trip\", \"drive\", \"road\", \"travel\", \"transportation\", \"highway\"],\n codepoint: 59448,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"robot\",\n pascal_name: \"Robot\",\n categories: [e.DEVELOPMENT, e.OBJECTS],\n figma_category: a.DEVELOPMENT,\n tags: [\"automaton\", \"artificial intelligence\", \"ai\"],\n codepoint: 59234,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"rocket\",\n pascal_name: \"Rocket\",\n categories: [\n e.DEVELOPMENT,\n e.MAP,\n e.OBJECTS\n ],\n figma_category: a.MAP,\n tags: [\"spaceship\", \"launch\", \"deployment\", \"rocketship\"],\n codepoint: 58364,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"rocket-launch\",\n pascal_name: \"RocketLaunch\",\n categories: [\n e.DEVELOPMENT,\n e.MAP,\n e.OBJECTS\n ],\n figma_category: a.MAP,\n tags: [\n \"*updated*\",\n \"spaceship\",\n \"flying\",\n \"blastoff\",\n \"deployment\",\n \"rocketship\"\n ],\n codepoint: 58366,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"rows\",\n pascal_name: \"Rows\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"2\", \"shapes\", \"polygons\", \"box\", \"stack\", \"list\", \"table\", \"cards\"],\n codepoint: 58786,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"rows-plus-bottom\",\n pascal_name: \"RowsPlusBottom\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\n \"*new*\",\n \"2\",\n \"shapes\",\n \"polygons\",\n \"box\",\n \"stack\",\n \"list\",\n \"table\",\n \"cards\",\n \"prepend\",\n \"insert\"\n ],\n codepoint: 58782,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"rows-plus-top\",\n pascal_name: \"RowsPlusTop\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\n \"*new*\",\n \"2\",\n \"shapes\",\n \"polygons\",\n \"box\",\n \"stack\",\n \"list\",\n \"table\",\n \"cards\",\n \"prepend\",\n \"insert\"\n ],\n codepoint: 58784,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"rss\",\n pascal_name: \"Rss\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"radio\", \"broadcast\", \"web feed\", \"news\", \"aggregator\"],\n codepoint: 58368,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"rss-simple\",\n pascal_name: \"RssSimple\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"radio\", \"broadcast\", \"web feed\", \"news\", \"aggregator\"],\n codepoint: 58370,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"rug\",\n pascal_name: \"Rug\",\n categories: [e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*updated*\", \"tapestry\", \"carpet\"],\n codepoint: 59930,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"ruler\",\n pascal_name: \"Ruler\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.OBJECTS\n ],\n figma_category: a.DESIGN,\n tags: [\"measure\", \"scale\", \"distance\"],\n codepoint: 59064,\n published_in: 1.3,\n updated_in: 1.4\n },\n {\n name: \"sailboat\",\n pascal_name: \"Sailboat\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"sailing\",\n \"ship\",\n \"vehicles\",\n \"transportation\",\n \"sports\",\n \"places\",\n \"locations\"\n ],\n codepoint: 59274,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"scales\",\n pascal_name: \"Scales\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"measure\", \"balance\", \"law\", \"justice\", \"government\"],\n codepoint: 59216,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"scan\",\n pascal_name: \"Scan\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"upc\", \"barcode\", \"products\", \"shopping\", \"scanner\"],\n codepoint: 60342,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"scan-smiley\",\n pascal_name: \"ScanSmiley\",\n categories: [e.SYSTEM, e.PEOPLE],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"facial recognition\", \"face unlock\", \"scanner\"],\n codepoint: 60340,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"scissors\",\n pascal_name: \"Scissors\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.OFFICE,\n e.SYSTEM\n ],\n figma_category: a.DESIGN,\n tags: [\"*updated*\", \"cut\", \"snip\", \"clipboard\"],\n codepoint: 60128,\n published_in: 1.1,\n updated_in: 2.1\n },\n {\n name: \"scooter\",\n pascal_name: \"Scooter\",\n categories: [e.MAP, e.HEALTH],\n figma_category: a.MAP,\n tags: [\"vehicles\", \"transportation\", \"travel\", \"transit\"],\n codepoint: 59424,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"screencast\",\n pascal_name: \"Screencast\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"apple\",\n \"airplay\",\n \"screencasting\",\n \"screen share\",\n \"television\",\n \"tv\"\n ],\n codepoint: 58372,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"screwdriver\",\n pascal_name: \"Screwdriver\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"tools\", \"construction\", \"flathead\", \"drill\"],\n codepoint: 59502,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"scribble\",\n pascal_name: \"Scribble\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"doodles\", \"squiggle\", \"drawing\", \"sign\", \"signature\"],\n codepoint: 59398,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"scribble-loop\",\n pascal_name: \"ScribbleLoop\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"doodles\", \"drawing\", \"sign\", \"signature\"],\n codepoint: 58978,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"scroll\",\n pascal_name: \"Scroll\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*updated*\", \"parchment\", \"paper\", \"script\", \"spell\", \"fantasy\"],\n codepoint: 60282,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"seal\",\n pascal_name: \"Seal\",\n alias: { name: \"circle-wavy\", pascal_name: \"CircleWavy\" },\n categories: [e.DESIGN],\n figma_category: a.SECURITY,\n tags: [\n \"badge\",\n \"verified\",\n \"verification\",\n \"shapes\",\n \"polygons\",\n \"circle-wavy\"\n ],\n codepoint: 58884,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"seal-check\",\n pascal_name: \"SealCheck\",\n alias: { name: \"circle-wavy-check\", pascal_name: \"CircleWavyCheck\" },\n categories: [e.DESIGN],\n figma_category: a.SECURITY,\n tags: [\n \"badge\",\n \"verified\",\n \"verification\",\n \"shapes\",\n \"polygons\",\n \"circle-wavy\"\n ],\n codepoint: 58886,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"seal-percent\",\n pascal_name: \"SealPercent\",\n categories: [e.DESIGN],\n figma_category: a.SECURITY,\n tags: [\n \"*new*\",\n \"badge\",\n \"discount\",\n \"sale\",\n \"shapes\",\n \"polygons\",\n \"circle-wavy\"\n ],\n codepoint: 58890,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"seal-question\",\n pascal_name: \"SealQuestion\",\n alias: { name: \"circle-wavy-question\", pascal_name: \"CircleWavyQuestion\" },\n categories: [e.DESIGN],\n figma_category: a.SECURITY,\n tags: [\n \"badge\",\n \"unverified\",\n \"verification\",\n \"shapes\",\n \"polygons\",\n \"circle-wavy\"\n ],\n codepoint: 58888,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"seal-warning\",\n pascal_name: \"SealWarning\",\n alias: { name: \"circle-wavy-warning\", pascal_name: \"CircleWavyWarning\" },\n categories: [e.DESIGN],\n figma_category: a.SECURITY,\n tags: [\n \"badge\",\n \"unverified\",\n \"verification\",\n \"errors\",\n \"shapes\",\n \"polygons\",\n \"circle-wavy\"\n ],\n codepoint: 58892,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"seat\",\n pascal_name: \"Seat\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"chair\",\n \"car seat\",\n \"airplane seat\",\n \"transit\",\n \"transportation\",\n \"traveling\"\n ],\n codepoint: 60302,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"seatbelt\",\n pascal_name: \"Seatbelt\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"vehicles\", \"safety\"],\n codepoint: 60926,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"security-camera\",\n pascal_name: \"SecurityCamera\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"*new*\",\n \"cctv\",\n \"surveillance\",\n \"video\",\n \"monitor\",\n \"motion detector\",\n \"safety\"\n ],\n codepoint: 60580,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"selection\",\n pascal_name: \"Selection\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"marquis\", \"select\", \"square dashed\"],\n codepoint: 59034,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"selection-all\",\n pascal_name: \"SelectionAll\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"marquis\", \"select all\"],\n codepoint: 59206,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"selection-background\",\n pascal_name: \"SelectionBackground\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"marquis\"],\n codepoint: 60152,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"selection-foreground\",\n pascal_name: \"SelectionForeground\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"marquis\"],\n codepoint: 60150,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"selection-inverse\",\n pascal_name: \"SelectionInverse\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"marquis\", \"invert\"],\n codepoint: 59204,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"selection-plus\",\n pascal_name: \"SelectionPlus\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"marquis\", \"add\"],\n codepoint: 59036,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"selection-slash\",\n pascal_name: \"SelectionSlash\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"marquis\", \"unselect\"],\n codepoint: 59038,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"shapes\",\n pascal_name: \"Shapes\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"geometry\", \"square\", \"circle\", \"triangle\"],\n codepoint: 60510,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"share\",\n pascal_name: \"Share\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\"send to\", \"export\", \"arrows\"],\n codepoint: 58374,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"share-fat\",\n pascal_name: \"ShareFat\",\n categories: [\n e.ARROWS,\n e.SYSTEM,\n e.COMMUNICATION\n ],\n figma_category: a.COMMUNICATION,\n tags: [\"export\", \"send to\"],\n codepoint: 60754,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"share-network\",\n pascal_name: \"ShareNetwork\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\"send to\", \"export\"],\n codepoint: 58376,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"shield\",\n pascal_name: \"Shield\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SECURITY,\n tags: [\n \"badge\",\n \"security\",\n \"secured\",\n \"defense\",\n \"defended\",\n \"authentication\",\n \"authenticated\",\n \"guarded\",\n \"locked\",\n \"encrypted\",\n \"encryption\"\n ],\n codepoint: 58378,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"shield-check\",\n pascal_name: \"ShieldCheck\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SECURITY,\n tags: [\n \"badge\",\n \"security\",\n \"defense\",\n \"authentication\",\n \"authenticated\",\n \"guarded\",\n \"locked\",\n \"encrypted\",\n \"encryption\"\n ],\n codepoint: 58380,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"shield-checkered\",\n pascal_name: \"ShieldCheckered\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SECURITY,\n tags: [\n \"badge\",\n \"security\",\n \"defense\",\n \"authentication\",\n \"authenticated\",\n \"guarded\",\n \"locked\",\n \"encrypted\",\n \"encryption\"\n ],\n codepoint: 59144,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"shield-chevron\",\n pascal_name: \"ShieldChevron\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SECURITY,\n tags: [\n \"badge\",\n \"security\",\n \"defense\",\n \"authentication\",\n \"authenticated\",\n \"guarded\",\n \"locked\",\n \"encrypted\",\n \"encryption\"\n ],\n codepoint: 58382,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"shield-plus\",\n pascal_name: \"ShieldPlus\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SECURITY,\n tags: [\n \"badge\",\n \"security\",\n \"defense\",\n \"authentication\",\n \"authenticated\",\n \"guarded\",\n \"locked\",\n \"encrypted\",\n \"encryption\"\n ],\n codepoint: 59142,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"shield-slash\",\n pascal_name: \"ShieldSlash\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SECURITY,\n tags: [\n \"badge\",\n \"security\",\n \"unsecured\",\n \"defense\",\n \"undefended\",\n \"authentication\",\n \"unauthenticated\",\n \"unguarded\",\n \"unlocked\",\n \"unencrypted\",\n \"encryption\",\n \"disabled\"\n ],\n codepoint: 58384,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"shield-star\",\n pascal_name: \"ShieldStar\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\n \"badge\",\n \"security\",\n \"defense\",\n \"authentication\",\n \"authenticated\",\n \"guarded\",\n \"locked\",\n \"encrypted\",\n \"encryption\"\n ],\n codepoint: 60468,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"shield-warning\",\n pascal_name: \"ShieldWarning\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.SECURITY,\n tags: [\n \"badge\",\n \"security\",\n \"unsecured\",\n \"defense\",\n \"undefended\",\n \"authentication\",\n \"unauthenticated\",\n \"unguarded\",\n \"unlocked\",\n \"unencrypted\",\n \"encryption\",\n \"errors\"\n ],\n codepoint: 58386,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"shipping-container\",\n pascal_name: \"ShippingContainer\",\n categories: [e.MAP, e.OBJECTS, e.COMMERCE],\n figma_category: a.MAP,\n tags: [\"*new*\", \"shipping\", \"transportation\", \"places\", \"locations\"],\n codepoint: 59276,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"shirt-folded\",\n pascal_name: \"ShirtFolded\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"clothes\", \"clothing\"],\n codepoint: 60050,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"shooting-star\",\n pascal_name: \"ShootingStar\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"wish\", \"comet\", \"meteor\"],\n codepoint: 60666,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"shopping-bag\",\n pascal_name: \"ShoppingBag\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"ecommerce\",\n \"market\",\n \"basket\",\n \"cart\",\n \"buying\",\n \"checkout\",\n \"places\",\n \"locations\"\n ],\n codepoint: 58390,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"shopping-bag-open\",\n pascal_name: \"ShoppingBagOpen\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"ecommerce\",\n \"market\",\n \"basket\",\n \"cart\",\n \"buying\",\n \"checkout\",\n \"places\",\n \"locations\"\n ],\n codepoint: 58392,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"shopping-cart\",\n pascal_name: \"ShoppingCart\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"ecommerce\",\n \"market\",\n \"basket\",\n \"buying\",\n \"groceries\",\n \"checkout\",\n \"places\",\n \"locations\"\n ],\n codepoint: 58398,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"shopping-cart-simple\",\n pascal_name: \"ShoppingCartSimple\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"ecommerce\",\n \"market\",\n \"basket\",\n \"buying\",\n \"groceries\",\n \"checkout\",\n \"places\",\n \"locations\"\n ],\n codepoint: 58400,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"shovel\",\n pascal_name: \"Shovel\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"tools\", \"digging\", \"construction\"],\n codepoint: 59878,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"shower\",\n pascal_name: \"Shower\",\n categories: [e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"bath\", \"bathtub\", \"bathroom\", \"faucet\"],\n codepoint: 59254,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"shrimp\",\n pascal_name: \"Shrimp\",\n categories: [e.COMMERCE, e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"food\", \"seafood\", \"prawn\"],\n codepoint: 60084,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"shuffle\",\n pascal_name: \"Shuffle\",\n categories: [e.MEDIA, e.ARROWS, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"randomize\", \"crossed\"],\n codepoint: 58402,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"shuffle-angular\",\n pascal_name: \"ShuffleAngular\",\n categories: [e.MEDIA, e.ARROWS, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"randomize\", \"crossed\"],\n codepoint: 58404,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"shuffle-simple\",\n pascal_name: \"ShuffleSimple\",\n categories: [e.MEDIA, e.ARROWS, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"randomize\", \"crossed\"],\n codepoint: 58406,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"sidebar\",\n pascal_name: \"Sidebar\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"left rail\", \"wireframe\", \"ui\", \"interface\"],\n codepoint: 60086,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"sidebar-simple\",\n pascal_name: \"SidebarSimple\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"left rail\", \"wireframe\", \"ui\", \"interface\"],\n codepoint: 60452,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"sigma\",\n pascal_name: \"Sigma\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\"σ\", \"symbol\", \"mathematics\", \"sum\"],\n codepoint: 60088,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"sign-in\",\n pascal_name: \"SignIn\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*updated*\", \"signin\", \"login\", \"log in\", \"enter\"],\n codepoint: 58408,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"sign-out\",\n pascal_name: \"SignOut\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*updated*\", \"signout\", \"logout\", \"log out\", \"exit\"],\n codepoint: 58410,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"signature\",\n pascal_name: \"Signature\",\n categories: [e.COMMUNICATION, e.OFFICE],\n figma_category: a.COMMUNICATION,\n tags: [\"*updated*\", \"sign\", \"autograph\", \"verify\"],\n codepoint: 60332,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"signpost\",\n pascal_name: \"Signpost\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\"direction\", \"traffic\", \"road sign\", \"transit\", \"transportation\"],\n codepoint: 59548,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"sim-card\",\n pascal_name: \"SimCard\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*updated*\", \"cellular\", \"cellphone\", \"mobile\"],\n codepoint: 58980,\n published_in: 1.2,\n updated_in: 2.1\n },\n {\n name: \"siren\",\n pascal_name: \"Siren\",\n categories: [e.OBJECTS, e.MAP],\n figma_category: a.SECURITY,\n tags: [\"alarm\", \"police\", \"lights\", \"warning\"],\n codepoint: 59832,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"sketch-logo\",\n pascal_name: \"SketchLogo\",\n categories: [e.DESIGN],\n figma_category: a.BRAND,\n tags: [\n \"drawing\",\n \"art\",\n \"illustration\",\n \"ui\",\n \"interface\",\n \"prototype\",\n \"prototyping\",\n \"gemstone\",\n \"diamond\"\n ],\n codepoint: 58412,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"skip-back\",\n pascal_name: \"SkipBack\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"music\",\n \"audio\",\n \"seek\",\n \"scrub\",\n \"scan\",\n \"back\",\n \"backwards\",\n \"reverse\",\n \"previous\"\n ],\n codepoint: 58788,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"skip-back-circle\",\n pascal_name: \"SkipBackCircle\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"music\",\n \"audio\",\n \"seek\",\n \"scrub\",\n \"scan\",\n \"back\",\n \"backwards\",\n \"reverse\",\n \"previous\"\n ],\n codepoint: 58414,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"skip-forward\",\n pascal_name: \"SkipForward\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"seek\", \"scrub\", \"scan\", \"ahead\", \"next\"],\n codepoint: 58790,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"skip-forward-circle\",\n pascal_name: \"SkipForwardCircle\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"seek\", \"scrub\", \"scan\", \"ahead\", \"next\"],\n codepoint: 58416,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"skull\",\n pascal_name: \"Skull\",\n categories: [e.GAMES],\n figma_category: a.GAMES,\n tags: [\"death\", \"dead\", \"kill\"],\n codepoint: 59670,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"skype-logo\",\n pascal_name: \"SkypeLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"*new*\", \"chat\", \"video conference\"],\n codepoint: 59612,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"slack-logo\",\n pascal_name: \"SlackLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"logos\", \"messaging\"],\n codepoint: 58792,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"sliders\",\n pascal_name: \"Sliders\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"music\",\n \"audio\",\n \"faders\",\n \"filters\",\n \"equalizer\",\n \"volume\",\n \"settings\",\n \"preferences\"\n ],\n codepoint: 58418,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"sliders-horizontal\",\n pascal_name: \"SlidersHorizontal\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"music\",\n \"audio\",\n \"faders\",\n \"filters\",\n \"equalizer\",\n \"volume\",\n \"settings\",\n \"preferences\"\n ],\n codepoint: 58420,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"slideshow\",\n pascal_name: \"Slideshow\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"pictures\", \"images\", \"photography\", \"gallery\", \"carousel\"],\n codepoint: 60722,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"smiley\",\n pascal_name: \"Smiley\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"face\", \"emoji\", \"happy\", \"grinning\", \"smiling\"],\n codepoint: 58422,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"smiley-angry\",\n pascal_name: \"SmileyAngry\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"face\", \"emoji\", \"mad\", \"frown\"],\n codepoint: 60514,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"smiley-blank\",\n pascal_name: \"SmileyBlank\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"face\", \"emoji\", \"unimpressed\", \"no face\"],\n codepoint: 58424,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"smiley-meh\",\n pascal_name: \"SmileyMeh\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"face\", \"emoji\", \"unimpressed\", \"neutral\"],\n codepoint: 58426,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"smiley-melting\",\n pascal_name: \"SmileyMelting\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"*new*\",\n \"face\",\n \"emoji\",\n \"embarrassment\",\n \"sarcasm\",\n \"shame\",\n \"hot\",\n \"heat\"\n ],\n codepoint: 61014,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"smiley-nervous\",\n pascal_name: \"SmileyNervous\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"*updated*\",\n \"face\",\n \"emoji\",\n \"anxious\",\n \"uncomfortable\",\n \"uneasy\",\n \"queasy\",\n \"sick\",\n \"ill\"\n ],\n codepoint: 58428,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"smiley-sad\",\n pascal_name: \"SmileySad\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"face\", \"emoji\", \"unhappy\", \"frowning\"],\n codepoint: 58430,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"smiley-sticker\",\n pascal_name: \"SmileySticker\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"face\", \"emoji\", \"happy\", \"grinning\", \"smiling\"],\n codepoint: 58432,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"smiley-wink\",\n pascal_name: \"SmileyWink\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"face\", \"emoji\", \"winking\", \"flirting\", \"cute\"],\n codepoint: 58982,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"smiley-x-eyes\",\n pascal_name: \"SmileyXEyes\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"face\", \"emoji\", \"dead\", \"killed\", \"unconscious\"],\n codepoint: 58434,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"snapchat-logo\",\n pascal_name: \"SnapchatLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"logos\", \"messaging\", \"social media\"],\n codepoint: 58984,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"sneaker\",\n pascal_name: \"Sneaker\",\n categories: [\n e.COMMERCE,\n e.OBJECTS,\n e.HEALTH\n ],\n figma_category: a.COMMERCE,\n tags: [\"clothes\", \"clothing\", \"shoes\", \"trainers\", \"sports\"],\n codepoint: 59404,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"sneaker-move\",\n pascal_name: \"SneakerMove\",\n categories: [\n e.COMMERCE,\n e.OBJECTS,\n e.HEALTH\n ],\n figma_category: a.COMMERCE,\n tags: [\"*updated*\", \"clothes\", \"clothing\", \"shoes\", \"trainers\", \"sports\"],\n codepoint: 60768,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"snowflake\",\n pascal_name: \"Snowflake\",\n categories: [e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"meteorology\", \"snowy\", \"snowing\", \"snowstorm\"],\n codepoint: 58794,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"soccer-ball\",\n pascal_name: \"SoccerBall\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"*updated*\", \"sports\", \"football\", \"mls\"],\n codepoint: 59158,\n published_in: 1.3,\n updated_in: 2.1\n },\n {\n name: \"sock\",\n pascal_name: \"Sock\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"clothes\", \"clothing\"],\n codepoint: 60622,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"solar-panel\",\n pascal_name: \"SolarPanel\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"renewable\", \"energy\", \"power\", \"electricity\"],\n codepoint: 60794,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"solar-roof\",\n pascal_name: \"SolarRoof\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"renewable\", \"energy\", \"power\", \"electricity\"],\n codepoint: 60794,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"sort-ascending\",\n pascal_name: \"SortAscending\",\n categories: [e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"*updated*\",\n \"sorted\",\n \"sorting\",\n \"increasing\",\n \"a to z\",\n \"arrows\",\n \"list\"\n ],\n codepoint: 58436,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"sort-descending\",\n pascal_name: \"SortDescending\",\n categories: [e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"*updated*\",\n \"sorted\",\n \"sorting\",\n \"decreasing\",\n \"z to a\",\n \"arrows\",\n \"list\"\n ],\n codepoint: 58438,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"soundcloud-logo\",\n pascal_name: \"SoundcloudLogo\",\n categories: [e.BRAND, e.MEDIA],\n figma_category: a.BRAND,\n tags: [\"music\", \"social media\", \"logos\"],\n codepoint: 59614,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"spade\",\n pascal_name: \"Spade\",\n categories: [e.GAMES],\n figma_category: a.GAMES,\n tags: [\"spades\", \"suits\", \"cards\", \"gambling\", \"casino\", \"gaming\"],\n codepoint: 58440,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"sparkle\",\n pascal_name: \"Sparkle\",\n categories: [e.COMMUNICATION, e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"star\", \"rate\", \"ratings\", \"favorites\", \"favorited\"],\n codepoint: 59042,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"speaker-hifi\",\n pascal_name: \"SpeakerHifi\",\n categories: [e.MEDIA, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"sound\", \"stereo\"],\n codepoint: 59912,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"speaker-high\",\n pascal_name: \"SpeakerHigh\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"*updated*\", \"music\", \"audio\", \"volume\", \"sound\"],\n codepoint: 58442,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"speaker-low\",\n pascal_name: \"SpeakerLow\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"*updated*\", \"music\", \"audio\", \"volume\", \"sound\"],\n codepoint: 58444,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"speaker-none\",\n pascal_name: \"SpeakerNone\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"*updated*\", \"music\", \"audio\", \"muted\", \"volume\", \"sound\"],\n codepoint: 58446,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"speaker-simple-high\",\n pascal_name: \"SpeakerSimpleHigh\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"volume\", \"sound\"],\n codepoint: 58448,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"speaker-simple-low\",\n pascal_name: \"SpeakerSimpleLow\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"volume\", \"sound\"],\n codepoint: 58450,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"speaker-simple-none\",\n pascal_name: \"SpeakerSimpleNone\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"muted\", \"volume\", \"sound\"],\n codepoint: 58452,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"speaker-simple-slash\",\n pascal_name: \"SpeakerSimpleSlash\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"muted\", \"volume\", \"sound\", \"disabled\"],\n codepoint: 58454,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"speaker-simple-x\",\n pascal_name: \"SpeakerSimpleX\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"muted\", \"volume\", \"sound\", \"disabled\", \"errors\"],\n codepoint: 58456,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"speaker-slash\",\n pascal_name: \"SpeakerSlash\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"*updated*\",\n \"music\",\n \"audio\",\n \"muted\",\n \"volume\",\n \"sound\",\n \"disabled\"\n ],\n codepoint: 58458,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"speaker-x\",\n pascal_name: \"SpeakerX\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\n \"*updated*\",\n \"music\",\n \"audio\",\n \"muted\",\n \"volume\",\n \"sound\",\n \"disabled\",\n \"errors\"\n ],\n codepoint: 58460,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"speedometer\",\n pascal_name: \"Speedometer\",\n categories: [\n e.DEVELOPMENT,\n e.OBJECTS,\n e.SYSTEM\n ],\n figma_category: a.SYSTEM,\n tags: [\n \"*new*\",\n \"gauge\",\n \"dashboard\",\n \"meter\",\n \"speed\",\n \"odometer\",\n \"performance\"\n ],\n codepoint: 61044,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"sphere\",\n pascal_name: \"Sphere\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"circle\", \"ball\", \"3d\", \"mesh\", \"cad\", \"model\"],\n codepoint: 61030,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"spinner\",\n pascal_name: \"Spinner\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"loading\", \"loader\", \"waiting\", \"progress\"],\n codepoint: 58986,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"spinner-ball\",\n pascal_name: \"SpinnerBall\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"loading\", \"loader\", \"waiting\", \"progress\"],\n codepoint: 60968,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"spinner-gap\",\n pascal_name: \"SpinnerGap\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"loading\", \"loader\", \"waiting\", \"progress\"],\n codepoint: 58988,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"spiral\",\n pascal_name: \"Spiral\",\n categories: [e.COMMUNICATION, e.DESIGN],\n figma_category: a.GAMES,\n tags: [\"*updated*\", \"spin\", \"rotate\", \"dizzy\"],\n codepoint: 59898,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"split-horizontal\",\n pascal_name: \"SplitHorizontal\",\n categories: [e.ARROWS, e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"resize\", \"columns\"],\n codepoint: 59506,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"split-vertical\",\n pascal_name: \"SplitVertical\",\n categories: [e.ARROWS, e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"resize\", \"rows\"],\n codepoint: 59510,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"spotify-logo\",\n pascal_name: \"SpotifyLogo\",\n categories: [e.BRAND, e.MEDIA],\n figma_category: a.BRAND,\n tags: [\"music\", \"player\", \"streaming\"],\n codepoint: 58990,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"spray-bottle\",\n pascal_name: \"SprayBottle\",\n categories: [e.OBJECTS, e.HEALTH],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"cleaner\", \"cleaning\"],\n codepoint: 59364,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"square\",\n pascal_name: \"Square\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"4\", \"shapes\", \"polygons\", \"box\"],\n codepoint: 58462,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"square-half\",\n pascal_name: \"SquareHalf\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\n \"4\",\n \"shapes\",\n \"polygons\",\n \"box\",\n \"columns\",\n \"sidebar\",\n \"split vertical\"\n ],\n codepoint: 58466,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"square-half-bottom\",\n pascal_name: \"SquareHalfBottom\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\n \"4\",\n \"shapes\",\n \"polygons\",\n \"box\",\n \"columns\",\n \"sidebar\",\n \"split vertical\"\n ],\n codepoint: 60182,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"square-logo\",\n pascal_name: \"SquareLogo\",\n categories: [\n e.BRAND,\n e.COMMERCE,\n e.FINANCE\n ],\n figma_category: a.BRAND,\n tags: [\"squareup\", \"payment\"],\n codepoint: 59024,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"square-split-horizontal\",\n pascal_name: \"SquareSplitHorizontal\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"shapes\", \"polygons\", \"columns\"],\n codepoint: 59504,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"square-split-vertical\",\n pascal_name: \"SquareSplitVertical\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"shapes\", \"polygons\", \"rows\"],\n codepoint: 59508,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"squares-four\",\n pascal_name: \"SquaresFour\",\n categories: [e.DESIGN, e.SYSTEM],\n figma_category: a.DESIGN,\n tags: [\n \"4\",\n \"shapes\",\n \"polygons\",\n \"apps\",\n \"applications\",\n \"grid\",\n \"table\",\n \"microsoft\",\n \"logos\"\n ],\n codepoint: 58468,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"stack\",\n pascal_name: \"Stack\",\n categories: [e.DESIGN, e.OFFICE, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"cards\", \"layers\"],\n codepoint: 58470,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"stack-minus\",\n pascal_name: \"StackMinus\",\n categories: [e.DESIGN, e.OFFICE, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"cards\", \"layers\", \"remove\", \"delete\"],\n codepoint: 60916,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"stack-overflow-logo\",\n pascal_name: \"StackOverflowLogo\",\n categories: [e.BRAND, e.DEVELOPMENT],\n figma_category: a.BRAND,\n tags: [\"logos\", \"code\"],\n codepoint: 60280,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"stack-plus\",\n pascal_name: \"StackPlus\",\n categories: [e.DESIGN, e.OFFICE, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"cards\", \"layers\", \"add\"],\n codepoint: 60918,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"stack-simple\",\n pascal_name: \"StackSimple\",\n categories: [e.DESIGN, e.OFFICE, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"cards\", \"layers\"],\n codepoint: 58472,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"stairs\",\n pascal_name: \"Stairs\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"staircase\", \"steps\", \"escalator\", \"exit\", \"signs\"],\n codepoint: 59628,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"stamp\",\n pascal_name: \"Stamp\",\n categories: [e.DESIGN, e.OBJECTS],\n figma_category: a.DESIGN,\n tags: [\"clone\", \"seal\", \"official\"],\n codepoint: 59976,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"standard-definition\",\n pascal_name: \"StandardDefinition\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"*new*\", \"sd\", \"resolution\", \"video\"],\n codepoint: 60048,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"star\",\n pascal_name: \"Star\",\n categories: [\n e.COMMUNICATION,\n e.MAP,\n e.NATURE\n ],\n figma_category: a.COMMUNICATION,\n tags: [\"rate\", \"ratings\", \"favorites\", \"favorited\"],\n codepoint: 58474,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"star-and-crescent\",\n pascal_name: \"StarAndCrescent\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.COMMUNICATION,\n tags: [\"islam\", \"muslim\", \"moon\", \"religion\", \"worship\", \"symbol\"],\n codepoint: 60660,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"star-four\",\n pascal_name: \"StarFour\",\n categories: [e.COMMUNICATION, e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"rate\", \"ratings\", \"favorites\", \"favorited\"],\n codepoint: 59044,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"star-half\",\n pascal_name: \"StarHalf\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"rate\", \"ratings\"],\n codepoint: 59146,\n published_in: 1.3,\n updated_in: 1.4\n },\n {\n name: \"star-of-david\",\n pascal_name: \"StarOfDavid\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.COMMUNICATION,\n tags: [\"judaism\", \"jewish\", \"hexagram\", \"religion\", \"worship\", \"symbol\"],\n codepoint: 59550,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"steam-logo\",\n pascal_name: \"SteamLogo\",\n categories: [e.BRAND, e.GAMES],\n figma_category: a.BRAND,\n tags: [\"*new*\", \"gaming\", \"games\"],\n codepoint: 60116,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"steering-wheel\",\n pascal_name: \"SteeringWheel\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"cars\", \"vehicles\", \"automobiles\", \"driving\"],\n codepoint: 59820,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"steps\",\n pascal_name: \"Steps\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"stairs\", \"staircase\", \"exit\", \"signs\"],\n codepoint: 60606,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"stethoscope\",\n pascal_name: \"Stethoscope\",\n categories: [e.HEALTH, e.OBJECTS],\n figma_category: a.HEALTH,\n tags: [\n \"hospital\",\n \"medical\",\n \"medicine\",\n \"injury\",\n \"safety\",\n \"emergency\",\n \"doctor\",\n \"heart\"\n ],\n codepoint: 59370,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"sticker\",\n pascal_name: \"Sticker\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"stickers\", \"sticker pack\", \"labels\"],\n codepoint: 58796,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"stool\",\n pascal_name: \"Stool\",\n categories: [e.OBJECTS, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"chair\", \"seat\", \"furniture\"],\n codepoint: 59972,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"stop\",\n pascal_name: \"Stop\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\"],\n codepoint: 58476,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"stop-circle\",\n pascal_name: \"StopCircle\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"music\", \"audio\", \"round\"],\n codepoint: 58478,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"storefront\",\n pascal_name: \"Storefront\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\n \"shops\",\n \"shopping\",\n \"markets\",\n \"stores\",\n \"buildings\",\n \"places\",\n \"locations\"\n ],\n codepoint: 58480,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"strategy\",\n pascal_name: \"Strategy\",\n categories: [e.GAMES, e.FINANCE],\n figma_category: a.GAMES,\n tags: [\"sports\", \"strategem\", \"plan\", \"tic-tac-toe\"],\n codepoint: 59962,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"stripe-logo\",\n pascal_name: \"StripeLogo\",\n categories: [\n e.BRAND,\n e.COMMERCE,\n e.FINANCE\n ],\n figma_category: a.BRAND,\n tags: [\"payment\"],\n codepoint: 59032,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"student\",\n pascal_name: \"Student\",\n categories: [e.PEOPLE],\n figma_category: a.EDUCATION,\n tags: [\n \"pupil\",\n \"graduate\",\n \"classroom\",\n \"teacher\",\n \"education\",\n \"school\",\n \"college\",\n \"university\"\n ],\n codepoint: 59198,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"subset-of\",\n pascal_name: \"SubsetOf\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"⊆\",\n \"subset of\",\n \"set\",\n \"member\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60864,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"subset-proper-of\",\n pascal_name: \"SubsetProperOf\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"⊂\",\n \"proper subset of\",\n \"set\",\n \"member\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60854,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"subtitles\",\n pascal_name: \"Subtitles\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\n \"subtitles\",\n \"television\",\n \"tv\",\n \"transcribed\",\n \"transcription\",\n \"accessibility\",\n \"a11y\"\n ],\n codepoint: 57768,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"subtitles-slash\",\n pascal_name: \"SubtitlesSlash\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\n \"*new*\",\n \"subtitles\",\n \"television\",\n \"tv\",\n \"transcribed\",\n \"transcription\",\n \"accessibility\",\n \"a11y\",\n \"disabled\"\n ],\n codepoint: 57766,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"subtract\",\n pascal_name: \"Subtract\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"boolean\", \"intersection\", \"combine\", \"split\", \"merge\", \"union\"],\n codepoint: 60374,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"subtract-square\",\n pascal_name: \"SubtractSquare\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"boolean\", \"intersection\", \"combine\", \"split\", \"merge\", \"union\"],\n codepoint: 60372,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"subway\",\n pascal_name: \"Subway\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"*new*\",\n \"vehicles\",\n \"underground\",\n \"train\",\n \"tunnel\",\n \"metro\",\n \"light rail\",\n \"public transit\",\n \"transportation\",\n \"commuter\",\n \"traveling\",\n \"places\",\n \"locations\"\n ],\n codepoint: 58520,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"suitcase\",\n pascal_name: \"Suitcase\",\n categories: [e.OFFICE, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"briefcase\", \"valise\", \"baggage\", \"folders\", \"portfolio\"],\n codepoint: 58798,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"suitcase-rolling\",\n pascal_name: \"SuitcaseRolling\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"suitcase\", \"luggage\", \"travel\", \"transportation\"],\n codepoint: 59824,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"suitcase-simple\",\n pascal_name: \"SuitcaseSimple\",\n categories: [e.OFFICE, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"briefcase\", \"valise\", \"baggage\", \"folders\", \"portfolio\"],\n codepoint: 58800,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"sun\",\n pascal_name: \"Sun\",\n categories: [\n e.NATURE,\n e.SYSTEM,\n e.WEATHER\n ],\n figma_category: a.WEATHER,\n tags: [\n \"day\",\n \"daytime\",\n \"daylight\",\n \"clear\",\n \"sunny\",\n \"sunshine\",\n \"light mode\",\n \"brightness\",\n \"lighten\",\n \"brighten\"\n ],\n codepoint: 58482,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"sun-dim\",\n pascal_name: \"SunDim\",\n categories: [\n e.NATURE,\n e.SYSTEM,\n e.WEATHER\n ],\n figma_category: a.WEATHER,\n tags: [\n \"day\",\n \"daytime\",\n \"daylight\",\n \"clear\",\n \"sunny\",\n \"sunshine\",\n \"light mode\",\n \"brightness\",\n \"darken\"\n ],\n codepoint: 58484,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"sun-horizon\",\n pascal_name: \"SunHorizon\",\n categories: [e.NATURE, e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\n \"day\",\n \"daytime\",\n \"daylight\",\n \"clear\",\n \"sunny\",\n \"sunshine\",\n \"sunrise\",\n \"sunset\"\n ],\n codepoint: 58806,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"sunglasses\",\n pascal_name: \"Sunglasses\",\n categories: [e.HEALTH, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"vision\", \"sun\", \"spectacles\"],\n codepoint: 59414,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"superset-of\",\n pascal_name: \"SupersetOf\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"⊇\",\n \"superset of\",\n \"set\",\n \"member\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60856,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"superset-proper-of\",\n pascal_name: \"SupersetProperOf\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"⊃\",\n \"proper superset of\",\n \"set\",\n \"member\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60852,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"swap\",\n pascal_name: \"Swap\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.SYSTEM,\n tags: [\"layers\", \"replace\", \"exchange\", \"reverse\"],\n codepoint: 59452,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"swatches\",\n pascal_name: \"Swatches\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.OBJECTS\n ],\n figma_category: a.DESIGN,\n tags: [\"colors\", \"color picker\", \"samples\", \"pantone\"],\n codepoint: 58808,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"swimming-pool\",\n pascal_name: \"SwimmingPool\",\n categories: [e.HEALTH, e.MAP, e.GAMES],\n figma_category: a.MAP,\n tags: [\"swim\", \"sports\", \"exercise\", \"olympics\", \"aquatics\"],\n codepoint: 60598,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"sword\",\n pascal_name: \"Sword\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\n \"weapon\",\n \"knife\",\n \"dagger\",\n \"gladius\",\n \"video games\",\n \"rpg\",\n \"gaming\",\n \"war\"\n ],\n codepoint: 58810,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"synagogue\",\n pascal_name: \"Synagogue\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\"jewish\", \"judaism\", \"temple\", \"religion\", \"worship\"],\n codepoint: 60652,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"syringe\",\n pascal_name: \"Syringe\",\n categories: [e.HEALTH],\n figma_category: a.HEALTH,\n tags: [\n \"needle\",\n \"hypodermic\",\n \"vaccine\",\n \"medicine\",\n \"doctor\",\n \"shot\",\n \"hospital\"\n ],\n codepoint: 59752,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"t-shirt\",\n pascal_name: \"TShirt\",\n categories: [e.OBJECTS, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"clothes\", \"clothing\"],\n codepoint: 58992,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"table\",\n pascal_name: \"Table\",\n categories: [\n e.FINANCE,\n e.OFFICE,\n e.EDITOR\n ],\n figma_category: a.FINANCE,\n tags: [\"tables\", \"tabular\", \"speadsheets\", \"excel\", \"grid\", \"form\"],\n codepoint: 58486,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"tabs\",\n pascal_name: \"Tabs\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*updated*\", \"browser\", \"window\", \"folders\", \"files\"],\n codepoint: 59256,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"tag\",\n pascal_name: \"Tag\",\n categories: [\n e.COMMERCE,\n e.DEVELOPMENT,\n e.OBJECTS\n ],\n figma_category: a.COMMERCE,\n tags: [\"tags\", \"hashtag\", \"labels\", \"sale\", \"sell\", \"price\", \"discount\"],\n codepoint: 58488,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"tag-chevron\",\n pascal_name: \"TagChevron\",\n categories: [\n e.COMMERCE,\n e.DEVELOPMENT,\n e.OBJECTS\n ],\n figma_category: a.COMMERCE,\n tags: [\"tags\", \"hashtag\", \"labels\", \"sale\"],\n codepoint: 58994,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"tag-simple\",\n pascal_name: \"TagSimple\",\n categories: [\n e.COMMERCE,\n e.DEVELOPMENT,\n e.OBJECTS\n ],\n figma_category: a.COMMERCE,\n tags: [\"tags\", \"hashtag\", \"labels\", \"sale\", \"sell\", \"price\", \"discount\"],\n codepoint: 58490,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"target\",\n pascal_name: \"Target\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"bullseye\", \"radar\", \"archery\", \"accuracy\", \"precision\"],\n codepoint: 58492,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"taxi\",\n pascal_name: \"Taxi\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"*updated*\",\n \"vehicles\",\n \"cars\",\n \"automobiles\",\n \"livery\",\n \"limousine\",\n \"uber\"\n ],\n codepoint: 59650,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"tea-bag\",\n pascal_name: \"TeaBag\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"drinks\",\n \"beverages\",\n \"sachet\",\n \"caffeine\",\n \"places\",\n \"locations\",\n \"bars\",\n \"restaurants\",\n \"food\",\n \"dining\"\n ],\n codepoint: 59622,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"telegram-logo\",\n pascal_name: \"TelegramLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"logos\", \"messages\", \"messaging\"],\n codepoint: 58812,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"television\",\n pascal_name: \"Television\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\"screen\", \"tv\", \"displays\"],\n codepoint: 59220,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"television-simple\",\n pascal_name: \"TelevisionSimple\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\"*updated*\", \"screen\", \"tv\", \"displays\"],\n codepoint: 60134,\n published_in: 1.3,\n updated_in: 2.1\n },\n {\n name: \"tennis-ball\",\n pascal_name: \"TennisBall\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"sports\", \"mlb\"],\n codepoint: 59168,\n published_in: 1.3,\n updated_in: 1.4\n },\n {\n name: \"tent\",\n pascal_name: \"Tent\",\n categories: [\n e.HEALTH,\n e.OBJECTS,\n e.NATURE,\n e.MAP\n ],\n figma_category: a.MAP,\n tags: [\"camping\", \"outdoors\", \"tarp\"],\n codepoint: 59578,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"terminal\",\n pascal_name: \"Terminal\",\n categories: [e.DEVELOPMENT, e.SYSTEM],\n figma_category: a.DEVELOPMENT,\n tags: [\"command line\", \"cli\", \"bash\", \"shell\", \"caret\", \"console\"],\n codepoint: 58494,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"terminal-window\",\n pascal_name: \"TerminalWindow\",\n categories: [e.DEVELOPMENT, e.SYSTEM],\n figma_category: a.DEVELOPMENT,\n tags: [\"command line\", \"cli\", \"bash\", \"shell\", \"caret\", \"console\"],\n codepoint: 60136,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"test-tube\",\n pascal_name: \"TestTube\",\n categories: [\n e.DEVELOPMENT,\n e.NATURE,\n e.HEALTH,\n e.OBJECTS\n ],\n figma_category: a.HEALTH,\n tags: [\"science\", \"chemistry\", \"experiment\", \"vial\"],\n codepoint: 59296,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"text-a-underline\",\n pascal_name: \"TextAUnderline\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"typography\", \"typeface\", \"print\", \"font\", \"underscore\", \"emphasis\"],\n codepoint: 60724,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"text-aa\",\n pascal_name: \"TextAa\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"typography\", \"typeface\", \"print\", \"font\"],\n codepoint: 59118,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"text-align-center\",\n pascal_name: \"TextAlignCenter\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"*updated*\", \"typography\", \"print\", \"font\", \"alignment\", \"centered\"],\n codepoint: 58496,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"text-align-justify\",\n pascal_name: \"TextAlignJustify\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"*updated*\",\n \"typography\",\n \"print\",\n \"font\",\n \"alignment\",\n \"justified\"\n ],\n codepoint: 58498,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"text-align-left\",\n pascal_name: \"TextAlignLeft\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"*updated*\",\n \"typography\",\n \"print\",\n \"font\",\n \"alignment\",\n \"flush left\"\n ],\n codepoint: 58500,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"text-align-right\",\n pascal_name: \"TextAlignRight\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"*updated*\",\n \"typography\",\n \"print\",\n \"font\",\n \"alignment\",\n \"flush right\"\n ],\n codepoint: 58502,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"text-b\",\n pascal_name: \"TextB\",\n alias: { name: \"text-bolder\", pascal_name: \"TextBolder\" },\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"typography\",\n \"typeface\",\n \"print\",\n \"font\",\n \"bold\",\n \"boldface\",\n \"emphasis\"\n ],\n codepoint: 58814,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"text-columns\",\n pascal_name: \"TextColumns\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"*updated*\", \"typography\", \"print\", \"font\", \"alignment\", \"article\"],\n codepoint: 60566,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"text-h\",\n pascal_name: \"TextH\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"heading\", \"typography\", \"print\"],\n codepoint: 59066,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"text-h-five\",\n pascal_name: \"TextHFive\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"heading\", \"h5\", \"typography\", \"print\"],\n codepoint: 59076,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"text-h-four\",\n pascal_name: \"TextHFour\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"*updated*\", \"heading\", \"h4\", \"typography\", \"print\"],\n codepoint: 59074,\n published_in: 1.3,\n updated_in: 2.1\n },\n {\n name: \"text-h-one\",\n pascal_name: \"TextHOne\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"heading\", \"h1\", \"typography\", \"print\"],\n codepoint: 59068,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"text-h-six\",\n pascal_name: \"TextHSix\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"heading\", \"h6\", \"typography\", \"print\"],\n codepoint: 59078,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"text-h-three\",\n pascal_name: \"TextHThree\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"heading\", \"h3\", \"typography\", \"print\"],\n codepoint: 59072,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"text-h-two\",\n pascal_name: \"TextHTwo\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"heading\", \"h2\", \"typography\", \"print\"],\n codepoint: 59070,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"text-indent\",\n pascal_name: \"TextIndent\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"*updated*\", \"alignment\", \"tab\", \"menu\"],\n codepoint: 59934,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"text-italic\",\n pascal_name: \"TextItalic\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"typography\",\n \"typeface\",\n \"print\",\n \"font\",\n \"slant\",\n \"oblique\",\n \"stress\",\n \"emphasis\",\n \"calligraphy\"\n ],\n codepoint: 58816,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"text-outdent\",\n pascal_name: \"TextOutdent\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"*updated*\", \"alignment\", \"tab\", \"unindent\", \"dedent\", \"menu\"],\n codepoint: 59932,\n published_in: 1.4,\n updated_in: 2.1\n },\n {\n name: \"text-strikethrough\",\n pascal_name: \"TextStrikethrough\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"typography\",\n \"typeface\",\n \"print\",\n \"font\",\n \"struck\",\n \"remove\",\n \"delete\",\n \"change\"\n ],\n codepoint: 58818,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"text-subscript\",\n pascal_name: \"TextSubscript\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.FINANCE\n ],\n figma_category: a.OFFICE,\n tags: [\n \"*new*\",\n \"typography\",\n \"font\",\n \"formatting\",\n \"mathematics\",\n \"power\",\n \"exponent\",\n \"calculator\"\n ],\n codepoint: 60568,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"text-superscript\",\n pascal_name: \"TextSuperscript\",\n categories: [\n e.DESIGN,\n e.EDITOR,\n e.FINANCE\n ],\n figma_category: a.OFFICE,\n tags: [\n \"*new*\",\n \"typography\",\n \"font\",\n \"formatting\",\n \"mathematics\",\n \"calculator\"\n ],\n codepoint: 60570,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"text-t\",\n pascal_name: \"TextT\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"typography\", \"typeface\", \"print\", \"font\"],\n codepoint: 58506,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"text-t-slash\",\n pascal_name: \"TextTSlash\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\n \"*new*\",\n \"typography\",\n \"typeface\",\n \"print\",\n \"font\",\n \"formatting\",\n \"clear\"\n ],\n codepoint: 58504,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"text-underline\",\n pascal_name: \"TextUnderline\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.OFFICE,\n tags: [\"typography\", \"typeface\", \"print\", \"font\", \"underscore\", \"emphasis\"],\n codepoint: 58820,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"textbox\",\n pascal_name: \"Textbox\",\n categories: [e.EDITOR, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"input\", \"cursor\", \"field\"],\n codepoint: 60170,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"thermometer\",\n pascal_name: \"Thermometer\",\n categories: [\n e.WEATHER,\n e.HEALTH,\n e.OBJECTS\n ],\n figma_category: a.WEATHER,\n tags: [\n \"meteorology\",\n \"temperature\",\n \"degrees\",\n \"°\",\n \"celcius\",\n \"centigrade\",\n \"kelvin\",\n \"fahrenheit\",\n \"hot\",\n \"warm\",\n \"cold\"\n ],\n codepoint: 58822,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"thermometer-cold\",\n pascal_name: \"ThermometerCold\",\n categories: [\n e.WEATHER,\n e.HEALTH,\n e.OBJECTS\n ],\n figma_category: a.WEATHER,\n tags: [\n \"meteorology\",\n \"temperature\",\n \"degrees\",\n \"°\",\n \"celcius\",\n \"centigrade\",\n \"kelvin\",\n \"fahrenheit\"\n ],\n codepoint: 58824,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"thermometer-hot\",\n pascal_name: \"ThermometerHot\",\n categories: [\n e.WEATHER,\n e.HEALTH,\n e.OBJECTS\n ],\n figma_category: a.WEATHER,\n tags: [\n \"meteorology\",\n \"temperature\",\n \"degrees\",\n \"°\",\n \"celcius\",\n \"centigrade\",\n \"kelvin\",\n \"fahrenheit\",\n \"warm\"\n ],\n codepoint: 58826,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"thermometer-simple\",\n pascal_name: \"ThermometerSimple\",\n categories: [\n e.WEATHER,\n e.HEALTH,\n e.OBJECTS\n ],\n figma_category: a.WEATHER,\n tags: [\n \"meteorology\",\n \"temperature\",\n \"degrees\",\n \"°\",\n \"celcius\",\n \"centigrade\",\n \"kelvin\",\n \"fahrenheit\",\n \"hot\",\n \"warm\",\n \"cold\"\n ],\n codepoint: 58828,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"threads-logo\",\n pascal_name: \"ThreadsLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"*new*\", \"meta\", \"instagram\", \"social media\"],\n codepoint: 60830,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"three-d\",\n pascal_name: \"ThreeD\",\n categories: [e.MEDIA, e.DEVELOPMENT],\n figma_category: a.MEDIA,\n tags: [\"*new*\", \"3d\", \"cad\", \"model\"],\n codepoint: 59994,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"thumbs-down\",\n pascal_name: \"ThumbsDown\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.COMMUNICATION,\n tags: [\"dislike\", \"hate\", \"emoji\", \"no\"],\n codepoint: 58508,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"thumbs-up\",\n pascal_name: \"ThumbsUp\",\n categories: [e.COMMUNICATION, e.PEOPLE],\n figma_category: a.COMMUNICATION,\n tags: [\"like\", \"love\", \"favorited\", \"favorites\", \"emoji\", \"yes\"],\n codepoint: 58510,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"ticket\",\n pascal_name: \"Ticket\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"ticketstub\", \"movie ticket\", \"entry\", \"admissions\", \"events\"],\n codepoint: 58512,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"tidal-logo\",\n pascal_name: \"TidalLogo\",\n categories: [e.BRAND, e.MEDIA],\n figma_category: a.BRAND,\n tags: [\"music\", \"logos\"],\n codepoint: 60700,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"tiktok-logo\",\n pascal_name: \"TiktokLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"logos\", \"social media\"],\n codepoint: 60146,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"tilde\",\n pascal_name: \"Tilde\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"~\",\n \"∼\",\n \"proportional\",\n \"comparison\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60840,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"timer\",\n pascal_name: \"Timer\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.TIME,\n tags: [\"clock\", \"alarm\", \"schedule\", \"events\", \"stopwatch\", \"sports\"],\n codepoint: 58514,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"tip-jar\",\n pascal_name: \"TipJar\",\n categories: [\n e.COMMERCE,\n e.FINANCE,\n e.OBJECTS\n ],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"give\", \"deposit\", \"donation\", \"savings\", \"money\"],\n codepoint: 59360,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"tipi\",\n pascal_name: \"Tipi\",\n categories: [e.NATURE, e.OBJECTS, e.MAP],\n figma_category: a.MAP,\n tags: [\"teepee\", \"lodge\", \"tent\", \"outdoors\", \"camping\", \"tarp\"],\n codepoint: 60720,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"tire\",\n pascal_name: \"Tire\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"wheel\", \"vehicles\", \"transportation\"],\n codepoint: 60882,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"toggle-left\",\n pascal_name: \"ToggleLeft\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"switch\", \"controls\", \"settings\", \"preferences\"],\n codepoint: 58996,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"toggle-right\",\n pascal_name: \"ToggleRight\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"switch\", \"controls\", \"settings\", \"preferences\"],\n codepoint: 58998,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"toilet\",\n pascal_name: \"Toilet\",\n categories: [e.HEALTH, e.OBJECTS],\n figma_category: a.HEALTH,\n tags: [\"bathroom\", \"restroom\", \"lavatory\", \"water closet\"],\n codepoint: 59290,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"toilet-paper\",\n pascal_name: \"ToiletPaper\",\n categories: [e.HEALTH, e.OBJECTS],\n figma_category: a.HEALTH,\n tags: [\"bathroom\", \"restroom\", \"lavatory\", \"water closet\"],\n codepoint: 59292,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"toolbox\",\n pascal_name: \"Toolbox\",\n categories: [\n e.OBJECTS,\n e.SYSTEM,\n e.COMMERCE\n ],\n figma_category: a.COMMERCE,\n tags: [\"tools\", \"carpentry\", \"construction\"],\n codepoint: 60576,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"tooth\",\n pascal_name: \"Tooth\",\n categories: [e.HEALTH],\n figma_category: a.HEALTH,\n tags: [\"teeth\", \"dentistry\", \"medical\", \"medicine\", \"doctor\", \"cavity\"],\n codepoint: 59852,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"tornado\",\n pascal_name: \"Tornado\",\n categories: [e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"*new*\", \"meteorology\", \"twister\", \"storm\", \"wind\", \"disaster\"],\n codepoint: 59532,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"tote\",\n pascal_name: \"Tote\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"suitcases\", \"valises\", \"baggage\", \"tote-bag\", \"portfolios\"],\n codepoint: 58516,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"tote-simple\",\n pascal_name: \"ToteSimple\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"suitcases\", \"valises\", \"baggage\", \"tote-bag\", \"portfolios\"],\n codepoint: 59e3,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"towel\",\n pascal_name: \"Towel\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"clothing\",\n \"linen\",\n \"hotel\",\n \"beach\",\n \"pool\",\n \"swimming\",\n \"shower\",\n \"bath\"\n ],\n codepoint: 60902,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"tractor\",\n pascal_name: \"Tractor\",\n categories: [e.COMMERCE, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"vehicles\", \"farmer\", \"field\", \"farming\", \"agriculture\"],\n codepoint: 60526,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"trademark\",\n pascal_name: \"Trademark\",\n categories: [e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"tm\", \"®\", \"™\", \"intellectual property\"],\n codepoint: 59888,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"trademark-registered\",\n pascal_name: \"TrademarkRegistered\",\n categories: [e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"®\", \"™\", \"intellectual property\"],\n codepoint: 58356,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"traffic-cone\",\n pascal_name: \"TrafficCone\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\"pylon\", \"safety\", \"transit\", \"transportation\"],\n codepoint: 59816,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"traffic-sign\",\n pascal_name: \"TrafficSign\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\"road signs\", \"transit\", \"transportation\"],\n codepoint: 59002,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"traffic-signal\",\n pascal_name: \"TrafficSignal\",\n categories: [e.MAP],\n figma_category: a.MAP,\n tags: [\"stop light\", \"safety\", \"transit\", \"transportation\"],\n codepoint: 59818,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"train\",\n pascal_name: \"Train\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"vehicles\",\n \"subway\",\n \"light rail\",\n \"public transit\",\n \"transportation\",\n \"commuter\",\n \"traveling\",\n \"places\",\n \"locations\"\n ],\n codepoint: 58518,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"train-regional\",\n pascal_name: \"TrainRegional\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"vehicles\",\n \"subway\",\n \"railroad\",\n \"public transit\",\n \"transportation\",\n \"commuter\",\n \"freight\",\n \"shipping\",\n \"traveling\",\n \"places\",\n \"locations\"\n ],\n codepoint: 58526,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"train-simple\",\n pascal_name: \"TrainSimple\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"vehicles\",\n \"subway\",\n \"light rail\",\n \"public transit\",\n \"transportation\",\n \"commuter\",\n \"traveling\",\n \"places\",\n \"locations\"\n ],\n codepoint: 58528,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"tram\",\n pascal_name: \"Tram\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"vehicles\",\n \"subway\",\n \"railroad\",\n \"public transit\",\n \"transportation\",\n \"commuter\",\n \"light rail\",\n \"shipping\",\n \"traveling\",\n \"places\",\n \"locations\"\n ],\n codepoint: 59884,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"translate\",\n pascal_name: \"Translate\",\n categories: [e.COMMUNICATION, e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\n \"translation\",\n \"languages\",\n \"internationalization\",\n \"i18n\",\n \"speech\"\n ],\n codepoint: 58530,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"trash\",\n pascal_name: \"Trash\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"garbage\", \"remove\", \"delete\", \"destroy\", \"recycle\", \"recycling\"],\n codepoint: 58534,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"trash-simple\",\n pascal_name: \"TrashSimple\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"garbage\", \"remove\", \"delete\", \"destroy\", \"recycle\", \"recycling\"],\n codepoint: 58536,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"tray\",\n pascal_name: \"Tray\",\n categories: [\n e.OFFICE,\n e.COMMUNICATION,\n e.SYSTEM\n ],\n figma_category: a.OFFICE,\n tags: [\"inbox\", \"mailbox\", \"bin\"],\n codepoint: 58538,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"tray-arrow-down\",\n pascal_name: \"TrayArrowDown\",\n alias: { name: \"archive-tray\", pascal_name: \"ArchiveTray\" },\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\n \"inbox\",\n \"saved\",\n \"saving\",\n \"archived\",\n \"archiving\",\n \"archival\",\n \"downloaded\",\n \"downloading\"\n ],\n codepoint: 57360,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"tray-arrow-up\",\n pascal_name: \"TrayArrowUp\",\n categories: [e.OFFICE, e.SYSTEM],\n figma_category: a.OFFICE,\n tags: [\"*new*\", \"outbox\", \"archival\", \"unarchive\", \"uploaded\", \"uploading\"],\n codepoint: 61010,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"treasure-chest\",\n pascal_name: \"TreasureChest\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\n \"*new*\",\n \"loot\",\n \"lootbox\",\n \"inventory\",\n \"rewards\",\n \"gaming\",\n \"pirate\"\n ],\n codepoint: 60898,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"tree\",\n pascal_name: \"Tree\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\"plants\", \"branches\", \"leaves\", \"green\", \"environmental\"],\n codepoint: 59098,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"tree-evergreen\",\n pascal_name: \"TreeEvergreen\",\n categories: [e.NATURE],\n figma_category: a.WEATHER,\n tags: [\n \"plants\",\n \"branches\",\n \"leaves\",\n \"pine\",\n \"conifer\",\n \"green\",\n \"environmental\"\n ],\n codepoint: 59100,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"tree-palm\",\n pascal_name: \"TreePalm\",\n categories: [e.NATURE],\n figma_category: a.GAMES,\n tags: [\n \"tropical\",\n \"beach\",\n \"plants\",\n \"branches\",\n \"leaves\",\n \"green\",\n \"environmental\"\n ],\n codepoint: 59674,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"tree-structure\",\n pascal_name: \"TreeStructure\",\n categories: [e.DEVELOPMENT, e.OFFICE],\n figma_category: a.DEVELOPMENT,\n tags: [\n \"data structures\",\n \"family tree\",\n \"genealogy\",\n \"hierarchy\",\n \"taxonomy\",\n \"charts\",\n \"flowchart\"\n ],\n codepoint: 59004,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"tree-view\",\n pascal_name: \"TreeView\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"*new*\", \"hierarchy\"],\n codepoint: 61e3,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"trend-down\",\n pascal_name: \"TrendDown\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.FINANCE,\n tags: [\n \"graphs\",\n \"graphing\",\n \"charts\",\n \"statistics\",\n \"analyze\",\n \"analysis\",\n \"decrease\",\n \"arrows\"\n ],\n codepoint: 58540,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"trend-up\",\n pascal_name: \"TrendUp\",\n categories: [e.FINANCE, e.OFFICE],\n figma_category: a.FINANCE,\n tags: [\n \"graphs\",\n \"graphing\",\n \"charts\",\n \"statistics\",\n \"analyze\",\n \"analysis\",\n \"increase\",\n \"arrows\"\n ],\n codepoint: 58542,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"triangle\",\n pascal_name: \"Triangle\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"3\", \"shapes\", \"polygons\"],\n codepoint: 58544,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"triangle-dashed\",\n pascal_name: \"TriangleDashed\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"*new*\", \"3\", \"shapes\", \"polygons\", \"missing\"],\n codepoint: 58546,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"trolley\",\n pascal_name: \"Trolley\",\n categories: [e.OFFICE, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"*new*\", \"airport\", \"briefcase\", \"valise\", \"baggage\"],\n codepoint: 58802,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"trolley-suitcase\",\n pascal_name: \"TrolleySuitcase\",\n categories: [e.OFFICE, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"*new*\", \"airport\", \"briefcase\", \"valise\", \"baggage\"],\n codepoint: 58804,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"trophy\",\n pascal_name: \"Trophy\",\n categories: [e.GAMES, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"ribbons\", \"medals\", \"winning\", \"victory\", \"awards\", \"prize\"],\n codepoint: 59006,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"truck\",\n pascal_name: \"Truck\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\"trucks\", \"cars\", \"vehicles\", \"automobile\", \"shipping\", \"delivery\"],\n codepoint: 58548,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"truck-trailer\",\n pascal_name: \"TruckTrailer\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"vehicles\", \"automobile\", \"shipping\", \"tractor\", \"semi\"],\n codepoint: 58550,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"tumblr-logo\",\n pascal_name: \"TumblrLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"*new*\", \"social media\", \"logos\"],\n codepoint: 59604,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"twitch-logo\",\n pascal_name: \"TwitchLogo\",\n categories: [\n e.BRAND,\n e.COMMUNICATION,\n e.GAMES\n ],\n figma_category: a.BRAND,\n tags: [\n \"logos\",\n \"streaming\",\n \"livestream\",\n \"gaming\",\n \"video games\",\n \"social media\"\n ],\n codepoint: 58830,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"twitter-logo\",\n pascal_name: \"TwitterLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"logos\", \"social media\", \"tweets\", \"birds\"],\n codepoint: 58554,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"umbrella\",\n pascal_name: \"Umbrella\",\n categories: [e.OBJECTS, e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"raining\", \"rainy\", \"insurance\"],\n codepoint: 59012,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"umbrella-simple\",\n pascal_name: \"UmbrellaSimple\",\n categories: [e.OBJECTS, e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"raining\", \"rainy\", \"insurance\"],\n codepoint: 59014,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"union\",\n pascal_name: \"Union\",\n categories: [e.FINANCE, e.DEVELOPMENT],\n figma_category: a.FINANCE,\n tags: [\n \"*new*\",\n \"∪\",\n \"union\",\n \"set\",\n \"member\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 60862,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"unite\",\n pascal_name: \"Unite\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\n \"*updated*\",\n \"round\",\n \"join\",\n \"union\",\n \"merge\",\n \"combine\",\n \"intersecting\",\n \"intersection\"\n ],\n codepoint: 59518,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"unite-square\",\n pascal_name: \"UniteSquare\",\n categories: [e.DESIGN, e.EDITOR],\n figma_category: a.DESIGN,\n tags: [\"join\", \"union\", \"merge\", \"combine\", \"intersecting\", \"intersection\"],\n codepoint: 59512,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"upload\",\n pascal_name: \"Upload\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"saved\",\n \"saving\",\n \"archived\",\n \"archiving\",\n \"archival\",\n \"uploaded\",\n \"uploading\",\n \"hard drive\",\n \"disk\"\n ],\n codepoint: 58558,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"upload-simple\",\n pascal_name: \"UploadSimple\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"*updated*\",\n \"saved\",\n \"saving\",\n \"archived\",\n \"archiving\",\n \"archival\",\n \"uploaded\",\n \"uploading\",\n \"hard drive\",\n \"disk\"\n ],\n codepoint: 58560,\n published_in: 1,\n updated_in: 2.1\n },\n {\n name: \"usb\",\n pascal_name: \"Usb\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"serial\", \"port\", \"plug\", \"peripheral\", \"device\"],\n codepoint: 59734,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"user\",\n pascal_name: \"User\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"person\", \"users\", \"profile\", \"account\", \"contact\", \"login\"],\n codepoint: 58562,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"user-check\",\n pascal_name: \"UserCheck\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"*new*\",\n \"person\",\n \"users\",\n \"profile\",\n \"account\",\n \"contact\",\n \"login\",\n \"verified\"\n ],\n codepoint: 60154,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"user-circle\",\n pascal_name: \"UserCircle\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"person\", \"users\", \"profile\", \"account\", \"contact\", \"login\"],\n codepoint: 58564,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"user-circle-check\",\n pascal_name: \"UserCircleCheck\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"*new*\",\n \"person\",\n \"users\",\n \"profile\",\n \"account\",\n \"contact\",\n \"login\",\n \"verified\"\n ],\n codepoint: 60472,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"user-circle-dashed\",\n pascal_name: \"UserCircleDashed\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"*new*\",\n \"person\",\n \"users\",\n \"profile\",\n \"account\",\n \"contact\",\n \"login\",\n \"pending\",\n \"missing\",\n \"removed\"\n ],\n codepoint: 60470,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"user-circle-gear\",\n pascal_name: \"UserCircleGear\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"person\",\n \"users\",\n \"profile\",\n \"account\",\n \"contact\",\n \"settings\",\n \"preferences\"\n ],\n codepoint: 58566,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"user-circle-minus\",\n pascal_name: \"UserCircleMinus\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"person\",\n \"users\",\n \"profile\",\n \"account\",\n \"contact\",\n \"delete\",\n \"remove\",\n \"-\"\n ],\n codepoint: 58568,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"user-circle-plus\",\n pascal_name: \"UserCirclePlus\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"person\",\n \"users\",\n \"profile\",\n \"account\",\n \"contact\",\n \"add\",\n \"create\",\n \"+\"\n ],\n codepoint: 58570,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"user-focus\",\n pascal_name: \"UserFocus\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"identification\",\n \"biometrics\",\n \"facial recognition\",\n \"profile\",\n \"person\",\n \"account\",\n \"autofocus\"\n ],\n codepoint: 59132,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"user-gear\",\n pascal_name: \"UserGear\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"person\",\n \"users\",\n \"profile\",\n \"account\",\n \"contact\",\n \"settings\",\n \"preferences\"\n ],\n codepoint: 58572,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"user-list\",\n pascal_name: \"UserList\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"person\",\n \"users\",\n \"profiles\",\n \"accounts\",\n \"members\",\n \"address book\"\n ],\n codepoint: 59196,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"user-minus\",\n pascal_name: \"UserMinus\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"person\",\n \"users\",\n \"profile\",\n \"account\",\n \"contact\",\n \"delete\",\n \"remove\",\n \"-\"\n ],\n codepoint: 58574,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"user-plus\",\n pascal_name: \"UserPlus\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"person\",\n \"users\",\n \"profile\",\n \"account\",\n \"contact\",\n \"add\",\n \"create\",\n \"+\"\n ],\n codepoint: 58576,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"user-rectangle\",\n pascal_name: \"UserRectangle\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"person\", \"users\", \"profile\", \"account\", \"contact\", \"login\"],\n codepoint: 58578,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"user-sound\",\n pascal_name: \"UserSound\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"*new*\",\n \"person\",\n \"users\",\n \"profile\",\n \"speech\",\n \"speaking\",\n \"voice\"\n ],\n codepoint: 60584,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"user-square\",\n pascal_name: \"UserSquare\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\"person\", \"users\", \"profile\", \"account\", \"contact\", \"login\"],\n codepoint: 58580,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"user-switch\",\n pascal_name: \"UserSwitch\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"person\",\n \"users\",\n \"profile\",\n \"account\",\n \"login\",\n \"logout\",\n \"signin\",\n \"signout\",\n \"settings\",\n \"preferences\"\n ],\n codepoint: 59222,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"users\",\n pascal_name: \"Users\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"user\",\n \"group\",\n \"team\",\n \"people\",\n \"profiles\",\n \"accounts\",\n \"contacts\"\n ],\n codepoint: 58582,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"users-four\",\n pascal_name: \"UsersFour\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"user\",\n \"group\",\n \"team\",\n \"department\",\n \"community\",\n \"people\",\n \"profiles\",\n \"accounts\",\n \"contacts\"\n ],\n codepoint: 59020,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"users-three\",\n pascal_name: \"UsersThree\",\n categories: [e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"user\",\n \"group\",\n \"team\",\n \"community\",\n \"people\",\n \"profiles\",\n \"accounts\",\n \"contacts\"\n ],\n codepoint: 59022,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"van\",\n pascal_name: \"Van\",\n categories: [e.MAP, e.OBJECTS],\n figma_category: a.MAP,\n tags: [\n \"westfalia\",\n \"microbus\",\n \"vanagon\",\n \"cars\",\n \"vehicles\",\n \"automobile\",\n \"transit\",\n \"transportation\",\n \"traveling\"\n ],\n codepoint: 59430,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"vault\",\n pascal_name: \"Vault\",\n categories: [\n e.OBJECTS,\n e.SYSTEM,\n e.FINANCE\n ],\n figma_category: a.SECURITY,\n tags: [\n \"safe\",\n \"bank\",\n \"security\",\n \"secured\",\n \"authentication\",\n \"authenticated\",\n \"locked\",\n \"encrypted\",\n \"encryption\"\n ],\n codepoint: 59246,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"vector-three\",\n pascal_name: \"VectorThree\",\n categories: [\n e.ARROWS,\n e.DEVELOPMENT,\n e.DESIGN\n ],\n figma_category: a.ARROWS,\n tags: [\n \"*new*\",\n \"3d\",\n \"xyz\",\n \"cartesian\",\n \"coordinates\",\n \"plane\",\n \"volume\",\n \"dimensions\",\n \"mathematics\"\n ],\n codepoint: 61026,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"vector-two\",\n pascal_name: \"VectorTwo\",\n categories: [\n e.ARROWS,\n e.DEVELOPMENT,\n e.DESIGN\n ],\n figma_category: a.ARROWS,\n tags: [\n \"*new*\",\n \"2d\",\n \"xy\",\n \"cartesian\",\n \"coordinates\",\n \"plane\",\n \"dimensions\",\n \"mathematics\"\n ],\n codepoint: 61028,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"vibrate\",\n pascal_name: \"Vibrate\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"audio\",\n \"volume\",\n \"viration\",\n \"ringer\",\n \"calls\",\n \"silent\",\n \"silenced\"\n ],\n codepoint: 58584,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"video\",\n pascal_name: \"Video\",\n categories: [e.PEOPLE],\n figma_category: a.EDUCATION,\n tags: [\"training\", \"course\", \"education\", \"tutorial\"],\n codepoint: 59200,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"video-camera\",\n pascal_name: \"VideoCamera\",\n categories: [e.MEDIA, e.SYSTEM, e.OBJECTS],\n figma_category: a.MEDIA,\n tags: [\"videography\", \"films\", \"movies\", \"recording\"],\n codepoint: 58586,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"video-camera-slash\",\n pascal_name: \"VideoCameraSlash\",\n categories: [e.MEDIA, e.SYSTEM],\n figma_category: a.MEDIA,\n tags: [\"videography\", \"films\", \"movies\", \"recording\", \"disabled\"],\n codepoint: 58588,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"video-conference\",\n pascal_name: \"VideoConference\",\n categories: [\n e.MEDIA,\n e.SYSTEM,\n e.COMMUNICATION\n ],\n figma_category: a.MEDIA,\n tags: [\n \"*new*\",\n \"video call\",\n \"zoom\",\n \"skype\",\n \"discord\",\n \"facetime\",\n \"meeting\"\n ],\n codepoint: 60878,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"vignette\",\n pascal_name: \"Vignette\",\n categories: [e.DESIGN],\n figma_category: a.DESIGN,\n tags: [\"photography\", \"darkroom\", \"movie\", \"analog\"],\n codepoint: 60322,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"vinyl-record\",\n pascal_name: \"VinylRecord\",\n categories: [e.MEDIA, e.OFFICE],\n figma_category: a.MEDIA,\n tags: [\"recording\", \"audio\", \"album\", \"music\", \"ep\", \"lp\"],\n codepoint: 60588,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"virtual-reality\",\n pascal_name: \"VirtualReality\",\n categories: [e.GAMES, e.MEDIA],\n figma_category: a.GAMES,\n tags: [\"virtual reality\", \"vr\", \"headset\", \"metaverse\"],\n codepoint: 59320,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"virus\",\n pascal_name: \"Virus\",\n categories: [e.HEALTH],\n figma_category: a.HEALTH,\n tags: [\"germs\", \"disease\", \"illness\"],\n codepoint: 59350,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"visor\",\n pascal_name: \"Visor\",\n categories: [\n e.DEVELOPMENT,\n e.MEDIA,\n e.OBJECTS\n ],\n figma_category: a.MEDIA,\n tags: [\"*new*\", \"goggles\", \"vision\"],\n codepoint: 60970,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"voicemail\",\n pascal_name: \"Voicemail\",\n categories: [e.SYSTEM],\n figma_category: a.COMMUNICATION,\n tags: [\"phonecalls\", \"missed\", \"recording\", \"telephone\", \"landline\"],\n codepoint: 58590,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"volleyball\",\n pascal_name: \"Volleyball\",\n categories: [e.GAMES, e.HEALTH, e.OBJECTS],\n figma_category: a.GAMES,\n tags: [\"sports\"],\n codepoint: 59174,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"wall\",\n pascal_name: \"Wall\",\n categories: [e.OBJECTS, e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\"firewall\", \"security\", \"secured\", \"blocks\", \"bricks\"],\n codepoint: 59016,\n published_in: 1.2,\n updated_in: 1.4\n },\n {\n name: \"wallet\",\n pascal_name: \"Wallet\",\n categories: [\n e.COMMERCE,\n e.FINANCE,\n e.OBJECTS\n ],\n figma_category: a.COMMERCE,\n tags: [\"money\", \"payment\", \"paying\", \"purchase\"],\n codepoint: 59018,\n published_in: 1.2,\n updated_in: 1.2\n },\n {\n name: \"warehouse\",\n pascal_name: \"Warehouse\",\n categories: [e.COMMERCE, e.MAP],\n figma_category: a.COMMERCE,\n tags: [\n \"storage\",\n \"industry\",\n \"manufacture\",\n \"buildings\",\n \"places\",\n \"locations\"\n ],\n codepoint: 60628,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"warning\",\n pascal_name: \"Warning\",\n categories: [e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\"alert\", \"danger\", \"dangerous\", \"caution\", \"errors\"],\n codepoint: 58592,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"warning-circle\",\n pascal_name: \"WarningCircle\",\n categories: [e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\"alert\", \"danger\", \"dangerous\", \"caution\", \"errors\", \"round\"],\n codepoint: 58594,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"warning-diamond\",\n pascal_name: \"WarningDiamond\",\n categories: [e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\"alert\", \"danger\", \"dangerous\", \"caution\", \"errors\"],\n codepoint: 59388,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"warning-octagon\",\n pascal_name: \"WarningOctagon\",\n categories: [e.SYSTEM],\n figma_category: a.SECURITY,\n tags: [\"alert\", \"danger\", \"dangerous\", \"caution\", \"errors\", \"8\", \"eight\"],\n codepoint: 58596,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"washing-machine\",\n pascal_name: \"WashingMachine\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"clothing\", \"laundry\", \"cleaning\"],\n codepoint: 60904,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"watch\",\n pascal_name: \"Watch\",\n categories: [e.SYSTEM, e.OBJECTS],\n figma_category: a.TIME,\n tags: [\n \"times\",\n \"timer\",\n \"alarm\",\n \"schedule\",\n \"events\",\n \"clock\",\n \"wristwatch\",\n \"wearable\"\n ],\n codepoint: 58598,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"wave-sawtooth\",\n pascal_name: \"WaveSawtooth\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"synth\", \"synthesizer\", \"sound\", \"audio\", \"music\", \"waveform\"],\n codepoint: 60060,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"wave-sine\",\n pascal_name: \"WaveSine\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"synth\", \"synthesizer\", \"sound\", \"audio\", \"music\", \"waveform\"],\n codepoint: 60058,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"wave-square\",\n pascal_name: \"WaveSquare\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"synth\", \"synthesizer\", \"sound\", \"audio\", \"music\", \"waveform\"],\n codepoint: 60062,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"wave-triangle\",\n pascal_name: \"WaveTriangle\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"synth\", \"synthesizer\", \"sound\", \"audio\", \"music\", \"waveform\"],\n codepoint: 60064,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"waveform\",\n pascal_name: \"Waveform\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"*updated*\", \"audio\", \"sound\", \"spectrum\", \"spectrograph\", \"music\"],\n codepoint: 59394,\n published_in: 2,\n updated_in: 2.1\n },\n {\n name: \"waveform-slash\",\n pascal_name: \"WaveformSlash\",\n categories: [e.MEDIA],\n figma_category: a.MEDIA,\n tags: [\"*new*\", \"audio\", \"sound\", \"spectrum\", \"spectrograph\", \"music\"],\n codepoint: 59392,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"waves\",\n pascal_name: \"Waves\",\n categories: [e.NATURE, e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"ocean\", \"tides\", \"surf\"],\n codepoint: 59102,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"webcam\",\n pascal_name: \"Webcam\",\n categories: [\n e.OBJECTS,\n e.SYSTEM,\n e.COMMUNICATION\n ],\n figma_category: a.MEDIA,\n tags: [\"camera\", \"video conference\"],\n codepoint: 59826,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"webcam-slash\",\n pascal_name: \"WebcamSlash\",\n categories: [\n e.COMMUNICATION,\n e.OBJECTS,\n e.SYSTEM\n ],\n figma_category: a.MEDIA,\n tags: [\"camera\", \"video conference\"],\n codepoint: 60636,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"webhooks-logo\",\n pascal_name: \"WebhooksLogo\",\n categories: [e.DEVELOPMENT, e.BRAND],\n figma_category: a.DEVELOPMENT,\n tags: [\"api\"],\n codepoint: 60590,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"wechat-logo\",\n pascal_name: \"WechatLogo\",\n categories: [e.BRAND],\n figma_category: a.BRAND,\n tags: [\"weixin\", \"logos\"],\n codepoint: 59602,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"whatsapp-logo\",\n pascal_name: \"WhatsappLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"logos\", \"messages\", \"messaging\"],\n codepoint: 58832,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"wheelchair\",\n pascal_name: \"Wheelchair\",\n categories: [e.HEALTH, e.MAP, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"handicapped\",\n \"medical\",\n \"disabled\",\n \"differently abled\",\n \"accessible\",\n \"accessibility\",\n \"a11y\"\n ],\n codepoint: 58600,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"wheelchair-motion\",\n pascal_name: \"WheelchairMotion\",\n categories: [e.HEALTH, e.MAP, e.PEOPLE],\n figma_category: a.PEOPLE,\n tags: [\n \"handicapped\",\n \"medical\",\n \"disabled\",\n \"differently abled\",\n \"accessible\",\n \"accessibility\",\n \"a11y\"\n ],\n codepoint: 59546,\n published_in: 2,\n updated_in: 2\n },\n {\n name: \"wifi-high\",\n pascal_name: \"WifiHigh\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"wireless\", \"internet\", \"network\", \"connection\", \"connectivity\"],\n codepoint: 58602,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"wifi-low\",\n pascal_name: \"WifiLow\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"wireless\", \"internet\", \"network\", \"connection\", \"connectivity\"],\n codepoint: 58604,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"wifi-medium\",\n pascal_name: \"WifiMedium\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"wireless\", \"internet\", \"network\", \"connection\", \"connectivity\"],\n codepoint: 58606,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"wifi-none\",\n pascal_name: \"WifiNone\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\"wireless\", \"internet\", \"network\", \"connection\", \"connectivity\"],\n codepoint: 58608,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"wifi-slash\",\n pascal_name: \"WifiSlash\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"wireless\",\n \"internet\",\n \"network\",\n \"connection\",\n \"connectivity\",\n \"disabled\",\n \"disconnected\"\n ],\n codepoint: 58610,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"wifi-x\",\n pascal_name: \"WifiX\",\n categories: [e.SYSTEM],\n figma_category: a.SYSTEM,\n tags: [\n \"wireless\",\n \"internet\",\n \"network\",\n \"connection\",\n \"connectivity\",\n \"disconnected\",\n \"errors\"\n ],\n codepoint: 58612,\n published_in: 1,\n updated_in: 1.4\n },\n {\n name: \"wind\",\n pascal_name: \"Wind\",\n categories: [e.WEATHER],\n figma_category: a.WEATHER,\n tags: [\"meteorology\", \"windy\", \"stormy\", \"blustery\", \"gusty\", \"air\"],\n codepoint: 58834,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"windmill\",\n pascal_name: \"Windmill\",\n categories: [e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\n \"*new*\",\n \"turbine\",\n \"energy\",\n \"renewable\",\n \"sustainability\",\n \"countryside\",\n \"landscape\",\n \"green\",\n \"power\",\n \"buildings\"\n ],\n codepoint: 59896,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"windows-logo\",\n pascal_name: \"WindowsLogo\",\n categories: [e.BRAND, e.DEVELOPMENT],\n figma_category: a.BRAND,\n tags: [\"microsoft\", \"computers\"],\n codepoint: 59026,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"wine\",\n pascal_name: \"Wine\",\n categories: [e.COMMERCE, e.MAP, e.OBJECTS],\n figma_category: a.COMMERCE,\n tags: [\n \"drinks\",\n \"beverages\",\n \"vineyard\",\n \"places\",\n \"locations\",\n \"bars\",\n \"restaurants\",\n \"food\",\n \"dining\"\n ],\n codepoint: 59058,\n published_in: 1.3,\n updated_in: 1.3\n },\n {\n name: \"wrench\",\n pascal_name: \"Wrench\",\n categories: [\n e.SYSTEM,\n e.OBJECTS,\n e.COMMERCE\n ],\n figma_category: a.COMMERCE,\n tags: [\n \"settings\",\n \"setup\",\n \"preferences\",\n \"tools\",\n \"machinery\",\n \"mechanical\",\n \"repairs\"\n ],\n codepoint: 58836,\n published_in: 1.1,\n updated_in: 1.1\n },\n {\n name: \"x\",\n pascal_name: \"X\",\n categories: [\n e.DEVELOPMENT,\n e.FINANCE,\n e.SYSTEM\n ],\n figma_category: a.FINANCE,\n tags: [\n \"×\",\n \"closed\",\n \"cancelled\",\n \"dismissed\",\n \"times\",\n \"multiply\",\n \"mulitplication\",\n \"product\",\n \"mathematics\",\n \"arithmetic\",\n \"calculator\"\n ],\n codepoint: 58614,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"x-circle\",\n pascal_name: \"XCircle\",\n categories: [e.SYSTEM],\n figma_category: a.FINANCE,\n tags: [\"closed\", \"cancelled\", \"dismissed\", \"round\"],\n codepoint: 58616,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"x-logo\",\n pascal_name: \"XLogo\",\n categories: [e.BRAND, e.COMMUNICATION],\n figma_category: a.BRAND,\n tags: [\"*new*\", \"twitter\", \"logos\", \"social media\", \"tweets\"],\n codepoint: 58556,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"x-square\",\n pascal_name: \"XSquare\",\n categories: [e.SYSTEM],\n figma_category: a.FINANCE,\n tags: [\"closed\", \"cancelled\", \"dismissed\"],\n codepoint: 58618,\n published_in: 1,\n updated_in: 1\n },\n {\n name: \"yarn\",\n pascal_name: \"Yarn\",\n categories: [e.GAMES, e.COMMERCE],\n figma_category: a.COMMERCE,\n tags: [\"*new*\", \"knitting\", \"sewing\"],\n codepoint: 60826,\n published_in: 2.1,\n updated_in: 2.1\n },\n {\n name: \"yin-yang\",\n pascal_name: \"YinYang\",\n categories: [e.COMMUNICATION],\n figma_category: a.COMMUNICATION,\n tags: [\"symbol\", \"good\", \"evil\", \"black\", \"white\"],\n codepoint: 59690,\n published_in: 1.4,\n updated_in: 1.4\n },\n {\n name: \"youtube-logo\",\n pascal_name: \"YoutubeLogo\",\n categories: [\n e.BRAND,\n e.COMMUNICATION,\n e.MEDIA\n ],\n figma_category: a.BRAND,\n tags: [\"logos\", \"google\", \"videos\", \"movies\", \"social media\"],\n codepoint: 58620,\n published_in: 1,\n updated_in: 1\n }\n];\nexport {\n a as FigmaCategory,\n e as IconCategory,\n t as IconStyle,\n n as icons\n};\n","import{useEffect as e,useRef as n,useState as t,useLayoutEffect as o}from\"react\";const r=({ref:n,onClose:t,useClickOutsideEvent:o=!0})=>{e((()=>{const e=e=>{n.current&&!n.current.contains(e.target)&&t(e)};return o?document.addEventListener(\"mousedown\",e):document.removeEventListener(\"mousedown\",e),()=>{o&&document.removeEventListener(\"mousedown\",e)}}),[n.current,o])},s=({onClose:e,useClickOutsideEvent:t})=>{const o=n(null);return r({ref:o,onClose:e,useClickOutsideEvent:t}),{contentRef:o}},u=({initialValues:e,validate:n})=>{const[o,r]=t(e),[s,u]=t({});return{values:o,setValues:e=>{const t=\"function\"==typeof e?e(o):e;if(r(t),n){const e=n(t);u(e)}},errors:s,handleChange:t=>{const{name:s,value:c}=t.target;if(s in e&&(r({...o,[s]:c}),n)){const e=n({...o,[s]:c});u(e)}},setErrors:u}},c=\"undefined\"!=typeof window?o:e;export{r as useClickOutSideEffect,s as useClickOutside,u as useForm,c as useIsomorphicLayoutEffect};\n//# sourceMappingURL=index.es.js.map\n","const n=({internalEventHandler:n,externalEventHandler:e})=>(t,...o)=>{t.stopPropagation(),n(t,...o),e&&e(t,...o)},e=({disabled:n=!1,fn:e})=>n?void 0:e(),t=()=>\"undefined\"==typeof window,o=(...n)=>e=>{n.forEach((n=>{\"function\"==typeof n?n(e):n&&(n.current=e)}))};export{n as composeEventHandler,e as executeFunction,t as isServer,o as mergeRefs};\n//# sourceMappingURL=index.es.js.map\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","/*!\n* tabbable 6.2.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/\n// NOTE: separate `:not()` selectors has broader browser support than the newer\n// `:not([inert], [inert] *)` (Feb 2023)\n// CAREFUL: JSDom does not support `:not([inert] *)` as a selector; using it causes\n// the entire query to fail, resulting in no nodes found, which will break a lot\n// of things... so we have to rely on JS to identify nodes inside an inert container\nvar candidateSelectors = ['input:not([inert])', 'select:not([inert])', 'textarea:not([inert])', 'a[href]:not([inert])', 'button:not([inert])', '[tabindex]:not(slot):not([inert])', 'audio[controls]:not([inert])', 'video[controls]:not([inert])', '[contenteditable]:not([contenteditable=\"false\"]):not([inert])', 'details>summary:first-of-type:not([inert])', 'details:not([inert])'];\nvar candidateSelector = /* #__PURE__ */candidateSelectors.join(',');\nvar NoElement = typeof Element === 'undefined';\nvar matches = NoElement ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\nvar getRootNode = !NoElement && Element.prototype.getRootNode ? function (element) {\n var _element$getRootNode;\n return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);\n} : function (element) {\n return element === null || element === void 0 ? void 0 : element.ownerDocument;\n};\n\n/**\n * Determines if a node is inert or in an inert ancestor.\n * @param {Element} [node]\n * @param {boolean} [lookUp] If true and `node` is not inert, looks up at ancestors to\n * see if any of them are inert. If false, only `node` itself is considered.\n * @returns {boolean} True if inert itself or by way of being in an inert ancestor.\n * False if `node` is falsy.\n */\nvar isInert = function isInert(node, lookUp) {\n var _node$getAttribute;\n if (lookUp === void 0) {\n lookUp = true;\n }\n // CAREFUL: JSDom does not support inert at all, so we can't use the `HTMLElement.inert`\n // JS API property; we have to check the attribute, which can either be empty or 'true';\n // if it's `null` (not specified) or 'false', it's an active element\n var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, 'inert');\n var inert = inertAtt === '' || inertAtt === 'true';\n\n // NOTE: this could also be handled with `node.matches('[inert], :is([inert] *)')`\n // if it weren't for `matches()` not being a function on shadow roots; the following\n // code works for any kind of node\n // CAREFUL: JSDom does not appear to support certain selectors like `:not([inert] *)`\n // so it likely would not support `:is([inert] *)` either...\n var result = inert || lookUp && node && isInert(node.parentNode); // recursive\n\n return result;\n};\n\n/**\n * Determines if a node's content is editable.\n * @param {Element} [node]\n * @returns True if it's content-editable; false if it's not or `node` is falsy.\n */\nvar isContentEditable = function isContentEditable(node) {\n var _node$getAttribute2;\n // CAREFUL: JSDom does not support the `HTMLElement.isContentEditable` API so we have\n // to use the attribute directly to check for this, which can either be empty or 'true';\n // if it's `null` (not specified) or 'false', it's a non-editable element\n var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, 'contenteditable');\n return attValue === '' || attValue === 'true';\n};\n\n/**\n * @param {Element} el container to check in\n * @param {boolean} includeContainer add container to check\n * @param {(node: Element) => boolean} filter filter candidates\n * @returns {Element[]}\n */\nvar getCandidates = function getCandidates(el, includeContainer, filter) {\n // even if `includeContainer=false`, we still have to check it for inertness because\n // if it's inert, all its children are inert\n if (isInert(el)) {\n return [];\n }\n var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\n\n/**\n * @callback GetShadowRoot\n * @param {Element} element to check for shadow root\n * @returns {ShadowRoot|boolean} ShadowRoot if available or boolean indicating if a shadowRoot is attached but not available.\n */\n\n/**\n * @callback ShadowRootFilter\n * @param {Element} shadowHostNode the element which contains shadow content\n * @returns {boolean} true if a shadow root could potentially contain valid candidates.\n */\n\n/**\n * @typedef {Object} CandidateScope\n * @property {Element} scopeParent contains inner candidates\n * @property {Element[]} candidates list of candidates found in the scope parent\n */\n\n/**\n * @typedef {Object} IterativeOptions\n * @property {GetShadowRoot|boolean} getShadowRoot true if shadow support is enabled; falsy if not;\n * if a function, implies shadow support is enabled and either returns the shadow root of an element\n * or a boolean stating if it has an undisclosed shadow root\n * @property {(node: Element) => boolean} filter filter candidates\n * @property {boolean} flatten if true then result will flatten any CandidateScope into the returned list\n * @property {ShadowRootFilter} shadowRootFilter filter shadow roots;\n */\n\n/**\n * @param {Element[]} elements list of element containers to match candidates from\n * @param {boolean} includeContainer add container list to check\n * @param {IterativeOptions} options\n * @returns {Array.<Element|CandidateScope>}\n */\nvar getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {\n var candidates = [];\n var elementsToCheck = Array.from(elements);\n while (elementsToCheck.length) {\n var element = elementsToCheck.shift();\n if (isInert(element, false)) {\n // no need to look up since we're drilling down\n // anything inside this container will also be inert\n continue;\n }\n if (element.tagName === 'SLOT') {\n // add shadow dom slot scope (slot itself cannot be focusable)\n var assigned = element.assignedElements();\n var content = assigned.length ? assigned : element.children;\n var nestedCandidates = getCandidatesIteratively(content, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: nestedCandidates\n });\n }\n } else {\n // check candidate element\n var validCandidate = matches.call(element, candidateSelector);\n if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {\n candidates.push(element);\n }\n\n // iterate over shadow content if possible\n var shadowRoot = element.shadowRoot ||\n // check for an undisclosed shadow\n typeof options.getShadowRoot === 'function' && options.getShadowRoot(element);\n\n // no inert look up because we're already drilling down and checking for inertness\n // on the way down, so all containers to this root node should have already been\n // vetted as non-inert\n var validShadowRoot = !isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));\n if (shadowRoot && validShadowRoot) {\n // add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed\n // shadow exists, so look at light dom children as fallback BUT create a scope for any\n // child candidates found because they're likely slotted elements (elements that are\n // children of the web component element (which has the shadow), in the light dom, but\n // slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,\n // _after_ we return from this recursive call\n var _nestedCandidates = getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, _nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: _nestedCandidates\n });\n }\n } else {\n // there's not shadow so just dig into the element's (light dom) children\n // __without__ giving the element special scope treatment\n elementsToCheck.unshift.apply(elementsToCheck, element.children);\n }\n }\n }\n return candidates;\n};\n\n/**\n * @private\n * Determines if the node has an explicitly specified `tabindex` attribute.\n * @param {HTMLElement} node\n * @returns {boolean} True if so; false if not.\n */\nvar hasTabIndex = function hasTabIndex(node) {\n return !isNaN(parseInt(node.getAttribute('tabindex'), 10));\n};\n\n/**\n * Determine the tab index of a given node.\n * @param {HTMLElement} node\n * @returns {number} Tab order (negative, 0, or positive number).\n * @throws {Error} If `node` is falsy.\n */\nvar getTabIndex = function getTabIndex(node) {\n if (!node) {\n throw new Error('No node provided');\n }\n if (node.tabIndex < 0) {\n // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default\n // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,\n // yet they are still part of the regular tab order; in FF, they get a default\n // `tabIndex` of 0; since Chrome still puts those elements in the regular tab\n // order, consider their tab index to be 0.\n // Also browsers do not return `tabIndex` correctly for contentEditable nodes;\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) {\n return 0;\n }\n }\n return node.tabIndex;\n};\n\n/**\n * Determine the tab index of a given node __for sort order purposes__.\n * @param {HTMLElement} node\n * @param {boolean} [isScope] True for a custom element with shadow root or slot that, by default,\n * has tabIndex -1, but needs to be sorted by document order in order for its content to be\n * inserted into the correct sort position.\n * @returns {number} Tab order (negative, 0, or positive number).\n */\nvar getSortOrderTabIndex = function getSortOrderTabIndex(node, isScope) {\n var tabIndex = getTabIndex(node);\n if (tabIndex < 0 && isScope && !hasTabIndex(node)) {\n return 0;\n }\n return tabIndex;\n};\nvar sortOrderedTabbables = function sortOrderedTabbables(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n};\nvar isInput = function isInput(node) {\n return node.tagName === 'INPUT';\n};\nvar isHiddenInput = function isHiddenInput(node) {\n return isInput(node) && node.type === 'hidden';\n};\nvar isDetailsWithSummary = function isDetailsWithSummary(node) {\n var r = node.tagName === 'DETAILS' && Array.prototype.slice.apply(node.children).some(function (child) {\n return child.tagName === 'SUMMARY';\n });\n return r;\n};\nvar getCheckedRadio = function getCheckedRadio(nodes, form) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked && nodes[i].form === form) {\n return nodes[i];\n }\n }\n};\nvar isTabbableRadio = function isTabbableRadio(node) {\n if (!node.name) {\n return true;\n }\n var radioScope = node.form || getRootNode(node);\n var queryRadios = function queryRadios(name) {\n return radioScope.querySelectorAll('input[type=\"radio\"][name=\"' + name + '\"]');\n };\n var radioSet;\n if (typeof window !== 'undefined' && typeof window.CSS !== 'undefined' && typeof window.CSS.escape === 'function') {\n radioSet = queryRadios(window.CSS.escape(node.name));\n } else {\n try {\n radioSet = queryRadios(node.name);\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s', err.message);\n return false;\n }\n }\n var checked = getCheckedRadio(radioSet, node.form);\n return !checked || checked === node;\n};\nvar isRadio = function isRadio(node) {\n return isInput(node) && node.type === 'radio';\n};\nvar isNonTabbableRadio = function isNonTabbableRadio(node) {\n return isRadio(node) && !isTabbableRadio(node);\n};\n\n// determines if a node is ultimately attached to the window's document\nvar isNodeAttached = function isNodeAttached(node) {\n var _nodeRoot;\n // The root node is the shadow root if the node is in a shadow DOM; some document otherwise\n // (but NOT _the_ document; see second 'If' comment below for more).\n // If rootNode is shadow root, it'll have a host, which is the element to which the shadow\n // is attached, and the one we need to check if it's in the document or not (because the\n // shadow, and all nodes it contains, is never considered in the document since shadows\n // behave like self-contained DOMs; but if the shadow's HOST, which is part of the document,\n // is hidden, or is not in the document itself but is detached, it will affect the shadow's\n // visibility, including all the nodes it contains). The host could be any normal node,\n // or a custom element (i.e. web component). Either way, that's the one that is considered\n // part of the document, not the shadow root, nor any of its children (i.e. the node being\n // tested).\n // To further complicate things, we have to look all the way up until we find a shadow HOST\n // that is attached (or find none) because the node might be in nested shadows...\n // If rootNode is not a shadow root, it won't have a host, and so rootNode should be the\n // document (per the docs) and while it's a Document-type object, that document does not\n // appear to be the same as the node's `ownerDocument` for some reason, so it's safer\n // to ignore the rootNode at this point, and use `node.ownerDocument`. Otherwise,\n // using `rootNode.contains(node)` will _always_ be true we'll get false-positives when\n // node is actually detached.\n // NOTE: If `nodeRootHost` or `node` happens to be the `document` itself (which is possible\n // if a tabbable/focusable node was quickly added to the DOM, focused, and then removed\n // from the DOM as in https://github.com/focus-trap/focus-trap-react/issues/905), then\n // `ownerDocument` will be `null`, hence the optional chaining on it.\n var nodeRoot = node && getRootNode(node);\n var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;\n\n // in some cases, a detached node will return itself as the root instead of a document or\n // shadow root object, in which case, we shouldn't try to look further up the host chain\n var attached = false;\n if (nodeRoot && nodeRoot !== node) {\n var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;\n attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node));\n while (!attached && nodeRootHost) {\n var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;\n // since it's not attached and we have a root host, the node MUST be in a nested shadow DOM,\n // which means we need to get the host's host and check if that parent host is contained\n // in (i.e. attached to) the document\n nodeRoot = getRootNode(nodeRootHost);\n nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;\n attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));\n }\n }\n return attached;\n};\nvar isZeroArea = function isZeroArea(node) {\n var _node$getBoundingClie = node.getBoundingClientRect(),\n width = _node$getBoundingClie.width,\n height = _node$getBoundingClie.height;\n return width === 0 && height === 0;\n};\nvar isHidden = function isHidden(node, _ref) {\n var displayCheck = _ref.displayCheck,\n getShadowRoot = _ref.getShadowRoot;\n // NOTE: visibility will be `undefined` if node is detached from the document\n // (see notes about this further down), which means we will consider it visible\n // (this is legacy behavior from a very long way back)\n // NOTE: we check this regardless of `displayCheck=\"none\"` because this is a\n // _visibility_ check, not a _display_ check\n if (getComputedStyle(node).visibility === 'hidden') {\n return true;\n }\n var isDirectSummary = matches.call(node, 'details>summary:first-of-type');\n var nodeUnderDetails = isDirectSummary ? node.parentElement : node;\n if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {\n return true;\n }\n if (!displayCheck || displayCheck === 'full' || displayCheck === 'legacy-full') {\n if (typeof getShadowRoot === 'function') {\n // figure out if we should consider the node to be in an undisclosed shadow and use the\n // 'non-zero-area' fallback\n var originalNode = node;\n while (node) {\n var parentElement = node.parentElement;\n var rootNode = getRootNode(node);\n if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true // check if there's an undisclosed shadow\n ) {\n // node has an undisclosed shadow which means we can only treat it as a black box, so we\n // fall back to a non-zero-area test\n return isZeroArea(node);\n } else if (node.assignedSlot) {\n // iterate up slot\n node = node.assignedSlot;\n } else if (!parentElement && rootNode !== node.ownerDocument) {\n // cross shadow boundary\n node = rootNode.host;\n } else {\n // iterate up normal dom\n node = parentElement;\n }\n }\n node = originalNode;\n }\n // else, `getShadowRoot` might be true, but all that does is enable shadow DOM support\n // (i.e. it does not also presume that all nodes might have undisclosed shadows); or\n // it might be a falsy value, which means shadow DOM support is disabled\n\n // Since we didn't find it sitting in an undisclosed shadow (or shadows are disabled)\n // now we can just test to see if it would normally be visible or not, provided it's\n // attached to the main document.\n // NOTE: We must consider case where node is inside a shadow DOM and given directly to\n // `isTabbable()` or `isFocusable()` -- regardless of `getShadowRoot` option setting.\n\n if (isNodeAttached(node)) {\n // this works wherever the node is: if there's at least one client rect, it's\n // somehow displayed; it also covers the CSS 'display: contents' case where the\n // node itself is hidden in place of its contents; and there's no need to search\n // up the hierarchy either\n return !node.getClientRects().length;\n }\n\n // Else, the node isn't attached to the document, which means the `getClientRects()`\n // API will __always__ return zero rects (this can happen, for example, if React\n // is used to render nodes onto a detached tree, as confirmed in this thread:\n // https://github.com/facebook/react/issues/9117#issuecomment-284228870)\n //\n // It also means that even window.getComputedStyle(node).display will return `undefined`\n // because styles are only computed for nodes that are in the document.\n //\n // NOTE: THIS HAS BEEN THE CASE FOR YEARS. It is not new, nor is it caused by tabbable\n // somehow. Though it was never stated officially, anyone who has ever used tabbable\n // APIs on nodes in detached containers has actually implicitly used tabbable in what\n // was later (as of v5.2.0 on Apr 9, 2021) called `displayCheck=\"none\"` mode -- essentially\n // considering __everything__ to be visible because of the innability to determine styles.\n //\n // v6.0.0: As of this major release, the default 'full' option __no longer treats detached\n // nodes as visible with the 'none' fallback.__\n if (displayCheck !== 'legacy-full') {\n return true; // hidden\n }\n // else, fallback to 'none' mode and consider the node visible\n } else if (displayCheck === 'non-zero-area') {\n // NOTE: Even though this tests that the node's client rect is non-zero to determine\n // whether it's displayed, and that a detached node will __always__ have a zero-area\n // client rect, we don't special-case for whether the node is attached or not. In\n // this mode, we do want to consider nodes that have a zero area to be hidden at all\n // times, and that includes attached or not.\n return isZeroArea(node);\n }\n\n // visible, as far as we can tell, or per current `displayCheck=none` mode, we assume\n // it's visible\n return false;\n};\n\n// form fields (nested) inside a disabled fieldset are not focusable/tabbable\n// unless they are in the _first_ <legend> element of the top-most disabled\n// fieldset\nvar isDisabledFromFieldset = function isDisabledFromFieldset(node) {\n if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {\n var parentNode = node.parentElement;\n // check if `node` is contained in a disabled <fieldset>\n while (parentNode) {\n if (parentNode.tagName === 'FIELDSET' && parentNode.disabled) {\n // look for the first <legend> among the children of the disabled <fieldset>\n for (var i = 0; i < parentNode.children.length; i++) {\n var child = parentNode.children.item(i);\n // when the first <legend> (in document order) is found\n if (child.tagName === 'LEGEND') {\n // if its parent <fieldset> is not nested in another disabled <fieldset>,\n // return whether `node` is a descendant of its first <legend>\n return matches.call(parentNode, 'fieldset[disabled] *') ? true : !child.contains(node);\n }\n }\n // the disabled <fieldset> containing `node` has no <legend>\n return true;\n }\n parentNode = parentNode.parentElement;\n }\n }\n\n // else, node's tabbable/focusable state should not be affected by a fieldset's\n // enabled/disabled state\n return false;\n};\nvar isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {\n if (node.disabled ||\n // we must do an inert look up to filter out any elements inside an inert ancestor\n // because we're limited in the type of selectors we can use in JSDom (see related\n // note related to `candidateSelectors`)\n isInert(node) || isHiddenInput(node) || isHidden(node, options) ||\n // For a details element with a summary, the summary element gets the focus\n isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {\n return false;\n }\n return true;\n};\nvar isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {\n if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {\n return false;\n }\n return true;\n};\nvar isValidShadowRootTabbable = function isValidShadowRootTabbable(shadowHostNode) {\n var tabIndex = parseInt(shadowHostNode.getAttribute('tabindex'), 10);\n if (isNaN(tabIndex) || tabIndex >= 0) {\n return true;\n }\n // If a custom element has an explicit negative tabindex,\n // browsers will not allow tab targeting said element's children.\n return false;\n};\n\n/**\n * @param {Array.<Element|CandidateScope>} candidates\n * @returns Element[]\n */\nvar sortByOrder = function sortByOrder(candidates) {\n var regularTabbables = [];\n var orderedTabbables = [];\n candidates.forEach(function (item, i) {\n var isScope = !!item.scopeParent;\n var element = isScope ? item.scopeParent : item;\n var candidateTabindex = getSortOrderTabIndex(element, isScope);\n var elements = isScope ? sortByOrder(item.candidates) : element;\n if (candidateTabindex === 0) {\n isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n item: item,\n isScope: isScope,\n content: elements\n });\n }\n });\n return orderedTabbables.sort(sortOrderedTabbables).reduce(function (acc, sortable) {\n sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);\n return acc;\n }, []).concat(regularTabbables);\n};\nvar tabbable = function tabbable(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorTabbable.bind(null, options),\n flatten: false,\n getShadowRoot: options.getShadowRoot,\n shadowRootFilter: isValidShadowRootTabbable\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));\n }\n return sortByOrder(candidates);\n};\nvar focusable = function focusable(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorFocusable.bind(null, options),\n flatten: true,\n getShadowRoot: options.getShadowRoot\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));\n }\n return candidates;\n};\nvar isTabbable = function isTabbable(node, options) {\n options = options || {};\n if (!node) {\n throw new Error('No node provided');\n }\n if (matches.call(node, candidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorTabbable(options, node);\n};\nvar focusableCandidateSelector = /* #__PURE__ */candidateSelectors.concat('iframe').join(',');\nvar isFocusable = function isFocusable(node, options) {\n options = options || {};\n if (!node) {\n throw new Error('No node provided');\n }\n if (matches.call(node, focusableCandidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorFocusable(options, node);\n};\n\nexport { focusable, getTabIndex, isFocusable, isTabbable, tabbable };\n//# sourceMappingURL=index.esm.js.map\n","import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';\nimport * as React from 'react';\nimport { useLayoutEffect, useEffect } from 'react';\nimport { floor } from '@floating-ui/utils';\nimport { tabbable } from 'tabbable';\n\n// Avoid Chrome DevTools blue warning.\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData != null && uaData.platform) {\n return uaData.platform;\n }\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(_ref => {\n let {\n brand,\n version\n } = _ref;\n return brand + \"/\" + version;\n }).join(' ');\n }\n return navigator.userAgent;\n}\nfunction isSafari() {\n // Chrome DevTools does not complain about navigator.vendor\n return /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes('jsdom/');\n}\n\nconst FOCUSABLE_ATTRIBUTE = 'data-floating-ui-focusable';\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),\" + \"[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nconst ARROW_LEFT = 'ArrowLeft';\nconst ARROW_RIGHT = 'ArrowRight';\nconst ARROW_UP = 'ArrowUp';\nconst ARROW_DOWN = 'ArrowDown';\n\nfunction activeElement(doc) {\n let activeElement = doc.activeElement;\n while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n var _activeElement;\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\n}\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\nfunction isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const e = event;\n return e.target != null && node.contains(e.target);\n}\nfunction isRootElement(element) {\n return element.matches('html,body');\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\nfunction matchesFocusVisible(element) {\n // We don't want to block focus from working with `visibleOnly`\n // (JSDOM doesn't match `:focus-visible` when the element has `:focus`)\n if (!element || isJSDOM()) return true;\n try {\n return element.matches(':focus-visible');\n } catch (_e) {\n return true;\n }\n}\nfunction getFloatingFocusElement(floatingElement) {\n if (!floatingElement) {\n return null;\n }\n // Try to find the element that has `{...getFloatingProps()}` spread on it.\n // This indicates the floating element is acting as a positioning wrapper, and\n // so focus should be managed on the child element with the event handlers and\n // aria props.\n return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(\"[\" + FOCUSABLE_ATTRIBUTE + \"]\") || floatingElement;\n}\n\nfunction getNodeChildren(nodes, id, onlyOpenChildren) {\n if (onlyOpenChildren === void 0) {\n onlyOpenChildren = true;\n }\n let allChildren = nodes.filter(node => {\n var _node$context;\n return node.parentId === id && ((_node$context = node.context) == null ? void 0 : _node$context.open);\n });\n let currentChildren = allChildren;\n while (currentChildren.length) {\n currentChildren = onlyOpenChildren ? nodes.filter(node => {\n var _currentChildren;\n return (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some(n => {\n var _node$context2;\n return node.parentId === n.id && ((_node$context2 = node.context) == null ? void 0 : _node$context2.open);\n });\n }) : nodes;\n allChildren = allChildren.concat(currentChildren);\n }\n return allChildren;\n}\nfunction getDeepestNode(nodes, id) {\n let deepestNodeId;\n let maxDepth = -1;\n function findDeepest(nodeId, depth) {\n if (depth > maxDepth) {\n deepestNodeId = nodeId;\n maxDepth = depth;\n }\n const children = getNodeChildren(nodes, nodeId);\n children.forEach(child => {\n findDeepest(child.id, depth + 1);\n });\n }\n findDeepest(id, 0);\n return nodes.find(node => node.id === deepestNodeId);\n}\nfunction getNodeAncestors(nodes, id) {\n var _nodes$find;\n let allAncestors = [];\n let currentParentId = (_nodes$find = nodes.find(node => node.id === id)) == null ? void 0 : _nodes$find.parentId;\n while (currentParentId) {\n const currentNode = nodes.find(node => node.id === currentParentId);\n currentParentId = currentNode == null ? void 0 : currentNode.parentId;\n if (currentNode) {\n allAncestors = allAncestors.concat(currentNode);\n }\n }\n return allAncestors;\n}\n\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isReactEvent(event) {\n return 'nativeEvent' in event;\n}\n\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n // FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.\n // Try to find a workaround for this. `react-aria` source still has the check.\n if (event.mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n if (isAndroid() && event.pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||\n // iOS VoiceOver returns 0.333• for width/height.\n event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n // On some Linux machines with Chromium, mouse inputs return a `pointerType`\n // of \"pen\": https://github.com/floating-ui/floating-ui/issues/2015\n const values = ['mouse', 'pen'];\n if (!strict) {\n values.push('', undefined);\n }\n return values.includes(pointerType);\n}\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\n// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\nconst SafeReact = {\n ...React\n};\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\nconst useInsertionEffect = SafeReact.useInsertionEffect;\nconst useSafeInsertionEffect = useInsertionEffect || (fn => fn());\nfunction useEffectEvent(callback) {\n const ref = React.useRef(() => {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error('Cannot call an event handler while rendering.');\n }\n });\n useSafeInsertionEffect(() => {\n ref.current = callback;\n });\n return React.useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return ref.current == null ? void 0 : ref.current(...args);\n }, []);\n}\n\nfunction isDifferentGridRow(index, cols, prevRow) {\n return Math.floor(index / cols) !== prevRow;\n}\nfunction isIndexOutOfListBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\nfunction getMinListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n disabledIndices\n });\n}\nfunction getMaxListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\nfunction findNonDisabledListIndex(listRef, _temp) {\n let {\n startingIndex = -1,\n decrement = false,\n disabledIndices,\n amount = 1\n } = _temp === void 0 ? {} : _temp;\n let index = startingIndex;\n do {\n index += decrement ? -amount : amount;\n } while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));\n return index;\n}\nfunction getGridNavigatedIndex(listRef, _ref) {\n let {\n event,\n orientation,\n loop,\n rtl,\n cols,\n disabledIndices,\n minIndex,\n maxIndex,\n prevIndex,\n stopEvent: stop = false\n } = _ref;\n let nextIndex = prevIndex;\n if (event.key === ARROW_UP) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = maxIndex;\n } else {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: nextIndex,\n amount: cols,\n decrement: true,\n disabledIndices\n });\n if (loop && (prevIndex - cols < minIndex || nextIndex < 0)) {\n const col = prevIndex % cols;\n const maxCol = maxIndex % cols;\n const offset = maxIndex - (maxCol - col);\n if (maxCol === col) {\n nextIndex = maxIndex;\n } else {\n nextIndex = maxCol > col ? offset : offset - cols;\n }\n }\n }\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === ARROW_DOWN) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = minIndex;\n } else {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n amount: cols,\n disabledIndices\n });\n if (loop && prevIndex + cols > maxIndex) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex % cols - cols,\n amount: cols,\n disabledIndices\n });\n }\n }\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n\n // Remains on the same row/column.\n if (orientation === 'both') {\n const prevRow = floor(prevIndex / cols);\n if (event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT)) {\n stop && stopEvent(event);\n if (prevIndex % cols !== cols - 1) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n disabledIndices\n });\n if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n if (isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT)) {\n stop && stopEvent(event);\n if (prevIndex % cols !== 0) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n decrement: true,\n disabledIndices\n });\n if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n if (isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n const lastRow = floor(maxIndex / cols) === prevRow;\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n if (loop && lastRow) {\n nextIndex = event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT) ? maxIndex : findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n } else {\n nextIndex = prevIndex;\n }\n }\n }\n return nextIndex;\n}\n\n/** For each cell index, gets the item index that occupies that cell */\nfunction createGridCellMap(sizes, cols, dense) {\n const cellMap = [];\n let startIndex = 0;\n sizes.forEach((_ref2, index) => {\n let {\n width,\n height\n } = _ref2;\n if (width > cols) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\"[Floating UI]: Invalid grid - item width at index \" + index + \" is greater than grid columns\");\n }\n }\n let itemPlaced = false;\n if (dense) {\n startIndex = 0;\n }\n while (!itemPlaced) {\n const targetCells = [];\n for (let i = 0; i < width; i++) {\n for (let j = 0; j < height; j++) {\n targetCells.push(startIndex + i + j * cols);\n }\n }\n if (startIndex % cols + width <= cols && targetCells.every(cell => cellMap[cell] == null)) {\n targetCells.forEach(cell => {\n cellMap[cell] = index;\n });\n itemPlaced = true;\n } else {\n startIndex++;\n }\n }\n });\n\n // convert into a non-sparse array\n return [...cellMap];\n}\n\n/** Gets cell index of an item's corner or -1 when index is -1. */\nfunction getGridCellIndexOfCorner(index, sizes, cellMap, cols, corner) {\n if (index === -1) return -1;\n const firstCellIndex = cellMap.indexOf(index);\n const sizeItem = sizes[index];\n switch (corner) {\n case 'tl':\n return firstCellIndex;\n case 'tr':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + sizeItem.width - 1;\n case 'bl':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + (sizeItem.height - 1) * cols;\n case 'br':\n return cellMap.lastIndexOf(index);\n }\n}\n\n/** Gets all cell indices that correspond to the specified indices */\nfunction getGridCellIndices(indices, cellMap) {\n return cellMap.flatMap((index, cellIndex) => indices.includes(index) ? [cellIndex] : []);\n}\nfunction isListIndexDisabled(listRef, index, disabledIndices) {\n if (disabledIndices) {\n return disabledIndices.includes(index);\n }\n const element = listRef.current[index];\n return element == null || element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true';\n}\n\nconst getTabbableOptions = () => ({\n getShadowRoot: true,\n displayCheck:\n // JSDOM does not support the `tabbable` library. To solve this we can\n // check if `ResizeObserver` is a real function (not polyfilled), which\n // determines if the current environment is JSDOM-like.\n typeof ResizeObserver === 'function' && ResizeObserver.toString().includes('[native code]') ? 'full' : 'none'\n});\nfunction getTabbableIn(container, dir) {\n const list = tabbable(container, getTabbableOptions());\n const len = list.length;\n if (len === 0) return;\n const active = activeElement(getDocument(container));\n const index = list.indexOf(active);\n const nextIndex = index === -1 ? dir === 1 ? 0 : len - 1 : index + dir;\n return list[nextIndex];\n}\nfunction getNextTabbable(referenceElement) {\n return getTabbableIn(getDocument(referenceElement).body, 1) || referenceElement;\n}\nfunction getPreviousTabbable(referenceElement) {\n return getTabbableIn(getDocument(referenceElement).body, -1) || referenceElement;\n}\nfunction isOutsideEvent(event, container) {\n const containerElement = container || event.currentTarget;\n const relatedTarget = event.relatedTarget;\n return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction disableFocusInside(container) {\n const tabbableElements = tabbable(container, getTabbableOptions());\n tabbableElements.forEach(element => {\n element.dataset.tabindex = element.getAttribute('tabindex') || '';\n element.setAttribute('tabindex', '-1');\n });\n}\nfunction enableFocusInside(container) {\n const elements = container.querySelectorAll('[data-tabindex]');\n elements.forEach(element => {\n const tabindex = element.dataset.tabindex;\n delete element.dataset.tabindex;\n if (tabindex) {\n element.setAttribute('tabindex', tabindex);\n } else {\n element.removeAttribute('tabindex');\n }\n });\n}\n\nexport { activeElement, contains, createGridCellMap, disableFocusInside, enableFocusInside, findNonDisabledListIndex, getDeepestNode, getDocument, getFloatingFocusElement, getGridCellIndexOfCorner, getGridCellIndices, getGridNavigatedIndex, getMaxListIndex, getMinListIndex, getNextTabbable, getNodeAncestors, getNodeChildren, getPlatform, getPreviousTabbable, getTabbableOptions, getTarget, getUserAgent, isAndroid, isDifferentGridRow, isEventTargetWithin, isIndexOutOfListBounds, isJSDOM, isListIndexDisabled, isMac, isMouseLikePointerType, isOutsideEvent, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, matchesFocusVisible, stopEvent, useEffectEvent, useLatestRef, index as useModernLayoutEffect };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n var _overflowsData$;\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n const hasInitialMainAxisOverflow = ((_overflowsData$ = overflowsData[0]) == null ? void 0 : _overflowsData$.overflows[0]) > 0;\n if (!ignoreCrossAxisOverflow || hasInitialMainAxisOverflow) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","import { computePosition, arrow as arrow$2, offset as offset$1, shift as shift$1, limitShift as limitShift$1, flip as flip$1, size as size$1, autoPlacement as autoPlacement$1, hide as hide$1, inline as inline$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect, useEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a && b && typeof a === 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0;) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform = true,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = React.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React.useState(null);\n const [_floating, _setFloating] = React.useState(null);\n const setReference = React.useCallback(node => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React.useCallback(node => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React.useRef(null);\n const floatingRef = React.useRef(null);\n const dataRef = React.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const openRef = useLatestRef(open);\n const update = React.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n const fullData = {\n ...data,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData(data => ({\n ...data,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x = roundByDPR(elements.floating, data.x);\n const y = roundByDPR(elements.floating, data.y);\n if (transform) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n ...(getDPR(elements.floating) >= 1.5 && {\n willChange: 'transform'\n })\n };\n }\n return {\n position: strategy,\n left: x,\n top: y\n };\n }, [strategy, transform, elements.floating, data.x, data.y]);\n return React.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, 'current');\n }\n return {\n name: 'arrow',\n options,\n fn(state) {\n const {\n element,\n padding\n } = typeof options === 'function' ? options(state) : options;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow$2({\n element: element.current,\n padding\n }).fn(state);\n }\n return {};\n }\n if (element) {\n return arrow$2({\n element,\n padding\n }).fn(state);\n }\n return {};\n }\n };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n ...offset$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n ...shift$1(options),\n options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n ...limitShift$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n ...flip$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n ...size$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n ...autoPlacement$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n ...hide$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n ...inline$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n ...arrow$1(options),\n options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n","import * as React from 'react';\nimport { useModernLayoutEffect, useEffectEvent, getMinListIndex, getMaxListIndex, createGridCellMap, isListIndexDisabled, getGridNavigatedIndex, getGridCellIndexOfCorner, getGridCellIndices, findNonDisabledListIndex, isIndexOutOfListBounds, useLatestRef, getDocument as getDocument$1, isMouseLikePointerType, contains as contains$1, isSafari, enableFocusInside, isOutsideEvent, getPreviousTabbable, getNextTabbable, disableFocusInside, isTypeableCombobox, getFloatingFocusElement, getTabbableOptions, getNodeAncestors, activeElement, getNodeChildren as getNodeChildren$1, stopEvent, getTarget as getTarget$1, isVirtualClick, isVirtualPointerEvent, getPlatform, isTypeableElement, isReactEvent, isRootElement, isEventTargetWithin, matchesFocusVisible, isMac, getDeepestNode, getUserAgent } from '@floating-ui/react/utils';\nimport { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { getComputedStyle, isElement, isShadowRoot, getNodeName, isHTMLElement, getWindow, isLastTraversableNode, getParentNode, isWebKit } from '@floating-ui/utils/dom';\nimport { tabbable, isTabbable, focusable } from 'tabbable';\nimport * as ReactDOM from 'react-dom';\nimport { getOverflowAncestors, useFloating as useFloating$1, offset, detectOverflow } from '@floating-ui/react-dom';\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, getOverflowAncestors, hide, inline, limitShift, offset, platform, shift, size } from '@floating-ui/react-dom';\nimport { evaluate, max, round, min } from '@floating-ui/utils';\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n * @see https://floating-ui.com/docs/react-utils#usemergerefs\n */\nfunction useMergeRefs(refs) {\n const cleanupRef = React.useRef(undefined);\n const refEffect = React.useCallback(instance => {\n const cleanups = refs.map(ref => {\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n const refCallback = ref;\n const refCleanup = refCallback(instance);\n return typeof refCleanup === 'function' ? refCleanup : () => {\n refCallback(null);\n };\n }\n ref.current = instance;\n return () => {\n ref.current = null;\n };\n });\n return () => {\n cleanups.forEach(refCleanup => refCleanup == null ? void 0 : refCleanup());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return value => {\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = undefined;\n }\n if (value != null) {\n cleanupRef.current = refEffect(value);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n\nfunction sortByDocumentPosition(a, b) {\n const position = a.compareDocumentPosition(b);\n if (position & Node.DOCUMENT_POSITION_FOLLOWING || position & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return -1;\n }\n if (position & Node.DOCUMENT_POSITION_PRECEDING || position & Node.DOCUMENT_POSITION_CONTAINS) {\n return 1;\n }\n return 0;\n}\nconst FloatingListContext = /*#__PURE__*/React.createContext({\n register: () => {},\n unregister: () => {},\n map: /*#__PURE__*/new Map(),\n elementsRef: {\n current: []\n }\n});\n/**\n * Provides context for a list of items within the floating element.\n * @see https://floating-ui.com/docs/FloatingList\n */\nfunction FloatingList(props) {\n const {\n children,\n elementsRef,\n labelsRef\n } = props;\n const [nodes, setNodes] = React.useState(() => new Set());\n const register = React.useCallback(node => {\n setNodes(prevSet => new Set(prevSet).add(node));\n }, []);\n const unregister = React.useCallback(node => {\n setNodes(prevSet => {\n const set = new Set(prevSet);\n set.delete(node);\n return set;\n });\n }, []);\n const map = React.useMemo(() => {\n const newMap = new Map();\n const sortedNodes = Array.from(nodes.keys()).sort(sortByDocumentPosition);\n sortedNodes.forEach((node, index) => {\n newMap.set(node, index);\n });\n return newMap;\n }, [nodes]);\n return /*#__PURE__*/jsx(FloatingListContext.Provider, {\n value: React.useMemo(() => ({\n register,\n unregister,\n map,\n elementsRef,\n labelsRef\n }), [register, unregister, map, elementsRef, labelsRef]),\n children: children\n });\n}\n/**\n * Used to register a list item and its index (DOM position) in the\n * `FloatingList`.\n * @see https://floating-ui.com/docs/FloatingList#uselistitem\n */\nfunction useListItem(props) {\n if (props === void 0) {\n props = {};\n }\n const {\n label\n } = props;\n const {\n register,\n unregister,\n map,\n elementsRef,\n labelsRef\n } = React.useContext(FloatingListContext);\n const [index, setIndex] = React.useState(null);\n const componentRef = React.useRef(null);\n const ref = React.useCallback(node => {\n componentRef.current = node;\n if (index !== null) {\n elementsRef.current[index] = node;\n if (labelsRef) {\n var _node$textContent;\n const isLabelDefined = label !== undefined;\n labelsRef.current[index] = isLabelDefined ? label : (_node$textContent = node == null ? void 0 : node.textContent) != null ? _node$textContent : null;\n }\n }\n }, [index, elementsRef, labelsRef, label]);\n useModernLayoutEffect(() => {\n const node = componentRef.current;\n if (node) {\n register(node);\n return () => {\n unregister(node);\n };\n }\n }, [register, unregister]);\n useModernLayoutEffect(() => {\n const index = componentRef.current ? map.get(componentRef.current) : null;\n if (index != null) {\n setIndex(index);\n }\n }, [map]);\n return React.useMemo(() => ({\n ref,\n index: index == null ? -1 : index\n }), [index, ref]);\n}\n\nconst FOCUSABLE_ATTRIBUTE = 'data-floating-ui-focusable';\nconst ACTIVE_KEY = 'active';\nconst SELECTED_KEY = 'selected';\nconst ARROW_LEFT = 'ArrowLeft';\nconst ARROW_RIGHT = 'ArrowRight';\nconst ARROW_UP = 'ArrowUp';\nconst ARROW_DOWN = 'ArrowDown';\n\nfunction renderJsx(render, computedProps) {\n if (typeof render === 'function') {\n return render(computedProps);\n }\n if (render) {\n return /*#__PURE__*/React.cloneElement(render, computedProps);\n }\n return /*#__PURE__*/jsx(\"div\", {\n ...computedProps\n });\n}\nconst CompositeContext = /*#__PURE__*/React.createContext({\n activeIndex: 0,\n onNavigate: () => {}\n});\nconst horizontalKeys = [ARROW_LEFT, ARROW_RIGHT];\nconst verticalKeys = [ARROW_UP, ARROW_DOWN];\nconst allKeys = [...horizontalKeys, ...verticalKeys];\n\n/**\n * Creates a single tab stop whose items are navigated by arrow keys, which\n * provides list navigation outside of floating element contexts.\n *\n * This is useful to enable navigation of a list of items that aren’t part of a\n * floating element. A menubar is an example of a composite, with each reference\n * element being an item.\n * @see https://floating-ui.com/docs/Composite\n */\nconst Composite = /*#__PURE__*/React.forwardRef(function Composite(props, forwardedRef) {\n const {\n render,\n orientation = 'both',\n loop = true,\n rtl = false,\n cols = 1,\n disabledIndices,\n activeIndex: externalActiveIndex,\n onNavigate: externalSetActiveIndex,\n itemSizes,\n dense = false,\n ...domProps\n } = props;\n const [internalActiveIndex, internalSetActiveIndex] = React.useState(0);\n const activeIndex = externalActiveIndex != null ? externalActiveIndex : internalActiveIndex;\n const onNavigate = useEffectEvent(externalSetActiveIndex != null ? externalSetActiveIndex : internalSetActiveIndex);\n const elementsRef = React.useRef([]);\n const renderElementProps = render && typeof render !== 'function' ? render.props : {};\n const contextValue = React.useMemo(() => ({\n activeIndex,\n onNavigate\n }), [activeIndex, onNavigate]);\n const isGrid = cols > 1;\n function handleKeyDown(event) {\n if (!allKeys.includes(event.key)) return;\n let nextIndex = activeIndex;\n const minIndex = getMinListIndex(elementsRef, disabledIndices);\n const maxIndex = getMaxListIndex(elementsRef, disabledIndices);\n const horizontalEndKey = rtl ? ARROW_LEFT : ARROW_RIGHT;\n const horizontalStartKey = rtl ? ARROW_RIGHT : ARROW_LEFT;\n if (isGrid) {\n const sizes = itemSizes || Array.from({\n length: elementsRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = createGridCellMap(sizes, cols, dense);\n const minGridIndex = cellMap.findIndex(index => index != null && !isListIndexDisabled(elementsRef, index, disabledIndices));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isListIndexDisabled(elementsRef, index, disabledIndices) ? cellIndex : foundIndex, -1);\n const maybeNextIndex = cellMap[getGridNavigatedIndex({\n current: cellMap.map(itemIndex => itemIndex ? elementsRef.current[itemIndex] : null)\n }, {\n event,\n orientation,\n loop,\n rtl,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getGridCellIndices([...(disabledIndices || elementsRef.current.map((_, index) => isListIndexDisabled(elementsRef, index) ? index : undefined)), undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getGridCellIndexOfCorner(activeIndex > maxIndex ? minIndex : activeIndex, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction we're\n // moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n event.key === ARROW_DOWN ? 'bl' : event.key === horizontalEndKey ? 'tr' : 'tl')\n })];\n if (maybeNextIndex != null) {\n nextIndex = maybeNextIndex;\n }\n }\n const toEndKeys = {\n horizontal: [horizontalEndKey],\n vertical: [ARROW_DOWN],\n both: [horizontalEndKey, ARROW_DOWN]\n }[orientation];\n const toStartKeys = {\n horizontal: [horizontalStartKey],\n vertical: [ARROW_UP],\n both: [horizontalStartKey, ARROW_UP]\n }[orientation];\n const preventedKeys = isGrid ? allKeys : {\n horizontal: horizontalKeys,\n vertical: verticalKeys,\n both: allKeys\n }[orientation];\n if (nextIndex === activeIndex && [...toEndKeys, ...toStartKeys].includes(event.key)) {\n if (loop && nextIndex === maxIndex && toEndKeys.includes(event.key)) {\n nextIndex = minIndex;\n } else if (loop && nextIndex === minIndex && toStartKeys.includes(event.key)) {\n nextIndex = maxIndex;\n } else {\n nextIndex = findNonDisabledListIndex(elementsRef, {\n startingIndex: nextIndex,\n decrement: toStartKeys.includes(event.key),\n disabledIndices\n });\n }\n }\n if (nextIndex !== activeIndex && !isIndexOutOfListBounds(elementsRef, nextIndex)) {\n var _elementsRef$current$;\n event.stopPropagation();\n if (preventedKeys.includes(event.key)) {\n event.preventDefault();\n }\n onNavigate(nextIndex);\n (_elementsRef$current$ = elementsRef.current[nextIndex]) == null || _elementsRef$current$.focus();\n }\n }\n const computedProps = {\n ...domProps,\n ...renderElementProps,\n ref: forwardedRef,\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n onKeyDown(e) {\n domProps.onKeyDown == null || domProps.onKeyDown(e);\n renderElementProps.onKeyDown == null || renderElementProps.onKeyDown(e);\n handleKeyDown(e);\n }\n };\n return /*#__PURE__*/jsx(CompositeContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/jsx(FloatingList, {\n elementsRef: elementsRef,\n children: renderJsx(render, computedProps)\n })\n });\n});\n/**\n * @see https://floating-ui.com/docs/Composite\n */\nconst CompositeItem = /*#__PURE__*/React.forwardRef(function CompositeItem(props, forwardedRef) {\n const {\n render,\n ...domProps\n } = props;\n const renderElementProps = render && typeof render !== 'function' ? render.props : {};\n const {\n activeIndex,\n onNavigate\n } = React.useContext(CompositeContext);\n const {\n ref,\n index\n } = useListItem();\n const mergedRef = useMergeRefs([ref, forwardedRef, renderElementProps.ref]);\n const isActive = activeIndex === index;\n const computedProps = {\n ...domProps,\n ...renderElementProps,\n ref: mergedRef,\n tabIndex: isActive ? 0 : -1,\n 'data-active': isActive ? '' : undefined,\n onFocus(e) {\n domProps.onFocus == null || domProps.onFocus(e);\n renderElementProps.onFocus == null || renderElementProps.onFocus(e);\n onNavigate(index);\n }\n };\n return renderJsx(render, computedProps);\n});\n\n// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\nconst SafeReact = {\n ...React\n};\n\nlet serverHandoffComplete = false;\nlet count = 0;\nconst genId = () => // Ensure the id is unique with multiple independent versions of Floating UI\n// on <React 18\n\"floating-ui-\" + Math.random().toString(36).slice(2, 6) + count++;\nfunction useFloatingId() {\n const [id, setId] = React.useState(() => serverHandoffComplete ? genId() : undefined);\n useModernLayoutEffect(() => {\n if (id == null) {\n setId(genId());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n React.useEffect(() => {\n serverHandoffComplete = true;\n }, []);\n return id;\n}\nconst useReactId = SafeReact.useId;\n\n/**\n * Uses React 18's built-in `useId()` when available, or falls back to a\n * slightly less performant (requiring a double render) implementation for\n * earlier React versions.\n * @see https://floating-ui.com/docs/react-utils#useid\n */\nconst useId = useReactId || useFloatingId;\n\nlet devMessageSet;\nif (process.env.NODE_ENV !== \"production\") {\n devMessageSet = /*#__PURE__*/new Set();\n}\nfunction warn() {\n var _devMessageSet;\n for (var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++) {\n messages[_key] = arguments[_key];\n }\n const message = \"Floating UI: \" + messages.join(' ');\n if (!((_devMessageSet = devMessageSet) != null && _devMessageSet.has(message))) {\n var _devMessageSet2;\n (_devMessageSet2 = devMessageSet) == null || _devMessageSet2.add(message);\n console.warn(message);\n }\n}\nfunction error() {\n var _devMessageSet3;\n for (var _len2 = arguments.length, messages = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n messages[_key2] = arguments[_key2];\n }\n const message = \"Floating UI: \" + messages.join(' ');\n if (!((_devMessageSet3 = devMessageSet) != null && _devMessageSet3.has(message))) {\n var _devMessageSet4;\n (_devMessageSet4 = devMessageSet) == null || _devMessageSet4.add(message);\n console.error(message);\n }\n}\n\n/**\n * Renders a pointing arrow triangle.\n * @see https://floating-ui.com/docs/FloatingArrow\n */\nconst FloatingArrow = /*#__PURE__*/React.forwardRef(function FloatingArrow(props, ref) {\n const {\n context: {\n placement,\n elements: {\n floating\n },\n middlewareData: {\n arrow,\n shift\n }\n },\n width = 14,\n height = 7,\n tipRadius = 0,\n strokeWidth = 0,\n staticOffset,\n stroke,\n d,\n style: {\n transform,\n ...restStyle\n } = {},\n ...rest\n } = props;\n if (process.env.NODE_ENV !== \"production\") {\n if (!ref) {\n warn('The `ref` prop is required for `FloatingArrow`.');\n }\n }\n const clipPathId = useId();\n const [isRTL, setIsRTL] = React.useState(false);\n\n // https://github.com/floating-ui/floating-ui/issues/2932\n useModernLayoutEffect(() => {\n if (!floating) return;\n const isRTL = getComputedStyle(floating).direction === 'rtl';\n if (isRTL) {\n setIsRTL(true);\n }\n }, [floating]);\n if (!floating) {\n return null;\n }\n const [side, alignment] = placement.split('-');\n const isVerticalSide = side === 'top' || side === 'bottom';\n let computedStaticOffset = staticOffset;\n if (isVerticalSide && shift != null && shift.x || !isVerticalSide && shift != null && shift.y) {\n computedStaticOffset = null;\n }\n\n // Strokes must be double the border width, this ensures the stroke's width\n // works as you'd expect.\n const computedStrokeWidth = strokeWidth * 2;\n const halfStrokeWidth = computedStrokeWidth / 2;\n const svgX = width / 2 * (tipRadius / -8 + 1);\n const svgY = height / 2 * tipRadius / 4;\n const isCustomShape = !!d;\n const yOffsetProp = computedStaticOffset && alignment === 'end' ? 'bottom' : 'top';\n let xOffsetProp = computedStaticOffset && alignment === 'end' ? 'right' : 'left';\n if (computedStaticOffset && isRTL) {\n xOffsetProp = alignment === 'end' ? 'left' : 'right';\n }\n const arrowX = (arrow == null ? void 0 : arrow.x) != null ? computedStaticOffset || arrow.x : '';\n const arrowY = (arrow == null ? void 0 : arrow.y) != null ? computedStaticOffset || arrow.y : '';\n const dValue = d || 'M0,0' + (\" H\" + width) + (\" L\" + (width - svgX) + \",\" + (height - svgY)) + (\" Q\" + width / 2 + \",\" + height + \" \" + svgX + \",\" + (height - svgY)) + ' Z';\n const rotation = {\n top: isCustomShape ? 'rotate(180deg)' : '',\n left: isCustomShape ? 'rotate(90deg)' : 'rotate(-90deg)',\n bottom: isCustomShape ? '' : 'rotate(180deg)',\n right: isCustomShape ? 'rotate(-90deg)' : 'rotate(90deg)'\n }[side];\n return /*#__PURE__*/jsxs(\"svg\", {\n ...rest,\n \"aria-hidden\": true,\n ref: ref,\n width: isCustomShape ? width : width + computedStrokeWidth,\n height: width,\n viewBox: \"0 0 \" + width + \" \" + (height > width ? height : width),\n style: {\n position: 'absolute',\n pointerEvents: 'none',\n [xOffsetProp]: arrowX,\n [yOffsetProp]: arrowY,\n [side]: isVerticalSide || isCustomShape ? '100%' : \"calc(100% - \" + computedStrokeWidth / 2 + \"px)\",\n transform: [rotation, transform].filter(t => !!t).join(' '),\n ...restStyle\n },\n children: [computedStrokeWidth > 0 && /*#__PURE__*/jsx(\"path\", {\n clipPath: \"url(#\" + clipPathId + \")\",\n fill: \"none\",\n stroke: stroke\n // Account for the stroke on the fill path rendered below.\n ,\n strokeWidth: computedStrokeWidth + (d ? 0 : 1),\n d: dValue\n }), /*#__PURE__*/jsx(\"path\", {\n stroke: computedStrokeWidth && !d ? rest.fill : 'none',\n d: dValue\n }), /*#__PURE__*/jsx(\"clipPath\", {\n id: clipPathId,\n children: /*#__PURE__*/jsx(\"rect\", {\n x: -halfStrokeWidth,\n y: halfStrokeWidth * (isCustomShape ? -1 : 1),\n width: width + computedStrokeWidth,\n height: width\n })\n })]\n });\n});\n\nfunction createEventEmitter() {\n const map = new Map();\n return {\n emit(event, data) {\n var _map$get;\n (_map$get = map.get(event)) == null || _map$get.forEach(listener => listener(data));\n },\n on(event, listener) {\n if (!map.has(event)) {\n map.set(event, new Set());\n }\n map.get(event).add(listener);\n },\n off(event, listener) {\n var _map$get2;\n (_map$get2 = map.get(event)) == null || _map$get2.delete(listener);\n }\n };\n}\n\nconst FloatingNodeContext = /*#__PURE__*/React.createContext(null);\nconst FloatingTreeContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the parent node id for nested floating elements, if available.\n * Returns `null` for top-level floating elements.\n */\nconst useFloatingParentNodeId = () => {\n var _React$useContext;\n return ((_React$useContext = React.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null;\n};\n\n/**\n * Returns the nearest floating tree context, if available.\n */\nconst useFloatingTree = () => React.useContext(FloatingTreeContext);\n\n/**\n * Registers a node into the `FloatingTree`, returning its id.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction useFloatingNodeId(customParentId) {\n const id = useId();\n const tree = useFloatingTree();\n const reactParentId = useFloatingParentNodeId();\n const parentId = customParentId || reactParentId;\n useModernLayoutEffect(() => {\n if (!id) return;\n const node = {\n id,\n parentId\n };\n tree == null || tree.addNode(node);\n return () => {\n tree == null || tree.removeNode(node);\n };\n }, [tree, id, parentId]);\n return id;\n}\n/**\n * Provides parent node context for nested floating elements.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction FloatingNode(props) {\n const {\n children,\n id\n } = props;\n const parentId = useFloatingParentNodeId();\n return /*#__PURE__*/jsx(FloatingNodeContext.Provider, {\n value: React.useMemo(() => ({\n id,\n parentId\n }), [id, parentId]),\n children: children\n });\n}\n/**\n * Provides context for nested floating elements when they are not children of\n * each other on the DOM.\n * This is not necessary in all cases, except when there must be explicit communication between parent and child floating elements. It is necessary for:\n * - The `bubbles` option in the `useDismiss()` Hook\n * - Nested virtual list navigation\n * - Nested floating elements that each open on hover\n * - Custom communication between parent and child floating elements\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction FloatingTree(props) {\n const {\n children\n } = props;\n const nodesRef = React.useRef([]);\n const addNode = React.useCallback(node => {\n nodesRef.current = [...nodesRef.current, node];\n }, []);\n const removeNode = React.useCallback(node => {\n nodesRef.current = nodesRef.current.filter(n => n !== node);\n }, []);\n const [events] = React.useState(() => createEventEmitter());\n return /*#__PURE__*/jsx(FloatingTreeContext.Provider, {\n value: React.useMemo(() => ({\n nodesRef,\n addNode,\n removeNode,\n events\n }), [addNode, removeNode, events]),\n children: children\n });\n}\n\nfunction createAttribute(name) {\n return \"data-floating-ui-\" + name;\n}\n\nfunction clearTimeoutIfSet(timeoutRef) {\n if (timeoutRef.current !== -1) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = -1;\n }\n}\n\nconst safePolygonIdentifier = /*#__PURE__*/createAttribute('safe-polygon');\nfunction getDelay(value, prop, pointerType) {\n if (pointerType && !isMouseLikePointerType(pointerType)) {\n return 0;\n }\n if (typeof value === 'number') {\n return value;\n }\n if (typeof value === 'function') {\n const result = value();\n if (typeof result === 'number') {\n return result;\n }\n return result == null ? void 0 : result[prop];\n }\n return value == null ? void 0 : value[prop];\n}\nfunction getRestMs(value) {\n if (typeof value === 'function') {\n return value();\n }\n return value;\n}\n/**\n * Opens the floating element while hovering over the reference element, like\n * CSS `:hover`.\n * @see https://floating-ui.com/docs/useHover\n */\nfunction useHover(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n dataRef,\n events,\n elements\n } = context;\n const {\n enabled = true,\n delay = 0,\n handleClose = null,\n mouseOnly = false,\n restMs = 0,\n move = true\n } = props;\n const tree = useFloatingTree();\n const parentId = useFloatingParentNodeId();\n const handleCloseRef = useLatestRef(handleClose);\n const delayRef = useLatestRef(delay);\n const openRef = useLatestRef(open);\n const restMsRef = useLatestRef(restMs);\n const pointerTypeRef = React.useRef();\n const timeoutRef = React.useRef(-1);\n const handlerRef = React.useRef();\n const restTimeoutRef = React.useRef(-1);\n const blockMouseMoveRef = React.useRef(true);\n const performedPointerEventsMutationRef = React.useRef(false);\n const unbindMouseMoveRef = React.useRef(() => {});\n const restTimeoutPendingRef = React.useRef(false);\n const isHoverOpen = React.useCallback(() => {\n var _dataRef$current$open;\n const type = (_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type;\n return (type == null ? void 0 : type.includes('mouse')) && type !== 'mousedown';\n }, [dataRef]);\n\n // When closing before opening, clear the delay timeouts to cancel it\n // from showing.\n React.useEffect(() => {\n if (!enabled) return;\n function onOpenChange(_ref) {\n let {\n open\n } = _ref;\n if (!open) {\n clearTimeoutIfSet(timeoutRef);\n clearTimeoutIfSet(restTimeoutRef);\n blockMouseMoveRef.current = true;\n restTimeoutPendingRef.current = false;\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n };\n }, [enabled, events]);\n React.useEffect(() => {\n if (!enabled) return;\n if (!handleCloseRef.current) return;\n if (!open) return;\n function onLeave(event) {\n if (isHoverOpen()) {\n onOpenChange(false, event, 'hover');\n }\n }\n const html = getDocument$1(elements.floating).documentElement;\n html.addEventListener('mouseleave', onLeave);\n return () => {\n html.removeEventListener('mouseleave', onLeave);\n };\n }, [elements.floating, open, onOpenChange, enabled, handleCloseRef, isHoverOpen]);\n const closeWithDelay = React.useCallback(function (event, runElseBranch, reason) {\n if (runElseBranch === void 0) {\n runElseBranch = true;\n }\n if (reason === void 0) {\n reason = 'hover';\n }\n const closeDelay = getDelay(delayRef.current, 'close', pointerTypeRef.current);\n if (closeDelay && !handlerRef.current) {\n clearTimeoutIfSet(timeoutRef);\n timeoutRef.current = window.setTimeout(() => onOpenChange(false, event, reason), closeDelay);\n } else if (runElseBranch) {\n clearTimeoutIfSet(timeoutRef);\n onOpenChange(false, event, reason);\n }\n }, [delayRef, onOpenChange]);\n const cleanupMouseMoveHandler = useEffectEvent(() => {\n unbindMouseMoveRef.current();\n handlerRef.current = undefined;\n });\n const clearPointerEvents = useEffectEvent(() => {\n if (performedPointerEventsMutationRef.current) {\n const body = getDocument$1(elements.floating).body;\n body.style.pointerEvents = '';\n body.removeAttribute(safePolygonIdentifier);\n performedPointerEventsMutationRef.current = false;\n }\n });\n const isClickLikeOpenEvent = useEffectEvent(() => {\n return dataRef.current.openEvent ? ['click', 'mousedown'].includes(dataRef.current.openEvent.type) : false;\n });\n\n // Registering the mouse events on the reference directly to bypass React's\n // delegation system. If the cursor was on a disabled element and then entered\n // the reference (no gap), `mouseenter` doesn't fire in the delegation system.\n React.useEffect(() => {\n if (!enabled) return;\n function onReferenceMouseEnter(event) {\n clearTimeoutIfSet(timeoutRef);\n blockMouseMoveRef.current = false;\n if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current) || getRestMs(restMsRef.current) > 0 && !getDelay(delayRef.current, 'open')) {\n return;\n }\n const openDelay = getDelay(delayRef.current, 'open', pointerTypeRef.current);\n if (openDelay) {\n timeoutRef.current = window.setTimeout(() => {\n if (!openRef.current) {\n onOpenChange(true, event, 'hover');\n }\n }, openDelay);\n } else if (!open) {\n onOpenChange(true, event, 'hover');\n }\n }\n function onReferenceMouseLeave(event) {\n if (isClickLikeOpenEvent()) {\n clearPointerEvents();\n return;\n }\n unbindMouseMoveRef.current();\n const doc = getDocument$1(elements.floating);\n clearTimeoutIfSet(restTimeoutRef);\n restTimeoutPendingRef.current = false;\n if (handleCloseRef.current && dataRef.current.floatingContext) {\n // Prevent clearing `onScrollMouseLeave` timeout.\n if (!open) {\n clearTimeoutIfSet(timeoutRef);\n }\n handlerRef.current = handleCloseRef.current({\n ...dataRef.current.floatingContext,\n tree,\n x: event.clientX,\n y: event.clientY,\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n if (!isClickLikeOpenEvent()) {\n closeWithDelay(event, true, 'safe-polygon');\n }\n }\n });\n const handler = handlerRef.current;\n doc.addEventListener('mousemove', handler);\n unbindMouseMoveRef.current = () => {\n doc.removeEventListener('mousemove', handler);\n };\n return;\n }\n\n // Allow interactivity without `safePolygon` on touch devices. With a\n // pointer, a short close delay is an alternative, so it should work\n // consistently.\n const shouldClose = pointerTypeRef.current === 'touch' ? !contains$1(elements.floating, event.relatedTarget) : true;\n if (shouldClose) {\n closeWithDelay(event);\n }\n }\n\n // Ensure the floating element closes after scrolling even if the pointer\n // did not move.\n // https://github.com/floating-ui/floating-ui/discussions/1692\n function onScrollMouseLeave(event) {\n if (isClickLikeOpenEvent()) return;\n if (!dataRef.current.floatingContext) return;\n handleCloseRef.current == null || handleCloseRef.current({\n ...dataRef.current.floatingContext,\n tree,\n x: event.clientX,\n y: event.clientY,\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n if (!isClickLikeOpenEvent()) {\n closeWithDelay(event);\n }\n }\n })(event);\n }\n function onFloatingMouseEnter() {\n clearTimeoutIfSet(timeoutRef);\n }\n function onFloatingMouseLeave(event) {\n if (!isClickLikeOpenEvent()) {\n closeWithDelay(event, false);\n }\n }\n if (isElement(elements.domReference)) {\n const reference = elements.domReference;\n const floating = elements.floating;\n if (open) {\n reference.addEventListener('mouseleave', onScrollMouseLeave);\n }\n if (move) {\n reference.addEventListener('mousemove', onReferenceMouseEnter, {\n once: true\n });\n }\n reference.addEventListener('mouseenter', onReferenceMouseEnter);\n reference.addEventListener('mouseleave', onReferenceMouseLeave);\n if (floating) {\n floating.addEventListener('mouseleave', onScrollMouseLeave);\n floating.addEventListener('mouseenter', onFloatingMouseEnter);\n floating.addEventListener('mouseleave', onFloatingMouseLeave);\n }\n return () => {\n if (open) {\n reference.removeEventListener('mouseleave', onScrollMouseLeave);\n }\n if (move) {\n reference.removeEventListener('mousemove', onReferenceMouseEnter);\n }\n reference.removeEventListener('mouseenter', onReferenceMouseEnter);\n reference.removeEventListener('mouseleave', onReferenceMouseLeave);\n if (floating) {\n floating.removeEventListener('mouseleave', onScrollMouseLeave);\n floating.removeEventListener('mouseenter', onFloatingMouseEnter);\n floating.removeEventListener('mouseleave', onFloatingMouseLeave);\n }\n };\n }\n }, [elements, enabled, context, mouseOnly, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, openRef, tree, delayRef, handleCloseRef, dataRef, isClickLikeOpenEvent, restMsRef]);\n\n // Block pointer-events of every element other than the reference and floating\n // while the floating element is open and has a `handleClose` handler. Also\n // handles nested floating elements.\n // https://github.com/floating-ui/floating-ui/issues/1722\n useModernLayoutEffect(() => {\n var _handleCloseRef$curre;\n if (!enabled) return;\n if (open && (_handleCloseRef$curre = handleCloseRef.current) != null && _handleCloseRef$curre.__options.blockPointerEvents && isHoverOpen()) {\n performedPointerEventsMutationRef.current = true;\n const floatingEl = elements.floating;\n if (isElement(elements.domReference) && floatingEl) {\n var _tree$nodesRef$curren;\n const body = getDocument$1(elements.floating).body;\n body.setAttribute(safePolygonIdentifier, '');\n const ref = elements.domReference;\n const parentFloating = tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find(node => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null ? void 0 : _tree$nodesRef$curren.elements.floating;\n if (parentFloating) {\n parentFloating.style.pointerEvents = '';\n }\n body.style.pointerEvents = 'none';\n ref.style.pointerEvents = 'auto';\n floatingEl.style.pointerEvents = 'auto';\n return () => {\n body.style.pointerEvents = '';\n ref.style.pointerEvents = '';\n floatingEl.style.pointerEvents = '';\n };\n }\n }\n }, [enabled, open, parentId, elements, tree, handleCloseRef, isHoverOpen]);\n useModernLayoutEffect(() => {\n if (!open) {\n pointerTypeRef.current = undefined;\n restTimeoutPendingRef.current = false;\n cleanupMouseMoveHandler();\n clearPointerEvents();\n }\n }, [open, cleanupMouseMoveHandler, clearPointerEvents]);\n React.useEffect(() => {\n return () => {\n cleanupMouseMoveHandler();\n clearTimeoutIfSet(timeoutRef);\n clearTimeoutIfSet(restTimeoutRef);\n clearPointerEvents();\n };\n }, [enabled, elements.domReference, cleanupMouseMoveHandler, clearPointerEvents]);\n const reference = React.useMemo(() => {\n function setPointerRef(event) {\n pointerTypeRef.current = event.pointerType;\n }\n return {\n onPointerDown: setPointerRef,\n onPointerEnter: setPointerRef,\n onMouseMove(event) {\n const {\n nativeEvent\n } = event;\n function handleMouseMove() {\n if (!blockMouseMoveRef.current && !openRef.current) {\n onOpenChange(true, nativeEvent, 'hover');\n }\n }\n if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current)) {\n return;\n }\n if (open || getRestMs(restMsRef.current) === 0) {\n return;\n }\n\n // Ignore insignificant movements to account for tremors.\n if (restTimeoutPendingRef.current && event.movementX ** 2 + event.movementY ** 2 < 2) {\n return;\n }\n clearTimeoutIfSet(restTimeoutRef);\n if (pointerTypeRef.current === 'touch') {\n handleMouseMove();\n } else {\n restTimeoutPendingRef.current = true;\n restTimeoutRef.current = window.setTimeout(handleMouseMove, getRestMs(restMsRef.current));\n }\n }\n };\n }, [mouseOnly, onOpenChange, open, openRef, restMsRef]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nconst NOOP = () => {};\nconst FloatingDelayGroupContext = /*#__PURE__*/React.createContext({\n delay: 0,\n initialDelay: 0,\n timeoutMs: 0,\n currentId: null,\n setCurrentId: NOOP,\n setState: NOOP,\n isInstantPhase: false\n});\n\n/**\n * @deprecated\n * Use the return value of `useDelayGroup()` instead.\n */\nconst useDelayGroupContext = () => React.useContext(FloatingDelayGroupContext);\n/**\n * Provides context for a group of floating elements that should share a\n * `delay`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction FloatingDelayGroup(props) {\n const {\n children,\n delay,\n timeoutMs = 0\n } = props;\n const [state, setState] = React.useReducer((prev, next) => ({\n ...prev,\n ...next\n }), {\n delay,\n timeoutMs,\n initialDelay: delay,\n currentId: null,\n isInstantPhase: false\n });\n const initialCurrentIdRef = React.useRef(null);\n const setCurrentId = React.useCallback(currentId => {\n setState({\n currentId\n });\n }, []);\n useModernLayoutEffect(() => {\n if (state.currentId) {\n if (initialCurrentIdRef.current === null) {\n initialCurrentIdRef.current = state.currentId;\n } else if (!state.isInstantPhase) {\n setState({\n isInstantPhase: true\n });\n }\n } else {\n if (state.isInstantPhase) {\n setState({\n isInstantPhase: false\n });\n }\n initialCurrentIdRef.current = null;\n }\n }, [state.currentId, state.isInstantPhase]);\n return /*#__PURE__*/jsx(FloatingDelayGroupContext.Provider, {\n value: React.useMemo(() => ({\n ...state,\n setState,\n setCurrentId\n }), [state, setCurrentId]),\n children: children\n });\n}\n/**\n * Enables grouping when called inside a component that's a child of a\n * `FloatingDelayGroup`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction useDelayGroup(context, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n open,\n onOpenChange,\n floatingId\n } = context;\n const {\n id: optionId,\n enabled = true\n } = options;\n const id = optionId != null ? optionId : floatingId;\n const groupContext = useDelayGroupContext();\n const {\n currentId,\n setCurrentId,\n initialDelay,\n setState,\n timeoutMs\n } = groupContext;\n useModernLayoutEffect(() => {\n if (!enabled) return;\n if (!currentId) return;\n setState({\n delay: {\n open: 1,\n close: getDelay(initialDelay, 'close')\n }\n });\n if (currentId !== id) {\n onOpenChange(false);\n }\n }, [enabled, id, onOpenChange, setState, currentId, initialDelay]);\n useModernLayoutEffect(() => {\n function unset() {\n onOpenChange(false);\n setState({\n delay: initialDelay,\n currentId: null\n });\n }\n if (!enabled) return;\n if (!currentId) return;\n if (!open && currentId === id) {\n if (timeoutMs) {\n const timeout = window.setTimeout(unset, timeoutMs);\n return () => {\n clearTimeout(timeout);\n };\n }\n unset();\n }\n }, [enabled, open, setState, currentId, id, onOpenChange, initialDelay, timeoutMs]);\n useModernLayoutEffect(() => {\n if (!enabled) return;\n if (setCurrentId === NOOP || !open) return;\n setCurrentId(id);\n }, [enabled, open, setCurrentId, id]);\n return groupContext;\n}\n\nconst NextFloatingDelayGroupContext = /*#__PURE__*/React.createContext({\n hasProvider: false,\n timeoutMs: 0,\n delayRef: {\n current: 0\n },\n initialDelayRef: {\n current: 0\n },\n timeoutIdRef: {\n current: -1\n },\n currentIdRef: {\n current: null\n },\n currentContextRef: {\n current: null\n }\n});\n/**\n * Experimental next version of `FloatingDelayGroup` to become the default\n * in the future. This component is not yet stable.\n * Provides context for a group of floating elements that should share a\n * `delay`. Unlike `FloatingDelayGroup`, `useNextDelayGroup` with this\n * component does not cause a re-render of unrelated consumers of the\n * context when the delay changes.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction NextFloatingDelayGroup(props) {\n const {\n children,\n delay,\n timeoutMs = 0\n } = props;\n const delayRef = React.useRef(delay);\n const initialDelayRef = React.useRef(delay);\n const currentIdRef = React.useRef(null);\n const currentContextRef = React.useRef(null);\n const timeoutIdRef = React.useRef(-1);\n return /*#__PURE__*/jsx(NextFloatingDelayGroupContext.Provider, {\n value: React.useMemo(() => ({\n hasProvider: true,\n delayRef,\n initialDelayRef,\n currentIdRef,\n timeoutMs,\n currentContextRef,\n timeoutIdRef\n }), [timeoutMs]),\n children: children\n });\n}\n/**\n * Enables grouping when called inside a component that's a child of a\n * `NextFloatingDelayGroup`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction useNextDelayGroup(context, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n open,\n onOpenChange,\n floatingId\n } = context;\n const {\n enabled = true\n } = options;\n const groupContext = React.useContext(NextFloatingDelayGroupContext);\n const {\n currentIdRef,\n delayRef,\n timeoutMs,\n initialDelayRef,\n currentContextRef,\n hasProvider,\n timeoutIdRef\n } = groupContext;\n const [isInstantPhase, setIsInstantPhase] = React.useState(false);\n useModernLayoutEffect(() => {\n function unset() {\n var _currentContextRef$cu;\n setIsInstantPhase(false);\n (_currentContextRef$cu = currentContextRef.current) == null || _currentContextRef$cu.setIsInstantPhase(false);\n currentIdRef.current = null;\n currentContextRef.current = null;\n delayRef.current = initialDelayRef.current;\n }\n if (!enabled) return;\n if (!currentIdRef.current) return;\n if (!open && currentIdRef.current === floatingId) {\n setIsInstantPhase(false);\n if (timeoutMs) {\n timeoutIdRef.current = window.setTimeout(unset, timeoutMs);\n return () => {\n clearTimeout(timeoutIdRef.current);\n };\n }\n unset();\n }\n }, [enabled, open, floatingId, currentIdRef, delayRef, timeoutMs, initialDelayRef, currentContextRef, timeoutIdRef]);\n useModernLayoutEffect(() => {\n if (!enabled) return;\n if (!open) return;\n const prevContext = currentContextRef.current;\n const prevId = currentIdRef.current;\n currentContextRef.current = {\n onOpenChange,\n setIsInstantPhase\n };\n currentIdRef.current = floatingId;\n delayRef.current = {\n open: 0,\n close: getDelay(initialDelayRef.current, 'close')\n };\n if (prevId !== null && prevId !== floatingId) {\n clearTimeoutIfSet(timeoutIdRef);\n setIsInstantPhase(true);\n prevContext == null || prevContext.setIsInstantPhase(true);\n prevContext == null || prevContext.onOpenChange(false);\n } else {\n setIsInstantPhase(false);\n prevContext == null || prevContext.setIsInstantPhase(false);\n }\n }, [enabled, open, floatingId, onOpenChange, currentIdRef, delayRef, timeoutMs, initialDelayRef, currentContextRef, timeoutIdRef]);\n useModernLayoutEffect(() => {\n return () => {\n currentContextRef.current = null;\n };\n }, [currentContextRef]);\n return React.useMemo(() => ({\n hasProvider,\n delayRef,\n isInstantPhase\n }), [hasProvider, delayRef, isInstantPhase]);\n}\n\nlet rafId = 0;\nfunction enqueueFocus(el, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n preventScroll = false,\n cancelPrevious = true,\n sync = false\n } = options;\n cancelPrevious && cancelAnimationFrame(rafId);\n const exec = () => el == null ? void 0 : el.focus({\n preventScroll\n });\n if (sync) {\n exec();\n } else {\n rafId = requestAnimationFrame(exec);\n }\n}\n\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\n}\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\n\n// Modified to add conditional `aria-hidden` support:\n// https://github.com/theKashey/aria-hidden/blob/9220c8f4a4fd35f63bee5510a9f41a37264382d4/src/index.ts\nlet counterMap = /*#__PURE__*/new WeakMap();\nlet uncontrolledElementsSet = /*#__PURE__*/new WeakSet();\nlet markerMap = {};\nlet lockCount$1 = 0;\nconst supportsInert = () => typeof HTMLElement !== 'undefined' && 'inert' in HTMLElement.prototype;\nconst unwrapHost = node => node && (node.host || unwrapHost(node.parentNode));\nconst correctElements = (parent, targets) => targets.map(target => {\n if (parent.contains(target)) {\n return target;\n }\n const correctedTarget = unwrapHost(target);\n if (parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n return null;\n}).filter(x => x != null);\nfunction applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, inert) {\n const markerName = 'data-floating-ui-inert';\n const controlAttribute = inert ? 'inert' : ariaHidden ? 'aria-hidden' : null;\n const avoidElements = correctElements(body, uncorrectedAvoidElements);\n const elementsToKeep = new Set();\n const elementsToStop = new Set(avoidElements);\n const hiddenElements = [];\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n const markerCounter = markerMap[markerName];\n avoidElements.forEach(keep);\n deep(body);\n elementsToKeep.clear();\n function keep(el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n el.parentNode && keep(el.parentNode);\n }\n function deep(parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n [].forEach.call(parent.children, node => {\n if (getNodeName(node) === 'script') return;\n if (elementsToKeep.has(node)) {\n deep(node);\n } else {\n const attr = controlAttribute ? node.getAttribute(controlAttribute) : null;\n const alreadyHidden = attr !== null && attr !== 'false';\n const currentCounterValue = counterMap.get(node) || 0;\n const counterValue = controlAttribute ? currentCounterValue + 1 : currentCounterValue;\n const markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenElements.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledElementsSet.add(node);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, '');\n }\n if (!alreadyHidden && controlAttribute) {\n node.setAttribute(controlAttribute, controlAttribute === 'inert' ? '' : 'true');\n }\n }\n });\n }\n lockCount$1++;\n return () => {\n hiddenElements.forEach(element => {\n const currentCounterValue = counterMap.get(element) || 0;\n const counterValue = controlAttribute ? currentCounterValue - 1 : currentCounterValue;\n const markerValue = (markerCounter.get(element) || 0) - 1;\n counterMap.set(element, counterValue);\n markerCounter.set(element, markerValue);\n if (!counterValue) {\n if (!uncontrolledElementsSet.has(element) && controlAttribute) {\n element.removeAttribute(controlAttribute);\n }\n uncontrolledElementsSet.delete(element);\n }\n if (!markerValue) {\n element.removeAttribute(markerName);\n }\n });\n lockCount$1--;\n if (!lockCount$1) {\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledElementsSet = new WeakSet();\n markerMap = {};\n }\n };\n}\nfunction markOthers(avoidElements, ariaHidden, inert) {\n if (ariaHidden === void 0) {\n ariaHidden = false;\n }\n if (inert === void 0) {\n inert = false;\n }\n const body = getDocument(avoidElements[0]).body;\n return applyAttributeToOthers(avoidElements.concat(Array.from(body.querySelectorAll('[aria-live]'))), body, ariaHidden, inert);\n}\n\nconst HIDDEN_STYLES = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'fixed',\n whiteSpace: 'nowrap',\n width: '1px',\n top: 0,\n left: 0\n};\nconst FocusGuard = /*#__PURE__*/React.forwardRef(function FocusGuard(props, ref) {\n const [role, setRole] = React.useState();\n useModernLayoutEffect(() => {\n if (isSafari()) {\n // Unlike other screen readers such as NVDA and JAWS, the virtual cursor\n // on VoiceOver does trigger the onFocus event, so we can use the focus\n // trap element. On Safari, only buttons trigger the onFocus event.\n // NB: \"group\" role in the Sandbox no longer appears to work, must be a\n // button role.\n setRole('button');\n }\n }, []);\n const restProps = {\n ref,\n tabIndex: 0,\n // Role is only for VoiceOver\n role,\n 'aria-hidden': role ? undefined : true,\n [createAttribute('focus-guard')]: '',\n style: HIDDEN_STYLES\n };\n return /*#__PURE__*/jsx(\"span\", {\n ...props,\n ...restProps\n });\n});\n\nconst PortalContext = /*#__PURE__*/React.createContext(null);\nconst attr = /*#__PURE__*/createAttribute('portal');\n/**\n * @see https://floating-ui.com/docs/FloatingPortal#usefloatingportalnode\n */\nfunction useFloatingPortalNode(props) {\n if (props === void 0) {\n props = {};\n }\n const {\n id,\n root\n } = props;\n const uniqueId = useId();\n const portalContext = usePortalContext();\n const [portalNode, setPortalNode] = React.useState(null);\n const portalNodeRef = React.useRef(null);\n useModernLayoutEffect(() => {\n return () => {\n portalNode == null || portalNode.remove();\n // Allow the subsequent layout effects to create a new node on updates.\n // The portal node will still be cleaned up on unmount.\n // https://github.com/floating-ui/floating-ui/issues/2454\n queueMicrotask(() => {\n portalNodeRef.current = null;\n });\n };\n }, [portalNode]);\n useModernLayoutEffect(() => {\n // Wait for the uniqueId to be generated before creating the portal node in\n // React <18 (using `useFloatingId` instead of the native `useId`).\n // https://github.com/floating-ui/floating-ui/issues/2778\n if (!uniqueId) return;\n if (portalNodeRef.current) return;\n const existingIdRoot = id ? document.getElementById(id) : null;\n if (!existingIdRoot) return;\n const subRoot = document.createElement('div');\n subRoot.id = uniqueId;\n subRoot.setAttribute(attr, '');\n existingIdRoot.appendChild(subRoot);\n portalNodeRef.current = subRoot;\n setPortalNode(subRoot);\n }, [id, uniqueId]);\n useModernLayoutEffect(() => {\n // Wait for the root to exist before creating the portal node. The root must\n // be stored in state, not a ref, for this to work reactively.\n if (root === null) return;\n if (!uniqueId) return;\n if (portalNodeRef.current) return;\n let container = root || (portalContext == null ? void 0 : portalContext.portalNode);\n if (container && !isElement(container)) container = container.current;\n container = container || document.body;\n let idWrapper = null;\n if (id) {\n idWrapper = document.createElement('div');\n idWrapper.id = id;\n container.appendChild(idWrapper);\n }\n const subRoot = document.createElement('div');\n subRoot.id = uniqueId;\n subRoot.setAttribute(attr, '');\n container = idWrapper || container;\n container.appendChild(subRoot);\n portalNodeRef.current = subRoot;\n setPortalNode(subRoot);\n }, [id, root, uniqueId, portalContext]);\n return portalNode;\n}\n/**\n * Portals the floating element into a given container element — by default,\n * outside of the app root and into the body.\n * This is necessary to ensure the floating element can appear outside any\n * potential parent containers that cause clipping (such as `overflow: hidden`),\n * while retaining its location in the React tree.\n * @see https://floating-ui.com/docs/FloatingPortal\n */\nfunction FloatingPortal(props) {\n const {\n children,\n id,\n root,\n preserveTabOrder = true\n } = props;\n const portalNode = useFloatingPortalNode({\n id,\n root\n });\n const [focusManagerState, setFocusManagerState] = React.useState(null);\n const beforeOutsideRef = React.useRef(null);\n const afterOutsideRef = React.useRef(null);\n const beforeInsideRef = React.useRef(null);\n const afterInsideRef = React.useRef(null);\n const modal = focusManagerState == null ? void 0 : focusManagerState.modal;\n const open = focusManagerState == null ? void 0 : focusManagerState.open;\n const shouldRenderGuards =\n // The FocusManager and therefore floating element are currently open/\n // rendered.\n !!focusManagerState &&\n // Guards are only for non-modal focus management.\n !focusManagerState.modal &&\n // Don't render if unmount is transitioning.\n focusManagerState.open && preserveTabOrder && !!(root || portalNode);\n\n // https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/TabbablePortal.tsx\n React.useEffect(() => {\n if (!portalNode || !preserveTabOrder || modal) {\n return;\n }\n\n // Make sure elements inside the portal element are tabbable only when the\n // portal has already been focused, either by tabbing into a focus trap\n // element outside or using the mouse.\n function onFocus(event) {\n if (portalNode && isOutsideEvent(event)) {\n const focusing = event.type === 'focusin';\n const manageFocus = focusing ? enableFocusInside : disableFocusInside;\n manageFocus(portalNode);\n }\n }\n // Listen to the event on the capture phase so they run before the focus\n // trap elements onFocus prop is called.\n portalNode.addEventListener('focusin', onFocus, true);\n portalNode.addEventListener('focusout', onFocus, true);\n return () => {\n portalNode.removeEventListener('focusin', onFocus, true);\n portalNode.removeEventListener('focusout', onFocus, true);\n };\n }, [portalNode, preserveTabOrder, modal]);\n React.useEffect(() => {\n if (!portalNode) return;\n if (open) return;\n enableFocusInside(portalNode);\n }, [open, portalNode]);\n return /*#__PURE__*/jsxs(PortalContext.Provider, {\n value: React.useMemo(() => ({\n preserveTabOrder,\n beforeOutsideRef,\n afterOutsideRef,\n beforeInsideRef,\n afterInsideRef,\n portalNode,\n setFocusManagerState\n }), [preserveTabOrder, portalNode]),\n children: [shouldRenderGuards && portalNode && /*#__PURE__*/jsx(FocusGuard, {\n \"data-type\": \"outside\",\n ref: beforeOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n var _beforeInsideRef$curr;\n (_beforeInsideRef$curr = beforeInsideRef.current) == null || _beforeInsideRef$curr.focus();\n } else {\n const domReference = focusManagerState ? focusManagerState.domReference : null;\n const prevTabbable = getPreviousTabbable(domReference);\n prevTabbable == null || prevTabbable.focus();\n }\n }\n }), shouldRenderGuards && portalNode && /*#__PURE__*/jsx(\"span\", {\n \"aria-owns\": portalNode.id,\n style: HIDDEN_STYLES\n }), portalNode && /*#__PURE__*/ReactDOM.createPortal(children, portalNode), shouldRenderGuards && portalNode && /*#__PURE__*/jsx(FocusGuard, {\n \"data-type\": \"outside\",\n ref: afterOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n var _afterInsideRef$curre;\n (_afterInsideRef$curre = afterInsideRef.current) == null || _afterInsideRef$curre.focus();\n } else {\n const domReference = focusManagerState ? focusManagerState.domReference : null;\n const nextTabbable = getNextTabbable(domReference);\n nextTabbable == null || nextTabbable.focus();\n (focusManagerState == null ? void 0 : focusManagerState.closeOnFocusOut) && (focusManagerState == null ? void 0 : focusManagerState.onOpenChange(false, event.nativeEvent, 'focus-out'));\n }\n }\n })]\n });\n}\nconst usePortalContext = () => React.useContext(PortalContext);\n\nfunction useLiteMergeRefs(refs) {\n return React.useMemo(() => {\n return value => {\n refs.forEach(ref => {\n if (ref) {\n ref.current = value;\n }\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n\nconst LIST_LIMIT = 20;\nlet previouslyFocusedElements = [];\nfunction addPreviouslyFocusedElement(element) {\n previouslyFocusedElements = previouslyFocusedElements.filter(el => el.isConnected);\n if (element && getNodeName(element) !== 'body') {\n previouslyFocusedElements.push(element);\n if (previouslyFocusedElements.length > LIST_LIMIT) {\n previouslyFocusedElements = previouslyFocusedElements.slice(-20);\n }\n }\n}\nfunction getPreviouslyFocusedElement() {\n return previouslyFocusedElements.slice().reverse().find(el => el.isConnected);\n}\nfunction getFirstTabbableElement(container) {\n const tabbableOptions = getTabbableOptions();\n if (isTabbable(container, tabbableOptions)) {\n return container;\n }\n return tabbable(container, tabbableOptions)[0] || container;\n}\nfunction handleTabIndex(floatingFocusElement, orderRef) {\n var _floatingFocusElement;\n if (!orderRef.current.includes('floating') && !((_floatingFocusElement = floatingFocusElement.getAttribute('role')) != null && _floatingFocusElement.includes('dialog'))) {\n return;\n }\n const options = getTabbableOptions();\n const focusableElements = focusable(floatingFocusElement, options);\n const tabbableContent = focusableElements.filter(element => {\n const dataTabIndex = element.getAttribute('data-tabindex') || '';\n return isTabbable(element, options) || element.hasAttribute('data-tabindex') && !dataTabIndex.startsWith('-');\n });\n const tabIndex = floatingFocusElement.getAttribute('tabindex');\n if (orderRef.current.includes('floating') || tabbableContent.length === 0) {\n if (tabIndex !== '0') {\n floatingFocusElement.setAttribute('tabindex', '0');\n }\n } else if (tabIndex !== '-1' || floatingFocusElement.hasAttribute('data-tabindex') && floatingFocusElement.getAttribute('data-tabindex') !== '-1') {\n floatingFocusElement.setAttribute('tabindex', '-1');\n floatingFocusElement.setAttribute('data-tabindex', '-1');\n }\n}\nconst VisuallyHiddenDismiss = /*#__PURE__*/React.forwardRef(function VisuallyHiddenDismiss(props, ref) {\n return /*#__PURE__*/jsx(\"button\", {\n ...props,\n type: \"button\",\n ref: ref,\n tabIndex: -1,\n style: HIDDEN_STYLES\n });\n});\n/**\n * Provides focus management for the floating element.\n * @see https://floating-ui.com/docs/FloatingFocusManager\n */\nfunction FloatingFocusManager(props) {\n const {\n context,\n children,\n disabled = false,\n order = ['content'],\n guards: _guards = true,\n initialFocus = 0,\n returnFocus = true,\n restoreFocus = false,\n modal = true,\n visuallyHiddenDismiss = false,\n closeOnFocusOut = true,\n outsideElementsInert = false,\n getInsideElements: _getInsideElements = () => []\n } = props;\n const {\n open,\n onOpenChange,\n events,\n dataRef,\n elements: {\n domReference,\n floating\n }\n } = context;\n const getNodeId = useEffectEvent(() => {\n var _dataRef$current$floa;\n return (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;\n });\n const getInsideElements = useEffectEvent(_getInsideElements);\n const ignoreInitialFocus = typeof initialFocus === 'number' && initialFocus < 0;\n // If the reference is a combobox and is typeable (e.g. input/textarea),\n // there are different focus semantics. The guards should not be rendered, but\n // aria-hidden should be applied to all nodes still. Further, the visually\n // hidden dismiss button should only appear at the end of the list, not the\n // start.\n const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;\n\n // Force the guards to be rendered if the `inert` attribute is not supported.\n const inertSupported = supportsInert();\n const guards = inertSupported ? _guards : true;\n const useInert = !guards || inertSupported && outsideElementsInert;\n const orderRef = useLatestRef(order);\n const initialFocusRef = useLatestRef(initialFocus);\n const returnFocusRef = useLatestRef(returnFocus);\n const tree = useFloatingTree();\n const portalContext = usePortalContext();\n const startDismissButtonRef = React.useRef(null);\n const endDismissButtonRef = React.useRef(null);\n const preventReturnFocusRef = React.useRef(false);\n const isPointerDownRef = React.useRef(false);\n const tabbableIndexRef = React.useRef(-1);\n const isInsidePortal = portalContext != null;\n const floatingFocusElement = getFloatingFocusElement(floating);\n const getTabbableContent = useEffectEvent(function (container) {\n if (container === void 0) {\n container = floatingFocusElement;\n }\n return container ? tabbable(container, getTabbableOptions()) : [];\n });\n const getTabbableElements = useEffectEvent(container => {\n const content = getTabbableContent(container);\n return orderRef.current.map(type => {\n if (domReference && type === 'reference') {\n return domReference;\n }\n if (floatingFocusElement && type === 'floating') {\n return floatingFocusElement;\n }\n return content;\n }).filter(Boolean).flat();\n });\n React.useEffect(() => {\n if (disabled) return;\n if (!modal) return;\n function onKeyDown(event) {\n if (event.key === 'Tab') {\n // The focus guards have nothing to focus, so we need to stop the event.\n if (contains$1(floatingFocusElement, activeElement(getDocument$1(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {\n stopEvent(event);\n }\n const els = getTabbableElements();\n const target = getTarget$1(event);\n if (orderRef.current[0] === 'reference' && target === domReference) {\n stopEvent(event);\n if (event.shiftKey) {\n enqueueFocus(els[els.length - 1]);\n } else {\n enqueueFocus(els[1]);\n }\n }\n if (orderRef.current[1] === 'floating' && target === floatingFocusElement && event.shiftKey) {\n stopEvent(event);\n enqueueFocus(els[0]);\n }\n }\n }\n const doc = getDocument$1(floatingFocusElement);\n doc.addEventListener('keydown', onKeyDown);\n return () => {\n doc.removeEventListener('keydown', onKeyDown);\n };\n }, [disabled, domReference, floatingFocusElement, modal, orderRef, isUntrappedTypeableCombobox, getTabbableContent, getTabbableElements]);\n React.useEffect(() => {\n if (disabled) return;\n if (!floating) return;\n function handleFocusIn(event) {\n const target = getTarget$1(event);\n const tabbableContent = getTabbableContent();\n const tabbableIndex = tabbableContent.indexOf(target);\n if (tabbableIndex !== -1) {\n tabbableIndexRef.current = tabbableIndex;\n }\n }\n floating.addEventListener('focusin', handleFocusIn);\n return () => {\n floating.removeEventListener('focusin', handleFocusIn);\n };\n }, [disabled, floating, getTabbableContent]);\n React.useEffect(() => {\n if (disabled) return;\n if (!closeOnFocusOut) return;\n\n // In Safari, buttons lose focus when pressing them.\n function handlePointerDown() {\n isPointerDownRef.current = true;\n setTimeout(() => {\n isPointerDownRef.current = false;\n });\n }\n function handleFocusOutside(event) {\n const relatedTarget = event.relatedTarget;\n const currentTarget = event.currentTarget;\n queueMicrotask(() => {\n const nodeId = getNodeId();\n const movedToUnrelatedNode = !(contains$1(domReference, relatedTarget) || contains$1(floating, relatedTarget) || contains$1(relatedTarget, floating) || contains$1(portalContext == null ? void 0 : portalContext.portalNode, relatedTarget) || relatedTarget != null && relatedTarget.hasAttribute(createAttribute('focus-guard')) || tree && (getNodeChildren$1(tree.nodesRef.current, nodeId).find(node => {\n var _node$context, _node$context2;\n return contains$1((_node$context = node.context) == null ? void 0 : _node$context.elements.floating, relatedTarget) || contains$1((_node$context2 = node.context) == null ? void 0 : _node$context2.elements.domReference, relatedTarget);\n }) || getNodeAncestors(tree.nodesRef.current, nodeId).find(node => {\n var _node$context3, _node$context4, _node$context5;\n return [(_node$context3 = node.context) == null ? void 0 : _node$context3.elements.floating, getFloatingFocusElement((_node$context4 = node.context) == null ? void 0 : _node$context4.elements.floating)].includes(relatedTarget) || ((_node$context5 = node.context) == null ? void 0 : _node$context5.elements.domReference) === relatedTarget;\n })));\n if (currentTarget === domReference && floatingFocusElement) {\n handleTabIndex(floatingFocusElement, orderRef);\n }\n\n // Restore focus to the previous tabbable element index to prevent\n // focus from being lost outside the floating tree.\n if (restoreFocus && movedToUnrelatedNode && activeElement(getDocument$1(floatingFocusElement)) === getDocument$1(floatingFocusElement).body) {\n // Let `FloatingPortal` effect knows that focus is still inside the\n // floating tree.\n if (isHTMLElement(floatingFocusElement)) {\n floatingFocusElement.focus();\n }\n const prevTabbableIndex = tabbableIndexRef.current;\n const tabbableContent = getTabbableContent();\n const nodeToFocus = tabbableContent[prevTabbableIndex] || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;\n if (isHTMLElement(nodeToFocus)) {\n nodeToFocus.focus();\n }\n }\n\n // Focus did not move inside the floating tree, and there are no tabbable\n // portal guards to handle closing.\n if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current &&\n // Fix React 18 Strict Mode returnFocus due to double rendering.\n relatedTarget !== getPreviouslyFocusedElement()) {\n preventReturnFocusRef.current = true;\n onOpenChange(false, event, 'focus-out');\n }\n });\n }\n if (floating && isHTMLElement(domReference)) {\n domReference.addEventListener('focusout', handleFocusOutside);\n domReference.addEventListener('pointerdown', handlePointerDown);\n floating.addEventListener('focusout', handleFocusOutside);\n return () => {\n domReference.removeEventListener('focusout', handleFocusOutside);\n domReference.removeEventListener('pointerdown', handlePointerDown);\n floating.removeEventListener('focusout', handleFocusOutside);\n };\n }\n }, [disabled, domReference, floating, floatingFocusElement, modal, tree, portalContext, onOpenChange, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox, getNodeId, orderRef]);\n const beforeGuardRef = React.useRef(null);\n const afterGuardRef = React.useRef(null);\n const mergedBeforeGuardRef = useLiteMergeRefs([beforeGuardRef, portalContext == null ? void 0 : portalContext.beforeInsideRef]);\n const mergedAfterGuardRef = useLiteMergeRefs([afterGuardRef, portalContext == null ? void 0 : portalContext.afterInsideRef]);\n React.useEffect(() => {\n var _portalContext$portal, _ancestors$find;\n if (disabled) return;\n if (!floating) return;\n\n // Don't hide portals nested within the parent portal.\n const portalNodes = Array.from((portalContext == null || (_portalContext$portal = portalContext.portalNode) == null ? void 0 : _portalContext$portal.querySelectorAll(\"[\" + createAttribute('portal') + \"]\")) || []);\n const ancestors = tree ? getNodeAncestors(tree.nodesRef.current, getNodeId()) : [];\n const ancestorFloatingNodes = tree && !modal ? ancestors.map(node => {\n var _node$context6;\n return (_node$context6 = node.context) == null ? void 0 : _node$context6.elements.floating;\n }) : [];\n const rootAncestorComboboxDomReference = (_ancestors$find = ancestors.find(node => {\n var _node$context7;\n return isTypeableCombobox(((_node$context7 = node.context) == null ? void 0 : _node$context7.elements.domReference) || null);\n })) == null || (_ancestors$find = _ancestors$find.context) == null ? void 0 : _ancestors$find.elements.domReference;\n const insideElements = [floating, rootAncestorComboboxDomReference, ...portalNodes, ...ancestorFloatingNodes, ...getInsideElements(), startDismissButtonRef.current, endDismissButtonRef.current, beforeGuardRef.current, afterGuardRef.current, portalContext == null ? void 0 : portalContext.beforeOutsideRef.current, portalContext == null ? void 0 : portalContext.afterOutsideRef.current, orderRef.current.includes('reference') || isUntrappedTypeableCombobox ? domReference : null].filter(x => x != null);\n const cleanup = modal || isUntrappedTypeableCombobox ? markOthers(insideElements, !useInert, useInert) : markOthers(insideElements);\n return () => {\n cleanup();\n };\n }, [disabled, domReference, floating, modal, orderRef, portalContext, isUntrappedTypeableCombobox, guards, useInert, tree, getNodeId, getInsideElements]);\n useModernLayoutEffect(() => {\n if (disabled || !isHTMLElement(floatingFocusElement)) return;\n const doc = getDocument$1(floatingFocusElement);\n const previouslyFocusedElement = activeElement(doc);\n\n // Wait for any layout effect state setters to execute to set `tabIndex`.\n queueMicrotask(() => {\n const focusableElements = getTabbableElements(floatingFocusElement);\n const initialFocusValue = initialFocusRef.current;\n const elToFocus = (typeof initialFocusValue === 'number' ? focusableElements[initialFocusValue] : initialFocusValue.current) || floatingFocusElement;\n const focusAlreadyInsideFloatingEl = contains$1(floatingFocusElement, previouslyFocusedElement);\n if (!ignoreInitialFocus && !focusAlreadyInsideFloatingEl && open) {\n enqueueFocus(elToFocus, {\n preventScroll: elToFocus === floatingFocusElement\n });\n }\n });\n }, [disabled, open, floatingFocusElement, ignoreInitialFocus, getTabbableElements, initialFocusRef]);\n useModernLayoutEffect(() => {\n if (disabled || !floatingFocusElement) return;\n let preventReturnFocusScroll = false;\n const doc = getDocument$1(floatingFocusElement);\n const previouslyFocusedElement = activeElement(doc);\n addPreviouslyFocusedElement(previouslyFocusedElement);\n\n // Dismissing via outside press should always ignore `returnFocus` to\n // prevent unwanted scrolling.\n function onOpenChange(_ref) {\n let {\n reason,\n event,\n nested\n } = _ref;\n if (['hover', 'safe-polygon'].includes(reason) && event.type === 'mouseleave') {\n preventReturnFocusRef.current = true;\n }\n if (reason !== 'outside-press') return;\n if (nested) {\n preventReturnFocusRef.current = false;\n preventReturnFocusScroll = true;\n } else if (isVirtualClick(event) || isVirtualPointerEvent(event)) {\n preventReturnFocusRef.current = false;\n } else {\n let isPreventScrollSupported = false;\n document.createElement('div').focus({\n get preventScroll() {\n isPreventScrollSupported = true;\n return false;\n }\n });\n if (isPreventScrollSupported) {\n preventReturnFocusRef.current = false;\n preventReturnFocusScroll = true;\n } else {\n preventReturnFocusRef.current = true;\n }\n }\n }\n events.on('openchange', onOpenChange);\n const fallbackEl = doc.createElement('span');\n fallbackEl.setAttribute('tabindex', '-1');\n fallbackEl.setAttribute('aria-hidden', 'true');\n Object.assign(fallbackEl.style, HIDDEN_STYLES);\n if (isInsidePortal && domReference) {\n domReference.insertAdjacentElement('afterend', fallbackEl);\n }\n function getReturnElement() {\n if (typeof returnFocusRef.current === 'boolean') {\n const el = domReference || getPreviouslyFocusedElement();\n return el && el.isConnected ? el : fallbackEl;\n }\n return returnFocusRef.current.current || fallbackEl;\n }\n return () => {\n events.off('openchange', onOpenChange);\n const activeEl = activeElement(doc);\n const isFocusInsideFloatingTree = contains$1(floating, activeEl) || tree && getNodeChildren$1(tree.nodesRef.current, getNodeId()).some(node => {\n var _node$context8;\n return contains$1((_node$context8 = node.context) == null ? void 0 : _node$context8.elements.floating, activeEl);\n });\n const returnElement = getReturnElement();\n queueMicrotask(() => {\n // This is `returnElement`, if it's tabbable, or its first tabbable child.\n const tabbableReturnElement = getFirstTabbableElement(returnElement);\n if (\n // eslint-disable-next-line react-hooks/exhaustive-deps\n returnFocusRef.current && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && (\n // If the focus moved somewhere else after mount, avoid returning focus\n // since it likely entered a different element which should be\n // respected: https://github.com/floating-ui/floating-ui/issues/2607\n tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {\n tabbableReturnElement.focus({\n preventScroll: preventReturnFocusScroll\n });\n }\n fallbackEl.remove();\n });\n };\n }, [disabled, floating, floatingFocusElement, returnFocusRef, dataRef, events, tree, isInsidePortal, domReference, getNodeId]);\n React.useEffect(() => {\n // The `returnFocus` cleanup behavior is inside a microtask; ensure we\n // wait for it to complete before resetting the flag.\n queueMicrotask(() => {\n preventReturnFocusRef.current = false;\n });\n }, [disabled]);\n\n // Synchronize the `context` & `modal` value to the FloatingPortal context.\n // It will decide whether or not it needs to render its own guards.\n useModernLayoutEffect(() => {\n if (disabled) return;\n if (!portalContext) return;\n portalContext.setFocusManagerState({\n modal,\n closeOnFocusOut,\n open,\n onOpenChange,\n domReference\n });\n return () => {\n portalContext.setFocusManagerState(null);\n };\n }, [disabled, portalContext, modal, open, onOpenChange, closeOnFocusOut, domReference]);\n useModernLayoutEffect(() => {\n if (disabled) return;\n if (!floatingFocusElement) return;\n handleTabIndex(floatingFocusElement, orderRef);\n }, [disabled, floatingFocusElement, orderRef]);\n function renderDismissButton(location) {\n if (disabled || !visuallyHiddenDismiss || !modal) {\n return null;\n }\n return /*#__PURE__*/jsx(VisuallyHiddenDismiss, {\n ref: location === 'start' ? startDismissButtonRef : endDismissButtonRef,\n onClick: event => onOpenChange(false, event.nativeEvent),\n children: typeof visuallyHiddenDismiss === 'string' ? visuallyHiddenDismiss : 'Dismiss'\n });\n }\n const shouldRenderGuards = !disabled && guards && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);\n return /*#__PURE__*/jsxs(Fragment, {\n children: [shouldRenderGuards && /*#__PURE__*/jsx(FocusGuard, {\n \"data-type\": \"inside\",\n ref: mergedBeforeGuardRef,\n onFocus: event => {\n if (modal) {\n const els = getTabbableElements();\n enqueueFocus(order[0] === 'reference' ? els[0] : els[els.length - 1]);\n } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n preventReturnFocusRef.current = false;\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const nextTabbable = getNextTabbable(domReference);\n nextTabbable == null || nextTabbable.focus();\n } else {\n var _portalContext$before;\n (_portalContext$before = portalContext.beforeOutsideRef.current) == null || _portalContext$before.focus();\n }\n }\n }\n }), !isUntrappedTypeableCombobox && renderDismissButton('start'), children, renderDismissButton('end'), shouldRenderGuards && /*#__PURE__*/jsx(FocusGuard, {\n \"data-type\": \"inside\",\n ref: mergedAfterGuardRef,\n onFocus: event => {\n if (modal) {\n enqueueFocus(getTabbableElements()[0]);\n } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n if (closeOnFocusOut) {\n preventReturnFocusRef.current = true;\n }\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const prevTabbable = getPreviousTabbable(domReference);\n prevTabbable == null || prevTabbable.focus();\n } else {\n var _portalContext$afterO;\n (_portalContext$afterO = portalContext.afterOutsideRef.current) == null || _portalContext$afterO.focus();\n }\n }\n }\n })]\n });\n}\n\nlet lockCount = 0;\nfunction enableScrollLock() {\n const isIOS = /iP(hone|ad|od)|iOS/.test(getPlatform());\n const bodyStyle = document.body.style;\n // RTL <body> scrollbar\n const scrollbarX = Math.round(document.documentElement.getBoundingClientRect().left) + document.documentElement.scrollLeft;\n const paddingProp = scrollbarX ? 'paddingLeft' : 'paddingRight';\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n const scrollX = bodyStyle.left ? parseFloat(bodyStyle.left) : window.scrollX;\n const scrollY = bodyStyle.top ? parseFloat(bodyStyle.top) : window.scrollY;\n bodyStyle.overflow = 'hidden';\n if (scrollbarWidth) {\n bodyStyle[paddingProp] = scrollbarWidth + \"px\";\n }\n\n // Only iOS doesn't respect `overflow: hidden` on document.body, and this\n // technique has fewer side effects.\n if (isIOS) {\n var _window$visualViewpor, _window$visualViewpor2;\n // iOS 12 does not support `visualViewport`.\n const offsetLeft = ((_window$visualViewpor = window.visualViewport) == null ? void 0 : _window$visualViewpor.offsetLeft) || 0;\n const offsetTop = ((_window$visualViewpor2 = window.visualViewport) == null ? void 0 : _window$visualViewpor2.offsetTop) || 0;\n Object.assign(bodyStyle, {\n position: 'fixed',\n top: -(scrollY - Math.floor(offsetTop)) + \"px\",\n left: -(scrollX - Math.floor(offsetLeft)) + \"px\",\n right: '0'\n });\n }\n return () => {\n Object.assign(bodyStyle, {\n overflow: '',\n [paddingProp]: ''\n });\n if (isIOS) {\n Object.assign(bodyStyle, {\n position: '',\n top: '',\n left: '',\n right: ''\n });\n window.scrollTo(scrollX, scrollY);\n }\n };\n}\nlet cleanup = () => {};\n\n/**\n * Provides base styling for a fixed overlay element to dim content or block\n * pointer events behind a floating element.\n * It's a regular `<div>`, so it can be styled via any CSS solution you prefer.\n * @see https://floating-ui.com/docs/FloatingOverlay\n */\nconst FloatingOverlay = /*#__PURE__*/React.forwardRef(function FloatingOverlay(props, ref) {\n const {\n lockScroll = false,\n ...rest\n } = props;\n useModernLayoutEffect(() => {\n if (!lockScroll) return;\n lockCount++;\n if (lockCount === 1) {\n cleanup = enableScrollLock();\n }\n return () => {\n lockCount--;\n if (lockCount === 0) {\n cleanup();\n }\n };\n }, [lockScroll]);\n return /*#__PURE__*/jsx(\"div\", {\n ref: ref,\n ...rest,\n style: {\n position: 'fixed',\n overflow: 'auto',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...rest.style\n }\n });\n});\n\nfunction isButtonTarget(event) {\n return isHTMLElement(event.target) && event.target.tagName === 'BUTTON';\n}\nfunction isAnchorTarget(event) {\n return isHTMLElement(event.target) && event.target.tagName === 'A';\n}\nfunction isSpaceIgnored(element) {\n return isTypeableElement(element);\n}\n/**\n * Opens or closes the floating element when clicking the reference element.\n * @see https://floating-ui.com/docs/useClick\n */\nfunction useClick(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n dataRef,\n elements: {\n domReference\n }\n } = context;\n const {\n enabled = true,\n event: eventOption = 'click',\n toggle = true,\n ignoreMouse = false,\n keyboardHandlers = true,\n stickIfOpen = true\n } = props;\n const pointerTypeRef = React.useRef();\n const didKeyDownRef = React.useRef(false);\n const reference = React.useMemo(() => ({\n onPointerDown(event) {\n pointerTypeRef.current = event.pointerType;\n },\n onMouseDown(event) {\n const pointerType = pointerTypeRef.current;\n\n // Ignore all buttons except for the \"main\" button.\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n if (event.button !== 0) return;\n if (eventOption === 'click') return;\n if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;\n if (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === 'mousedown' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n // Prevent stealing focus from the floating element\n event.preventDefault();\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onClick(event) {\n const pointerType = pointerTypeRef.current;\n if (eventOption === 'mousedown' && pointerTypeRef.current) {\n pointerTypeRef.current = undefined;\n return;\n }\n if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;\n if (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === 'click' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onKeyDown(event) {\n pointerTypeRef.current = undefined;\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event)) {\n return;\n }\n if (event.key === ' ' && !isSpaceIgnored(domReference)) {\n // Prevent scrolling\n event.preventDefault();\n didKeyDownRef.current = true;\n }\n if (isAnchorTarget(event)) {\n return;\n }\n if (event.key === 'Enter') {\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n },\n onKeyUp(event) {\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference)) {\n return;\n }\n if (event.key === ' ' && didKeyDownRef.current) {\n didKeyDownRef.current = false;\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n }\n }), [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open, stickIfOpen, toggle]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nfunction createVirtualElement(domElement, data) {\n let offsetX = null;\n let offsetY = null;\n let isAutoUpdateEvent = false;\n return {\n contextElement: domElement || undefined,\n getBoundingClientRect() {\n var _data$dataRef$current;\n const domRect = (domElement == null ? void 0 : domElement.getBoundingClientRect()) || {\n width: 0,\n height: 0,\n x: 0,\n y: 0\n };\n const isXAxis = data.axis === 'x' || data.axis === 'both';\n const isYAxis = data.axis === 'y' || data.axis === 'both';\n const canTrackCursorOnAutoUpdate = ['mouseenter', 'mousemove'].includes(((_data$dataRef$current = data.dataRef.current.openEvent) == null ? void 0 : _data$dataRef$current.type) || '') && data.pointerType !== 'touch';\n let width = domRect.width;\n let height = domRect.height;\n let x = domRect.x;\n let y = domRect.y;\n if (offsetX == null && data.x && isXAxis) {\n offsetX = domRect.x - data.x;\n }\n if (offsetY == null && data.y && isYAxis) {\n offsetY = domRect.y - data.y;\n }\n x -= offsetX || 0;\n y -= offsetY || 0;\n width = 0;\n height = 0;\n if (!isAutoUpdateEvent || canTrackCursorOnAutoUpdate) {\n width = data.axis === 'y' ? domRect.width : 0;\n height = data.axis === 'x' ? domRect.height : 0;\n x = isXAxis && data.x != null ? data.x : x;\n y = isYAxis && data.y != null ? data.y : y;\n } else if (isAutoUpdateEvent && !canTrackCursorOnAutoUpdate) {\n height = data.axis === 'x' ? domRect.height : height;\n width = data.axis === 'y' ? domRect.width : width;\n }\n isAutoUpdateEvent = true;\n return {\n width,\n height,\n x,\n y,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x\n };\n }\n };\n}\nfunction isMouseBasedEvent(event) {\n return event != null && event.clientX != null;\n}\n/**\n * Positions the floating element relative to a client point (in the viewport),\n * such as the mouse position. By default, it follows the mouse cursor.\n * @see https://floating-ui.com/docs/useClientPoint\n */\nfunction useClientPoint(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n dataRef,\n elements: {\n floating,\n domReference\n },\n refs\n } = context;\n const {\n enabled = true,\n axis = 'both',\n x = null,\n y = null\n } = props;\n const initialRef = React.useRef(false);\n const cleanupListenerRef = React.useRef(null);\n const [pointerType, setPointerType] = React.useState();\n const [reactive, setReactive] = React.useState([]);\n const setReference = useEffectEvent((x, y) => {\n if (initialRef.current) return;\n\n // Prevent setting if the open event was not a mouse-like one\n // (e.g. focus to open, then hover over the reference element).\n // Only apply if the event exists.\n if (dataRef.current.openEvent && !isMouseBasedEvent(dataRef.current.openEvent)) {\n return;\n }\n refs.setPositionReference(createVirtualElement(domReference, {\n x,\n y,\n axis,\n dataRef,\n pointerType\n }));\n });\n const handleReferenceEnterOrMove = useEffectEvent(event => {\n if (x != null || y != null) return;\n if (!open) {\n setReference(event.clientX, event.clientY);\n } else if (!cleanupListenerRef.current) {\n // If there's no cleanup, there's no listener, but we want to ensure\n // we add the listener if the cursor landed on the floating element and\n // then back on the reference (i.e. it's interactive).\n setReactive([]);\n }\n });\n\n // If the pointer is a mouse-like pointer, we want to continue following the\n // mouse even if the floating element is transitioning out. On touch\n // devices, this is undesirable because the floating element will move to\n // the dismissal touch point.\n const openCheck = isMouseLikePointerType(pointerType) ? floating : open;\n const addListener = React.useCallback(() => {\n // Explicitly specified `x`/`y` coordinates shouldn't add a listener.\n if (!openCheck || !enabled || x != null || y != null) return;\n const win = getWindow(floating);\n function handleMouseMove(event) {\n const target = getTarget$1(event);\n if (!contains$1(floating, target)) {\n setReference(event.clientX, event.clientY);\n } else {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n }\n }\n if (!dataRef.current.openEvent || isMouseBasedEvent(dataRef.current.openEvent)) {\n win.addEventListener('mousemove', handleMouseMove);\n const cleanup = () => {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n };\n cleanupListenerRef.current = cleanup;\n return cleanup;\n }\n refs.setPositionReference(domReference);\n }, [openCheck, enabled, x, y, floating, dataRef, refs, domReference, setReference]);\n React.useEffect(() => {\n return addListener();\n }, [addListener, reactive]);\n React.useEffect(() => {\n if (enabled && !floating) {\n initialRef.current = false;\n }\n }, [enabled, floating]);\n React.useEffect(() => {\n if (!enabled && open) {\n initialRef.current = true;\n }\n }, [enabled, open]);\n useModernLayoutEffect(() => {\n if (enabled && (x != null || y != null)) {\n initialRef.current = false;\n setReference(x, y);\n }\n }, [enabled, x, y, setReference]);\n const reference = React.useMemo(() => {\n function setPointerTypeRef(_ref) {\n let {\n pointerType\n } = _ref;\n setPointerType(pointerType);\n }\n return {\n onPointerDown: setPointerTypeRef,\n onPointerEnter: setPointerTypeRef,\n onMouseMove: handleReferenceEnterOrMove,\n onMouseEnter: handleReferenceEnterOrMove\n };\n }, [handleReferenceEnterOrMove]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nconst bubbleHandlerKeys = {\n pointerdown: 'onPointerDown',\n mousedown: 'onMouseDown',\n click: 'onClick'\n};\nconst captureHandlerKeys = {\n pointerdown: 'onPointerDownCapture',\n mousedown: 'onMouseDownCapture',\n click: 'onClickCapture'\n};\nconst normalizeProp = normalizable => {\n var _normalizable$escapeK, _normalizable$outside;\n return {\n escapeKey: typeof normalizable === 'boolean' ? normalizable : (_normalizable$escapeK = normalizable == null ? void 0 : normalizable.escapeKey) != null ? _normalizable$escapeK : false,\n outsidePress: typeof normalizable === 'boolean' ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true\n };\n};\n/**\n * Closes the floating element when a dismissal is requested — by default, when\n * the user presses the `escape` key or outside of the floating element.\n * @see https://floating-ui.com/docs/useDismiss\n */\nfunction useDismiss(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n elements,\n dataRef\n } = context;\n const {\n enabled = true,\n escapeKey = true,\n outsidePress: unstable_outsidePress = true,\n outsidePressEvent = 'pointerdown',\n referencePress = false,\n referencePressEvent = 'pointerdown',\n ancestorScroll = false,\n bubbles,\n capture\n } = props;\n const tree = useFloatingTree();\n const outsidePressFn = useEffectEvent(typeof unstable_outsidePress === 'function' ? unstable_outsidePress : () => false);\n const outsidePress = typeof unstable_outsidePress === 'function' ? outsidePressFn : unstable_outsidePress;\n const insideReactTreeRef = React.useRef(false);\n const endedOrStartedInsideRef = React.useRef(false);\n const {\n escapeKey: escapeKeyBubbles,\n outsidePress: outsidePressBubbles\n } = normalizeProp(bubbles);\n const {\n escapeKey: escapeKeyCapture,\n outsidePress: outsidePressCapture\n } = normalizeProp(capture);\n const isComposingRef = React.useRef(false);\n const closeOnEscapeKeyDown = useEffectEvent(event => {\n var _dataRef$current$floa;\n if (!open || !enabled || !escapeKey || event.key !== 'Escape') {\n return;\n }\n\n // Wait until IME is settled. Pressing `Escape` while composing should\n // close the compose menu, but not the floating element.\n if (isComposingRef.current) {\n return;\n }\n const nodeId = (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;\n const children = tree ? getNodeChildren$1(tree.nodesRef.current, nodeId) : [];\n if (!escapeKeyBubbles) {\n event.stopPropagation();\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context;\n if ((_child$context = child.context) != null && _child$context.open && !child.context.dataRef.current.__escapeKeyBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n }\n onOpenChange(false, isReactEvent(event) ? event.nativeEvent : event, 'escape-key');\n });\n const closeOnEscapeKeyDownCapture = useEffectEvent(event => {\n var _getTarget2;\n const callback = () => {\n var _getTarget;\n closeOnEscapeKeyDown(event);\n (_getTarget = getTarget$1(event)) == null || _getTarget.removeEventListener('keydown', callback);\n };\n (_getTarget2 = getTarget$1(event)) == null || _getTarget2.addEventListener('keydown', callback);\n });\n const closeOnPressOutside = useEffectEvent(event => {\n var _dataRef$current$floa2;\n // Given developers can stop the propagation of the synthetic event,\n // we can only be confident with a positive value.\n const insideReactTree = insideReactTreeRef.current;\n insideReactTreeRef.current = false;\n\n // When click outside is lazy (`click` event), handle dragging.\n // Don't close if:\n // - The click started inside the floating element.\n // - The click ended inside the floating element.\n const endedOrStartedInside = endedOrStartedInsideRef.current;\n endedOrStartedInsideRef.current = false;\n if (outsidePressEvent === 'click' && endedOrStartedInside) {\n return;\n }\n if (insideReactTree) {\n return;\n }\n if (typeof outsidePress === 'function' && !outsidePress(event)) {\n return;\n }\n const target = getTarget$1(event);\n const inertSelector = \"[\" + createAttribute('inert') + \"]\";\n const markers = getDocument$1(elements.floating).querySelectorAll(inertSelector);\n let targetRootAncestor = isElement(target) ? target : null;\n while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {\n const nextParent = getParentNode(targetRootAncestor);\n if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {\n break;\n }\n targetRootAncestor = nextParent;\n }\n\n // Check if the click occurred on a third-party element injected after the\n // floating element rendered.\n if (markers.length && isElement(target) && !isRootElement(target) &&\n // Clicked on a direct ancestor (e.g. FloatingOverlay).\n !contains$1(target, elements.floating) &&\n // If the target root element contains none of the markers, then the\n // element was injected after the floating element rendered.\n Array.from(markers).every(marker => !contains$1(targetRootAncestor, marker))) {\n return;\n }\n\n // Check if the click occurred on the scrollbar\n if (isHTMLElement(target) && floating) {\n const lastTraversableNode = isLastTraversableNode(target);\n const style = getComputedStyle(target);\n const scrollRe = /auto|scroll/;\n const isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX);\n const isScrollableY = lastTraversableNode || scrollRe.test(style.overflowY);\n const canScrollX = isScrollableX && target.clientWidth > 0 && target.scrollWidth > target.clientWidth;\n const canScrollY = isScrollableY && target.clientHeight > 0 && target.scrollHeight > target.clientHeight;\n const isRTL = style.direction === 'rtl';\n\n // Check click position relative to scrollbar.\n // In some browsers it is possible to change the <body> (or window)\n // scrollbar to the left side, but is very rare and is difficult to\n // check for. Plus, for modal dialogs with backdrops, it is more\n // important that the backdrop is checked but not so much the window.\n const pressedVerticalScrollbar = canScrollY && (isRTL ? event.offsetX <= target.offsetWidth - target.clientWidth : event.offsetX > target.clientWidth);\n const pressedHorizontalScrollbar = canScrollX && event.offsetY > target.clientHeight;\n if (pressedVerticalScrollbar || pressedHorizontalScrollbar) {\n return;\n }\n }\n const nodeId = (_dataRef$current$floa2 = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa2.nodeId;\n const targetIsInsideChildren = tree && getNodeChildren$1(tree.nodesRef.current, nodeId).some(node => {\n var _node$context;\n return isEventTargetWithin(event, (_node$context = node.context) == null ? void 0 : _node$context.elements.floating);\n });\n if (isEventTargetWithin(event, elements.floating) || isEventTargetWithin(event, elements.domReference) || targetIsInsideChildren) {\n return;\n }\n const children = tree ? getNodeChildren$1(tree.nodesRef.current, nodeId) : [];\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context2;\n if ((_child$context2 = child.context) != null && _child$context2.open && !child.context.dataRef.current.__outsidePressBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n onOpenChange(false, event, 'outside-press');\n });\n const closeOnPressOutsideCapture = useEffectEvent(event => {\n var _getTarget4;\n const callback = () => {\n var _getTarget3;\n closeOnPressOutside(event);\n (_getTarget3 = getTarget$1(event)) == null || _getTarget3.removeEventListener(outsidePressEvent, callback);\n };\n (_getTarget4 = getTarget$1(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback);\n });\n React.useEffect(() => {\n if (!open || !enabled) {\n return;\n }\n dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;\n dataRef.current.__outsidePressBubbles = outsidePressBubbles;\n let compositionTimeout = -1;\n function onScroll(event) {\n onOpenChange(false, event, 'ancestor-scroll');\n }\n function handleCompositionStart() {\n window.clearTimeout(compositionTimeout);\n isComposingRef.current = true;\n }\n function handleCompositionEnd() {\n // Safari fires `compositionend` before `keydown`, so we need to wait\n // until the next tick to set `isComposing` to `false`.\n // https://bugs.webkit.org/show_bug.cgi?id=165004\n compositionTimeout = window.setTimeout(() => {\n isComposingRef.current = false;\n },\n // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.\n // Only apply to WebKit for the test to remain 0ms.\n isWebKit() ? 5 : 0);\n }\n const doc = getDocument$1(elements.floating);\n if (escapeKey) {\n doc.addEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n doc.addEventListener('compositionstart', handleCompositionStart);\n doc.addEventListener('compositionend', handleCompositionEnd);\n }\n outsidePress && doc.addEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n let ancestors = [];\n if (ancestorScroll) {\n if (isElement(elements.domReference)) {\n ancestors = getOverflowAncestors(elements.domReference);\n }\n if (isElement(elements.floating)) {\n ancestors = ancestors.concat(getOverflowAncestors(elements.floating));\n }\n if (!isElement(elements.reference) && elements.reference && elements.reference.contextElement) {\n ancestors = ancestors.concat(getOverflowAncestors(elements.reference.contextElement));\n }\n }\n\n // Ignore the visual viewport for scrolling dismissal (allow pinch-zoom)\n ancestors = ancestors.filter(ancestor => {\n var _doc$defaultView;\n return ancestor !== ((_doc$defaultView = doc.defaultView) == null ? void 0 : _doc$defaultView.visualViewport);\n });\n ancestors.forEach(ancestor => {\n ancestor.addEventListener('scroll', onScroll, {\n passive: true\n });\n });\n return () => {\n if (escapeKey) {\n doc.removeEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n doc.removeEventListener('compositionstart', handleCompositionStart);\n doc.removeEventListener('compositionend', handleCompositionEnd);\n }\n outsidePress && doc.removeEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n ancestors.forEach(ancestor => {\n ancestor.removeEventListener('scroll', onScroll);\n });\n window.clearTimeout(compositionTimeout);\n };\n }, [dataRef, elements, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]);\n React.useEffect(() => {\n insideReactTreeRef.current = false;\n }, [outsidePress, outsidePressEvent]);\n const reference = React.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n ...(referencePress && {\n [bubbleHandlerKeys[referencePressEvent]]: event => {\n onOpenChange(false, event.nativeEvent, 'reference-press');\n },\n ...(referencePressEvent !== 'click' && {\n onClick(event) {\n onOpenChange(false, event.nativeEvent, 'reference-press');\n }\n })\n })\n }), [closeOnEscapeKeyDown, onOpenChange, referencePress, referencePressEvent]);\n const floating = React.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n onMouseDown() {\n endedOrStartedInsideRef.current = true;\n },\n onMouseUp() {\n endedOrStartedInsideRef.current = true;\n },\n [captureHandlerKeys[outsidePressEvent]]: () => {\n insideReactTreeRef.current = true;\n }\n }), [closeOnEscapeKeyDown, outsidePressEvent]);\n return React.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}\n\nfunction useFloatingRootContext(options) {\n const {\n open = false,\n onOpenChange: onOpenChangeProp,\n elements: elementsProp\n } = options;\n const floatingId = useId();\n const dataRef = React.useRef({});\n const [events] = React.useState(() => createEventEmitter());\n const nested = useFloatingParentNodeId() != null;\n if (process.env.NODE_ENV !== \"production\") {\n const optionDomReference = elementsProp.reference;\n if (optionDomReference && !isElement(optionDomReference)) {\n error('Cannot pass a virtual element to the `elements.reference` option,', 'as it must be a real DOM element. Use `refs.setPositionReference()`', 'instead.');\n }\n }\n const [positionReference, setPositionReference] = React.useState(elementsProp.reference);\n const onOpenChange = useEffectEvent((open, event, reason) => {\n dataRef.current.openEvent = open ? event : undefined;\n events.emit('openchange', {\n open,\n event,\n reason,\n nested\n });\n onOpenChangeProp == null || onOpenChangeProp(open, event, reason);\n });\n const refs = React.useMemo(() => ({\n setPositionReference\n }), []);\n const elements = React.useMemo(() => ({\n reference: positionReference || elementsProp.reference || null,\n floating: elementsProp.floating || null,\n domReference: elementsProp.reference\n }), [positionReference, elementsProp.reference, elementsProp.floating]);\n return React.useMemo(() => ({\n dataRef,\n open,\n onOpenChange,\n elements,\n events,\n floatingId,\n refs\n }), [open, onOpenChange, elements, events, floatingId, refs]);\n}\n\n/**\n * Provides data to position a floating element and context to add interactions.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n nodeId\n } = options;\n const internalRootContext = useFloatingRootContext({\n ...options,\n elements: {\n reference: null,\n floating: null,\n ...options.elements\n }\n });\n const rootContext = options.rootContext || internalRootContext;\n const computedElements = rootContext.elements;\n const [_domReference, setDomReference] = React.useState(null);\n const [positionReference, _setPositionReference] = React.useState(null);\n const optionDomReference = computedElements == null ? void 0 : computedElements.domReference;\n const domReference = optionDomReference || _domReference;\n const domReferenceRef = React.useRef(null);\n const tree = useFloatingTree();\n useModernLayoutEffect(() => {\n if (domReference) {\n domReferenceRef.current = domReference;\n }\n }, [domReference]);\n const position = useFloating$1({\n ...options,\n elements: {\n ...computedElements,\n ...(positionReference && {\n reference: positionReference\n })\n }\n });\n const setPositionReference = React.useCallback(node => {\n const computedPositionReference = isElement(node) ? {\n getBoundingClientRect: () => node.getBoundingClientRect(),\n getClientRects: () => node.getClientRects(),\n contextElement: node\n } : node;\n // Store the positionReference in state if the DOM reference is specified externally via the\n // `elements.reference` option. This ensures that it won't be overridden on future renders.\n _setPositionReference(computedPositionReference);\n position.refs.setReference(computedPositionReference);\n }, [position.refs]);\n const setReference = React.useCallback(node => {\n if (isElement(node) || node === null) {\n domReferenceRef.current = node;\n setDomReference(node);\n }\n\n // Backwards-compatibility for passing a virtual element to `reference`\n // after it has set the DOM reference.\n if (isElement(position.refs.reference.current) || position.refs.reference.current === null ||\n // Don't allow setting virtual elements using the old technique back to\n // `null` to support `positionReference` + an unstable `reference`\n // callback ref.\n node !== null && !isElement(node)) {\n position.refs.setReference(node);\n }\n }, [position.refs]);\n const refs = React.useMemo(() => ({\n ...position.refs,\n setReference,\n setPositionReference,\n domReference: domReferenceRef\n }), [position.refs, setReference, setPositionReference]);\n const elements = React.useMemo(() => ({\n ...position.elements,\n domReference: domReference\n }), [position.elements, domReference]);\n const context = React.useMemo(() => ({\n ...position,\n ...rootContext,\n refs,\n elements,\n nodeId\n }), [position, refs, elements, nodeId, rootContext]);\n useModernLayoutEffect(() => {\n rootContext.dataRef.current.floatingContext = context;\n const node = tree == null ? void 0 : tree.nodesRef.current.find(node => node.id === nodeId);\n if (node) {\n node.context = context;\n }\n });\n return React.useMemo(() => ({\n ...position,\n context,\n refs,\n elements\n }), [position, refs, elements, context]);\n}\n\nfunction isMacSafari() {\n return isMac() && isSafari();\n}\n/**\n * Opens the floating element while the reference element has focus, like CSS\n * `:focus`.\n * @see https://floating-ui.com/docs/useFocus\n */\nfunction useFocus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n events,\n dataRef,\n elements\n } = context;\n const {\n enabled = true,\n visibleOnly = true\n } = props;\n const blockFocusRef = React.useRef(false);\n const timeoutRef = React.useRef(-1);\n const keyboardModalityRef = React.useRef(true);\n React.useEffect(() => {\n if (!enabled) return;\n const win = getWindow(elements.domReference);\n\n // If the reference was focused and the user left the tab/window, and the\n // floating element was not open, the focus should be blocked when they\n // return to the tab/window.\n function onBlur() {\n if (!open && isHTMLElement(elements.domReference) && elements.domReference === activeElement(getDocument$1(elements.domReference))) {\n blockFocusRef.current = true;\n }\n }\n function onKeyDown() {\n keyboardModalityRef.current = true;\n }\n function onPointerDown() {\n keyboardModalityRef.current = false;\n }\n win.addEventListener('blur', onBlur);\n if (isMacSafari()) {\n win.addEventListener('keydown', onKeyDown, true);\n win.addEventListener('pointerdown', onPointerDown, true);\n }\n return () => {\n win.removeEventListener('blur', onBlur);\n if (isMacSafari()) {\n win.removeEventListener('keydown', onKeyDown, true);\n win.removeEventListener('pointerdown', onPointerDown, true);\n }\n };\n }, [elements.domReference, open, enabled]);\n React.useEffect(() => {\n if (!enabled) return;\n function onOpenChange(_ref) {\n let {\n reason\n } = _ref;\n if (reason === 'reference-press' || reason === 'escape-key') {\n blockFocusRef.current = true;\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n };\n }, [events, enabled]);\n React.useEffect(() => {\n return () => {\n clearTimeoutIfSet(timeoutRef);\n };\n }, []);\n const reference = React.useMemo(() => ({\n onMouseLeave() {\n blockFocusRef.current = false;\n },\n onFocus(event) {\n if (blockFocusRef.current) return;\n const target = getTarget$1(event.nativeEvent);\n if (visibleOnly && isElement(target)) {\n // Safari fails to match `:focus-visible` if focus was initially\n // outside the document.\n if (isMacSafari() && !event.relatedTarget) {\n if (!keyboardModalityRef.current && !isTypeableElement(target)) {\n return;\n }\n } else if (!matchesFocusVisible(target)) {\n return;\n }\n }\n onOpenChange(true, event.nativeEvent, 'focus');\n },\n onBlur(event) {\n blockFocusRef.current = false;\n const relatedTarget = event.relatedTarget;\n const nativeEvent = event.nativeEvent;\n\n // Hit the non-modal focus management portal guard. Focus will be\n // moved into the floating element immediately after.\n const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute('focus-guard')) && relatedTarget.getAttribute('data-type') === 'outside';\n\n // Wait for the window blur listener to fire.\n timeoutRef.current = window.setTimeout(() => {\n var _dataRef$current$floa;\n const activeEl = activeElement(elements.domReference ? elements.domReference.ownerDocument : document);\n\n // Focus left the page, keep it open.\n if (!relatedTarget && activeEl === elements.domReference) return;\n\n // When focusing the reference element (e.g. regular click), then\n // clicking into the floating element, prevent it from hiding.\n // Note: it must be focusable, e.g. `tabindex=\"-1\"`.\n // We can not rely on relatedTarget to point to the correct element\n // as it will only point to the shadow host of the newly focused element\n // and not the element that actually has received focus if it is located\n // inside a shadow root.\n if (contains$1((_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.refs.floating.current, activeEl) || contains$1(elements.domReference, activeEl) || movedToFocusGuard) {\n return;\n }\n onOpenChange(false, nativeEvent, 'focus');\n });\n }\n }), [dataRef, elements.domReference, onOpenChange, visibleOnly]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nfunction mergeProps(userProps, propsList, elementKey) {\n const map = new Map();\n const isItem = elementKey === 'item';\n let domUserProps = userProps;\n if (isItem && userProps) {\n const {\n [ACTIVE_KEY]: _,\n [SELECTED_KEY]: __,\n ...validProps\n } = userProps;\n domUserProps = validProps;\n }\n return {\n ...(elementKey === 'floating' && {\n tabIndex: -1,\n [FOCUSABLE_ATTRIBUTE]: ''\n }),\n ...domUserProps,\n ...propsList.map(value => {\n const propsOrGetProps = value ? value[elementKey] : null;\n if (typeof propsOrGetProps === 'function') {\n return userProps ? propsOrGetProps(userProps) : null;\n }\n return propsOrGetProps;\n }).concat(userProps).reduce((acc, props) => {\n if (!props) {\n return acc;\n }\n Object.entries(props).forEach(_ref => {\n let [key, value] = _ref;\n if (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) {\n return;\n }\n if (key.indexOf('on') === 0) {\n if (!map.has(key)) {\n map.set(key, []);\n }\n if (typeof value === 'function') {\n var _map$get;\n (_map$get = map.get(key)) == null || _map$get.push(value);\n acc[key] = function () {\n var _map$get2;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map(fn => fn(...args)).find(val => val !== undefined);\n };\n }\n } else {\n acc[key] = value;\n }\n });\n return acc;\n }, {})\n };\n}\n/**\n * Merges an array of interaction hooks' props into prop getters, allowing\n * event handler functions to be composed together without overwriting one\n * another.\n * @see https://floating-ui.com/docs/useInteractions\n */\nfunction useInteractions(propsList) {\n if (propsList === void 0) {\n propsList = [];\n }\n const referenceDeps = propsList.map(key => key == null ? void 0 : key.reference);\n const floatingDeps = propsList.map(key => key == null ? void 0 : key.floating);\n const itemDeps = propsList.map(key => key == null ? void 0 : key.item);\n const getReferenceProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'reference'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n referenceDeps);\n const getFloatingProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'floating'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n floatingDeps);\n const getItemProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'item'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n itemDeps);\n return React.useMemo(() => ({\n getReferenceProps,\n getFloatingProps,\n getItemProps\n }), [getReferenceProps, getFloatingProps, getItemProps]);\n}\n\nconst ESCAPE = 'Escape';\nfunction doSwitch(orientation, vertical, horizontal) {\n switch (orientation) {\n case 'vertical':\n return vertical;\n case 'horizontal':\n return horizontal;\n default:\n return vertical || horizontal;\n }\n}\nfunction isMainOrientationKey(key, orientation) {\n const vertical = key === ARROW_UP || key === ARROW_DOWN;\n const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isMainOrientationToEndKey(key, orientation, rtl) {\n const vertical = key === ARROW_DOWN;\n const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal) || key === 'Enter' || key === ' ' || key === '';\n}\nfunction isCrossOrientationOpenKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n const horizontal = key === ARROW_DOWN;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isCrossOrientationCloseKey(key, orientation, rtl, cols) {\n const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n const horizontal = key === ARROW_UP;\n if (orientation === 'both' || orientation === 'horizontal' && cols && cols > 1) {\n return key === ESCAPE;\n }\n return doSwitch(orientation, vertical, horizontal);\n}\n/**\n * Adds arrow key-based navigation of a list of items, either using real DOM\n * focus or virtual focus.\n * @see https://floating-ui.com/docs/useListNavigation\n */\nfunction useListNavigation(context, props) {\n const {\n open,\n onOpenChange,\n elements,\n floatingId\n } = context;\n const {\n listRef,\n activeIndex,\n onNavigate: unstable_onNavigate = () => {},\n enabled = true,\n selectedIndex = null,\n allowEscape = false,\n loop = false,\n nested = false,\n rtl = false,\n virtual = false,\n focusItemOnOpen = 'auto',\n focusItemOnHover = true,\n openOnArrowKeyDown = true,\n disabledIndices = undefined,\n orientation = 'vertical',\n parentOrientation,\n cols = 1,\n scrollItemIntoView = true,\n virtualItemRef,\n itemSizes,\n dense = false\n } = props;\n if (process.env.NODE_ENV !== \"production\") {\n if (allowEscape) {\n if (!loop) {\n warn('`useListNavigation` looping must be enabled to allow escaping.');\n }\n if (!virtual) {\n warn('`useListNavigation` must be virtual to allow escaping.');\n }\n }\n if (orientation === 'vertical' && cols > 1) {\n warn('In grid list navigation mode (`cols` > 1), the `orientation` should', 'be either \"horizontal\" or \"both\".');\n }\n }\n const floatingFocusElement = getFloatingFocusElement(elements.floating);\n const floatingFocusElementRef = useLatestRef(floatingFocusElement);\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree();\n useModernLayoutEffect(() => {\n context.dataRef.current.orientation = orientation;\n }, [context, orientation]);\n const onNavigate = useEffectEvent(() => {\n unstable_onNavigate(indexRef.current === -1 ? null : indexRef.current);\n });\n const typeableComboboxReference = isTypeableCombobox(elements.domReference);\n const focusItemOnOpenRef = React.useRef(focusItemOnOpen);\n const indexRef = React.useRef(selectedIndex != null ? selectedIndex : -1);\n const keyRef = React.useRef(null);\n const isPointerModalityRef = React.useRef(true);\n const previousOnNavigateRef = React.useRef(onNavigate);\n const previousMountedRef = React.useRef(!!elements.floating);\n const previousOpenRef = React.useRef(open);\n const forceSyncFocusRef = React.useRef(false);\n const forceScrollIntoViewRef = React.useRef(false);\n const disabledIndicesRef = useLatestRef(disabledIndices);\n const latestOpenRef = useLatestRef(open);\n const scrollItemIntoViewRef = useLatestRef(scrollItemIntoView);\n const selectedIndexRef = useLatestRef(selectedIndex);\n const [activeId, setActiveId] = React.useState();\n const [virtualId, setVirtualId] = React.useState();\n const focusItem = useEffectEvent(() => {\n function runFocus(item) {\n if (virtual) {\n var _item$id;\n if ((_item$id = item.id) != null && _item$id.endsWith('-fui-option')) {\n item.id = floatingId + \"-\" + Math.random().toString(16).slice(2, 10);\n }\n setActiveId(item.id);\n tree == null || tree.events.emit('virtualfocus', item);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n } else {\n enqueueFocus(item, {\n sync: forceSyncFocusRef.current,\n preventScroll: true\n });\n }\n }\n const initialItem = listRef.current[indexRef.current];\n const forceScrollIntoView = forceScrollIntoViewRef.current;\n if (initialItem) {\n runFocus(initialItem);\n }\n const scheduler = forceSyncFocusRef.current ? v => v() : requestAnimationFrame;\n scheduler(() => {\n const waitedItem = listRef.current[indexRef.current] || initialItem;\n if (!waitedItem) return;\n if (!initialItem) {\n runFocus(waitedItem);\n }\n const scrollIntoViewOptions = scrollItemIntoViewRef.current;\n const shouldScrollIntoView = scrollIntoViewOptions && item && (forceScrollIntoView || !isPointerModalityRef.current);\n if (shouldScrollIntoView) {\n // JSDOM doesn't support `.scrollIntoView()` but it's widely supported\n // by all browsers.\n waitedItem.scrollIntoView == null || waitedItem.scrollIntoView(typeof scrollIntoViewOptions === 'boolean' ? {\n block: 'nearest',\n inline: 'nearest'\n } : scrollIntoViewOptions);\n }\n });\n });\n\n // Sync `selectedIndex` to be the `activeIndex` upon opening the floating\n // element. Also, reset `activeIndex` upon closing the floating element.\n useModernLayoutEffect(() => {\n if (!enabled) return;\n if (open && elements.floating) {\n if (focusItemOnOpenRef.current && selectedIndex != null) {\n // Regardless of the pointer modality, we want to ensure the selected\n // item comes into view when the floating element is opened.\n forceScrollIntoViewRef.current = true;\n indexRef.current = selectedIndex;\n onNavigate();\n }\n } else if (previousMountedRef.current) {\n // Since the user can specify `onNavigate` conditionally\n // (onNavigate: open ? setActiveIndex : setSelectedIndex),\n // we store and call the previous function.\n indexRef.current = -1;\n previousOnNavigateRef.current();\n }\n }, [enabled, open, elements.floating, selectedIndex, onNavigate]);\n\n // Sync `activeIndex` to be the focused item while the floating element is\n // open.\n useModernLayoutEffect(() => {\n if (!enabled) return;\n if (!open) return;\n if (!elements.floating) return;\n if (activeIndex == null) {\n forceSyncFocusRef.current = false;\n if (selectedIndexRef.current != null) {\n return;\n }\n\n // Reset while the floating element was open (e.g. the list changed).\n if (previousMountedRef.current) {\n indexRef.current = -1;\n focusItem();\n }\n\n // Initial sync.\n if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {\n let runs = 0;\n const waitForListPopulated = () => {\n if (listRef.current[0] == null) {\n // Avoid letting the browser paint if possible on the first try,\n // otherwise use rAF. Don't try more than twice, since something\n // is wrong otherwise.\n if (runs < 2) {\n const scheduler = runs ? requestAnimationFrame : queueMicrotask;\n scheduler(waitForListPopulated);\n }\n runs++;\n } else {\n indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinListIndex(listRef, disabledIndicesRef.current) : getMaxListIndex(listRef, disabledIndicesRef.current);\n keyRef.current = null;\n onNavigate();\n }\n };\n waitForListPopulated();\n }\n } else if (!isIndexOutOfListBounds(listRef, activeIndex)) {\n indexRef.current = activeIndex;\n focusItem();\n forceScrollIntoViewRef.current = false;\n }\n }, [enabled, open, elements.floating, activeIndex, selectedIndexRef, nested, listRef, orientation, rtl, onNavigate, focusItem, disabledIndicesRef]);\n\n // Ensure the parent floating element has focus when a nested child closes\n // to allow arrow key navigation to work after the pointer leaves the child.\n useModernLayoutEffect(() => {\n var _nodes$find;\n if (!enabled || elements.floating || !tree || virtual || !previousMountedRef.current) {\n return;\n }\n const nodes = tree.nodesRef.current;\n const parent = (_nodes$find = nodes.find(node => node.id === parentId)) == null || (_nodes$find = _nodes$find.context) == null ? void 0 : _nodes$find.elements.floating;\n const activeEl = activeElement(getDocument$1(elements.floating));\n const treeContainsActiveEl = nodes.some(node => node.context && contains$1(node.context.elements.floating, activeEl));\n if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {\n parent.focus({\n preventScroll: true\n });\n }\n }, [enabled, elements.floating, tree, parentId, virtual]);\n useModernLayoutEffect(() => {\n if (!enabled) return;\n if (!tree) return;\n if (!virtual) return;\n if (parentId) return;\n function handleVirtualFocus(item) {\n setVirtualId(item.id);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n }\n tree.events.on('virtualfocus', handleVirtualFocus);\n return () => {\n tree.events.off('virtualfocus', handleVirtualFocus);\n };\n }, [enabled, tree, virtual, parentId, virtualItemRef]);\n useModernLayoutEffect(() => {\n previousOnNavigateRef.current = onNavigate;\n previousOpenRef.current = open;\n previousMountedRef.current = !!elements.floating;\n });\n useModernLayoutEffect(() => {\n if (!open) {\n keyRef.current = null;\n }\n }, [open]);\n const hasActiveIndex = activeIndex != null;\n const item = React.useMemo(() => {\n function syncCurrentTarget(currentTarget) {\n if (!open) return;\n const index = listRef.current.indexOf(currentTarget);\n if (index !== -1 && indexRef.current !== index) {\n indexRef.current = index;\n onNavigate();\n }\n }\n const props = {\n onFocus(_ref) {\n let {\n currentTarget\n } = _ref;\n forceSyncFocusRef.current = true;\n syncCurrentTarget(currentTarget);\n },\n onClick: _ref2 => {\n let {\n currentTarget\n } = _ref2;\n return currentTarget.focus({\n preventScroll: true\n });\n },\n // Safari\n ...(focusItemOnHover && {\n onMouseMove(_ref3) {\n let {\n currentTarget\n } = _ref3;\n forceSyncFocusRef.current = true;\n forceScrollIntoViewRef.current = false;\n syncCurrentTarget(currentTarget);\n },\n onPointerLeave(_ref4) {\n let {\n pointerType\n } = _ref4;\n if (!isPointerModalityRef.current || pointerType === 'touch') {\n return;\n }\n forceSyncFocusRef.current = true;\n indexRef.current = -1;\n onNavigate();\n if (!virtual) {\n var _floatingFocusElement;\n (_floatingFocusElement = floatingFocusElementRef.current) == null || _floatingFocusElement.focus({\n preventScroll: true\n });\n }\n }\n })\n };\n return props;\n }, [open, floatingFocusElementRef, focusItemOnHover, listRef, onNavigate, virtual]);\n const getParentOrientation = React.useCallback(() => {\n var _tree$nodesRef$curren;\n return parentOrientation != null ? parentOrientation : tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find(node => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.dataRef) == null ? void 0 : _tree$nodesRef$curren.current.orientation;\n }, [parentId, tree, parentOrientation]);\n const commonOnKeyDown = useEffectEvent(event => {\n isPointerModalityRef.current = false;\n forceSyncFocusRef.current = true;\n\n // When composing a character, Chrome fires ArrowDown twice. Firefox/Safari\n // don't appear to suffer from this. `event.isComposing` is avoided due to\n // Safari not supporting it properly (although it's not needed in the first\n // place for Safari, just avoiding any possible issues).\n if (event.which === 229) {\n return;\n }\n\n // If the floating element is animating out, ignore navigation. Otherwise,\n // the `activeIndex` gets set to 0 despite not being open so the next time\n // the user ArrowDowns, the first item won't be focused.\n if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {\n return;\n }\n if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl, cols)) {\n // If the nested list's close key is also the parent navigation key,\n // let the parent navigate. Otherwise, stop propagating the event.\n if (!isMainOrientationKey(event.key, getParentOrientation())) {\n stopEvent(event);\n }\n onOpenChange(false, event.nativeEvent, 'list-navigation');\n if (isHTMLElement(elements.domReference)) {\n if (virtual) {\n tree == null || tree.events.emit('virtualfocus', elements.domReference);\n } else {\n elements.domReference.focus();\n }\n }\n return;\n }\n const currentIndex = indexRef.current;\n const minIndex = getMinListIndex(listRef, disabledIndices);\n const maxIndex = getMaxListIndex(listRef, disabledIndices);\n if (!typeableComboboxReference) {\n if (event.key === 'Home') {\n stopEvent(event);\n indexRef.current = minIndex;\n onNavigate();\n }\n if (event.key === 'End') {\n stopEvent(event);\n indexRef.current = maxIndex;\n onNavigate();\n }\n }\n\n // Grid navigation.\n if (cols > 1) {\n const sizes = itemSizes || Array.from({\n length: listRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = createGridCellMap(sizes, cols, dense);\n const minGridIndex = cellMap.findIndex(index => index != null && !isListIndexDisabled(listRef, index, disabledIndices));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isListIndexDisabled(listRef, index, disabledIndices) ? cellIndex : foundIndex, -1);\n const index = cellMap[getGridNavigatedIndex({\n current: cellMap.map(itemIndex => itemIndex != null ? listRef.current[itemIndex] : null)\n }, {\n event,\n orientation,\n loop,\n rtl,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getGridCellIndices([...(disabledIndices || listRef.current.map((_, index) => isListIndexDisabled(listRef, index) ? index : undefined)), undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getGridCellIndexOfCorner(indexRef.current > maxIndex ? minIndex : indexRef.current, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction\n // we're moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n event.key === ARROW_DOWN ? 'bl' : event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT) ? 'tr' : 'tl'),\n stopEvent: true\n })];\n if (index != null) {\n indexRef.current = index;\n onNavigate();\n }\n if (orientation === 'both') {\n return;\n }\n }\n if (isMainOrientationKey(event.key, orientation)) {\n stopEvent(event);\n\n // Reset the index if no item is focused.\n if (open && !virtual && activeElement(event.currentTarget.ownerDocument) === event.currentTarget) {\n indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;\n onNavigate();\n return;\n }\n if (isMainOrientationToEndKey(event.key, orientation, rtl)) {\n if (loop) {\n indexRef.current = currentIndex >= maxIndex ? allowEscape && currentIndex !== listRef.current.length ? -1 : minIndex : findNonDisabledListIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n });\n } else {\n indexRef.current = Math.min(maxIndex, findNonDisabledListIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n }));\n }\n } else {\n if (loop) {\n indexRef.current = currentIndex <= minIndex ? allowEscape && currentIndex !== -1 ? listRef.current.length : maxIndex : findNonDisabledListIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n });\n } else {\n indexRef.current = Math.max(minIndex, findNonDisabledListIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n }));\n }\n }\n if (isIndexOutOfListBounds(listRef, indexRef.current)) {\n indexRef.current = -1;\n }\n onNavigate();\n }\n });\n const ariaActiveDescendantProp = React.useMemo(() => {\n return virtual && open && hasActiveIndex && {\n 'aria-activedescendant': virtualId || activeId\n };\n }, [virtual, open, hasActiveIndex, virtualId, activeId]);\n const floating = React.useMemo(() => {\n return {\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n ...(!typeableComboboxReference ? ariaActiveDescendantProp : {}),\n onKeyDown: commonOnKeyDown,\n onPointerMove() {\n isPointerModalityRef.current = true;\n }\n };\n }, [ariaActiveDescendantProp, commonOnKeyDown, orientation, typeableComboboxReference]);\n const reference = React.useMemo(() => {\n function checkVirtualMouse(event) {\n if (focusItemOnOpen === 'auto' && isVirtualClick(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n function checkVirtualPointer(event) {\n // `pointerdown` fires first, reset the state then perform the checks.\n focusItemOnOpenRef.current = focusItemOnOpen;\n if (focusItemOnOpen === 'auto' && isVirtualPointerEvent(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n return {\n ...ariaActiveDescendantProp,\n onKeyDown(event) {\n isPointerModalityRef.current = false;\n const isArrowKey = event.key.startsWith('Arrow');\n const isHomeOrEndKey = ['Home', 'End'].includes(event.key);\n const isMoveKey = isArrowKey || isHomeOrEndKey;\n const isCrossOpenKey = isCrossOrientationOpenKey(event.key, orientation, rtl);\n const isCrossCloseKey = isCrossOrientationCloseKey(event.key, orientation, rtl, cols);\n const isParentCrossOpenKey = isCrossOrientationOpenKey(event.key, getParentOrientation(), rtl);\n const isMainKey = isMainOrientationKey(event.key, orientation);\n const isNavigationKey = (nested ? isParentCrossOpenKey : isMainKey) || event.key === 'Enter' || event.key.trim() === '';\n if (virtual && open) {\n const rootNode = tree == null ? void 0 : tree.nodesRef.current.find(node => node.parentId == null);\n const deepestNode = tree && rootNode ? getDeepestNode(tree.nodesRef.current, rootNode.id) : null;\n if (isMoveKey && deepestNode && virtualItemRef) {\n const eventObject = new KeyboardEvent('keydown', {\n key: event.key,\n bubbles: true\n });\n if (isCrossOpenKey || isCrossCloseKey) {\n var _deepestNode$context, _deepestNode$context2;\n const isCurrentTarget = ((_deepestNode$context = deepestNode.context) == null ? void 0 : _deepestNode$context.elements.domReference) === event.currentTarget;\n const dispatchItem = isCrossCloseKey && !isCurrentTarget ? (_deepestNode$context2 = deepestNode.context) == null ? void 0 : _deepestNode$context2.elements.domReference : isCrossOpenKey ? listRef.current.find(item => (item == null ? void 0 : item.id) === activeId) : null;\n if (dispatchItem) {\n stopEvent(event);\n dispatchItem.dispatchEvent(eventObject);\n setVirtualId(undefined);\n }\n }\n if ((isMainKey || isHomeOrEndKey) && deepestNode.context) {\n if (deepestNode.context.open && deepestNode.parentId && event.currentTarget !== deepestNode.context.elements.domReference) {\n var _deepestNode$context$;\n stopEvent(event);\n (_deepestNode$context$ = deepestNode.context.elements.domReference) == null || _deepestNode$context$.dispatchEvent(eventObject);\n return;\n }\n }\n }\n return commonOnKeyDown(event);\n }\n // If a floating element should not open on arrow key down, avoid\n // setting `activeIndex` while it's closed.\n if (!open && !openOnArrowKeyDown && isArrowKey) {\n return;\n }\n if (isNavigationKey) {\n const isParentMainKey = isMainOrientationKey(event.key, getParentOrientation());\n keyRef.current = nested && isParentMainKey ? null : event.key;\n }\n if (nested) {\n if (isParentCrossOpenKey) {\n stopEvent(event);\n if (open) {\n indexRef.current = getMinListIndex(listRef, disabledIndicesRef.current);\n onNavigate();\n } else {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n }\n }\n return;\n }\n if (isMainKey) {\n if (selectedIndex != null) {\n indexRef.current = selectedIndex;\n }\n stopEvent(event);\n if (!open && openOnArrowKeyDown) {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n } else {\n commonOnKeyDown(event);\n }\n if (open) {\n onNavigate();\n }\n }\n },\n onFocus() {\n if (open && !virtual) {\n indexRef.current = -1;\n onNavigate();\n }\n },\n onPointerDown: checkVirtualPointer,\n onPointerEnter: checkVirtualPointer,\n onMouseDown: checkVirtualMouse,\n onClick: checkVirtualMouse\n };\n }, [activeId, ariaActiveDescendantProp, cols, commonOnKeyDown, disabledIndicesRef, focusItemOnOpen, listRef, nested, onNavigate, onOpenChange, open, openOnArrowKeyDown, orientation, getParentOrientation, rtl, selectedIndex, tree, virtual, virtualItemRef]);\n return React.useMemo(() => enabled ? {\n reference,\n floating,\n item\n } : {}, [enabled, reference, floating, item]);\n}\n\nconst componentRoleToAriaRoleMap = /*#__PURE__*/new Map([['select', 'listbox'], ['combobox', 'listbox'], ['label', false]]);\n\n/**\n * Adds base screen reader props to the reference and floating elements for a\n * given floating element `role`.\n * @see https://floating-ui.com/docs/useRole\n */\nfunction useRole(context, props) {\n var _elements$domReferenc, _componentRoleToAriaR;\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n elements,\n floatingId: defaultFloatingId\n } = context;\n const {\n enabled = true,\n role = 'dialog'\n } = props;\n const defaultReferenceId = useId();\n const referenceId = ((_elements$domReferenc = elements.domReference) == null ? void 0 : _elements$domReferenc.id) || defaultReferenceId;\n const floatingId = React.useMemo(() => {\n var _getFloatingFocusElem;\n return ((_getFloatingFocusElem = getFloatingFocusElement(elements.floating)) == null ? void 0 : _getFloatingFocusElem.id) || defaultFloatingId;\n }, [elements.floating, defaultFloatingId]);\n const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap.get(role)) != null ? _componentRoleToAriaR : role;\n const parentId = useFloatingParentNodeId();\n const isNested = parentId != null;\n const reference = React.useMemo(() => {\n if (ariaRole === 'tooltip' || role === 'label') {\n return {\n [\"aria-\" + (role === 'label' ? 'labelledby' : 'describedby')]: open ? floatingId : undefined\n };\n }\n return {\n 'aria-expanded': open ? 'true' : 'false',\n 'aria-haspopup': ariaRole === 'alertdialog' ? 'dialog' : ariaRole,\n 'aria-controls': open ? floatingId : undefined,\n ...(ariaRole === 'listbox' && {\n role: 'combobox'\n }),\n ...(ariaRole === 'menu' && {\n id: referenceId\n }),\n ...(ariaRole === 'menu' && isNested && {\n role: 'menuitem'\n }),\n ...(role === 'select' && {\n 'aria-autocomplete': 'none'\n }),\n ...(role === 'combobox' && {\n 'aria-autocomplete': 'list'\n })\n };\n }, [ariaRole, floatingId, isNested, open, referenceId, role]);\n const floating = React.useMemo(() => {\n const floatingProps = {\n id: floatingId,\n ...(ariaRole && {\n role: ariaRole\n })\n };\n if (ariaRole === 'tooltip' || role === 'label') {\n return floatingProps;\n }\n return {\n ...floatingProps,\n ...(ariaRole === 'menu' && {\n 'aria-labelledby': referenceId\n })\n };\n }, [ariaRole, floatingId, referenceId, role]);\n const item = React.useCallback(_ref => {\n let {\n active,\n selected\n } = _ref;\n const commonProps = {\n role: 'option',\n ...(active && {\n id: floatingId + \"-fui-option\"\n })\n };\n\n // For `menu`, we are unable to tell if the item is a `menuitemradio`\n // or `menuitemcheckbox`. For backwards-compatibility reasons, also\n // avoid defaulting to `menuitem` as it may overwrite custom role props.\n switch (role) {\n case 'select':\n return {\n ...commonProps,\n 'aria-selected': active && selected\n };\n case 'combobox':\n {\n return {\n ...commonProps,\n 'aria-selected': selected\n };\n }\n }\n return {};\n }, [floatingId, role]);\n return React.useMemo(() => enabled ? {\n reference,\n floating,\n item\n } : {}, [enabled, reference, floating, item]);\n}\n\n// Converts a JS style key like `backgroundColor` to a CSS transition-property\n// like `background-color`.\nconst camelCaseToKebabCase = str => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\nfunction execWithArgsOrReturn(valueOrFn, args) {\n return typeof valueOrFn === 'function' ? valueOrFn(args) : valueOrFn;\n}\nfunction useDelayUnmount(open, durationMs) {\n const [isMounted, setIsMounted] = React.useState(open);\n if (open && !isMounted) {\n setIsMounted(true);\n }\n React.useEffect(() => {\n if (!open && isMounted) {\n const timeout = setTimeout(() => setIsMounted(false), durationMs);\n return () => clearTimeout(timeout);\n }\n }, [open, isMounted, durationMs]);\n return isMounted;\n}\n/**\n * Provides a status string to apply CSS transitions to a floating element,\n * correctly handling placement-aware transitions.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstatus\n */\nfunction useTransitionStatus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n elements: {\n floating\n }\n } = context;\n const {\n duration = 250\n } = props;\n const isNumberDuration = typeof duration === 'number';\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [status, setStatus] = React.useState('unmounted');\n const isMounted = useDelayUnmount(open, closeDuration);\n if (!isMounted && status === 'close') {\n setStatus('unmounted');\n }\n useModernLayoutEffect(() => {\n if (!floating) return;\n if (open) {\n setStatus('initial');\n const frame = requestAnimationFrame(() => {\n // Ensure it opens before paint. With `FloatingDelayGroup`,\n // this avoids a flicker when moving between floating elements\n // to ensure one is always open with no missing frames.\n ReactDOM.flushSync(() => {\n setStatus('open');\n });\n });\n return () => {\n cancelAnimationFrame(frame);\n };\n }\n setStatus('close');\n }, [open, floating]);\n return {\n isMounted,\n status\n };\n}\n/**\n * Provides styles to apply CSS transitions to a floating element, correctly\n * handling placement-aware transitions. Wrapper around `useTransitionStatus`.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstyles\n */\nfunction useTransitionStyles(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n initial: unstable_initial = {\n opacity: 0\n },\n open: unstable_open,\n close: unstable_close,\n common: unstable_common,\n duration = 250\n } = props;\n const placement = context.placement;\n const side = placement.split('-')[0];\n const fnArgs = React.useMemo(() => ({\n side,\n placement\n }), [side, placement]);\n const isNumberDuration = typeof duration === 'number';\n const openDuration = (isNumberDuration ? duration : duration.open) || 0;\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [styles, setStyles] = React.useState(() => ({\n ...execWithArgsOrReturn(unstable_common, fnArgs),\n ...execWithArgsOrReturn(unstable_initial, fnArgs)\n }));\n const {\n isMounted,\n status\n } = useTransitionStatus(context, {\n duration\n });\n const initialRef = useLatestRef(unstable_initial);\n const openRef = useLatestRef(unstable_open);\n const closeRef = useLatestRef(unstable_close);\n const commonRef = useLatestRef(unstable_common);\n useModernLayoutEffect(() => {\n const initialStyles = execWithArgsOrReturn(initialRef.current, fnArgs);\n const closeStyles = execWithArgsOrReturn(closeRef.current, fnArgs);\n const commonStyles = execWithArgsOrReturn(commonRef.current, fnArgs);\n const openStyles = execWithArgsOrReturn(openRef.current, fnArgs) || Object.keys(initialStyles).reduce((acc, key) => {\n acc[key] = '';\n return acc;\n }, {});\n if (status === 'initial') {\n setStyles(styles => ({\n transitionProperty: styles.transitionProperty,\n ...commonStyles,\n ...initialStyles\n }));\n }\n if (status === 'open') {\n setStyles({\n transitionProperty: Object.keys(openStyles).map(camelCaseToKebabCase).join(','),\n transitionDuration: openDuration + \"ms\",\n ...commonStyles,\n ...openStyles\n });\n }\n if (status === 'close') {\n const styles = closeStyles || initialStyles;\n setStyles({\n transitionProperty: Object.keys(styles).map(camelCaseToKebabCase).join(','),\n transitionDuration: closeDuration + \"ms\",\n ...commonStyles,\n ...styles\n });\n }\n }, [closeDuration, closeRef, initialRef, openRef, commonRef, openDuration, status, fnArgs]);\n return {\n isMounted,\n styles\n };\n}\n\n/**\n * Provides a matching callback that can be used to focus an item as the user\n * types, often used in tandem with `useListNavigation()`.\n * @see https://floating-ui.com/docs/useTypeahead\n */\nfunction useTypeahead(context, props) {\n var _ref;\n const {\n open,\n dataRef\n } = context;\n const {\n listRef,\n activeIndex,\n onMatch: unstable_onMatch,\n onTypingChange: unstable_onTypingChange,\n enabled = true,\n findMatch = null,\n resetMs = 750,\n ignoreKeys = [],\n selectedIndex = null\n } = props;\n const timeoutIdRef = React.useRef(-1);\n const stringRef = React.useRef('');\n const prevIndexRef = React.useRef((_ref = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref : -1);\n const matchIndexRef = React.useRef(null);\n const onMatch = useEffectEvent(unstable_onMatch);\n const onTypingChange = useEffectEvent(unstable_onTypingChange);\n const findMatchRef = useLatestRef(findMatch);\n const ignoreKeysRef = useLatestRef(ignoreKeys);\n useModernLayoutEffect(() => {\n if (open) {\n clearTimeoutIfSet(timeoutIdRef);\n matchIndexRef.current = null;\n stringRef.current = '';\n }\n }, [open]);\n useModernLayoutEffect(() => {\n // Sync arrow key navigation but not typeahead navigation.\n if (open && stringRef.current === '') {\n var _ref2;\n prevIndexRef.current = (_ref2 = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref2 : -1;\n }\n }, [open, selectedIndex, activeIndex]);\n const setTypingChange = useEffectEvent(value => {\n if (value) {\n if (!dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n } else {\n if (dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n }\n });\n const onKeyDown = useEffectEvent(event => {\n function getMatchingIndex(list, orderedList, string) {\n const str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find(text => (text == null ? void 0 : text.toLocaleLowerCase().indexOf(string.toLocaleLowerCase())) === 0);\n return str ? list.indexOf(str) : -1;\n }\n const listContent = listRef.current;\n if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n if (getMatchingIndex(listContent, listContent, stringRef.current) === -1) {\n setTypingChange(false);\n } else if (event.key === ' ') {\n stopEvent(event);\n }\n }\n if (listContent == null || ignoreKeysRef.current.includes(event.key) ||\n // Character key.\n event.key.length !== 1 ||\n // Modifier key.\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== ' ') {\n stopEvent(event);\n setTypingChange(true);\n }\n\n // Bail out if the list contains a word like \"llama\" or \"aaron\". TODO:\n // allow it in this case, too.\n const allowRapidSuccessionOfFirstLetter = listContent.every(text => {\n var _text$, _text$2;\n return text ? ((_text$ = text[0]) == null ? void 0 : _text$.toLocaleLowerCase()) !== ((_text$2 = text[1]) == null ? void 0 : _text$2.toLocaleLowerCase()) : true;\n });\n\n // Allows the user to cycle through items that start with the same letter\n // in rapid succession.\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n clearTimeoutIfSet(timeoutIdRef);\n timeoutIdRef.current = window.setTimeout(() => {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n }, resetMs);\n const prevIndex = prevIndexRef.current;\n const index = getMatchingIndex(listContent, [...listContent.slice((prevIndex || 0) + 1), ...listContent.slice(0, (prevIndex || 0) + 1)], stringRef.current);\n if (index !== -1) {\n onMatch(index);\n matchIndexRef.current = index;\n } else if (event.key !== ' ') {\n stringRef.current = '';\n setTypingChange(false);\n }\n });\n const reference = React.useMemo(() => ({\n onKeyDown\n }), [onKeyDown]);\n const floating = React.useMemo(() => {\n return {\n onKeyDown,\n onKeyUp(event) {\n if (event.key === ' ') {\n setTypingChange(false);\n }\n }\n };\n }, [onKeyDown, setTypingChange]);\n return React.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}\n\nfunction getArgsWithCustomFloatingHeight(state, height) {\n return {\n ...state,\n rects: {\n ...state.rects,\n floating: {\n ...state.rects.floating,\n height\n }\n }\n };\n}\n/**\n * Positions the floating element such that an inner element inside of it is\n * anchored to the reference element.\n * @see https://floating-ui.com/docs/inner\n * @deprecated\n */\nconst inner = props => ({\n name: 'inner',\n options: props,\n async fn(state) {\n const {\n listRef,\n overflowRef,\n onFallbackChange,\n offset: innerOffset = 0,\n index = 0,\n minItemsVisible = 4,\n referenceOverflowThreshold = 0,\n scrollRef,\n ...detectOverflowOptions\n } = evaluate(props, state);\n const {\n rects,\n elements: {\n floating\n }\n } = state;\n const item = listRef.current[index];\n const scrollEl = (scrollRef == null ? void 0 : scrollRef.current) || floating;\n\n // Valid combinations:\n // 1. Floating element is the scrollRef and has a border (default)\n // 2. Floating element is not the scrollRef, floating element has a border\n // 3. Floating element is not the scrollRef, scrollRef has a border\n // Floating > {...getFloatingProps()} wrapper > scrollRef > items is not\n // allowed as VoiceOver doesn't work.\n const clientTop = floating.clientTop || scrollEl.clientTop;\n const floatingIsBordered = floating.clientTop !== 0;\n const scrollElIsBordered = scrollEl.clientTop !== 0;\n const floatingIsScrollEl = floating === scrollEl;\n if (process.env.NODE_ENV !== \"production\") {\n if (!state.placement.startsWith('bottom')) {\n warn('`placement` side must be \"bottom\" when using the `inner`', 'middleware.');\n }\n }\n if (!item) {\n return {};\n }\n const nextArgs = {\n ...state,\n ...(await offset(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state))\n };\n const overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions);\n const refOverflow = await detectOverflow(nextArgs, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const diffY = max(0, overflow.top);\n const nextY = nextArgs.y + diffY;\n const isScrollable = scrollEl.scrollHeight > scrollEl.clientHeight;\n const rounder = isScrollable ? v => v : round;\n const maxHeight = rounder(max(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - max(0, overflow.bottom)));\n scrollEl.style.maxHeight = maxHeight + \"px\";\n scrollEl.scrollTop = diffY;\n\n // There is not enough space, fallback to standard anchored positioning\n if (onFallbackChange) {\n const shouldFallback = scrollEl.offsetHeight < item.offsetHeight * min(minItemsVisible, listRef.current.length) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;\n ReactDOM.flushSync(() => onFallbackChange(shouldFallback));\n }\n if (overflowRef) {\n overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({\n ...nextArgs,\n y: nextY\n }, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions);\n }\n return {\n y: nextY\n };\n }\n});\n/**\n * Changes the `inner` middleware's `offset` upon a `wheel` event to\n * expand the floating element's height, revealing more list items.\n * @see https://floating-ui.com/docs/inner\n * @deprecated\n */\nfunction useInnerOffset(context, props) {\n const {\n open,\n elements\n } = context;\n const {\n enabled = true,\n overflowRef,\n scrollRef,\n onChange: unstable_onChange\n } = props;\n const onChange = useEffectEvent(unstable_onChange);\n const controlledScrollingRef = React.useRef(false);\n const prevScrollTopRef = React.useRef(null);\n const initialOverflowRef = React.useRef(null);\n React.useEffect(() => {\n if (!enabled) return;\n function onWheel(e) {\n if (e.ctrlKey || !el || overflowRef.current == null) {\n return;\n }\n const dY = e.deltaY;\n const isAtTop = overflowRef.current.top >= -0.5;\n const isAtBottom = overflowRef.current.bottom >= -0.5;\n const remainingScroll = el.scrollHeight - el.clientHeight;\n const sign = dY < 0 ? -1 : 1;\n const method = dY < 0 ? 'max' : 'min';\n if (el.scrollHeight <= el.clientHeight) {\n return;\n }\n if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {\n e.preventDefault();\n ReactDOM.flushSync(() => {\n onChange(d => d + Math[method](dY, remainingScroll * sign));\n });\n } else if (/firefox/i.test(getUserAgent())) {\n // Needed to propagate scrolling during momentum scrolling phase once\n // it gets limited by the boundary. UX improvement, not critical.\n el.scrollTop += dY;\n }\n }\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (open && el) {\n el.addEventListener('wheel', onWheel);\n\n // Wait for the position to be ready.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n if (overflowRef.current != null) {\n initialOverflowRef.current = {\n ...overflowRef.current\n };\n }\n });\n return () => {\n prevScrollTopRef.current = null;\n initialOverflowRef.current = null;\n el.removeEventListener('wheel', onWheel);\n };\n }\n }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);\n const floating = React.useMemo(() => ({\n onKeyDown() {\n controlledScrollingRef.current = true;\n },\n onWheel() {\n controlledScrollingRef.current = false;\n },\n onPointerMove() {\n controlledScrollingRef.current = false;\n },\n onScroll() {\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (!overflowRef.current || !el || !controlledScrollingRef.current) {\n return;\n }\n if (prevScrollTopRef.current !== null) {\n const scrollDiff = el.scrollTop - prevScrollTopRef.current;\n if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {\n ReactDOM.flushSync(() => onChange(d => d + scrollDiff));\n }\n }\n\n // [Firefox] Wait for the height change to have been applied.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n });\n }\n }), [elements.floating, onChange, overflowRef, scrollRef]);\n return React.useMemo(() => enabled ? {\n floating\n } : {}, [enabled, floating]);\n}\n\nfunction getNodeChildren(nodes, id, onlyOpenChildren) {\n if (onlyOpenChildren === void 0) {\n onlyOpenChildren = true;\n }\n let allChildren = nodes.filter(node => {\n var _node$context;\n return node.parentId === id && ((_node$context = node.context) == null ? void 0 : _node$context.open);\n });\n let currentChildren = allChildren;\n while (currentChildren.length) {\n currentChildren = onlyOpenChildren ? nodes.filter(node => {\n var _currentChildren;\n return (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some(n => {\n var _node$context2;\n return node.parentId === n.id && ((_node$context2 = node.context) == null ? void 0 : _node$context2.open);\n });\n }) : nodes;\n allChildren = allChildren.concat(currentChildren);\n }\n return allChildren;\n}\n\nfunction isPointInPolygon(point, polygon) {\n const [x, y] = point;\n let isInside = false;\n const length = polygon.length;\n for (let i = 0, j = length - 1; i < length; j = i++) {\n const [xi, yi] = polygon[i] || [0, 0];\n const [xj, yj] = polygon[j] || [0, 0];\n const intersect = yi >= y !== yj >= y && x <= (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) {\n isInside = !isInside;\n }\n }\n return isInside;\n}\nfunction isInside(point, rect) {\n return point[0] >= rect.x && point[0] <= rect.x + rect.width && point[1] >= rect.y && point[1] <= rect.y + rect.height;\n}\n/**\n * Generates a safe polygon area that the user can traverse without closing the\n * floating element once leaving the reference element.\n * @see https://floating-ui.com/docs/useHover#safepolygon\n */\nfunction safePolygon(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n buffer = 0.5,\n blockPointerEvents = false,\n requireIntent = true\n } = options;\n let timeoutId;\n let hasLanded = false;\n let lastX = null;\n let lastY = null;\n let lastCursorTime = performance.now();\n function getCursorSpeed(x, y) {\n const currentTime = performance.now();\n const elapsedTime = currentTime - lastCursorTime;\n if (lastX === null || lastY === null || elapsedTime === 0) {\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return null;\n }\n const deltaX = x - lastX;\n const deltaY = y - lastY;\n const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n const speed = distance / elapsedTime; // px / ms\n\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return speed;\n }\n const fn = _ref => {\n let {\n x,\n y,\n placement,\n elements,\n onClose,\n nodeId,\n tree\n } = _ref;\n return function onMouseMove(event) {\n function close() {\n clearTimeout(timeoutId);\n onClose();\n }\n clearTimeout(timeoutId);\n if (!elements.domReference || !elements.floating || placement == null || x == null || y == null) {\n return;\n }\n const {\n clientX,\n clientY\n } = event;\n const clientPoint = [clientX, clientY];\n const target = getTarget(event);\n const isLeave = event.type === 'mouseleave';\n const isOverFloatingEl = contains(elements.floating, target);\n const isOverReferenceEl = contains(elements.domReference, target);\n const refRect = elements.domReference.getBoundingClientRect();\n const rect = elements.floating.getBoundingClientRect();\n const side = placement.split('-')[0];\n const cursorLeaveFromRight = x > rect.right - rect.width / 2;\n const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;\n const isOverReferenceRect = isInside(clientPoint, refRect);\n const isFloatingWider = rect.width > refRect.width;\n const isFloatingTaller = rect.height > refRect.height;\n const left = (isFloatingWider ? refRect : rect).left;\n const right = (isFloatingWider ? refRect : rect).right;\n const top = (isFloatingTaller ? refRect : rect).top;\n const bottom = (isFloatingTaller ? refRect : rect).bottom;\n if (isOverFloatingEl) {\n hasLanded = true;\n if (!isLeave) {\n return;\n }\n }\n if (isOverReferenceEl) {\n hasLanded = false;\n }\n if (isOverReferenceEl && !isLeave) {\n hasLanded = true;\n return;\n }\n\n // Prevent overlapping floating element from being stuck in an open-close\n // loop: https://github.com/floating-ui/floating-ui/issues/1910\n if (isLeave && isElement(event.relatedTarget) && contains(elements.floating, event.relatedTarget)) {\n return;\n }\n\n // If any nested child is open, abort.\n if (tree && getNodeChildren(tree.nodesRef.current, nodeId).some(_ref2 => {\n let {\n context\n } = _ref2;\n return context == null ? void 0 : context.open;\n })) {\n return;\n }\n\n // If the pointer is leaving from the opposite side, the \"buffer\" logic\n // creates a point where the floating element remains open, but should be\n // ignored.\n // A constant of 1 handles floating point rounding errors.\n if (side === 'top' && y >= refRect.bottom - 1 || side === 'bottom' && y <= refRect.top + 1 || side === 'left' && x >= refRect.right - 1 || side === 'right' && x <= refRect.left + 1) {\n return close();\n }\n\n // Ignore when the cursor is within the rectangular trough between the\n // two elements. Since the triangle is created from the cursor point,\n // which can start beyond the ref element's edge, traversing back and\n // forth from the ref to the floating element can cause it to close. This\n // ensures it always remains open in that case.\n let rectPoly = [];\n switch (side) {\n case 'top':\n rectPoly = [[left, refRect.top + 1], [left, rect.bottom - 1], [right, rect.bottom - 1], [right, refRect.top + 1]];\n break;\n case 'bottom':\n rectPoly = [[left, rect.top + 1], [left, refRect.bottom - 1], [right, refRect.bottom - 1], [right, rect.top + 1]];\n break;\n case 'left':\n rectPoly = [[rect.right - 1, bottom], [rect.right - 1, top], [refRect.left + 1, top], [refRect.left + 1, bottom]];\n break;\n case 'right':\n rectPoly = [[refRect.right - 1, bottom], [refRect.right - 1, top], [rect.left + 1, top], [rect.left + 1, bottom]];\n break;\n }\n function getPolygon(_ref3) {\n let [x, y] = _ref3;\n switch (side) {\n case 'top':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.bottom - buffer : isFloatingWider ? rect.bottom - buffer : rect.top], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.bottom - buffer : rect.top : rect.bottom - buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'bottom':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.top + buffer : isFloatingWider ? rect.top + buffer : rect.bottom], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.top + buffer : rect.bottom : rect.top + buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'left':\n {\n const cursorPointOne = [x + buffer + 1, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x + buffer + 1, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.right - buffer : isFloatingTaller ? rect.right - buffer : rect.left, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.right - buffer : rect.left : rect.right - buffer, rect.bottom]];\n return [...commonPoints, cursorPointOne, cursorPointTwo];\n }\n case 'right':\n {\n const cursorPointOne = [x - buffer, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x - buffer, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.left + buffer : isFloatingTaller ? rect.left + buffer : rect.right, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.left + buffer : rect.right : rect.left + buffer, rect.bottom]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n }\n }\n if (isPointInPolygon([clientX, clientY], rectPoly)) {\n return;\n }\n if (hasLanded && !isOverReferenceRect) {\n return close();\n }\n if (!isLeave && requireIntent) {\n const cursorSpeed = getCursorSpeed(event.clientX, event.clientY);\n const cursorSpeedThreshold = 0.1;\n if (cursorSpeed !== null && cursorSpeed < cursorSpeedThreshold) {\n return close();\n }\n }\n if (!isPointInPolygon([clientX, clientY], getPolygon([x, y]))) {\n close();\n } else if (!hasLanded && requireIntent) {\n timeoutId = window.setTimeout(close, 40);\n }\n };\n };\n fn.__options = {\n blockPointerEvents\n };\n return fn;\n}\n\nexport { Composite, CompositeItem, FloatingArrow, FloatingDelayGroup, FloatingFocusManager, FloatingList, FloatingNode, FloatingOverlay, FloatingPortal, FloatingTree, NextFloatingDelayGroup, inner, safePolygon, useClick, useClientPoint, useDelayGroup, useDelayGroupContext, useDismiss, useFloating, useFloatingNodeId, useFloatingParentNodeId, useFloatingPortalNode, useFloatingRootContext, useFloatingTree, useFocus, useHover, useId, useInnerOffset, useInteractions, useListItem, useListNavigation, useMergeRefs, useNextDelayGroup, useRole, useTransitionStatus, useTransitionStyles, useTypeahead };\n"],"names":["r","e","t","f","n","Array","isArray","o","length","clsx","arguments","i","REGULAR","THIN","LIGHT","BOLD","FILL","DUOTONE","ARROWS","BRAND","COMMERCE","COMMUNICATION","DESIGN","DEVELOPMENT","EDITOR","FINANCE","GAMES","HEALTH","MAP","MEDIA","NATURE","OBJECTS","OFFICE","PEOPLE","SYSTEM","WEATHER","a","EDUCATION","SECURITY","TIME","s","onClose","useClickOutsideEvent","ref","current","contains","target","document","addEventListener","removeEventListener","contentRef","forEach","disabled","fn","hasWindow","window","getNodeName","node","isNode","nodeName","toLowerCase","getWindow","_node$ownerDocument","ownerDocument","defaultView","getDocumentElement","_ref","documentElement","value","Node","isElement","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","isOverflowElement","element","overflow","overflowX","overflowY","display","getComputedStyle","test","includes","isTableElement","isTopLayer","some","selector","matches","isContainingBlock","elementOrCss","webkit","isWebKit","css","containerType","backdropFilter","filter","willChange","contain","CSS","supports","isLastTraversableNode","getNodeScroll","scrollLeft","scrollTop","scrollX","scrollY","getParentNode","result","assignedSlot","parentNode","host","getNearestOverflowAncestor","body","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","concat","visualViewport","parent","Object","getPrototypeOf","min","Math","max","round","floor","createCoords","v","x","y","oppositeSideMap","left","right","bottom","top","oppositeAlignmentMap","start","end","clamp","evaluate","param","getSide","placement","split","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getOppositeAlignmentPlacement","replace","alignment","getOppositePlacement","side","rectToClientRect","rect","width","height","candidateSelector","join","NoElement","prototype","msMatchesSelector","webkitMatchesSelector","getRootNode","_element$getRootNode","call","isInert","lookUp","_node$getAttribute","inertAtt","getAttribute","getCandidatesIteratively","elements","includeContainer","options","candidates","elementsToCheck","from","shift","tagName","assigned","assignedElements","nestedCandidates","children","flatten","push","apply","scopeParent","shadowRoot","getShadowRoot","validShadowRoot","shadowRootFilter","_nestedCandidates","unshift","hasTabIndex","isNaN","parseInt","getTabIndex","Error","tabIndex","_node$getAttribute2","attValue","isContentEditable","sortOrderedTabbables","b","documentOrder","isInput","isNonTabbableRadio","type","isRadio","name","radioSet","radioScope","form","queryRadios","querySelectorAll","escape","err","checked","nodes","getCheckedRadio","isTabbableRadio","isZeroArea","_node$getBoundingClie","getBoundingClientRect","isHidden","displayCheck","visibility","nodeUnderDetails","parentElement","originalNode","rootNode","_nodeRoot","_nodeRootHost","_nodeRootHost$ownerDo","nodeRoot","nodeRootHost","attached","_nodeRoot2","_nodeRootHost2","_nodeRootHost2$ownerD","isNodeAttached","getClientRects","isNodeMatchingSelectorFocusable","isHiddenInput","slice","child","isDetailsWithSummary","item","isDisabledFromFieldset","isNodeMatchingSelectorTabbable","isValidShadowRootTabbable","shadowHostNode","sortByOrder","regularTabbables","orderedTabbables","isScope","candidateTabindex","getSortOrderTabIndex","content","sort","reduce","acc","sortable","tabbable","container","bind","el","getCandidates","next","getDocument","isMouseLikePointerType","pointerType","strict","values","undefined","index","useLayoutEffect","useEffect","useLatestRef","React","useRef","useSafeInsertionEffect","useInsertionEffect","useEffectEvent","callback","process","env","NODE_ENV","useCallback","_len","args","_key","getTabbableOptions","ResizeObserver","toString","getTabbableIn","dir","len","active","doc","activeElement","_activeElement","indexOf","isOutsideEvent","event","containerElement","currentTarget","relatedTarget","disableFocusInside","dataset","tabindex","setAttribute","enableFocusInside","removeAttribute","computeCoordsFromPlacement","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","async","detectOverflow","state","_await$platform$isEle","platform","rects","strategy","boundary","rootBoundary","elementContext","altBoundary","padding","paddingObject","expandPaddingObject","getPaddingObject","clippingClientRect","getClippingRect","contextElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","getCssDimensions","parseFloat","hasOffset","offsetWidth","offsetHeight","shouldFallback","$","unwrapElement","domElement","Number","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","ignoreScrollbarX","htmlRect","getClientRectFromClippingAncestor","clippingAncestor","html","clientWidth","clientHeight","visualViewportBased","getViewportRect","scrollWidth","scrollHeight","direction","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","position","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","setLeftRTLScrollbarOffset","offsetRect","htmlOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","currentNode","getContainingBlock","topLayer","clippingAncestors","cache","cachedResult","get","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","set","getClippingElementAncestors","this","_c","firstClippingAncestor","clippingRect","accRect","getElementRects","data","getOffsetParentFn","getDimensionsFn","getDimensions","floatingDimensions","isRTL","rectsAreEqual","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","passive","cleanupIo","onMove","timeoutId","io","root","cleanup","_io","clearTimeout","disconnect","refresh","skip","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","entries","ratio","intersectionRatio","setTimeout","_e","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","_middlewareData$offse","_middlewareData$arrow","middlewareData","diffCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","convertValueToCoords","arrow","alignmentOffset","checkMainAxis","checkCrossAxis","limiter","detectOverflowOptions","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","enabled","flip","_middlewareData$flip","initialPlacement","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","initialSideAxis","isBasePlacement","oppositePlacement","getExpandedPlacements","hasFallbackAxisSideDirection","isStart","lr","rl","tb","bt","getSideList","map","getOppositeAxisPlacements","placements","overflows","overflowsData","sides","mainAlignmentSide","getAlignmentSides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","_overflowsData$","ignoreCrossAxisOverflow","hasInitialMainAxisOverflow","reset","resetPlacement","d","_overflowsData$filter2","currentSideAxis","computePosition","Map","mergedOptions","platformWithCache","config","middleware","validMiddleware","Boolean","statefulPlacement","resetCount","nextX","nextY","computePosition$1","deepEqual","keys","hasOwnProperty","key","$$typeof","getDPR","devicePixelRatio","roundByDPR","dpr","deps","shift$1","flip$1","FOCUSABLE_ATTRIBUTE","ACTIVE_KEY","SELECTED_KEY","SafeReact","serverHandoffComplete","count","genId","random","useId","id","setId","useState","useModernLayoutEffect","devMessageSet","Set","FloatingNodeContext","createContext","FloatingTreeContext","useFloatingParentNodeId","_React$useContext","useContext","useFloatingTree","createAttribute","clearTimeoutIfSet","timeoutRef","safePolygonIdentifier","getDelay","prop","getRestMs","HIDDEN_STYLES","border","clip","margin","whiteSpace","FocusGuard","forwardRef","props","role","setRole","navigator","vendor","restProps","style","jsx","PortalContext","attr","FloatingPortal","preserveTabOrder","portalNode","uniqueId","portalContext","usePortalContext","setPortalNode","portalNodeRef","remove","queueMicrotask","existingIdRoot","getElementById","subRoot","createElement","appendChild","idWrapper","useFloatingPortalNode","focusManagerState","setFocusManagerState","beforeOutsideRef","afterOutsideRef","beforeInsideRef","afterInsideRef","modal","open","shouldRenderGuards","onFocus","jsxs","Provider","useMemo","_beforeInsideRef$curr","focus","domReference","prevTabbable","referenceElement","ReactDOM","createPortal","_afterInsideRef$curre","nextTabbable","closeOnFocusOut","onOpenChange","nativeEvent","useFloatingRootContext","onOpenChangeProp","elementsProp","floatingId","dataRef","events","emit","_map$get","listener","on","has","add","off","_map$get2","delete","createEventEmitter","nested","optionDomReference","_devMessageSet3","_len2","messages","_key2","message","_devMessageSet4","error","positionReference","setPositionReference","reason","openEvent","refs","useFloating","nodeId","internalRootContext","rootContext","computedElements","_domReference","setDomReference","_setPositionReference","domReferenceRef","tree","externalReference","externalFloating","transform","whileElementsMounted","setData","isPositioned","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","referenceRef","setFloating","floatingRef","floatingEl","hasWhileElementsMounted","whileElementsMountedRef","platformRef","openRef","then","fullData","isMountedRef","flushSync","floatingStyles","initialStyles","useFloating$1","computedPositionReference","context","floatingContext","nodesRef","find","mergeProps","userProps","propsList","elementKey","isItem","domUserProps","_","__","validProps","propsOrGetProps","val","isPointInPolygon","point","polygon","isInside","j","xi","yi","xj","yj","safePolygon","buffer","blockPointerEvents","requireIntent","hasLanded","lastX","lastY","lastCursorTime","performance","now","close","clientX","clientY","clientPoint","composedPath","getTarget","isLeave","isOverFloatingEl","isOverReferenceEl","refRect","cursorLeaveFromRight","cursorLeaveFromBottom","isOverReferenceRect","isFloatingWider","isFloatingTaller","onlyOpenChildren","allChildren","_node$context","parentId","currentChildren","_currentChildren","_node$context2","getNodeChildren","_ref2","rectPoly","cursorSpeed","currentTime","elapsedTime","deltaX","deltaY","distance","sqrt","getCursorSpeed","_ref3","cursorPointOne","cursorPointTwo","getPolygon","__options","offset$1","delay","handleClose","mouseOnly","restMs","move","handleCloseRef","delayRef","restMsRef","pointerTypeRef","handlerRef","restTimeoutRef","blockMouseMoveRef","performedPointerEventsMutationRef","unbindMouseMoveRef","restTimeoutPendingRef","isHoverOpen","_dataRef$current$open","onLeave","getDocument$1","closeWithDelay","runElseBranch","closeDelay","cleanupMouseMoveHandler","clearPointerEvents","pointerEvents","isClickLikeOpenEvent","onScrollMouseLeave","onReferenceMouseEnter","once","onReferenceMouseLeave","onFloatingMouseEnter","onFloatingMouseLeave","openDelay","handler","contains$1","_handleCloseRef$curre","_tree$nodesRef$curren","parentFloating","setPointerRef","onPointerDown","onPointerEnter","onMouseMove","handleMouseMove","movementX","movementY","referenceDeps","floatingDeps","itemDeps","getReferenceProps","getFloatingProps","getItemProps"],"mappings":"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LjB,EAAEiB,OACCkB,EAAElB,OAoBLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OAgBLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OAgBLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OASLjB,EAAEiB,OACCkB,EAAElB,OAgBLjB,EAAEiB,OACCkB,EA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","x_google_ignoreList":[0,1,4,5,6,7,8,9,10,11]}