@keyfunc/keybricks-ds 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/DEPLOY.md +204 -0
  2. package/DESIGN.md +269 -0
  3. package/INTEGRATION.md +417 -0
  4. package/SKILL.md +32 -0
  5. package/_adherence.oxlintrc.json +1469 -0
  6. package/_scripts/build-index.mjs +80 -0
  7. package/_scripts/build-tokens.mjs +135 -0
  8. package/assets/icons/icon-index.js +1 -0
  9. package/assets/icons/icon-index.json +1 -0
  10. package/assets/icons/unicons-index.js +1 -0
  11. package/assets/icons/unicons-index.json +1 -0
  12. package/assets/keybricks-logo.png +0 -0
  13. package/components/_cards/accordion.card.html +32 -0
  14. package/components/_cards/action-chip.card.html +22 -0
  15. package/components/_cards/activity.card.html +34 -0
  16. package/components/_cards/alert.card.html +32 -0
  17. package/components/_cards/app-chrome.card.html +36 -0
  18. package/components/_cards/banner.card.html +21 -0
  19. package/components/_cards/brand-visual.card.html +43 -0
  20. package/components/_cards/breadcrumb.card.html +23 -0
  21. package/components/_cards/button-1-base.card.html +39 -0
  22. package/components/_cards/button-2-states.card.html +56 -0
  23. package/components/_cards/button-3-sizes-icons.card.html +32 -0
  24. package/components/_cards/button-4-group.card.html +47 -0
  25. package/components/_cards/canvas-zoom-controls.card.html +19 -0
  26. package/components/_cards/cards-indicators.card.html +59 -0
  27. package/components/_cards/charts-1-sparkline.card.html +55 -0
  28. package/components/_cards/charts-10-gauge.card.html +31 -0
  29. package/components/_cards/charts-11-funnel.card.html +28 -0
  30. package/components/_cards/charts-12-treemap.card.html +23 -0
  31. package/components/_cards/charts-14-radar.card.html +31 -0
  32. package/components/_cards/charts-15-distribution.card.html +32 -0
  33. package/components/_cards/charts-16-pareto.card.html +25 -0
  34. package/components/_cards/charts-17-candlestick.card.html +34 -0
  35. package/components/_cards/charts-18-sankey.card.html +29 -0
  36. package/components/_cards/charts-19-chord.card.html +31 -0
  37. package/components/_cards/charts-2-line.card.html +46 -0
  38. package/components/_cards/charts-20-sunburst.card.html +38 -0
  39. package/components/_cards/charts-21-worldmap.card.html +33 -0
  40. package/components/_cards/charts-22-gantt.card.html +37 -0
  41. package/components/_cards/charts-23-bar3d.card.html +26 -0
  42. package/components/_cards/charts-24-pie3d.card.html +32 -0
  43. package/components/_cards/charts-25-surface3d.card.html +24 -0
  44. package/components/_cards/charts-26-scatter3d.card.html +24 -0
  45. package/components/_cards/charts-27-ribbon3d.card.html +23 -0
  46. package/components/_cards/charts-3-bar.card.html +71 -0
  47. package/components/_cards/charts-4-barlist.card.html +30 -0
  48. package/components/_cards/charts-5-donut.card.html +35 -0
  49. package/components/_cards/charts-6-scatter.card.html +26 -0
  50. package/components/_cards/charts-7-heatmap.card.html +28 -0
  51. package/components/_cards/charts-8-waterfall.card.html +25 -0
  52. package/components/_cards/charts-9-bullet.card.html +31 -0
  53. package/components/_cards/charts-99-fullpage.card.html +194 -0
  54. package/components/_cards/checkbox.card.html +34 -0
  55. package/components/_cards/codeblock.card.html +19 -0
  56. package/components/_cards/combobox.card.html +25 -0
  57. package/components/_cards/context-menu.card.html +21 -0
  58. package/components/_cards/datatable.card.html +48 -0
  59. package/components/_cards/date-picker.card.html +31 -0
  60. package/components/_cards/diffvalue.card.html +21 -0
  61. package/components/_cards/divider.card.html +24 -0
  62. package/components/_cards/drawer.card.html +30 -0
  63. package/components/_cards/dropdown-menu.card.html +38 -0
  64. package/components/_cards/dropzone.card.html +22 -0
  65. package/components/_cards/empty-state.card.html +29 -0
  66. package/components/_cards/filter-bar.card.html +34 -0
  67. package/components/_cards/icon-button.card.html +27 -0
  68. package/components/_cards/icons-1-core.card.html +49 -0
  69. package/components/_cards/icons-2-feather.card.html +39 -0
  70. package/components/_cards/icons-3-unicons.card.html +44 -0
  71. package/components/_cards/input.card.html +25 -0
  72. package/components/_cards/kbd.card.html +20 -0
  73. package/components/_cards/keyvalue.card.html +23 -0
  74. package/components/_cards/listrow.card.html +30 -0
  75. package/components/_cards/loading.card.html +33 -0
  76. package/components/_cards/log-viewer.card.html +23 -0
  77. package/components/_cards/modal.card.html +35 -0
  78. package/components/_cards/multi-select.card.html +26 -0
  79. package/components/_cards/number-stepper.card.html +24 -0
  80. package/components/_cards/pagination.card.html +25 -0
  81. package/components/_cards/people.card.html +46 -0
  82. package/components/_cards/pipeline-node.card.html +76 -0
  83. package/components/_cards/pipeline-palette.card.html +54 -0
  84. package/components/_cards/search.card.html +23 -0
  85. package/components/_cards/select.card.html +23 -0
  86. package/components/_cards/slider.card.html +25 -0
  87. package/components/_cards/smart-table.card.html +37 -0
  88. package/components/_cards/spreadsheet.card.html +31 -0
  89. package/components/_cards/stepper.card.html +25 -0
  90. package/components/_cards/tabs.card.html +25 -0
  91. package/components/_cards/tag.card.html +26 -0
  92. package/components/_cards/textarea.card.html +27 -0
  93. package/components/_cards/timeline.card.html +32 -0
  94. package/components/_cards/toast.card.html +33 -0
  95. package/components/_cards/toggles.card.html +68 -0
  96. package/components/_cards/tooltip.card.html +22 -0
  97. package/components/_cards/tree.card.html +150 -0
  98. package/components/_shared/frame-theme.js +16 -0
  99. package/components/_shared/src-brand.js +1 -0
  100. package/components/_shared/src-buttons.js +1 -0
  101. package/components/_shared/src-charts.js +1 -0
  102. package/components/_shared/src-data.js +1 -0
  103. package/components/_shared/src-display.js +1 -0
  104. package/components/_shared/src-feedback.js +1 -0
  105. package/components/_shared/src-forms.js +1 -0
  106. package/components/_shared/src-icons.js +1 -0
  107. package/components/_shared/src-navigation.js +1 -0
  108. package/components/_shared/src-pipeline.js +1 -0
  109. package/components/_shared/src-tabs.js +1 -0
  110. package/components/_shared/svg-download.js +19 -0
  111. package/components/_shared/view-source.js +185 -0
  112. package/components/_vue/index.mjs +114 -0
  113. package/components/brand/BrandVisual.d.ts +17 -0
  114. package/components/brand/BrandVisual.jsx +29 -0
  115. package/components/brand/BrandVisual.vue +34 -0
  116. package/components/brand/_dir.card.html +13 -0
  117. package/components/brand/brandMotifs.js +210 -0
  118. package/components/buttons/ActionChip.d.ts +10 -0
  119. package/components/buttons/ActionChip.jsx +20 -0
  120. package/components/buttons/ActionChip.vue +18 -0
  121. package/components/buttons/Button.d.ts +40 -0
  122. package/components/buttons/Button.jsx +101 -0
  123. package/components/buttons/Button.vue +87 -0
  124. package/components/buttons/IconButton.d.ts +26 -0
  125. package/components/buttons/IconButton.jsx +28 -0
  126. package/components/buttons/IconButton.vue +21 -0
  127. package/components/buttons/_dir.card.html +13 -0
  128. package/components/buttons/buttons.prompt.md +19 -0
  129. package/components/charts/Bar3D.d.ts +15 -0
  130. package/components/charts/Bar3D.jsx +93 -0
  131. package/components/charts/Bar3D.vue +79 -0
  132. package/components/charts/BarChart.d.ts +23 -0
  133. package/components/charts/BarChart.jsx +135 -0
  134. package/components/charts/BarChart.vue +139 -0
  135. package/components/charts/BarList.d.ts +13 -0
  136. package/components/charts/BarList.jsx +31 -0
  137. package/components/charts/BarList.vue +25 -0
  138. package/components/charts/BoxPlot.d.ts +18 -0
  139. package/components/charts/BoxPlot.jsx +62 -0
  140. package/components/charts/BoxPlot.vue +58 -0
  141. package/components/charts/BulletChart.d.ts +12 -0
  142. package/components/charts/BulletChart.jsx +41 -0
  143. package/components/charts/BulletChart.vue +33 -0
  144. package/components/charts/CandlestickChart.d.ts +15 -0
  145. package/components/charts/CandlestickChart.jsx +63 -0
  146. package/components/charts/CandlestickChart.vue +62 -0
  147. package/components/charts/ChartKit.d.ts +8 -0
  148. package/components/charts/ChartKit.jsx +76 -0
  149. package/components/charts/ChartKit.vue +47 -0
  150. package/components/charts/ChordChart.d.ts +13 -0
  151. package/components/charts/ChordChart.jsx +55 -0
  152. package/components/charts/ChordChart.vue +54 -0
  153. package/components/charts/DonutChart.d.ts +15 -0
  154. package/components/charts/DonutChart.jsx +73 -0
  155. package/components/charts/DonutChart.vue +61 -0
  156. package/components/charts/FunnelChart.d.ts +11 -0
  157. package/components/charts/FunnelChart.jsx +37 -0
  158. package/components/charts/FunnelChart.vue +29 -0
  159. package/components/charts/GanttChart.d.ts +20 -0
  160. package/components/charts/GanttChart.jsx +80 -0
  161. package/components/charts/GanttChart.vue +60 -0
  162. package/components/charts/GaugeChart.d.ts +13 -0
  163. package/components/charts/GaugeChart.jsx +33 -0
  164. package/components/charts/GaugeChart.vue +29 -0
  165. package/components/charts/HeatmapChart.d.ts +13 -0
  166. package/components/charts/HeatmapChart.jsx +62 -0
  167. package/components/charts/HeatmapChart.vue +38 -0
  168. package/components/charts/Histogram.d.ts +16 -0
  169. package/components/charts/Histogram.jsx +56 -0
  170. package/components/charts/Histogram.vue +53 -0
  171. package/components/charts/LineChart.d.ts +17 -0
  172. package/components/charts/LineChart.jsx +84 -0
  173. package/components/charts/LineChart.vue +86 -0
  174. package/components/charts/ParetoChart.d.ts +13 -0
  175. package/components/charts/ParetoChart.jsx +54 -0
  176. package/components/charts/ParetoChart.vue +55 -0
  177. package/components/charts/Pie3D.d.ts +17 -0
  178. package/components/charts/Pie3D.jsx +145 -0
  179. package/components/charts/Pie3D.vue +115 -0
  180. package/components/charts/RadarChart.d.ts +14 -0
  181. package/components/charts/RadarChart.jsx +79 -0
  182. package/components/charts/RadarChart.vue +73 -0
  183. package/components/charts/Ribbon3D.d.ts +13 -0
  184. package/components/charts/Ribbon3D.jsx +89 -0
  185. package/components/charts/Ribbon3D.vue +79 -0
  186. package/components/charts/SankeyChart.d.ts +15 -0
  187. package/components/charts/SankeyChart.jsx +59 -0
  188. package/components/charts/SankeyChart.vue +53 -0
  189. package/components/charts/Scatter3D.d.ts +12 -0
  190. package/components/charts/Scatter3D.jsx +69 -0
  191. package/components/charts/Scatter3D.vue +59 -0
  192. package/components/charts/ScatterChart.d.ts +12 -0
  193. package/components/charts/ScatterChart.jsx +53 -0
  194. package/components/charts/ScatterChart.vue +57 -0
  195. package/components/charts/Sparkline.d.ts +19 -0
  196. package/components/charts/Sparkline.jsx +63 -0
  197. package/components/charts/Sparkline.vue +54 -0
  198. package/components/charts/SunburstChart.d.ts +12 -0
  199. package/components/charts/SunburstChart.jsx +61 -0
  200. package/components/charts/SunburstChart.vue +60 -0
  201. package/components/charts/Surface3D.d.ts +13 -0
  202. package/components/charts/Surface3D.jsx +70 -0
  203. package/components/charts/Surface3D.vue +63 -0
  204. package/components/charts/TreemapChart.d.ts +11 -0
  205. package/components/charts/TreemapChart.jsx +35 -0
  206. package/components/charts/TreemapChart.vue +27 -0
  207. package/components/charts/WaterfallChart.d.ts +11 -0
  208. package/components/charts/WaterfallChart.jsx +59 -0
  209. package/components/charts/WaterfallChart.vue +46 -0
  210. package/components/charts/WorldMap.d.ts +21 -0
  211. package/components/charts/WorldMap.jsx +107 -0
  212. package/components/charts/WorldMap.vue +73 -0
  213. package/components/charts/_dir.card.html +7 -0
  214. package/components/charts/chart-3d.js +84 -0
  215. package/components/charts/chart-geometry.js +223 -0
  216. package/components/charts/charts.prompt.md +24 -0
  217. package/components/data/CodeBlock.d.ts +9 -0
  218. package/components/data/CodeBlock.jsx +19 -0
  219. package/components/data/CodeBlock.vue +22 -0
  220. package/components/data/DataTable.d.ts +28 -0
  221. package/components/data/DataTable.jsx +32 -0
  222. package/components/data/DataTable.vue +25 -0
  223. package/components/data/DiffValue.d.ts +11 -0
  224. package/components/data/DiffValue.jsx +15 -0
  225. package/components/data/DiffValue.vue +13 -0
  226. package/components/data/FilterBar.d.ts +16 -0
  227. package/components/data/FilterBar.jsx +22 -0
  228. package/components/data/FilterBar.vue +23 -0
  229. package/components/data/KeyValue.d.ts +16 -0
  230. package/components/data/KeyValue.jsx +25 -0
  231. package/components/data/KeyValue.vue +26 -0
  232. package/components/data/ListRow.d.ts +14 -0
  233. package/components/data/ListRow.jsx +25 -0
  234. package/components/data/ListRow.vue +25 -0
  235. package/components/data/Pagination.d.ts +12 -0
  236. package/components/data/Pagination.jsx +27 -0
  237. package/components/data/Pagination.vue +24 -0
  238. package/components/data/SmartTable.d.ts +30 -0
  239. package/components/data/SmartTable.jsx +73 -0
  240. package/components/data/SmartTable.vue +74 -0
  241. package/components/data/Spreadsheet.d.ts +33 -0
  242. package/components/data/Spreadsheet.jsx +110 -0
  243. package/components/data/Spreadsheet.vue +95 -0
  244. package/components/data/_dir.card.html +13 -0
  245. package/components/data/data.prompt.md +33 -0
  246. package/components/display/Avatar.d.ts +21 -0
  247. package/components/display/Avatar.jsx +31 -0
  248. package/components/display/Avatar.vue +34 -0
  249. package/components/display/Badge.d.ts +27 -0
  250. package/components/display/Badge.jsx +40 -0
  251. package/components/display/Badge.vue +47 -0
  252. package/components/display/Card.d.ts +27 -0
  253. package/components/display/Card.jsx +27 -0
  254. package/components/display/Card.vue +28 -0
  255. package/components/display/Divider.d.ts +8 -0
  256. package/components/display/Divider.jsx +14 -0
  257. package/components/display/Divider.vue +13 -0
  258. package/components/display/Kbd.d.ts +7 -0
  259. package/components/display/Kbd.jsx +12 -0
  260. package/components/display/Kbd.vue +9 -0
  261. package/components/display/ProgressBar.d.ts +42 -0
  262. package/components/display/ProgressBar.jsx +70 -0
  263. package/components/display/ProgressBar.vue +69 -0
  264. package/components/display/Tag.d.ts +9 -0
  265. package/components/display/Tag.jsx +15 -0
  266. package/components/display/Tag.vue +15 -0
  267. package/components/display/_dir.card.html +13 -0
  268. package/components/display/display.prompt.md +30 -0
  269. package/components/feedback/Accordion.d.ts +13 -0
  270. package/components/feedback/Accordion.jsx +21 -0
  271. package/components/feedback/Accordion.vue +22 -0
  272. package/components/feedback/ActivityItem.d.ts +25 -0
  273. package/components/feedback/ActivityItem.jsx +39 -0
  274. package/components/feedback/ActivityItem.vue +46 -0
  275. package/components/feedback/Alert.d.ts +36 -0
  276. package/components/feedback/Alert.jsx +48 -0
  277. package/components/feedback/Alert.vue +59 -0
  278. package/components/feedback/Banner.d.ts +15 -0
  279. package/components/feedback/Banner.jsx +25 -0
  280. package/components/feedback/Banner.vue +25 -0
  281. package/components/feedback/ContextMenu.d.ts +8 -0
  282. package/components/feedback/ContextMenu.jsx +18 -0
  283. package/components/feedback/ContextMenu.vue +19 -0
  284. package/components/feedback/Drawer.d.ts +18 -0
  285. package/components/feedback/Drawer.jsx +26 -0
  286. package/components/feedback/Drawer.vue +24 -0
  287. package/components/feedback/Menu.d.ts +10 -0
  288. package/components/feedback/Menu.jsx +24 -0
  289. package/components/feedback/Menu.vue +21 -0
  290. package/components/feedback/Modal.d.ts +38 -0
  291. package/components/feedback/Modal.jsx +69 -0
  292. package/components/feedback/Modal.vue +65 -0
  293. package/components/feedback/Stepper.d.ts +9 -0
  294. package/components/feedback/Stepper.jsx +24 -0
  295. package/components/feedback/Stepper.vue +18 -0
  296. package/components/feedback/Timeline.d.ts +15 -0
  297. package/components/feedback/Timeline.jsx +27 -0
  298. package/components/feedback/Timeline.vue +21 -0
  299. package/components/feedback/_dir.card.html +13 -0
  300. package/components/feedback/feedback.prompt.md +35 -0
  301. package/components/forms/Checkbox.d.ts +13 -0
  302. package/components/forms/Checkbox.jsx +17 -0
  303. package/components/forms/Checkbox.vue +18 -0
  304. package/components/forms/Combobox.d.ts +13 -0
  305. package/components/forms/Combobox.jsx +34 -0
  306. package/components/forms/Combobox.vue +35 -0
  307. package/components/forms/DatePicker.d.ts +12 -0
  308. package/components/forms/DatePicker.jsx +48 -0
  309. package/components/forms/DatePicker.vue +46 -0
  310. package/components/forms/Dropzone.d.ts +20 -0
  311. package/components/forms/Dropzone.jsx +36 -0
  312. package/components/forms/Dropzone.vue +28 -0
  313. package/components/forms/Field.d.ts +13 -0
  314. package/components/forms/Field.jsx +13 -0
  315. package/components/forms/Field.vue +12 -0
  316. package/components/forms/Input.d.ts +18 -0
  317. package/components/forms/Input.jsx +35 -0
  318. package/components/forms/Input.vue +38 -0
  319. package/components/forms/MultiSelect.d.ts +14 -0
  320. package/components/forms/MultiSelect.jsx +33 -0
  321. package/components/forms/MultiSelect.vue +36 -0
  322. package/components/forms/NumberStepper.d.ts +13 -0
  323. package/components/forms/NumberStepper.jsx +15 -0
  324. package/components/forms/NumberStepper.vue +17 -0
  325. package/components/forms/Radio.vue +16 -0
  326. package/components/forms/RadioGroup.vue +11 -0
  327. package/components/forms/SearchInput.d.ts +12 -0
  328. package/components/forms/SearchInput.jsx +17 -0
  329. package/components/forms/SearchInput.vue +14 -0
  330. package/components/forms/Select.d.ts +14 -0
  331. package/components/forms/Select.jsx +17 -0
  332. package/components/forms/Select.vue +16 -0
  333. package/components/forms/Slider.d.ts +15 -0
  334. package/components/forms/Slider.jsx +21 -0
  335. package/components/forms/Slider.vue +23 -0
  336. package/components/forms/Switch.d.ts +31 -0
  337. package/components/forms/Switch.jsx +40 -0
  338. package/components/forms/Switch.vue +16 -0
  339. package/components/forms/_dir.card.html +13 -0
  340. package/components/forms/forms.prompt.md +23 -0
  341. package/components/icons/Icon.d.ts +19 -0
  342. package/components/icons/Icon.jsx +93 -0
  343. package/components/icons/Icon.prompt.md +8 -0
  344. package/components/icons/Icon.vue +12 -0
  345. package/components/icons/Unicon.d.ts +12 -0
  346. package/components/icons/Unicon.jsx +16 -0
  347. package/components/icons/Unicon.vue +15 -0
  348. package/components/icons/_dir.card.html +13 -0
  349. package/components/icons/feather-paths.js +2 -0
  350. package/components/icons/icon-paths.js +73 -0
  351. package/components/index.d.ts +87 -0
  352. package/components/index.js +110 -0
  353. package/components/navigation/Breadcrumb.d.ts +24 -0
  354. package/components/navigation/Breadcrumb.jsx +120 -0
  355. package/components/navigation/Breadcrumb.vue +94 -0
  356. package/components/navigation/DocTree.d.ts +18 -0
  357. package/components/navigation/DocTree.jsx +37 -0
  358. package/components/navigation/DocTree.vue +25 -0
  359. package/components/navigation/Sidebar.d.ts +29 -0
  360. package/components/navigation/Sidebar.jsx +75 -0
  361. package/components/navigation/Sidebar.vue +54 -0
  362. package/components/navigation/TopBar.d.ts +27 -0
  363. package/components/navigation/TopBar.jsx +44 -0
  364. package/components/navigation/TopBar.vue +51 -0
  365. package/components/navigation/Tree.d.ts +83 -0
  366. package/components/navigation/Tree.jsx +347 -0
  367. package/components/navigation/Tree.vue +258 -0
  368. package/components/navigation/_dir.card.html +13 -0
  369. package/components/navigation/navigation.prompt.md +22 -0
  370. package/components/pipeline/ConfigPanel.d.ts +18 -0
  371. package/components/pipeline/ConfigPanel.jsx +30 -0
  372. package/components/pipeline/ConfigPanel.vue +32 -0
  373. package/components/pipeline/DataPreview.d.ts +14 -0
  374. package/components/pipeline/DataPreview.jsx +24 -0
  375. package/components/pipeline/DataPreview.vue +21 -0
  376. package/components/pipeline/NodeCard.d.ts +47 -0
  377. package/components/pipeline/NodeCard.jsx +97 -0
  378. package/components/pipeline/NodeCard.vue +75 -0
  379. package/components/pipeline/PaletteItem.vue +15 -0
  380. package/components/pipeline/PaletteListItem.vue +15 -0
  381. package/components/pipeline/PalettePanel.d.ts +20 -0
  382. package/components/pipeline/PalettePanel.jsx +74 -0
  383. package/components/pipeline/PalettePanel.vue +45 -0
  384. package/components/pipeline/PipelineCanvas.d.ts +25 -0
  385. package/components/pipeline/PipelineCanvas.jsx +94 -0
  386. package/components/pipeline/PipelineCanvas.vue +73 -0
  387. package/components/pipeline/ZoomControls.d.ts +9 -0
  388. package/components/pipeline/ZoomControls.jsx +15 -0
  389. package/components/pipeline/ZoomControls.vue +15 -0
  390. package/components/pipeline/_dir.card.html +13 -0
  391. package/components/pipeline/pipeline.prompt.md +22 -0
  392. package/components/tabs/SegmentedControl.d.ts +11 -0
  393. package/components/tabs/SegmentedControl.jsx +21 -0
  394. package/components/tabs/SegmentedControl.vue +15 -0
  395. package/components/tabs/Tabs.d.ts +13 -0
  396. package/components/tabs/Tabs.jsx +52 -0
  397. package/components/tabs/Tabs.vue +39 -0
  398. package/components/tabs/ViewToggle.d.ts +8 -0
  399. package/components/tabs/ViewToggle.jsx +12 -0
  400. package/components/tabs/ViewToggle.vue +12 -0
  401. package/components/tabs/_dir.card.html +13 -0
  402. package/components/tabs/tabs.prompt.md +14 -0
  403. package/package.json +76 -0
  404. package/readme.md +150 -0
  405. package/styles.css +10 -0
  406. package/tokens/alpha.css +27 -0
  407. package/tokens/charts.css +55 -0
  408. package/tokens/colors-extended.css +40 -0
  409. package/tokens/colors.css +39 -0
  410. package/tokens/dark.css +96 -0
  411. package/tokens/fonts.css +4 -0
  412. package/tokens/interaction.css +48 -0
  413. package/tokens/layout.css +30 -0
  414. package/tokens/motion.css +22 -0
  415. package/tokens/tokens.d.ts +680 -0
  416. package/tokens/tokens.js +1018 -0
  417. package/tokens/tokens.json +2928 -0
  418. package/tokens/typography.css +22 -0
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env node
2
+ /* Regenerate the package entry points from what is actually on disk:
3
+ components/index.js React barrel (named exports, one line per source file)
4
+ components/index.d.ts type barrel (re-exports each sibling .d.ts)
5
+ components/_vue/index.mjs Vue 3 barrel (default export per .vue file) — --vue only
6
+ The Vue barrel is a PUBLISH artifact, not a repo file: it statically imports .vue SFCs,
7
+ which only a Vue-aware bundler can resolve. CI generates it right before npm publish.
8
+ Usage: node _scripts/build-index.mjs [--check] [--vue] */
9
+ import { readFileSync, writeFileSync, readdirSync, statSync, mkdirSync } from 'node:fs';
10
+ import { fileURLToPath } from 'node:url';
11
+ import { dirname, join } from 'node:path';
12
+
13
+ const root = join(dirname(fileURLToPath(import.meta.url)), '..');
14
+ const componentsDir = join(root, 'components');
15
+ const check = process.argv.includes('--check');
16
+ const withVue = process.argv.includes('--vue');
17
+
18
+ const dirs = readdirSync(componentsDir)
19
+ .filter(d => !d.startsWith('_') && !d.startsWith('.') && statSync(join(componentsDir, d)).isDirectory())
20
+ .sort();
21
+
22
+ /** Named exports declared in a .jsx source file. */
23
+ function exportsOf(src) {
24
+ const names = new Set();
25
+ for (const re of [/export\s+function\s+([A-Z][A-Za-z0-9_]*)/g, /export\s+const\s+([A-Z][A-Za-z0-9_]*)/g]) {
26
+ let m; while ((m = re.exec(src))) names.add(m[1]);
27
+ }
28
+ for (const m of src.matchAll(/export\s*\{([^}]*)\}/g)) {
29
+ for (const part of m[1].split(',')) {
30
+ const name = part.trim().split(/\s+as\s+/).pop().trim();
31
+ if (/^[A-Z][A-Za-z0-9_]*$/.test(name)) names.add(name);
32
+ }
33
+ }
34
+ return [...names].sort();
35
+ }
36
+
37
+ let react = `/* Generated barrel — do not edit by hand. Run: node scripts/build-index.mjs
38
+ Source-only package: consumers compile these .jsx files with their own toolchain. */\n`;
39
+ let types = `/* Generated barrel — do not edit by hand. */\n`;
40
+ let vue = `/* Generated barrel — do not edit by hand. Run: node scripts/build-index.mjs
41
+ Vue 3 single-file components; your bundler needs @vitejs/plugin-vue or vue-loader. */\n`;
42
+ let nExports = 0, nVue = 0;
43
+
44
+ for (const dir of dirs) {
45
+ const files = readdirSync(join(componentsDir, dir)).sort();
46
+ const jsx = files.filter(f => f.endsWith('.jsx'));
47
+ const sfc = files.filter(f => f.endsWith('.vue'));
48
+ const lines = [], typeLines = [];
49
+ for (const f of jsx) {
50
+ const names = exportsOf(readFileSync(join(componentsDir, dir, f), 'utf8'));
51
+ if (!names.length) continue;
52
+ lines.push(`export { ${names.join(', ')} } from "./${dir}/${f}";`);
53
+ nExports += names.length;
54
+ if (files.includes(f.replace(/\.jsx$/, '.d.ts'))) typeLines.push(`export * from "./${dir}/${f.replace(/\.jsx$/, '')}";`);
55
+ }
56
+ if (lines.length) react += `\n/* ${dir}/ */\n` + lines.join('\n') + '\n';
57
+ if (typeLines.length) types += typeLines.join('\n') + '\n';
58
+ if (sfc.length) {
59
+ vue += `\n/* ${dir}/ */\n` + sfc.map(f => `export { default as ${f.replace(/\.vue$/, '')} } from "../${dir}/${f}";`).join('\n') + '\n';
60
+ nVue += sfc.length;
61
+ }
62
+ }
63
+
64
+ const targets = [['index.js', react], ['index.d.ts', types]];
65
+ if (withVue) targets.push(['_vue/index.mjs', vue]);
66
+ const stale = [];
67
+ for (const [file, content] of targets) {
68
+ const path = join(componentsDir, file);
69
+ mkdirSync(dirname(path), { recursive: true });
70
+ let current = null;
71
+ try { current = readFileSync(path, 'utf8'); } catch {}
72
+ if (current !== content) stale.push(file);
73
+ if (!check) writeFileSync(path, content);
74
+ }
75
+ if (check) {
76
+ if (stale.length) { console.error(`Stale barrels: ${stale.join(', ')} — run node scripts/build-index.mjs and commit.`); process.exit(1); }
77
+ console.log(`barrels up to date (${nExports} React exports${withVue ? `, ${nVue} Vue components` : ''})`);
78
+ } else {
79
+ console.log(`wrote ${nExports} React exports${withVue ? `, ${nVue} Vue components` : ' (Vue barrel skipped — pass --vue)'}`);
80
+ }
@@ -0,0 +1,135 @@
1
+ #!/usr/bin/env node
2
+ /* Regenerate tokens/tokens.json, tokens/tokens.js and tokens/tokens.d.ts from tokens/*.css.
3
+ The CSS is the source of truth — never hand-edit the generated files.
4
+ Usage: node scripts/build-tokens.mjs [--check]
5
+ --check exit 1 if the generated files are stale (used by CI) */
6
+ import { readFileSync, writeFileSync, readdirSync } from 'node:fs';
7
+ import { fileURLToPath } from 'node:url';
8
+ import { dirname, join } from 'node:path';
9
+
10
+ const root = join(dirname(fileURLToPath(import.meta.url)), '..');
11
+ const tokensDir = join(root, 'tokens');
12
+ const check = process.argv.includes('--check');
13
+
14
+ /** Pull `@media (prefers-color-scheme: dark){…}` out with balanced braces. */
15
+ function splitMedia(css) {
16
+ const darkChunks = [];
17
+ let out = '', i = 0;
18
+ while (i < css.length) {
19
+ const m = css.indexOf('@media', i);
20
+ if (m < 0) { out += css.slice(i); break; }
21
+ const brace = css.indexOf('{', m);
22
+ if (!/prefers-color-scheme\s*:\s*dark/.test(css.slice(m, brace))) { out += css.slice(i, brace + 1); i = brace + 1; continue; }
23
+ let depth = 1, j = brace + 1;
24
+ while (j < css.length && depth > 0) { if (css[j] === '{') depth++; else if (css[j] === '}') depth--; j++; }
25
+ out += css.slice(i, m);
26
+ darkChunks.push(css.slice(brace + 1, j - 1));
27
+ i = j;
28
+ }
29
+ return { rest: out, dark: darkChunks.join('\n') };
30
+ }
31
+
32
+ function collect(css, into, group, file) {
33
+ const rule = /([^{}]+)\{([^{}]*)\}/g;
34
+ let m;
35
+ while ((m = rule.exec(css))) {
36
+ const decl = /--([a-z0-9-]+)\s*:\s*([^;}]+)/gi;
37
+ let d;
38
+ while ((d = decl.exec(m[2]))) {
39
+ const name = '--' + d[1];
40
+ into[name] = d[2].replace(/\/\*[\s\S]*?\*\//g, '').trim();
41
+ if (group && !group[name]) group[name] = file;
42
+ }
43
+ }
44
+ }
45
+
46
+ const raw = { light: {}, dark: {} }, group = {};
47
+ for (const f of readdirSync(tokensDir).filter(f => f.endsWith('.css')).sort()) {
48
+ const css = readFileSync(join(tokensDir, f), 'utf8').replace(/\/\*[\s\S]*?\*\//g, '');
49
+ const { rest, dark } = splitMedia(css);
50
+ const g = f.replace(/\.css$/, '');
51
+ const themed = rest.match(/\[data-theme="dark"\][^{]*\{[^{}]*\}/g) || [];
52
+ collect(rest.replace(/\[data-theme="dark"\][^{]*\{[^{}]*\}/g, ''), raw.light, group, g);
53
+ collect(themed.join('\n'), raw.dark, group, g);
54
+ collect(dark, raw.dark, group, g);
55
+ }
56
+
57
+ const resolve = (v, theme, depth = 0) => depth > 12 ? v : v.replace(
58
+ /var\(\s*(--[a-z0-9-]+)\s*(?:,\s*([^()]*))?\)/gi,
59
+ (whole, name, fallback) => {
60
+ const src = theme === 'dark' ? (raw.dark[name] ?? raw.light[name]) : raw.light[name];
61
+ return src != null ? resolve(src, theme, depth + 1) : (fallback ? fallback.trim() : whole);
62
+ }
63
+ );
64
+
65
+ const version = JSON.parse(readFileSync(join(root, 'package.json'), 'utf8')).version;
66
+ const names = [...new Set([...Object.keys(raw.light), ...Object.keys(raw.dark)])].sort();
67
+ const tokens = {};
68
+ for (const n of names) {
69
+ const lr = raw.light[n] ?? raw.dark[n], dr = raw.dark[n] ?? null;
70
+ tokens[n] = { group: group[n], light: { raw: lr, value: resolve(lr, 'light') } };
71
+ const dv = resolve(dr ?? lr, 'dark');
72
+ if (dr !== null) tokens[n].dark = { raw: dr, value: dv };
73
+ else if (dv !== tokens[n].light.value) tokens[n].dark = { raw: lr, value: dv, inherited: true };
74
+ }
75
+
76
+ const camel = n => n.replace(/^--/, '').replace(/-([a-z0-9])/g, (_, c) => c.toUpperCase());
77
+ const q = s => JSON.stringify(s);
78
+
79
+ const outJson = JSON.stringify({
80
+ name: '@keyfunc/keybricks-ds', version, source: 'tokens/*.css',
81
+ note: 'Generated by scripts/build-tokens.mjs — CSS is the source of truth.', tokens
82
+ }, null, 2) + '\n';
83
+
84
+ const outJs = `/* Generated from tokens/*.css by scripts/build-tokens.mjs — do not edit by hand.
85
+ cssVar keeps theming live (preferred in components); light/dark are flattened
86
+ literals for canvas, PDF, native and export pipelines. */
87
+
88
+ export const cssVar = {
89
+ ${names.map(n => ` ${camel(n)}: "var(${n})",`).join('\n')}
90
+ };
91
+
92
+ export const light = {
93
+ ${names.map(n => ` ${camel(n)}: ${q(tokens[n].light.value)},`).join('\n')}
94
+ };
95
+
96
+ export const dark = {
97
+ ${names.map(n => ` ${camel(n)}: ${q((tokens[n].dark || tokens[n].light).value)},`).join('\n')}
98
+ };
99
+
100
+ export const tokenNames = ${JSON.stringify(names)};
101
+
102
+ export default { cssVar, light, dark, tokenNames };
103
+ `;
104
+
105
+ const outDts = `/* Generated from tokens/*.css by scripts/build-tokens.mjs — do not edit by hand. */
106
+ export type TokenName =
107
+ | ${names.map(q).join('\n | ')};
108
+ export type TokenKey =
109
+ | ${names.map(n => q(camel(n))).join('\n | ')};
110
+ /** \`var(--token)\` references — use these in component styles so theming stays live. */
111
+ export declare const cssVar: Record<TokenKey, string>;
112
+ /** Flattened light-theme literals. */
113
+ export declare const light: Record<TokenKey, string>;
114
+ /** Flattened dark-theme literals (falls back to the light value when unthemed). */
115
+ export declare const dark: Record<TokenKey, string>;
116
+ export declare const tokenNames: TokenName[];
117
+ declare const _default: { cssVar: typeof cssVar; light: typeof light; dark: typeof dark; tokenNames: typeof tokenNames };
118
+ export default _default;
119
+ `;
120
+
121
+ const targets = [['tokens.json', outJson], ['tokens.js', outJs], ['tokens.d.ts', outDts]];
122
+ let stale = [];
123
+ for (const [file, content] of targets) {
124
+ const path = join(tokensDir, file);
125
+ let current = null;
126
+ try { current = readFileSync(path, 'utf8'); } catch {}
127
+ if (current !== content) stale.push(file);
128
+ if (!check) writeFileSync(path, content);
129
+ }
130
+ if (check) {
131
+ if (stale.length) { console.error(`Stale generated tokens: ${stale.join(', ')} — run node scripts/build-tokens.mjs and commit.`); process.exit(1); }
132
+ console.log(`tokens up to date (${names.length} tokens)`);
133
+ } else {
134
+ console.log(`wrote ${names.length} tokens (${names.filter(n => tokens[n].dark && !tokens[n].dark.inherited).length} dark overrides)`);
135
+ }
@@ -0,0 +1 @@
1
+ window.KB_ICON_INDEX=[{"name":"search","set":"core","tags":["search","find","magnifier","magnifying glass"]},{"name":"bell","set":"core","tags":["bell","alarm","notification","sound"]},{"name":"sparkles","set":"core","tags":["sparkles"]},{"name":"panel-left","set":"core","tags":["panel","left"]},{"name":"house","set":"core","tags":["house"]},{"name":"file","set":"core","tags":["file"]},{"name":"file-text","set":"core","tags":["file","text","data","txt","pdf"]},{"name":"file-check","set":"core","tags":["file","check"]},{"name":"layout-grid","set":"core","tags":["layout","grid"]},{"name":"database","set":"core","tags":["database","storage","memory"]},{"name":"scale","set":"core","tags":["scale"]},{"name":"network","set":"core","tags":["network"]},{"name":"folder","set":"core","tags":["folder","directory"]},{"name":"folder-open","set":"core","tags":["folder","open"]},{"name":"folder-cog","set":"core","tags":["folder","cog"]},{"name":"settings","set":"core","tags":["settings","cog","edit","gear","preferences"]},{"name":"settings-2","set":"core","tags":["settings","2"]},{"name":"moon","set":"core","tags":["moon","dark","night"]},{"name":"circle-help","set":"core","tags":["circle","help"]},{"name":"box","set":"core","tags":["box","cube"]},{"name":"workflow","set":"core","tags":["workflow"]},{"name":"shield","set":"core","tags":["shield","security","secure"]},{"name":"refresh-cw","set":"core","tags":["refresh","cw","synchronise","arrows"]},{"name":"chart-line","set":"core","tags":["chart","line"]},{"name":"chart-column","set":"core","tags":["chart","column"]},{"name":"chart-no-axes-column","set":"core","tags":["chart","no","axes","column"]},{"name":"list-todo","set":"core","tags":["list","todo"]},{"name":"circle-check","set":"core","tags":["circle","check"]},{"name":"target","set":"core","tags":["target","logo","bullseye"]},{"name":"book-open","set":"core","tags":["book","open","read","library"]},{"name":"chevron-down","set":"core","tags":["chevron","down","expand"]},{"name":"chevron-right","set":"core","tags":["chevron","right"]},{"name":"chevron-left","set":"core","tags":["chevron","left"]},{"name":"chevron-up","set":"core","tags":["chevron","up","collapse"]},{"name":"arrow-left","set":"core","tags":["arrow","left"]},{"name":"arrow-right","set":"core","tags":["arrow","right"]},{"name":"arrow-right-left","set":"core","tags":["arrow","right","left"]},{"name":"table","set":"core","tags":["table"]},{"name":"layers","set":"core","tags":["layers","stack"]},{"name":"grid-3x3","set":"core","tags":["grid","3x3"]},{"name":"text-search","set":"core","tags":["text","search"]},{"name":"shuffle","set":"core","tags":["shuffle","music"]},{"name":"split","set":"core","tags":["split"]},{"name":"menu","set":"core","tags":["menu","bars","navigation","hamburger"]},{"name":"list","set":"core","tags":["list","options"]},{"name":"funnel","set":"core","tags":["funnel"]},{"name":"sliders-horizontal","set":"core","tags":["sliders","horizontal"]},{"name":"trending-up","set":"core","tags":["trending","up"]},{"name":"code","set":"core","tags":["code","source","programming"]},{"name":"merge","set":"core","tags":["merge"]},{"name":"upload","set":"core","tags":["upload"]},{"name":"download","set":"core","tags":["download"]},{"name":"check","set":"core","tags":["check"]},{"name":"x","set":"core","tags":["x","cancel","close","delete","remove","times","clear"]},{"name":"plus","set":"core","tags":["plus","add","new"]},{"name":"minus","set":"core","tags":["minus","subtract"]},{"name":"ellipsis","set":"core","tags":["ellipsis"]},{"name":"play","set":"core","tags":["play","music","start"]},{"name":"send","set":"core","tags":["send","message","mail","email","paper airplane","paper aeroplane"]},{"name":"eye","set":"core","tags":["eye","view","watch"]},{"name":"copy","set":"core","tags":["copy","clone","duplicate"]},{"name":"trash-2","set":"core","tags":["trash","2","garbage","delete","remove","bin"]},{"name":"clock","set":"core","tags":["clock","time","watch","alarm"]},{"name":"calendar","set":"core","tags":["calendar","date"]},{"name":"undo-2","set":"core","tags":["undo","2"]},{"name":"redo-2","set":"core","tags":["redo","2"]},{"name":"history","set":"core","tags":["history"]},{"name":"bug","set":"core","tags":["bug"]},{"name":"info","set":"core","tags":["info"]},{"name":"triangle-alert","set":"core","tags":["triangle","alert"]},{"name":"calendar","set":"core","tags":["calendar","date"]},{"name":"activity","set":"feather","tags":["activity","pulse","health","action","motion"]},{"name":"airplay","set":"feather","tags":["airplay","stream","cast","mirroring"]},{"name":"alert-circle","set":"feather","tags":["alert","circle","warning","danger"]},{"name":"alert-octagon","set":"feather","tags":["alert","octagon","warning","danger"]},{"name":"alert-triangle","set":"feather","tags":["alert","triangle","warning","danger"]},{"name":"align-center","set":"feather","tags":["align","center","text alignment"]},{"name":"align-justify","set":"feather","tags":["align","justify","text alignment","justified"]},{"name":"align-left","set":"feather","tags":["align","left","text alignment"]},{"name":"align-right","set":"feather","tags":["align","right","text alignment"]},{"name":"anchor","set":"feather","tags":["anchor"]},{"name":"aperture","set":"feather","tags":["aperture","camera","photo"]},{"name":"archive","set":"feather","tags":["archive","index","box"]},{"name":"arrow-down-circle","set":"feather","tags":["arrow","down","circle"]},{"name":"arrow-down-left","set":"feather","tags":["arrow","down","left"]},{"name":"arrow-down-right","set":"feather","tags":["arrow","down","right"]},{"name":"arrow-down","set":"feather","tags":["arrow","down"]},{"name":"arrow-left-circle","set":"feather","tags":["arrow","left","circle"]},{"name":"arrow-right-circle","set":"feather","tags":["arrow","right","circle"]},{"name":"arrow-up-circle","set":"feather","tags":["arrow","up","circle"]},{"name":"arrow-up-left","set":"feather","tags":["arrow","up","left"]},{"name":"arrow-up-right","set":"feather","tags":["arrow","up","right"]},{"name":"arrow-up","set":"feather","tags":["arrow","up"]},{"name":"at-sign","set":"feather","tags":["at","sign","mention","email","message"]},{"name":"award","set":"feather","tags":["award","achievement","badge"]},{"name":"bar-chart-2","set":"feather","tags":["bar","chart","2","statistics","diagram","graph"]},{"name":"bar-chart","set":"feather","tags":["bar","chart","statistics","diagram","graph"]},{"name":"battery-charging","set":"feather","tags":["battery","charging","power","electricity"]},{"name":"battery","set":"feather","tags":["battery","power","electricity"]},{"name":"bell-off","set":"feather","tags":["bell","off","alarm","notification","silent"]},{"name":"bluetooth","set":"feather","tags":["bluetooth","wireless"]},{"name":"bold","set":"feather","tags":["bold"]},{"name":"book","set":"feather","tags":["book","read","dictionary","booklet","magazine","library"]},{"name":"bookmark","set":"feather","tags":["bookmark","read","clip","marker","tag"]},{"name":"briefcase","set":"feather","tags":["briefcase","work","bag","baggage","folder"]},{"name":"camera-off","set":"feather","tags":["camera","off"]},{"name":"camera","set":"feather","tags":["camera","photo"]},{"name":"cast","set":"feather","tags":["cast","chromecast","airplay"]},{"name":"check-circle","set":"feather","tags":["check","circle"]},{"name":"check-square","set":"feather","tags":["check","square"]},{"name":"chevrons-down","set":"feather","tags":["chevrons","down"]},{"name":"chevrons-left","set":"feather","tags":["chevrons","left"]},{"name":"chevrons-right","set":"feather","tags":["chevrons","right"]},{"name":"chevrons-up","set":"feather","tags":["chevrons","up"]},{"name":"chrome","set":"feather","tags":["chrome"]},{"name":"circle","set":"feather","tags":["circle","off","zero","record"]},{"name":"clipboard","set":"feather","tags":["clipboard","copy"]},{"name":"cloud-drizzle","set":"feather","tags":["cloud","drizzle","weather","shower"]},{"name":"cloud-lightning","set":"feather","tags":["cloud","lightning","weather","bolt"]},{"name":"cloud-off","set":"feather","tags":["cloud","off"]},{"name":"cloud-rain","set":"feather","tags":["cloud","rain","weather"]},{"name":"cloud-snow","set":"feather","tags":["cloud","snow","weather","blizzard"]},{"name":"cloud","set":"feather","tags":["cloud","weather"]},{"name":"codepen","set":"feather","tags":["codepen","logo"]},{"name":"codesandbox","set":"feather","tags":["codesandbox","logo"]},{"name":"coffee","set":"feather","tags":["coffee","drink","cup","mug","tea","cafe","hot","beverage"]},{"name":"columns","set":"feather","tags":["columns","layout"]},{"name":"command","set":"feather","tags":["command","keyboard","cmd","terminal","prompt"]},{"name":"compass","set":"feather","tags":["compass","navigation","safari","travel","direction"]},{"name":"corner-down-left","set":"feather","tags":["corner","down","left","arrow","return"]},{"name":"corner-down-right","set":"feather","tags":["corner","down","right","arrow"]},{"name":"corner-left-down","set":"feather","tags":["corner","left","down","arrow"]},{"name":"corner-left-up","set":"feather","tags":["corner","left","up","arrow"]},{"name":"corner-right-down","set":"feather","tags":["corner","right","down","arrow"]},{"name":"corner-right-up","set":"feather","tags":["corner","right","up","arrow"]},{"name":"corner-up-left","set":"feather","tags":["corner","up","left","arrow"]},{"name":"corner-up-right","set":"feather","tags":["corner","up","right","arrow"]},{"name":"cpu","set":"feather","tags":["cpu","processor","technology"]},{"name":"credit-card","set":"feather","tags":["credit","card","purchase","payment","cc"]},{"name":"crop","set":"feather","tags":["crop","photo","image"]},{"name":"crosshair","set":"feather","tags":["crosshair","aim","target"]},{"name":"delete","set":"feather","tags":["delete","remove"]},{"name":"disc","set":"feather","tags":["disc","album","cd","dvd","music"]},{"name":"divide-circle","set":"feather","tags":["divide","circle"]},{"name":"divide-square","set":"feather","tags":["divide","square"]},{"name":"divide","set":"feather","tags":["divide"]},{"name":"dollar-sign","set":"feather","tags":["dollar","sign","currency","money","payment"]},{"name":"download-cloud","set":"feather","tags":["download","cloud"]},{"name":"dribbble","set":"feather","tags":["dribbble"]},{"name":"droplet","set":"feather","tags":["droplet","water"]},{"name":"edit-2","set":"feather","tags":["edit","2","pencil","change"]},{"name":"edit-3","set":"feather","tags":["edit","3","pencil","change"]},{"name":"edit","set":"feather","tags":["edit","pencil","change"]},{"name":"external-link","set":"feather","tags":["external","link","outbound"]},{"name":"eye-off","set":"feather","tags":["eye","off","view","watch","hide","hidden"]},{"name":"facebook","set":"feather","tags":["facebook","logo","social"]},{"name":"fast-forward","set":"feather","tags":["fast","forward","music"]},{"name":"feather","set":"feather","tags":["feather"]},{"name":"figma","set":"feather","tags":["figma","logo","design","tool"]},{"name":"file-minus","set":"feather","tags":["file","minus","delete","remove","erase"]},{"name":"file-plus","set":"feather","tags":["file","plus","add","create","new"]},{"name":"film","set":"feather","tags":["film","movie","video"]},{"name":"filter","set":"feather","tags":["filter","funnel","hopper"]},{"name":"flag","set":"feather","tags":["flag","report"]},{"name":"folder-minus","set":"feather","tags":["folder","minus","directory"]},{"name":"folder-plus","set":"feather","tags":["folder","plus","directory"]},{"name":"framer","set":"feather","tags":["framer","logo","design","tool"]},{"name":"frown","set":"feather","tags":["frown","emoji","face","bad","sad","emotion"]},{"name":"gift","set":"feather","tags":["gift","present","box","birthday","party"]},{"name":"git-branch","set":"feather","tags":["git","branch","code","version control"]},{"name":"git-commit","set":"feather","tags":["git","commit","code","version control"]},{"name":"git-merge","set":"feather","tags":["git","merge","code","version control"]},{"name":"git-pull-request","set":"feather","tags":["git","pull","request","code","version control"]},{"name":"github","set":"feather","tags":["github","logo","version control"]},{"name":"gitlab","set":"feather","tags":["gitlab","logo","version control"]},{"name":"globe","set":"feather","tags":["globe","world","browser","language","translate"]},{"name":"grid","set":"feather","tags":["grid"]},{"name":"hard-drive","set":"feather","tags":["hard","drive","computer","server","memory","data"]},{"name":"hash","set":"feather","tags":["hash","hashtag","number","pound"]},{"name":"headphones","set":"feather","tags":["headphones","music","audio","sound"]},{"name":"heart","set":"feather","tags":["heart","like","love","emotion"]},{"name":"help-circle","set":"feather","tags":["help","circle","question mark"]},{"name":"hexagon","set":"feather","tags":["hexagon","shape","node.js","logo"]},{"name":"home","set":"feather","tags":["home","house","living"]},{"name":"image","set":"feather","tags":["image","picture"]},{"name":"inbox","set":"feather","tags":["inbox","email"]},{"name":"instagram","set":"feather","tags":["instagram","logo","camera"]},{"name":"italic","set":"feather","tags":["italic"]},{"name":"key","set":"feather","tags":["key","password","login","authentication","secure"]},{"name":"layout","set":"feather","tags":["layout","window","webpage"]},{"name":"life-buoy","set":"feather","tags":["life","buoy","help","life ring","support"]},{"name":"link-2","set":"feather","tags":["link","2","chain","url"]},{"name":"link","set":"feather","tags":["link","chain","url"]},{"name":"linkedin","set":"feather","tags":["linkedin","logo","social media"]},{"name":"loader","set":"feather","tags":["loader"]},{"name":"lock","set":"feather","tags":["lock","security","password","secure"]},{"name":"log-in","set":"feather","tags":["log","in","sign in","arrow","enter"]},{"name":"log-out","set":"feather","tags":["log","out","sign out","arrow","exit"]},{"name":"mail","set":"feather","tags":["mail","email","message"]},{"name":"map-pin","set":"feather","tags":["map","pin","location","navigation","travel","marker"]},{"name":"map","set":"feather","tags":["map","location","navigation","travel"]},{"name":"maximize-2","set":"feather","tags":["maximize","2","fullscreen","arrows","expand"]},{"name":"maximize","set":"feather","tags":["maximize","fullscreen"]},{"name":"meh","set":"feather","tags":["meh","emoji","face","neutral","emotion"]},{"name":"message-circle","set":"feather","tags":["message","circle","comment","chat"]},{"name":"message-square","set":"feather","tags":["message","square","comment","chat"]},{"name":"mic-off","set":"feather","tags":["mic","off","record","sound","mute"]},{"name":"mic","set":"feather","tags":["mic","record","sound","listen"]},{"name":"minimize-2","set":"feather","tags":["minimize","2","exit fullscreen","arrows","close"]},{"name":"minimize","set":"feather","tags":["minimize","exit fullscreen","close"]},{"name":"minus-circle","set":"feather","tags":["minus","circle"]},{"name":"minus-square","set":"feather","tags":["minus","square"]},{"name":"monitor","set":"feather","tags":["monitor","tv","screen","display"]},{"name":"more-horizontal","set":"feather","tags":["more","horizontal","ellipsis"]},{"name":"more-vertical","set":"feather","tags":["more","vertical","ellipsis"]},{"name":"mouse-pointer","set":"feather","tags":["mouse","pointer","arrow","cursor"]},{"name":"move","set":"feather","tags":["move","arrows"]},{"name":"music","set":"feather","tags":["music","note"]},{"name":"navigation-2","set":"feather","tags":["navigation","2","location","travel"]},{"name":"navigation","set":"feather","tags":["navigation","location","travel"]},{"name":"octagon","set":"feather","tags":["octagon","stop"]},{"name":"package","set":"feather","tags":["package","box","container"]},{"name":"paperclip","set":"feather","tags":["paperclip","attachment"]},{"name":"pause-circle","set":"feather","tags":["pause","circle","music","audio","stop"]},{"name":"pause","set":"feather","tags":["pause","music","stop"]},{"name":"pen-tool","set":"feather","tags":["pen","tool","vector","drawing"]},{"name":"percent","set":"feather","tags":["percent","discount"]},{"name":"phone-call","set":"feather","tags":["phone","call","ring"]},{"name":"phone-forwarded","set":"feather","tags":["phone","forwarded","call"]},{"name":"phone-incoming","set":"feather","tags":["phone","incoming","call"]},{"name":"phone-missed","set":"feather","tags":["phone","missed","call"]},{"name":"phone-off","set":"feather","tags":["phone","off","call","mute"]},{"name":"phone-outgoing","set":"feather","tags":["phone","outgoing","call"]},{"name":"phone","set":"feather","tags":["phone","call"]},{"name":"pie-chart","set":"feather","tags":["pie","chart","statistics","diagram"]},{"name":"play-circle","set":"feather","tags":["play","circle","music","start"]},{"name":"plus-circle","set":"feather","tags":["plus","circle","add","new"]},{"name":"plus-square","set":"feather","tags":["plus","square","add","new"]},{"name":"pocket","set":"feather","tags":["pocket","logo","save"]},{"name":"power","set":"feather","tags":["power","on","off"]},{"name":"printer","set":"feather","tags":["printer","fax","office","device"]},{"name":"radio","set":"feather","tags":["radio","signal"]},{"name":"refresh-ccw","set":"feather","tags":["refresh","ccw","arrows"]},{"name":"repeat","set":"feather","tags":["repeat","loop","arrows"]},{"name":"rewind","set":"feather","tags":["rewind","music"]},{"name":"rotate-ccw","set":"feather","tags":["rotate","ccw","arrow"]},{"name":"rotate-cw","set":"feather","tags":["rotate","cw","arrow"]},{"name":"rss","set":"feather","tags":["rss","feed","subscribe"]},{"name":"save","set":"feather","tags":["save","floppy disk"]},{"name":"scissors","set":"feather","tags":["scissors","cut"]},{"name":"server","set":"feather","tags":["server"]},{"name":"share-2","set":"feather","tags":["share","2","network","connections"]},{"name":"share","set":"feather","tags":["share"]},{"name":"shield-off","set":"feather","tags":["shield","off","security","insecure"]},{"name":"shopping-bag","set":"feather","tags":["shopping","bag","ecommerce","cart","purchase","store"]},{"name":"shopping-cart","set":"feather","tags":["shopping","cart","ecommerce","purchase","store"]},{"name":"sidebar","set":"feather","tags":["sidebar"]},{"name":"skip-back","set":"feather","tags":["skip","back","music"]},{"name":"skip-forward","set":"feather","tags":["skip","forward","music"]},{"name":"slack","set":"feather","tags":["slack","logo"]},{"name":"slash","set":"feather","tags":["slash","ban","no"]},{"name":"sliders","set":"feather","tags":["sliders","settings","controls"]},{"name":"smartphone","set":"feather","tags":["smartphone","cellphone","device"]},{"name":"smile","set":"feather","tags":["smile","emoji","face","happy","good","emotion"]},{"name":"speaker","set":"feather","tags":["speaker","audio","music"]},{"name":"square","set":"feather","tags":["square"]},{"name":"star","set":"feather","tags":["star","bookmark","favorite","like"]},{"name":"stop-circle","set":"feather","tags":["stop","circle","media","music"]},{"name":"sun","set":"feather","tags":["sun","brightness","weather","light"]},{"name":"sunrise","set":"feather","tags":["sunrise","weather","time","morning","day"]},{"name":"sunset","set":"feather","tags":["sunset","weather","time","evening","night"]},{"name":"tablet","set":"feather","tags":["tablet","device"]},{"name":"tag","set":"feather","tags":["tag","label"]},{"name":"terminal","set":"feather","tags":["terminal","code","command line","prompt"]},{"name":"thermometer","set":"feather","tags":["thermometer","temperature","celsius","fahrenheit","weather"]},{"name":"thumbs-down","set":"feather","tags":["thumbs","down","dislike","bad","emotion"]},{"name":"thumbs-up","set":"feather","tags":["thumbs","up","like","good","emotion"]},{"name":"toggle-left","set":"feather","tags":["toggle","left","on","off","switch"]},{"name":"toggle-right","set":"feather","tags":["toggle","right","on","off","switch"]},{"name":"tool","set":"feather","tags":["tool","settings","spanner"]},{"name":"trash","set":"feather","tags":["trash","garbage","delete","remove","bin"]},{"name":"trello","set":"feather","tags":["trello"]},{"name":"trending-down","set":"feather","tags":["trending","down"]},{"name":"triangle","set":"feather","tags":["triangle","delta"]},{"name":"truck","set":"feather","tags":["truck","delivery","van","shipping","transport","lorry"]},{"name":"tv","set":"feather","tags":["tv","television","stream"]},{"name":"twitch","set":"feather","tags":["twitch","logo"]},{"name":"twitter","set":"feather","tags":["twitter","logo","social"]},{"name":"type","set":"feather","tags":["type","text"]},{"name":"umbrella","set":"feather","tags":["umbrella","rain","weather"]},{"name":"underline","set":"feather","tags":["underline"]},{"name":"unlock","set":"feather","tags":["unlock","security"]},{"name":"upload-cloud","set":"feather","tags":["upload","cloud"]},{"name":"user-check","set":"feather","tags":["user","check","followed","subscribed"]},{"name":"user-minus","set":"feather","tags":["user","minus","delete","remove","unfollow","unsubscribe"]},{"name":"user-plus","set":"feather","tags":["user","plus","new","add","create","follow","subscribe"]},{"name":"user-x","set":"feather","tags":["user","x","delete","remove","unfollow","unsubscribe","unavailable"]},{"name":"user","set":"feather","tags":["user","person","account"]},{"name":"users","set":"feather","tags":["users","group"]},{"name":"video-off","set":"feather","tags":["video","off","camera","movie","film"]},{"name":"video","set":"feather","tags":["video","camera","movie","film"]},{"name":"voicemail","set":"feather","tags":["voicemail","phone"]},{"name":"volume-1","set":"feather","tags":["volume","1","music","sound"]},{"name":"volume-2","set":"feather","tags":["volume","2","music","sound"]},{"name":"volume-x","set":"feather","tags":["volume","x","music","sound","mute"]},{"name":"volume","set":"feather","tags":["volume","music","sound","mute"]},{"name":"watch","set":"feather","tags":["watch","clock","time"]},{"name":"wifi-off","set":"feather","tags":["wifi","off","disabled"]},{"name":"wifi","set":"feather","tags":["wifi","connection","signal","wireless"]},{"name":"wind","set":"feather","tags":["wind","weather","air"]},{"name":"x-circle","set":"feather","tags":["x","circle","cancel","close","delete","remove","times","clear"]},{"name":"x-octagon","set":"feather","tags":["x","octagon","delete","stop","alert","warning","times","clear"]},{"name":"x-square","set":"feather","tags":["x","square","cancel","close","delete","remove","times","clear"]},{"name":"youtube","set":"feather","tags":["youtube","logo","video","play"]},{"name":"zap-off","set":"feather","tags":["zap","off","flash","camera","lightning"]},{"name":"zap","set":"feather","tags":["zap","flash","camera","lightning"]},{"name":"zoom-in","set":"feather","tags":["zoom","in","magnifying glass"]},{"name":"zoom-out","set":"feather","tags":["zoom","out","magnifying glass"]}];
@@ -0,0 +1 @@
1
+ [{"name":"search","set":"core","tags":["search","find","magnifier","magnifying glass"]},{"name":"bell","set":"core","tags":["bell","alarm","notification","sound"]},{"name":"sparkles","set":"core","tags":["sparkles"]},{"name":"panel-left","set":"core","tags":["panel","left"]},{"name":"house","set":"core","tags":["house"]},{"name":"file","set":"core","tags":["file"]},{"name":"file-text","set":"core","tags":["file","text","data","txt","pdf"]},{"name":"file-check","set":"core","tags":["file","check"]},{"name":"layout-grid","set":"core","tags":["layout","grid"]},{"name":"database","set":"core","tags":["database","storage","memory"]},{"name":"scale","set":"core","tags":["scale"]},{"name":"network","set":"core","tags":["network"]},{"name":"folder","set":"core","tags":["folder","directory"]},{"name":"folder-open","set":"core","tags":["folder","open"]},{"name":"folder-cog","set":"core","tags":["folder","cog"]},{"name":"settings","set":"core","tags":["settings","cog","edit","gear","preferences"]},{"name":"settings-2","set":"core","tags":["settings","2"]},{"name":"moon","set":"core","tags":["moon","dark","night"]},{"name":"circle-help","set":"core","tags":["circle","help"]},{"name":"box","set":"core","tags":["box","cube"]},{"name":"workflow","set":"core","tags":["workflow"]},{"name":"shield","set":"core","tags":["shield","security","secure"]},{"name":"refresh-cw","set":"core","tags":["refresh","cw","synchronise","arrows"]},{"name":"chart-line","set":"core","tags":["chart","line"]},{"name":"chart-column","set":"core","tags":["chart","column"]},{"name":"chart-no-axes-column","set":"core","tags":["chart","no","axes","column"]},{"name":"list-todo","set":"core","tags":["list","todo"]},{"name":"circle-check","set":"core","tags":["circle","check"]},{"name":"target","set":"core","tags":["target","logo","bullseye"]},{"name":"book-open","set":"core","tags":["book","open","read","library"]},{"name":"chevron-down","set":"core","tags":["chevron","down","expand"]},{"name":"chevron-right","set":"core","tags":["chevron","right"]},{"name":"chevron-left","set":"core","tags":["chevron","left"]},{"name":"chevron-up","set":"core","tags":["chevron","up","collapse"]},{"name":"arrow-left","set":"core","tags":["arrow","left"]},{"name":"arrow-right","set":"core","tags":["arrow","right"]},{"name":"arrow-right-left","set":"core","tags":["arrow","right","left"]},{"name":"table","set":"core","tags":["table"]},{"name":"layers","set":"core","tags":["layers","stack"]},{"name":"grid-3x3","set":"core","tags":["grid","3x3"]},{"name":"text-search","set":"core","tags":["text","search"]},{"name":"shuffle","set":"core","tags":["shuffle","music"]},{"name":"split","set":"core","tags":["split"]},{"name":"menu","set":"core","tags":["menu","bars","navigation","hamburger"]},{"name":"list","set":"core","tags":["list","options"]},{"name":"funnel","set":"core","tags":["funnel"]},{"name":"sliders-horizontal","set":"core","tags":["sliders","horizontal"]},{"name":"trending-up","set":"core","tags":["trending","up"]},{"name":"code","set":"core","tags":["code","source","programming"]},{"name":"merge","set":"core","tags":["merge"]},{"name":"upload","set":"core","tags":["upload"]},{"name":"download","set":"core","tags":["download"]},{"name":"check","set":"core","tags":["check"]},{"name":"x","set":"core","tags":["x","cancel","close","delete","remove","times","clear"]},{"name":"plus","set":"core","tags":["plus","add","new"]},{"name":"minus","set":"core","tags":["minus","subtract"]},{"name":"ellipsis","set":"core","tags":["ellipsis"]},{"name":"play","set":"core","tags":["play","music","start"]},{"name":"send","set":"core","tags":["send","message","mail","email","paper airplane","paper aeroplane"]},{"name":"eye","set":"core","tags":["eye","view","watch"]},{"name":"copy","set":"core","tags":["copy","clone","duplicate"]},{"name":"trash-2","set":"core","tags":["trash","2","garbage","delete","remove","bin"]},{"name":"clock","set":"core","tags":["clock","time","watch","alarm"]},{"name":"calendar","set":"core","tags":["calendar","date"]},{"name":"undo-2","set":"core","tags":["undo","2"]},{"name":"redo-2","set":"core","tags":["redo","2"]},{"name":"history","set":"core","tags":["history"]},{"name":"bug","set":"core","tags":["bug"]},{"name":"info","set":"core","tags":["info"]},{"name":"triangle-alert","set":"core","tags":["triangle","alert"]},{"name":"calendar","set":"core","tags":["calendar","date"]},{"name":"activity","set":"feather","tags":["activity","pulse","health","action","motion"]},{"name":"airplay","set":"feather","tags":["airplay","stream","cast","mirroring"]},{"name":"alert-circle","set":"feather","tags":["alert","circle","warning","danger"]},{"name":"alert-octagon","set":"feather","tags":["alert","octagon","warning","danger"]},{"name":"alert-triangle","set":"feather","tags":["alert","triangle","warning","danger"]},{"name":"align-center","set":"feather","tags":["align","center","text alignment"]},{"name":"align-justify","set":"feather","tags":["align","justify","text alignment","justified"]},{"name":"align-left","set":"feather","tags":["align","left","text alignment"]},{"name":"align-right","set":"feather","tags":["align","right","text alignment"]},{"name":"anchor","set":"feather","tags":["anchor"]},{"name":"aperture","set":"feather","tags":["aperture","camera","photo"]},{"name":"archive","set":"feather","tags":["archive","index","box"]},{"name":"arrow-down-circle","set":"feather","tags":["arrow","down","circle"]},{"name":"arrow-down-left","set":"feather","tags":["arrow","down","left"]},{"name":"arrow-down-right","set":"feather","tags":["arrow","down","right"]},{"name":"arrow-down","set":"feather","tags":["arrow","down"]},{"name":"arrow-left-circle","set":"feather","tags":["arrow","left","circle"]},{"name":"arrow-right-circle","set":"feather","tags":["arrow","right","circle"]},{"name":"arrow-up-circle","set":"feather","tags":["arrow","up","circle"]},{"name":"arrow-up-left","set":"feather","tags":["arrow","up","left"]},{"name":"arrow-up-right","set":"feather","tags":["arrow","up","right"]},{"name":"arrow-up","set":"feather","tags":["arrow","up"]},{"name":"at-sign","set":"feather","tags":["at","sign","mention","email","message"]},{"name":"award","set":"feather","tags":["award","achievement","badge"]},{"name":"bar-chart-2","set":"feather","tags":["bar","chart","2","statistics","diagram","graph"]},{"name":"bar-chart","set":"feather","tags":["bar","chart","statistics","diagram","graph"]},{"name":"battery-charging","set":"feather","tags":["battery","charging","power","electricity"]},{"name":"battery","set":"feather","tags":["battery","power","electricity"]},{"name":"bell-off","set":"feather","tags":["bell","off","alarm","notification","silent"]},{"name":"bluetooth","set":"feather","tags":["bluetooth","wireless"]},{"name":"bold","set":"feather","tags":["bold"]},{"name":"book","set":"feather","tags":["book","read","dictionary","booklet","magazine","library"]},{"name":"bookmark","set":"feather","tags":["bookmark","read","clip","marker","tag"]},{"name":"briefcase","set":"feather","tags":["briefcase","work","bag","baggage","folder"]},{"name":"camera-off","set":"feather","tags":["camera","off"]},{"name":"camera","set":"feather","tags":["camera","photo"]},{"name":"cast","set":"feather","tags":["cast","chromecast","airplay"]},{"name":"check-circle","set":"feather","tags":["check","circle"]},{"name":"check-square","set":"feather","tags":["check","square"]},{"name":"chevrons-down","set":"feather","tags":["chevrons","down"]},{"name":"chevrons-left","set":"feather","tags":["chevrons","left"]},{"name":"chevrons-right","set":"feather","tags":["chevrons","right"]},{"name":"chevrons-up","set":"feather","tags":["chevrons","up"]},{"name":"chrome","set":"feather","tags":["chrome"]},{"name":"circle","set":"feather","tags":["circle","off","zero","record"]},{"name":"clipboard","set":"feather","tags":["clipboard","copy"]},{"name":"cloud-drizzle","set":"feather","tags":["cloud","drizzle","weather","shower"]},{"name":"cloud-lightning","set":"feather","tags":["cloud","lightning","weather","bolt"]},{"name":"cloud-off","set":"feather","tags":["cloud","off"]},{"name":"cloud-rain","set":"feather","tags":["cloud","rain","weather"]},{"name":"cloud-snow","set":"feather","tags":["cloud","snow","weather","blizzard"]},{"name":"cloud","set":"feather","tags":["cloud","weather"]},{"name":"codepen","set":"feather","tags":["codepen","logo"]},{"name":"codesandbox","set":"feather","tags":["codesandbox","logo"]},{"name":"coffee","set":"feather","tags":["coffee","drink","cup","mug","tea","cafe","hot","beverage"]},{"name":"columns","set":"feather","tags":["columns","layout"]},{"name":"command","set":"feather","tags":["command","keyboard","cmd","terminal","prompt"]},{"name":"compass","set":"feather","tags":["compass","navigation","safari","travel","direction"]},{"name":"corner-down-left","set":"feather","tags":["corner","down","left","arrow","return"]},{"name":"corner-down-right","set":"feather","tags":["corner","down","right","arrow"]},{"name":"corner-left-down","set":"feather","tags":["corner","left","down","arrow"]},{"name":"corner-left-up","set":"feather","tags":["corner","left","up","arrow"]},{"name":"corner-right-down","set":"feather","tags":["corner","right","down","arrow"]},{"name":"corner-right-up","set":"feather","tags":["corner","right","up","arrow"]},{"name":"corner-up-left","set":"feather","tags":["corner","up","left","arrow"]},{"name":"corner-up-right","set":"feather","tags":["corner","up","right","arrow"]},{"name":"cpu","set":"feather","tags":["cpu","processor","technology"]},{"name":"credit-card","set":"feather","tags":["credit","card","purchase","payment","cc"]},{"name":"crop","set":"feather","tags":["crop","photo","image"]},{"name":"crosshair","set":"feather","tags":["crosshair","aim","target"]},{"name":"delete","set":"feather","tags":["delete","remove"]},{"name":"disc","set":"feather","tags":["disc","album","cd","dvd","music"]},{"name":"divide-circle","set":"feather","tags":["divide","circle"]},{"name":"divide-square","set":"feather","tags":["divide","square"]},{"name":"divide","set":"feather","tags":["divide"]},{"name":"dollar-sign","set":"feather","tags":["dollar","sign","currency","money","payment"]},{"name":"download-cloud","set":"feather","tags":["download","cloud"]},{"name":"dribbble","set":"feather","tags":["dribbble"]},{"name":"droplet","set":"feather","tags":["droplet","water"]},{"name":"edit-2","set":"feather","tags":["edit","2","pencil","change"]},{"name":"edit-3","set":"feather","tags":["edit","3","pencil","change"]},{"name":"edit","set":"feather","tags":["edit","pencil","change"]},{"name":"external-link","set":"feather","tags":["external","link","outbound"]},{"name":"eye-off","set":"feather","tags":["eye","off","view","watch","hide","hidden"]},{"name":"facebook","set":"feather","tags":["facebook","logo","social"]},{"name":"fast-forward","set":"feather","tags":["fast","forward","music"]},{"name":"feather","set":"feather","tags":["feather"]},{"name":"figma","set":"feather","tags":["figma","logo","design","tool"]},{"name":"file-minus","set":"feather","tags":["file","minus","delete","remove","erase"]},{"name":"file-plus","set":"feather","tags":["file","plus","add","create","new"]},{"name":"film","set":"feather","tags":["film","movie","video"]},{"name":"filter","set":"feather","tags":["filter","funnel","hopper"]},{"name":"flag","set":"feather","tags":["flag","report"]},{"name":"folder-minus","set":"feather","tags":["folder","minus","directory"]},{"name":"folder-plus","set":"feather","tags":["folder","plus","directory"]},{"name":"framer","set":"feather","tags":["framer","logo","design","tool"]},{"name":"frown","set":"feather","tags":["frown","emoji","face","bad","sad","emotion"]},{"name":"gift","set":"feather","tags":["gift","present","box","birthday","party"]},{"name":"git-branch","set":"feather","tags":["git","branch","code","version control"]},{"name":"git-commit","set":"feather","tags":["git","commit","code","version control"]},{"name":"git-merge","set":"feather","tags":["git","merge","code","version control"]},{"name":"git-pull-request","set":"feather","tags":["git","pull","request","code","version control"]},{"name":"github","set":"feather","tags":["github","logo","version control"]},{"name":"gitlab","set":"feather","tags":["gitlab","logo","version control"]},{"name":"globe","set":"feather","tags":["globe","world","browser","language","translate"]},{"name":"grid","set":"feather","tags":["grid"]},{"name":"hard-drive","set":"feather","tags":["hard","drive","computer","server","memory","data"]},{"name":"hash","set":"feather","tags":["hash","hashtag","number","pound"]},{"name":"headphones","set":"feather","tags":["headphones","music","audio","sound"]},{"name":"heart","set":"feather","tags":["heart","like","love","emotion"]},{"name":"help-circle","set":"feather","tags":["help","circle","question mark"]},{"name":"hexagon","set":"feather","tags":["hexagon","shape","node.js","logo"]},{"name":"home","set":"feather","tags":["home","house","living"]},{"name":"image","set":"feather","tags":["image","picture"]},{"name":"inbox","set":"feather","tags":["inbox","email"]},{"name":"instagram","set":"feather","tags":["instagram","logo","camera"]},{"name":"italic","set":"feather","tags":["italic"]},{"name":"key","set":"feather","tags":["key","password","login","authentication","secure"]},{"name":"layout","set":"feather","tags":["layout","window","webpage"]},{"name":"life-buoy","set":"feather","tags":["life","buoy","help","life ring","support"]},{"name":"link-2","set":"feather","tags":["link","2","chain","url"]},{"name":"link","set":"feather","tags":["link","chain","url"]},{"name":"linkedin","set":"feather","tags":["linkedin","logo","social media"]},{"name":"loader","set":"feather","tags":["loader"]},{"name":"lock","set":"feather","tags":["lock","security","password","secure"]},{"name":"log-in","set":"feather","tags":["log","in","sign in","arrow","enter"]},{"name":"log-out","set":"feather","tags":["log","out","sign out","arrow","exit"]},{"name":"mail","set":"feather","tags":["mail","email","message"]},{"name":"map-pin","set":"feather","tags":["map","pin","location","navigation","travel","marker"]},{"name":"map","set":"feather","tags":["map","location","navigation","travel"]},{"name":"maximize-2","set":"feather","tags":["maximize","2","fullscreen","arrows","expand"]},{"name":"maximize","set":"feather","tags":["maximize","fullscreen"]},{"name":"meh","set":"feather","tags":["meh","emoji","face","neutral","emotion"]},{"name":"message-circle","set":"feather","tags":["message","circle","comment","chat"]},{"name":"message-square","set":"feather","tags":["message","square","comment","chat"]},{"name":"mic-off","set":"feather","tags":["mic","off","record","sound","mute"]},{"name":"mic","set":"feather","tags":["mic","record","sound","listen"]},{"name":"minimize-2","set":"feather","tags":["minimize","2","exit fullscreen","arrows","close"]},{"name":"minimize","set":"feather","tags":["minimize","exit fullscreen","close"]},{"name":"minus-circle","set":"feather","tags":["minus","circle"]},{"name":"minus-square","set":"feather","tags":["minus","square"]},{"name":"monitor","set":"feather","tags":["monitor","tv","screen","display"]},{"name":"more-horizontal","set":"feather","tags":["more","horizontal","ellipsis"]},{"name":"more-vertical","set":"feather","tags":["more","vertical","ellipsis"]},{"name":"mouse-pointer","set":"feather","tags":["mouse","pointer","arrow","cursor"]},{"name":"move","set":"feather","tags":["move","arrows"]},{"name":"music","set":"feather","tags":["music","note"]},{"name":"navigation-2","set":"feather","tags":["navigation","2","location","travel"]},{"name":"navigation","set":"feather","tags":["navigation","location","travel"]},{"name":"octagon","set":"feather","tags":["octagon","stop"]},{"name":"package","set":"feather","tags":["package","box","container"]},{"name":"paperclip","set":"feather","tags":["paperclip","attachment"]},{"name":"pause-circle","set":"feather","tags":["pause","circle","music","audio","stop"]},{"name":"pause","set":"feather","tags":["pause","music","stop"]},{"name":"pen-tool","set":"feather","tags":["pen","tool","vector","drawing"]},{"name":"percent","set":"feather","tags":["percent","discount"]},{"name":"phone-call","set":"feather","tags":["phone","call","ring"]},{"name":"phone-forwarded","set":"feather","tags":["phone","forwarded","call"]},{"name":"phone-incoming","set":"feather","tags":["phone","incoming","call"]},{"name":"phone-missed","set":"feather","tags":["phone","missed","call"]},{"name":"phone-off","set":"feather","tags":["phone","off","call","mute"]},{"name":"phone-outgoing","set":"feather","tags":["phone","outgoing","call"]},{"name":"phone","set":"feather","tags":["phone","call"]},{"name":"pie-chart","set":"feather","tags":["pie","chart","statistics","diagram"]},{"name":"play-circle","set":"feather","tags":["play","circle","music","start"]},{"name":"plus-circle","set":"feather","tags":["plus","circle","add","new"]},{"name":"plus-square","set":"feather","tags":["plus","square","add","new"]},{"name":"pocket","set":"feather","tags":["pocket","logo","save"]},{"name":"power","set":"feather","tags":["power","on","off"]},{"name":"printer","set":"feather","tags":["printer","fax","office","device"]},{"name":"radio","set":"feather","tags":["radio","signal"]},{"name":"refresh-ccw","set":"feather","tags":["refresh","ccw","arrows"]},{"name":"repeat","set":"feather","tags":["repeat","loop","arrows"]},{"name":"rewind","set":"feather","tags":["rewind","music"]},{"name":"rotate-ccw","set":"feather","tags":["rotate","ccw","arrow"]},{"name":"rotate-cw","set":"feather","tags":["rotate","cw","arrow"]},{"name":"rss","set":"feather","tags":["rss","feed","subscribe"]},{"name":"save","set":"feather","tags":["save","floppy disk"]},{"name":"scissors","set":"feather","tags":["scissors","cut"]},{"name":"server","set":"feather","tags":["server"]},{"name":"share-2","set":"feather","tags":["share","2","network","connections"]},{"name":"share","set":"feather","tags":["share"]},{"name":"shield-off","set":"feather","tags":["shield","off","security","insecure"]},{"name":"shopping-bag","set":"feather","tags":["shopping","bag","ecommerce","cart","purchase","store"]},{"name":"shopping-cart","set":"feather","tags":["shopping","cart","ecommerce","purchase","store"]},{"name":"sidebar","set":"feather","tags":["sidebar"]},{"name":"skip-back","set":"feather","tags":["skip","back","music"]},{"name":"skip-forward","set":"feather","tags":["skip","forward","music"]},{"name":"slack","set":"feather","tags":["slack","logo"]},{"name":"slash","set":"feather","tags":["slash","ban","no"]},{"name":"sliders","set":"feather","tags":["sliders","settings","controls"]},{"name":"smartphone","set":"feather","tags":["smartphone","cellphone","device"]},{"name":"smile","set":"feather","tags":["smile","emoji","face","happy","good","emotion"]},{"name":"speaker","set":"feather","tags":["speaker","audio","music"]},{"name":"square","set":"feather","tags":["square"]},{"name":"star","set":"feather","tags":["star","bookmark","favorite","like"]},{"name":"stop-circle","set":"feather","tags":["stop","circle","media","music"]},{"name":"sun","set":"feather","tags":["sun","brightness","weather","light"]},{"name":"sunrise","set":"feather","tags":["sunrise","weather","time","morning","day"]},{"name":"sunset","set":"feather","tags":["sunset","weather","time","evening","night"]},{"name":"tablet","set":"feather","tags":["tablet","device"]},{"name":"tag","set":"feather","tags":["tag","label"]},{"name":"terminal","set":"feather","tags":["terminal","code","command line","prompt"]},{"name":"thermometer","set":"feather","tags":["thermometer","temperature","celsius","fahrenheit","weather"]},{"name":"thumbs-down","set":"feather","tags":["thumbs","down","dislike","bad","emotion"]},{"name":"thumbs-up","set":"feather","tags":["thumbs","up","like","good","emotion"]},{"name":"toggle-left","set":"feather","tags":["toggle","left","on","off","switch"]},{"name":"toggle-right","set":"feather","tags":["toggle","right","on","off","switch"]},{"name":"tool","set":"feather","tags":["tool","settings","spanner"]},{"name":"trash","set":"feather","tags":["trash","garbage","delete","remove","bin"]},{"name":"trello","set":"feather","tags":["trello"]},{"name":"trending-down","set":"feather","tags":["trending","down"]},{"name":"triangle","set":"feather","tags":["triangle","delta"]},{"name":"truck","set":"feather","tags":["truck","delivery","van","shipping","transport","lorry"]},{"name":"tv","set":"feather","tags":["tv","television","stream"]},{"name":"twitch","set":"feather","tags":["twitch","logo"]},{"name":"twitter","set":"feather","tags":["twitter","logo","social"]},{"name":"type","set":"feather","tags":["type","text"]},{"name":"umbrella","set":"feather","tags":["umbrella","rain","weather"]},{"name":"underline","set":"feather","tags":["underline"]},{"name":"unlock","set":"feather","tags":["unlock","security"]},{"name":"upload-cloud","set":"feather","tags":["upload","cloud"]},{"name":"user-check","set":"feather","tags":["user","check","followed","subscribed"]},{"name":"user-minus","set":"feather","tags":["user","minus","delete","remove","unfollow","unsubscribe"]},{"name":"user-plus","set":"feather","tags":["user","plus","new","add","create","follow","subscribe"]},{"name":"user-x","set":"feather","tags":["user","x","delete","remove","unfollow","unsubscribe","unavailable"]},{"name":"user","set":"feather","tags":["user","person","account"]},{"name":"users","set":"feather","tags":["users","group"]},{"name":"video-off","set":"feather","tags":["video","off","camera","movie","film"]},{"name":"video","set":"feather","tags":["video","camera","movie","film"]},{"name":"voicemail","set":"feather","tags":["voicemail","phone"]},{"name":"volume-1","set":"feather","tags":["volume","1","music","sound"]},{"name":"volume-2","set":"feather","tags":["volume","2","music","sound"]},{"name":"volume-x","set":"feather","tags":["volume","x","music","sound","mute"]},{"name":"volume","set":"feather","tags":["volume","music","sound","mute"]},{"name":"watch","set":"feather","tags":["watch","clock","time"]},{"name":"wifi-off","set":"feather","tags":["wifi","off","disabled"]},{"name":"wifi","set":"feather","tags":["wifi","connection","signal","wireless"]},{"name":"wind","set":"feather","tags":["wind","weather","air"]},{"name":"x-circle","set":"feather","tags":["x","circle","cancel","close","delete","remove","times","clear"]},{"name":"x-octagon","set":"feather","tags":["x","octagon","delete","stop","alert","warning","times","clear"]},{"name":"x-square","set":"feather","tags":["x","square","cancel","close","delete","remove","times","clear"]},{"name":"youtube","set":"feather","tags":["youtube","logo","video","play"]},{"name":"zap-off","set":"feather","tags":["zap","off","flash","camera","lightning"]},{"name":"zap","set":"feather","tags":["zap","flash","camera","lightning"]},{"name":"zoom-in","set":"feather","tags":["zoom","in","magnifying glass"]},{"name":"zoom-out","set":"feather","tags":["zoom","out","magnifying glass"]}]