@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.
- package/DEPLOY.md +204 -0
- package/DESIGN.md +269 -0
- package/INTEGRATION.md +417 -0
- package/SKILL.md +32 -0
- package/_adherence.oxlintrc.json +1469 -0
- package/_scripts/build-index.mjs +80 -0
- package/_scripts/build-tokens.mjs +135 -0
- package/assets/icons/icon-index.js +1 -0
- package/assets/icons/icon-index.json +1 -0
- package/assets/icons/unicons-index.js +1 -0
- package/assets/icons/unicons-index.json +1 -0
- package/assets/keybricks-logo.png +0 -0
- package/components/_cards/accordion.card.html +32 -0
- package/components/_cards/action-chip.card.html +22 -0
- package/components/_cards/activity.card.html +34 -0
- package/components/_cards/alert.card.html +32 -0
- package/components/_cards/app-chrome.card.html +36 -0
- package/components/_cards/banner.card.html +21 -0
- package/components/_cards/brand-visual.card.html +43 -0
- package/components/_cards/breadcrumb.card.html +23 -0
- package/components/_cards/button-1-base.card.html +39 -0
- package/components/_cards/button-2-states.card.html +56 -0
- package/components/_cards/button-3-sizes-icons.card.html +32 -0
- package/components/_cards/button-4-group.card.html +47 -0
- package/components/_cards/canvas-zoom-controls.card.html +19 -0
- package/components/_cards/cards-indicators.card.html +59 -0
- package/components/_cards/charts-1-sparkline.card.html +55 -0
- package/components/_cards/charts-10-gauge.card.html +31 -0
- package/components/_cards/charts-11-funnel.card.html +28 -0
- package/components/_cards/charts-12-treemap.card.html +23 -0
- package/components/_cards/charts-14-radar.card.html +31 -0
- package/components/_cards/charts-15-distribution.card.html +32 -0
- package/components/_cards/charts-16-pareto.card.html +25 -0
- package/components/_cards/charts-17-candlestick.card.html +34 -0
- package/components/_cards/charts-18-sankey.card.html +29 -0
- package/components/_cards/charts-19-chord.card.html +31 -0
- package/components/_cards/charts-2-line.card.html +46 -0
- package/components/_cards/charts-20-sunburst.card.html +38 -0
- package/components/_cards/charts-21-worldmap.card.html +33 -0
- package/components/_cards/charts-22-gantt.card.html +37 -0
- package/components/_cards/charts-23-bar3d.card.html +26 -0
- package/components/_cards/charts-24-pie3d.card.html +32 -0
- package/components/_cards/charts-25-surface3d.card.html +24 -0
- package/components/_cards/charts-26-scatter3d.card.html +24 -0
- package/components/_cards/charts-27-ribbon3d.card.html +23 -0
- package/components/_cards/charts-3-bar.card.html +71 -0
- package/components/_cards/charts-4-barlist.card.html +30 -0
- package/components/_cards/charts-5-donut.card.html +35 -0
- package/components/_cards/charts-6-scatter.card.html +26 -0
- package/components/_cards/charts-7-heatmap.card.html +28 -0
- package/components/_cards/charts-8-waterfall.card.html +25 -0
- package/components/_cards/charts-9-bullet.card.html +31 -0
- package/components/_cards/charts-99-fullpage.card.html +194 -0
- package/components/_cards/checkbox.card.html +34 -0
- package/components/_cards/codeblock.card.html +19 -0
- package/components/_cards/combobox.card.html +25 -0
- package/components/_cards/context-menu.card.html +21 -0
- package/components/_cards/datatable.card.html +48 -0
- package/components/_cards/date-picker.card.html +31 -0
- package/components/_cards/diffvalue.card.html +21 -0
- package/components/_cards/divider.card.html +24 -0
- package/components/_cards/drawer.card.html +30 -0
- package/components/_cards/dropdown-menu.card.html +38 -0
- package/components/_cards/dropzone.card.html +22 -0
- package/components/_cards/empty-state.card.html +29 -0
- package/components/_cards/filter-bar.card.html +34 -0
- package/components/_cards/icon-button.card.html +27 -0
- package/components/_cards/icons-1-core.card.html +49 -0
- package/components/_cards/icons-2-feather.card.html +39 -0
- package/components/_cards/icons-3-unicons.card.html +44 -0
- package/components/_cards/input.card.html +25 -0
- package/components/_cards/kbd.card.html +20 -0
- package/components/_cards/keyvalue.card.html +23 -0
- package/components/_cards/listrow.card.html +30 -0
- package/components/_cards/loading.card.html +33 -0
- package/components/_cards/log-viewer.card.html +23 -0
- package/components/_cards/modal.card.html +35 -0
- package/components/_cards/multi-select.card.html +26 -0
- package/components/_cards/number-stepper.card.html +24 -0
- package/components/_cards/pagination.card.html +25 -0
- package/components/_cards/people.card.html +46 -0
- package/components/_cards/pipeline-node.card.html +76 -0
- package/components/_cards/pipeline-palette.card.html +54 -0
- package/components/_cards/search.card.html +23 -0
- package/components/_cards/select.card.html +23 -0
- package/components/_cards/slider.card.html +25 -0
- package/components/_cards/smart-table.card.html +37 -0
- package/components/_cards/spreadsheet.card.html +31 -0
- package/components/_cards/stepper.card.html +25 -0
- package/components/_cards/tabs.card.html +25 -0
- package/components/_cards/tag.card.html +26 -0
- package/components/_cards/textarea.card.html +27 -0
- package/components/_cards/timeline.card.html +32 -0
- package/components/_cards/toast.card.html +33 -0
- package/components/_cards/toggles.card.html +68 -0
- package/components/_cards/tooltip.card.html +22 -0
- package/components/_cards/tree.card.html +150 -0
- package/components/_shared/frame-theme.js +16 -0
- package/components/_shared/src-brand.js +1 -0
- package/components/_shared/src-buttons.js +1 -0
- package/components/_shared/src-charts.js +1 -0
- package/components/_shared/src-data.js +1 -0
- package/components/_shared/src-display.js +1 -0
- package/components/_shared/src-feedback.js +1 -0
- package/components/_shared/src-forms.js +1 -0
- package/components/_shared/src-icons.js +1 -0
- package/components/_shared/src-navigation.js +1 -0
- package/components/_shared/src-pipeline.js +1 -0
- package/components/_shared/src-tabs.js +1 -0
- package/components/_shared/svg-download.js +19 -0
- package/components/_shared/view-source.js +185 -0
- package/components/_vue/index.mjs +114 -0
- package/components/brand/BrandVisual.d.ts +17 -0
- package/components/brand/BrandVisual.jsx +29 -0
- package/components/brand/BrandVisual.vue +34 -0
- package/components/brand/_dir.card.html +13 -0
- package/components/brand/brandMotifs.js +210 -0
- package/components/buttons/ActionChip.d.ts +10 -0
- package/components/buttons/ActionChip.jsx +20 -0
- package/components/buttons/ActionChip.vue +18 -0
- package/components/buttons/Button.d.ts +40 -0
- package/components/buttons/Button.jsx +101 -0
- package/components/buttons/Button.vue +87 -0
- package/components/buttons/IconButton.d.ts +26 -0
- package/components/buttons/IconButton.jsx +28 -0
- package/components/buttons/IconButton.vue +21 -0
- package/components/buttons/_dir.card.html +13 -0
- package/components/buttons/buttons.prompt.md +19 -0
- package/components/charts/Bar3D.d.ts +15 -0
- package/components/charts/Bar3D.jsx +93 -0
- package/components/charts/Bar3D.vue +79 -0
- package/components/charts/BarChart.d.ts +23 -0
- package/components/charts/BarChart.jsx +135 -0
- package/components/charts/BarChart.vue +139 -0
- package/components/charts/BarList.d.ts +13 -0
- package/components/charts/BarList.jsx +31 -0
- package/components/charts/BarList.vue +25 -0
- package/components/charts/BoxPlot.d.ts +18 -0
- package/components/charts/BoxPlot.jsx +62 -0
- package/components/charts/BoxPlot.vue +58 -0
- package/components/charts/BulletChart.d.ts +12 -0
- package/components/charts/BulletChart.jsx +41 -0
- package/components/charts/BulletChart.vue +33 -0
- package/components/charts/CandlestickChart.d.ts +15 -0
- package/components/charts/CandlestickChart.jsx +63 -0
- package/components/charts/CandlestickChart.vue +62 -0
- package/components/charts/ChartKit.d.ts +8 -0
- package/components/charts/ChartKit.jsx +76 -0
- package/components/charts/ChartKit.vue +47 -0
- package/components/charts/ChordChart.d.ts +13 -0
- package/components/charts/ChordChart.jsx +55 -0
- package/components/charts/ChordChart.vue +54 -0
- package/components/charts/DonutChart.d.ts +15 -0
- package/components/charts/DonutChart.jsx +73 -0
- package/components/charts/DonutChart.vue +61 -0
- package/components/charts/FunnelChart.d.ts +11 -0
- package/components/charts/FunnelChart.jsx +37 -0
- package/components/charts/FunnelChart.vue +29 -0
- package/components/charts/GanttChart.d.ts +20 -0
- package/components/charts/GanttChart.jsx +80 -0
- package/components/charts/GanttChart.vue +60 -0
- package/components/charts/GaugeChart.d.ts +13 -0
- package/components/charts/GaugeChart.jsx +33 -0
- package/components/charts/GaugeChart.vue +29 -0
- package/components/charts/HeatmapChart.d.ts +13 -0
- package/components/charts/HeatmapChart.jsx +62 -0
- package/components/charts/HeatmapChart.vue +38 -0
- package/components/charts/Histogram.d.ts +16 -0
- package/components/charts/Histogram.jsx +56 -0
- package/components/charts/Histogram.vue +53 -0
- package/components/charts/LineChart.d.ts +17 -0
- package/components/charts/LineChart.jsx +84 -0
- package/components/charts/LineChart.vue +86 -0
- package/components/charts/ParetoChart.d.ts +13 -0
- package/components/charts/ParetoChart.jsx +54 -0
- package/components/charts/ParetoChart.vue +55 -0
- package/components/charts/Pie3D.d.ts +17 -0
- package/components/charts/Pie3D.jsx +145 -0
- package/components/charts/Pie3D.vue +115 -0
- package/components/charts/RadarChart.d.ts +14 -0
- package/components/charts/RadarChart.jsx +79 -0
- package/components/charts/RadarChart.vue +73 -0
- package/components/charts/Ribbon3D.d.ts +13 -0
- package/components/charts/Ribbon3D.jsx +89 -0
- package/components/charts/Ribbon3D.vue +79 -0
- package/components/charts/SankeyChart.d.ts +15 -0
- package/components/charts/SankeyChart.jsx +59 -0
- package/components/charts/SankeyChart.vue +53 -0
- package/components/charts/Scatter3D.d.ts +12 -0
- package/components/charts/Scatter3D.jsx +69 -0
- package/components/charts/Scatter3D.vue +59 -0
- package/components/charts/ScatterChart.d.ts +12 -0
- package/components/charts/ScatterChart.jsx +53 -0
- package/components/charts/ScatterChart.vue +57 -0
- package/components/charts/Sparkline.d.ts +19 -0
- package/components/charts/Sparkline.jsx +63 -0
- package/components/charts/Sparkline.vue +54 -0
- package/components/charts/SunburstChart.d.ts +12 -0
- package/components/charts/SunburstChart.jsx +61 -0
- package/components/charts/SunburstChart.vue +60 -0
- package/components/charts/Surface3D.d.ts +13 -0
- package/components/charts/Surface3D.jsx +70 -0
- package/components/charts/Surface3D.vue +63 -0
- package/components/charts/TreemapChart.d.ts +11 -0
- package/components/charts/TreemapChart.jsx +35 -0
- package/components/charts/TreemapChart.vue +27 -0
- package/components/charts/WaterfallChart.d.ts +11 -0
- package/components/charts/WaterfallChart.jsx +59 -0
- package/components/charts/WaterfallChart.vue +46 -0
- package/components/charts/WorldMap.d.ts +21 -0
- package/components/charts/WorldMap.jsx +107 -0
- package/components/charts/WorldMap.vue +73 -0
- package/components/charts/_dir.card.html +7 -0
- package/components/charts/chart-3d.js +84 -0
- package/components/charts/chart-geometry.js +223 -0
- package/components/charts/charts.prompt.md +24 -0
- package/components/data/CodeBlock.d.ts +9 -0
- package/components/data/CodeBlock.jsx +19 -0
- package/components/data/CodeBlock.vue +22 -0
- package/components/data/DataTable.d.ts +28 -0
- package/components/data/DataTable.jsx +32 -0
- package/components/data/DataTable.vue +25 -0
- package/components/data/DiffValue.d.ts +11 -0
- package/components/data/DiffValue.jsx +15 -0
- package/components/data/DiffValue.vue +13 -0
- package/components/data/FilterBar.d.ts +16 -0
- package/components/data/FilterBar.jsx +22 -0
- package/components/data/FilterBar.vue +23 -0
- package/components/data/KeyValue.d.ts +16 -0
- package/components/data/KeyValue.jsx +25 -0
- package/components/data/KeyValue.vue +26 -0
- package/components/data/ListRow.d.ts +14 -0
- package/components/data/ListRow.jsx +25 -0
- package/components/data/ListRow.vue +25 -0
- package/components/data/Pagination.d.ts +12 -0
- package/components/data/Pagination.jsx +27 -0
- package/components/data/Pagination.vue +24 -0
- package/components/data/SmartTable.d.ts +30 -0
- package/components/data/SmartTable.jsx +73 -0
- package/components/data/SmartTable.vue +74 -0
- package/components/data/Spreadsheet.d.ts +33 -0
- package/components/data/Spreadsheet.jsx +110 -0
- package/components/data/Spreadsheet.vue +95 -0
- package/components/data/_dir.card.html +13 -0
- package/components/data/data.prompt.md +33 -0
- package/components/display/Avatar.d.ts +21 -0
- package/components/display/Avatar.jsx +31 -0
- package/components/display/Avatar.vue +34 -0
- package/components/display/Badge.d.ts +27 -0
- package/components/display/Badge.jsx +40 -0
- package/components/display/Badge.vue +47 -0
- package/components/display/Card.d.ts +27 -0
- package/components/display/Card.jsx +27 -0
- package/components/display/Card.vue +28 -0
- package/components/display/Divider.d.ts +8 -0
- package/components/display/Divider.jsx +14 -0
- package/components/display/Divider.vue +13 -0
- package/components/display/Kbd.d.ts +7 -0
- package/components/display/Kbd.jsx +12 -0
- package/components/display/Kbd.vue +9 -0
- package/components/display/ProgressBar.d.ts +42 -0
- package/components/display/ProgressBar.jsx +70 -0
- package/components/display/ProgressBar.vue +69 -0
- package/components/display/Tag.d.ts +9 -0
- package/components/display/Tag.jsx +15 -0
- package/components/display/Tag.vue +15 -0
- package/components/display/_dir.card.html +13 -0
- package/components/display/display.prompt.md +30 -0
- package/components/feedback/Accordion.d.ts +13 -0
- package/components/feedback/Accordion.jsx +21 -0
- package/components/feedback/Accordion.vue +22 -0
- package/components/feedback/ActivityItem.d.ts +25 -0
- package/components/feedback/ActivityItem.jsx +39 -0
- package/components/feedback/ActivityItem.vue +46 -0
- package/components/feedback/Alert.d.ts +36 -0
- package/components/feedback/Alert.jsx +48 -0
- package/components/feedback/Alert.vue +59 -0
- package/components/feedback/Banner.d.ts +15 -0
- package/components/feedback/Banner.jsx +25 -0
- package/components/feedback/Banner.vue +25 -0
- package/components/feedback/ContextMenu.d.ts +8 -0
- package/components/feedback/ContextMenu.jsx +18 -0
- package/components/feedback/ContextMenu.vue +19 -0
- package/components/feedback/Drawer.d.ts +18 -0
- package/components/feedback/Drawer.jsx +26 -0
- package/components/feedback/Drawer.vue +24 -0
- package/components/feedback/Menu.d.ts +10 -0
- package/components/feedback/Menu.jsx +24 -0
- package/components/feedback/Menu.vue +21 -0
- package/components/feedback/Modal.d.ts +38 -0
- package/components/feedback/Modal.jsx +69 -0
- package/components/feedback/Modal.vue +65 -0
- package/components/feedback/Stepper.d.ts +9 -0
- package/components/feedback/Stepper.jsx +24 -0
- package/components/feedback/Stepper.vue +18 -0
- package/components/feedback/Timeline.d.ts +15 -0
- package/components/feedback/Timeline.jsx +27 -0
- package/components/feedback/Timeline.vue +21 -0
- package/components/feedback/_dir.card.html +13 -0
- package/components/feedback/feedback.prompt.md +35 -0
- package/components/forms/Checkbox.d.ts +13 -0
- package/components/forms/Checkbox.jsx +17 -0
- package/components/forms/Checkbox.vue +18 -0
- package/components/forms/Combobox.d.ts +13 -0
- package/components/forms/Combobox.jsx +34 -0
- package/components/forms/Combobox.vue +35 -0
- package/components/forms/DatePicker.d.ts +12 -0
- package/components/forms/DatePicker.jsx +48 -0
- package/components/forms/DatePicker.vue +46 -0
- package/components/forms/Dropzone.d.ts +20 -0
- package/components/forms/Dropzone.jsx +36 -0
- package/components/forms/Dropzone.vue +28 -0
- package/components/forms/Field.d.ts +13 -0
- package/components/forms/Field.jsx +13 -0
- package/components/forms/Field.vue +12 -0
- package/components/forms/Input.d.ts +18 -0
- package/components/forms/Input.jsx +35 -0
- package/components/forms/Input.vue +38 -0
- package/components/forms/MultiSelect.d.ts +14 -0
- package/components/forms/MultiSelect.jsx +33 -0
- package/components/forms/MultiSelect.vue +36 -0
- package/components/forms/NumberStepper.d.ts +13 -0
- package/components/forms/NumberStepper.jsx +15 -0
- package/components/forms/NumberStepper.vue +17 -0
- package/components/forms/Radio.vue +16 -0
- package/components/forms/RadioGroup.vue +11 -0
- package/components/forms/SearchInput.d.ts +12 -0
- package/components/forms/SearchInput.jsx +17 -0
- package/components/forms/SearchInput.vue +14 -0
- package/components/forms/Select.d.ts +14 -0
- package/components/forms/Select.jsx +17 -0
- package/components/forms/Select.vue +16 -0
- package/components/forms/Slider.d.ts +15 -0
- package/components/forms/Slider.jsx +21 -0
- package/components/forms/Slider.vue +23 -0
- package/components/forms/Switch.d.ts +31 -0
- package/components/forms/Switch.jsx +40 -0
- package/components/forms/Switch.vue +16 -0
- package/components/forms/_dir.card.html +13 -0
- package/components/forms/forms.prompt.md +23 -0
- package/components/icons/Icon.d.ts +19 -0
- package/components/icons/Icon.jsx +93 -0
- package/components/icons/Icon.prompt.md +8 -0
- package/components/icons/Icon.vue +12 -0
- package/components/icons/Unicon.d.ts +12 -0
- package/components/icons/Unicon.jsx +16 -0
- package/components/icons/Unicon.vue +15 -0
- package/components/icons/_dir.card.html +13 -0
- package/components/icons/feather-paths.js +2 -0
- package/components/icons/icon-paths.js +73 -0
- package/components/index.d.ts +87 -0
- package/components/index.js +110 -0
- package/components/navigation/Breadcrumb.d.ts +24 -0
- package/components/navigation/Breadcrumb.jsx +120 -0
- package/components/navigation/Breadcrumb.vue +94 -0
- package/components/navigation/DocTree.d.ts +18 -0
- package/components/navigation/DocTree.jsx +37 -0
- package/components/navigation/DocTree.vue +25 -0
- package/components/navigation/Sidebar.d.ts +29 -0
- package/components/navigation/Sidebar.jsx +75 -0
- package/components/navigation/Sidebar.vue +54 -0
- package/components/navigation/TopBar.d.ts +27 -0
- package/components/navigation/TopBar.jsx +44 -0
- package/components/navigation/TopBar.vue +51 -0
- package/components/navigation/Tree.d.ts +83 -0
- package/components/navigation/Tree.jsx +347 -0
- package/components/navigation/Tree.vue +258 -0
- package/components/navigation/_dir.card.html +13 -0
- package/components/navigation/navigation.prompt.md +22 -0
- package/components/pipeline/ConfigPanel.d.ts +18 -0
- package/components/pipeline/ConfigPanel.jsx +30 -0
- package/components/pipeline/ConfigPanel.vue +32 -0
- package/components/pipeline/DataPreview.d.ts +14 -0
- package/components/pipeline/DataPreview.jsx +24 -0
- package/components/pipeline/DataPreview.vue +21 -0
- package/components/pipeline/NodeCard.d.ts +47 -0
- package/components/pipeline/NodeCard.jsx +97 -0
- package/components/pipeline/NodeCard.vue +75 -0
- package/components/pipeline/PaletteItem.vue +15 -0
- package/components/pipeline/PaletteListItem.vue +15 -0
- package/components/pipeline/PalettePanel.d.ts +20 -0
- package/components/pipeline/PalettePanel.jsx +74 -0
- package/components/pipeline/PalettePanel.vue +45 -0
- package/components/pipeline/PipelineCanvas.d.ts +25 -0
- package/components/pipeline/PipelineCanvas.jsx +94 -0
- package/components/pipeline/PipelineCanvas.vue +73 -0
- package/components/pipeline/ZoomControls.d.ts +9 -0
- package/components/pipeline/ZoomControls.jsx +15 -0
- package/components/pipeline/ZoomControls.vue +15 -0
- package/components/pipeline/_dir.card.html +13 -0
- package/components/pipeline/pipeline.prompt.md +22 -0
- package/components/tabs/SegmentedControl.d.ts +11 -0
- package/components/tabs/SegmentedControl.jsx +21 -0
- package/components/tabs/SegmentedControl.vue +15 -0
- package/components/tabs/Tabs.d.ts +13 -0
- package/components/tabs/Tabs.jsx +52 -0
- package/components/tabs/Tabs.vue +39 -0
- package/components/tabs/ViewToggle.d.ts +8 -0
- package/components/tabs/ViewToggle.jsx +12 -0
- package/components/tabs/ViewToggle.vue +12 -0
- package/components/tabs/_dir.card.html +13 -0
- package/components/tabs/tabs.prompt.md +14 -0
- package/package.json +76 -0
- package/readme.md +150 -0
- package/styles.css +10 -0
- package/tokens/alpha.css +27 -0
- package/tokens/charts.css +55 -0
- package/tokens/colors-extended.css +40 -0
- package/tokens/colors.css +39 -0
- package/tokens/dark.css +96 -0
- package/tokens/fonts.css +4 -0
- package/tokens/interaction.css +48 -0
- package/tokens/layout.css +30 -0
- package/tokens/motion.css +22 -0
- package/tokens/tokens.d.ts +680 -0
- package/tokens/tokens.js +1018 -0
- package/tokens/tokens.json +2928 -0
- 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"]}]
|