@nordmanai/nif 0.1.0 → 0.2.1
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/README.md +18 -0
- package/bin/nif.mjs +196 -0
- package/dist/index.d.ts +30 -1
- package/dist/index.js +9661 -2499
- package/dist/styles.css +1 -1
- package/dist/tokens.css +4 -1
- package/dist/ui/components/nm-ai/nm-ai.d.ts +7 -7
- package/dist/ui/components/nm-brand-logo/nm-brand-logo.d.ts +10 -0
- package/dist/ui/components/nm-breadcrumb/nm-breadcrumb.d.ts +11 -0
- package/dist/ui/components/nm-button/nm-button.d.ts +2 -0
- package/dist/ui/components/nm-button-group/nm-button-group.d.ts +17 -0
- package/dist/ui/components/nm-calendar/nm-calendar.d.ts +3 -0
- package/dist/ui/components/nm-card/nm-card.d.ts +34 -0
- package/dist/ui/components/nm-chip/nm-chip.d.ts +38 -0
- package/dist/ui/components/nm-code-block/nm-code-block.d.ts +55 -0
- package/dist/ui/components/nm-color-picker/nm-color-picker.d.ts +15 -0
- package/dist/ui/components/nm-combobox/nm-combobox.d.ts +26 -0
- package/dist/ui/components/nm-command/nm-command.d.ts +37 -0
- package/dist/ui/components/nm-composer/nm-composer.d.ts +4 -0
- package/dist/ui/components/nm-context-menu/nm-context-menu.d.ts +9 -0
- package/dist/ui/components/nm-date-picker/nm-date-picker.d.ts +35 -0
- package/dist/ui/components/nm-dialog/nm-dialog.d.ts +13 -0
- package/dist/ui/components/nm-field/nm-field.d.ts +2 -0
- package/dist/ui/components/nm-form-field/nm-form-field.d.ts +18 -0
- package/dist/ui/components/nm-gallery/nm-gallery.d.ts +8 -0
- package/dist/ui/components/nm-input/nm-input.d.ts +5 -0
- package/dist/ui/components/nm-input-group/nm-input-group.d.ts +9 -0
- package/dist/ui/components/nm-label/nm-label.d.ts +2 -0
- package/dist/ui/components/nm-menubar/nm-menubar.d.ts +9 -0
- package/dist/ui/components/nm-native-select/nm-native-select.d.ts +5 -0
- package/dist/ui/components/nm-panel/nm-panel.d.ts +14 -0
- package/dist/ui/components/nm-prose/nm-prose.d.ts +6 -0
- package/dist/ui/components/nm-resize-handle/nm-resize-handle.d.ts +18 -0
- package/dist/ui/components/nm-select/nm-select.d.ts +22 -0
- package/dist/ui/components/nm-side-panel/nm-side-panel.d.ts +33 -0
- package/dist/ui/components/nm-slider/nm-slider.d.ts +5 -1
- package/dist/ui/components/nm-status-bar/nm-status-bar.d.ts +8 -0
- package/dist/ui/components/nm-table/nm-table.d.ts +38 -0
- package/dist/ui/components/nm-textarea/nm-textarea.d.ts +2 -0
- package/dist/ui/components/nm-toolbar/nm-toolbar.d.ts +21 -0
- package/dist/ui/config/nm-ai.d.ts +0 -3
- package/dist/ui/config/nm-appearance.d.ts +36 -1
- package/dist/ui/config/nm-button.d.ts +2 -1
- package/dist/ui/config/nm-composer.d.ts +1 -2
- package/dist/ui/config/nm-field.d.ts +2 -0
- package/dist/ui/config/nm-icons.d.ts +13 -1
- package/dist/ui/config/nm-radius.d.ts +4 -4
- package/dist/ui/config/nm-side-panel.d.ts +33 -0
- package/dist/ui/lib/appearance/appearanceState.d.ts +1 -0
- package/dist/ui/lib/appearance/deriveTokens.d.ts +2 -0
- package/package.json +12 -4
- package/registry/index.json +1634 -0
- package/registry/tokens.css +72 -0
- package/registry/ui/components/nm-ai/nm-ai.css +358 -0
- package/registry/ui/components/nm-ai/nm-ai.tsx +632 -0
- package/registry/ui/components/nm-app-panel/nm-app-panel.css +169 -0
- package/registry/ui/components/nm-ask/nm-ask.css +277 -0
- package/registry/ui/components/nm-avatar/nm-avatar.css +85 -0
- package/registry/ui/components/nm-avatar/nm-avatar.tsx +30 -0
- package/registry/ui/components/nm-bar-overflow/nm-bar-overflow.css +43 -0
- package/registry/ui/components/nm-bar-overflow/nm-bar-overflow.tsx +61 -0
- package/registry/ui/components/nm-bar-overflow/use-bar-overflow.ts +92 -0
- package/registry/ui/components/nm-brand-logo/nm-brand-logo.css +20 -0
- package/registry/ui/components/nm-brand-logo/nm-brand-logo.tsx +21 -0
- package/registry/ui/components/nm-breadcrumb/nm-breadcrumb.css +57 -0
- package/registry/ui/components/nm-breadcrumb/nm-breadcrumb.tsx +42 -0
- package/registry/ui/components/nm-button/nm-button.css +106 -0
- package/registry/ui/components/nm-button/nm-button.tsx +58 -0
- package/registry/ui/components/nm-button-group/nm-button-group.css +98 -0
- package/registry/ui/components/nm-button-group/nm-button-group.tsx +32 -0
- package/registry/ui/components/nm-calendar/nm-calendar.css +178 -0
- package/registry/ui/components/nm-calendar/nm-calendar.tsx +43 -0
- package/registry/ui/components/nm-card/nm-card.css +130 -0
- package/registry/ui/components/nm-card/nm-card.tsx +83 -0
- package/registry/ui/components/nm-chatbox/nm-chatbox-icon.tsx +39 -0
- package/registry/ui/components/nm-chatbox/nm-chatbox.css +682 -0
- package/registry/ui/components/nm-chatbox/nm-chatbox.tsx +101 -0
- package/registry/ui/components/nm-checkbox/nm-checkbox.css +61 -0
- package/registry/ui/components/nm-checkbox/nm-checkbox.tsx +14 -0
- package/registry/ui/components/nm-chip/nm-chip.css +112 -0
- package/registry/ui/components/nm-chip/nm-chip.tsx +86 -0
- package/registry/ui/components/nm-code-block/nm-code-block.css +240 -0
- package/registry/ui/components/nm-code-block/nm-code-block.tsx +196 -0
- package/registry/ui/components/nm-collection/nm-collection-bar.tsx +65 -0
- package/registry/ui/components/nm-collection/nm-collection-grid.tsx +69 -0
- package/registry/ui/components/nm-collection/nm-collection-query.tsx +99 -0
- package/registry/ui/components/nm-collection/nm-collection-row-menu.tsx +55 -0
- package/registry/ui/components/nm-collection/nm-collection-table.tsx +99 -0
- package/registry/ui/components/nm-collection/nm-collection-tile-actions.tsx +50 -0
- package/registry/ui/components/nm-collection/nm-collection-title.tsx +25 -0
- package/registry/ui/components/nm-collection/nm-collection.css +353 -0
- package/registry/ui/components/nm-collection/use-collection-scroll-reveal.ts +38 -0
- package/registry/ui/components/nm-color-picker/nm-color-picker.css +67 -0
- package/registry/ui/components/nm-color-picker/nm-color-picker.tsx +79 -0
- package/registry/ui/components/nm-combobox/nm-combobox.css +72 -0
- package/registry/ui/components/nm-combobox/nm-combobox.tsx +80 -0
- package/registry/ui/components/nm-command/nm-command.css +190 -0
- package/registry/ui/components/nm-command/nm-command.tsx +125 -0
- package/registry/ui/components/nm-composer/nm-composer.css +178 -0
- package/registry/ui/components/nm-composer/nm-composer.tsx +151 -0
- package/registry/ui/components/nm-context-menu/nm-context-menu.tsx +25 -0
- package/registry/ui/components/nm-date-picker/nm-date-picker.css +140 -0
- package/registry/ui/components/nm-date-picker/nm-date-picker.tsx +153 -0
- package/registry/ui/components/nm-dialog/nm-dialog.css +84 -0
- package/registry/ui/components/nm-dialog/nm-dialog.tsx +40 -0
- package/registry/ui/components/nm-dropdown/nm-dropdown-item.ts +68 -0
- package/registry/ui/components/nm-dropdown/nm-dropdown-options.tsx +242 -0
- package/registry/ui/components/nm-dropdown/nm-dropdown-panel.tsx +171 -0
- package/registry/ui/components/nm-dropdown/nm-dropdown-placement.ts +157 -0
- package/registry/ui/components/nm-dropdown/nm-dropdown.css +312 -0
- package/registry/ui/components/nm-dropdown/nm-dropdown.tsx +412 -0
- package/registry/ui/components/nm-dropdown-menu/nm-dropdown-menu.css +145 -0
- package/registry/ui/components/nm-dropdown-menu/nm-dropdown-menu.tsx +118 -0
- package/registry/ui/components/nm-field/nm-field.css +356 -0
- package/registry/ui/components/nm-field/nm-field.tsx +355 -0
- package/registry/ui/components/nm-form-field/nm-form-field.css +103 -0
- package/registry/ui/components/nm-form-field/nm-form-field.tsx +71 -0
- package/registry/ui/components/nm-gallery/nm-gallery.css +66 -0
- package/registry/ui/components/nm-gallery/nm-gallery.tsx +31 -0
- package/registry/ui/components/nm-hover-card/nm-hover-card.css +26 -0
- package/registry/ui/components/nm-hover-card/nm-hover-card.tsx +28 -0
- package/registry/ui/components/nm-icon/nm-icon.css +6 -0
- package/registry/ui/components/nm-icon/nm-icon.tsx +69 -0
- package/registry/ui/components/nm-icon/nm-lucide.tsx +180 -0
- package/registry/ui/components/nm-icon-border/nm-icon-border.tsx +56 -0
- package/registry/ui/components/nm-input/nm-input.css +75 -0
- package/registry/ui/components/nm-input/nm-input.tsx +7 -0
- package/registry/ui/components/nm-input-group/nm-input-group.css +66 -0
- package/registry/ui/components/nm-input-group/nm-input-group.tsx +20 -0
- package/registry/ui/components/nm-label/nm-label.css +11 -0
- package/registry/ui/components/nm-label/nm-label.tsx +6 -0
- package/registry/ui/components/nm-list-item/nm-list-item.css +177 -0
- package/registry/ui/components/nm-list-item/nm-list-item.tsx +112 -0
- package/registry/ui/components/nm-menubar/nm-menubar.css +32 -0
- package/registry/ui/components/nm-menubar/nm-menubar.tsx +19 -0
- package/registry/ui/components/nm-message/nm-message-actions.tsx +24 -0
- package/registry/ui/components/nm-message/nm-message-meta.tsx +49 -0
- package/registry/ui/components/nm-message/nm-message.css +686 -0
- package/registry/ui/components/nm-message/nm-text-shimmer.tsx +6 -0
- package/registry/ui/components/nm-message/nm-trace.tsx +219 -0
- package/registry/ui/components/nm-modal/nm-modal.css +763 -0
- package/registry/ui/components/nm-modal/nm-modal.tsx +497 -0
- package/registry/ui/components/nm-native-select/nm-native-select.css +47 -0
- package/registry/ui/components/nm-native-select/nm-native-select.tsx +23 -0
- package/registry/ui/components/nm-panel/nm-panel.css +73 -0
- package/registry/ui/components/nm-panel/nm-panel.tsx +35 -0
- package/registry/ui/components/nm-panel-bar/nm-panel-bar.css +20 -0
- package/registry/ui/components/nm-panel-bar/nm-panel-bar.tsx +48 -0
- package/registry/ui/components/nm-popover/nm-popover.css +43 -0
- package/registry/ui/components/nm-popover/nm-popover.tsx +40 -0
- package/registry/ui/components/nm-progress/nm-progress.css +21 -0
- package/registry/ui/components/nm-progress/nm-progress.tsx +14 -0
- package/registry/ui/components/nm-prose/nm-prose.css +81 -0
- package/registry/ui/components/nm-prose/nm-prose.tsx +10 -0
- package/registry/ui/components/nm-questionnaire/nm-questionnaire.css +182 -0
- package/registry/ui/components/nm-questionnaire/nm-questionnaire.tsx +221 -0
- package/registry/ui/components/nm-radio-group/nm-radio-group.css +48 -0
- package/registry/ui/components/nm-radio-group/nm-radio-group.tsx +15 -0
- package/registry/ui/components/nm-rail-icon/nm-rail-icon.css +6 -0
- package/registry/ui/components/nm-rail-icon/nm-rail-icon.tsx +28 -0
- package/registry/ui/components/nm-resize-handle/nm-resize-handle.css +45 -0
- package/registry/ui/components/nm-resize-handle/nm-resize-handle.tsx +102 -0
- package/registry/ui/components/nm-segmented/nm-segmented.css +104 -0
- package/registry/ui/components/nm-segmented/nm-segmented.tsx +77 -0
- package/registry/ui/components/nm-select/nm-select.css +78 -0
- package/registry/ui/components/nm-select/nm-select.tsx +64 -0
- package/registry/ui/components/nm-separator/nm-separator.css +14 -0
- package/registry/ui/components/nm-separator/nm-separator.tsx +6 -0
- package/registry/ui/components/nm-side-panel/nm-side-panel.css +93 -0
- package/registry/ui/components/nm-side-panel/nm-side-panel.tsx +86 -0
- package/registry/ui/components/nm-slider/nm-slider.css +53 -0
- package/registry/ui/components/nm-slider/nm-slider.tsx +40 -0
- package/registry/ui/components/nm-small-icon-button/nm-small-icon-button.tsx +66 -0
- package/registry/ui/components/nm-status-bar/nm-status-bar.css +50 -0
- package/registry/ui/components/nm-status-bar/nm-status-bar.tsx +28 -0
- package/registry/ui/components/nm-switch/nm-switch.css +45 -0
- package/registry/ui/components/nm-switch/nm-switch.tsx +10 -0
- package/registry/ui/components/nm-table/nm-table.css +155 -0
- package/registry/ui/components/nm-table/nm-table.tsx +95 -0
- package/registry/ui/components/nm-tabs/nm-tabs.css +28 -0
- package/registry/ui/components/nm-tabs/nm-tabs.tsx +32 -0
- package/registry/ui/components/nm-textarea/nm-textarea.css +41 -0
- package/registry/ui/components/nm-textarea/nm-textarea.tsx +6 -0
- package/registry/ui/components/nm-toggle/nm-toggle.css +55 -0
- package/registry/ui/components/nm-toggle/nm-toggle.tsx +16 -0
- package/registry/ui/components/nm-toolbar/nm-toolbar.css +42 -0
- package/registry/ui/components/nm-toolbar/nm-toolbar.tsx +54 -0
- package/registry/ui/components/nm-tooltip/nm-tooltip.css +37 -0
- package/registry/ui/components/nm-tooltip/nm-tooltip.tsx +35 -0
- package/registry/ui/components/nm-top-bar/nm-top-bar.css +29 -0
- package/registry/ui/components/nm-top-bar/nm-top-bar.tsx +34 -0
- package/registry/ui/components/nordman-icon-button/nordman-icon-button.css +119 -0
- package/registry/ui/components/nordman-icon-button/nordman-icon-button.tsx +185 -0
- package/registry/ui/components/nordman-login/nordman-login.css +195 -0
- package/registry/ui/components/nordman-login/nordman-login.tsx +136 -0
- package/registry/ui/components/nordman-login-field/nordman-login-field.tsx +55 -0
- package/registry/ui/components/nordman-login-forgot/nordman-login-forgot.tsx +56 -0
- package/registry/ui/components/nordman-login-google/nordman-login-google.tsx +28 -0
- package/registry/ui/components/nordman-login-hero/nordman-login-hero.tsx +38 -0
- package/registry/ui/components/nordman-login-register/nordman-login-register.tsx +70 -0
- package/registry/ui/components/nordman-login-reset/nordman-login-reset.tsx +71 -0
- package/registry/ui/components/nordman-login-reveal/nordman-login-reveal.tsx +41 -0
- package/registry/ui/components/nordman-login-sign-in/nordman-login-sign-in.tsx +69 -0
- package/registry/ui/components/nordman-toggle/nordman-toggle.css +28 -0
- package/registry/ui/components/nordman-toggle/nordman-toggle.tsx +35 -0
- package/registry/ui/config/nm-ai.ts +59 -0
- package/registry/ui/config/nm-appearance.ts +275 -0
- package/registry/ui/config/nm-bar-overflow.ts +10 -0
- package/registry/ui/config/nm-button.ts +38 -0
- package/registry/ui/config/nm-chatbox-icons.ts +67 -0
- package/registry/ui/config/nm-chatbox.ts +42 -0
- package/registry/ui/config/nm-collection.ts +101 -0
- package/registry/ui/config/nm-composer.ts +39 -0
- package/registry/ui/config/nm-dropdown.ts +62 -0
- package/registry/ui/config/nm-field.ts +43 -0
- package/registry/ui/config/nm-icon-button.ts +35 -0
- package/registry/ui/config/nm-icons.ts +417 -0
- package/registry/ui/config/nm-list-item.ts +14 -0
- package/registry/ui/config/nm-message.ts +106 -0
- package/registry/ui/config/nm-modal.ts +76 -0
- package/registry/ui/config/nm-panel-bar.ts +11 -0
- package/registry/ui/config/nm-questionnaire.ts +53 -0
- package/registry/ui/config/nm-radius.ts +56 -0
- package/registry/ui/config/nm-rail-icons.ts +27 -0
- package/registry/ui/config/nm-segmented.ts +19 -0
- package/registry/ui/config/nm-side-panel.ts +16 -0
- package/registry/ui/config/nm-site-palette.ts +30 -0
- package/registry/ui/config/nm-small-icon-button.ts +17 -0
- package/registry/ui/config/nm-tabs.ts +9 -0
- package/registry/ui/config/nm-top-bar.ts +4 -0
- package/registry/ui/config/nordman-chrome.ts +14 -0
- package/registry/ui/config/nordman-login.ts +28 -0
- package/registry/ui/content/nm-modal.ts +5 -0
- package/registry/ui/content/nordman-login.ts +85 -0
- package/registry/ui/kit-logger.ts +1 -0
- package/registry/ui/lib/appearance/appearanceState.ts +240 -0
- package/registry/ui/lib/appearance/applyAppearance.ts +36 -0
- package/registry/ui/lib/appearance/cloudOrbAppearance.ts +36 -0
- package/registry/ui/lib/appearance/color.ts +96 -0
- package/registry/ui/lib/appearance/deriveTokens.ts +218 -0
- package/registry/ui/lib/appearance/index.ts +6 -0
- package/registry/ui/lib/appearance/markTokens.ts +49 -0
- package/registry/ui/lib/appearance/readLayoutMetrics.ts +28 -0
- package/registry/ui/lib/bar-overflow.ts +41 -0
- package/registry/ui/lib/logger.ts +53 -0
- package/registry/ui/lib/menu-motion.ts +187 -0
- package/registry/ui/lib/nm-class.ts +4 -0
- package/registry/ui/lib/nordman-ui-locale.ts +43 -0
- package/registry/ui/styles/interface-theme.css +196 -0
- package/registry/ui/styles/light-appearance.css +72 -0
- package/registry/ui/styles/tokens.css +424 -0
- package/registry/ui/styles/utilities.css +12 -0
- package/dist/ui/components/nm-accordion/nm-accordion.d.ts +0 -6
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/** How often the open library reloads its file list. A generated image can
|
|
2
|
+
* finish after the view has already opened, and the conversation stream is
|
|
3
|
+
* not mounted on this route. */
|
|
4
|
+
export const NM_COLLECTION_FILES_REFRESH_MS = 2000;
|
|
5
|
+
|
|
6
|
+
/** Scrollbar thumb visibility after scroll stops (matches rail, modal, dropdown). */
|
|
7
|
+
export const NM_COLLECTION_SCROLL_IDLE_MS = 750;
|
|
8
|
+
|
|
9
|
+
export const NM_COLLECTION_VIEWS = {
|
|
10
|
+
table: 'table',
|
|
11
|
+
grid: 'grid',
|
|
12
|
+
} as const;
|
|
13
|
+
|
|
14
|
+
export type NmCollectionView = (typeof NM_COLLECTION_VIEWS)[keyof typeof NM_COLLECTION_VIEWS];
|
|
15
|
+
|
|
16
|
+
export const NM_COLLECTION_ICON_SRC = {
|
|
17
|
+
spreadsheet: '/interface/collection/spreadsheet.svg',
|
|
18
|
+
grid: '/interface/collection/grid.svg',
|
|
19
|
+
library: '/interface/rail/library.svg',
|
|
20
|
+
image: '/interface/collection/image.svg',
|
|
21
|
+
video: '/interface/collection/video.svg',
|
|
22
|
+
audio: '/interface/collection/audio.svg',
|
|
23
|
+
search: '/interface/rail/search.svg',
|
|
24
|
+
download: '/interface/collection/download.svg',
|
|
25
|
+
expand: '/interface/collection/expand.svg',
|
|
26
|
+
} as const;
|
|
27
|
+
|
|
28
|
+
export const NM_COLLECTION_CLASSES = {
|
|
29
|
+
root: 'nm-collection',
|
|
30
|
+
bar: 'nm-collection__bar',
|
|
31
|
+
cluster: 'nm-collection__cluster',
|
|
32
|
+
title: 'nm-collection__title',
|
|
33
|
+
filter: 'nm-collection__filter',
|
|
34
|
+
kindFilter: 'nm-collection__kind-filter',
|
|
35
|
+
search: 'nm-collection__search',
|
|
36
|
+
switch: 'nm-collection__switch',
|
|
37
|
+
barEnd: 'nm-collection__bar-end',
|
|
38
|
+
stage: 'nm-collection__stage',
|
|
39
|
+
stageBar: 'nm-collection__stage-bar',
|
|
40
|
+
preview: 'nm-collection__preview',
|
|
41
|
+
body: 'nm-collection__body',
|
|
42
|
+
table: 'nm-collection__table',
|
|
43
|
+
row: 'nm-collection__row',
|
|
44
|
+
name: 'nm-collection__name',
|
|
45
|
+
meta: 'nm-collection__meta',
|
|
46
|
+
grid: 'nm-collection__grid',
|
|
47
|
+
tile: 'nm-collection__tile',
|
|
48
|
+
hit: 'nm-collection__hit',
|
|
49
|
+
actions: 'nm-collection__actions',
|
|
50
|
+
rowHit: 'nm-collection__row-hit',
|
|
51
|
+
facts: 'nm-collection__facts',
|
|
52
|
+
cell: 'nm-collection__cell',
|
|
53
|
+
head: 'nm-collection__head',
|
|
54
|
+
menu: 'nm-collection__menu',
|
|
55
|
+
media: 'nm-collection__media',
|
|
56
|
+
audio: 'nm-collection__audio',
|
|
57
|
+
} as const;
|
|
58
|
+
|
|
59
|
+
export const NM_COLLECTION_ACTIONS = {
|
|
60
|
+
open: 'open',
|
|
61
|
+
download: 'download',
|
|
62
|
+
delete: 'delete',
|
|
63
|
+
} as const;
|
|
64
|
+
|
|
65
|
+
export type NmCollectionItemActions = {
|
|
66
|
+
openLabel: string;
|
|
67
|
+
downloadLabel: string;
|
|
68
|
+
deleteLabel: string;
|
|
69
|
+
menuLabel: string;
|
|
70
|
+
onOpen: (id: string) => void;
|
|
71
|
+
onDownload: (id: string) => void;
|
|
72
|
+
onDelete: (id: string) => void;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const NM_COLLECTION_MEDIA_KINDS = {
|
|
76
|
+
image: 'image',
|
|
77
|
+
video: 'video',
|
|
78
|
+
audio: 'audio',
|
|
79
|
+
} as const;
|
|
80
|
+
|
|
81
|
+
export type NmCollectionMediaKind =
|
|
82
|
+
(typeof NM_COLLECTION_MEDIA_KINDS)[keyof typeof NM_COLLECTION_MEDIA_KINDS];
|
|
83
|
+
|
|
84
|
+
export type NmCollectionMedia = {
|
|
85
|
+
kind: NmCollectionMediaKind;
|
|
86
|
+
src: string;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export type NmCollectionColumn = {
|
|
90
|
+
id: string;
|
|
91
|
+
label: string;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
export type NmCollectionItem = {
|
|
95
|
+
id: string;
|
|
96
|
+
title: string;
|
|
97
|
+
meta?: string;
|
|
98
|
+
cells?: Readonly<Record<string, string>>;
|
|
99
|
+
kind?: NmCollectionMediaKind;
|
|
100
|
+
media?: NmCollectionMedia;
|
|
101
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composer: the message box. Built from the Nordman AI design:
|
|
3
|
+
* one framed box, the text on top, actions in a row beneath. Add on the left, dictate and voice on the right.
|
|
4
|
+
*/
|
|
5
|
+
export const NM_COMPOSER_COPY = {
|
|
6
|
+
placeholder: 'Ask Nordman',
|
|
7
|
+
attach: 'Add',
|
|
8
|
+
mic: 'Dictate',
|
|
9
|
+
voice: 'Voice mode',
|
|
10
|
+
send: 'Send',
|
|
11
|
+
stop: 'Stop',
|
|
12
|
+
remove: (name: string) => `Remove ${name}`,
|
|
13
|
+
queued: 'Queued',
|
|
14
|
+
editQueued: 'Edit queued message',
|
|
15
|
+
removeQueued: 'Remove queued message',
|
|
16
|
+
} as const;
|
|
17
|
+
|
|
18
|
+
export const NM_COMPOSER_CLASSES = {
|
|
19
|
+
root: 'nm-composer',
|
|
20
|
+
stack: 'nm-composer-stack',
|
|
21
|
+
main: 'nm-composer__main',
|
|
22
|
+
queue: 'nm-composer__queue',
|
|
23
|
+
queued: 'nm-composer__queued',
|
|
24
|
+
queuedText: 'nm-composer__queued-text',
|
|
25
|
+
queuedActions: 'nm-composer__queued-actions',
|
|
26
|
+
attachments: 'nm-composer__attachments',
|
|
27
|
+
field: 'nm-composer__field',
|
|
28
|
+
bar: 'nm-composer__bar',
|
|
29
|
+
start: 'nm-composer__start',
|
|
30
|
+
end: 'nm-composer__end',
|
|
31
|
+
button: 'nm-composer__button',
|
|
32
|
+
primary: 'nm-composer__button--primary',
|
|
33
|
+
stopMark: 'nm-composer__stop-mark',
|
|
34
|
+
} as const;
|
|
35
|
+
|
|
36
|
+
export type NmComposerAttachment = { id: string; name: string };
|
|
37
|
+
|
|
38
|
+
/** A message sent while the agent was still answering. It waits in line above the box. */
|
|
39
|
+
export type NmComposerQueued = { id: string; text: string };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export const NM_DROPDOWN_CLASSES = {
|
|
2
|
+
root: 'nm-dropdown',
|
|
3
|
+
trigger: 'nm-dropdown__trigger',
|
|
4
|
+
triggerIcon: 'nm-dropdown__trigger--icon',
|
|
5
|
+
triggerChip: 'nm-dropdown__trigger--chip',
|
|
6
|
+
triggerChipIconOnly: 'nm-dropdown__trigger--chip-icon-only',
|
|
7
|
+
triggerFilled: 'nm-dropdown__trigger--filled',
|
|
8
|
+
triggerOutline: 'nm-dropdown__trigger--outline',
|
|
9
|
+
lead: 'nm-dropdown__lead',
|
|
10
|
+
chevron: 'nm-dropdown__chevron',
|
|
11
|
+
panel: 'nm-dropdown__panel',
|
|
12
|
+
panelEnd: 'nm-dropdown__panel--end',
|
|
13
|
+
panelRow: 'nm-dropdown__panel--row',
|
|
14
|
+
panelPortal: 'nm-dropdown__panel--portal',
|
|
15
|
+
item: 'nm-dropdown__item',
|
|
16
|
+
itemBranch: 'nm-dropdown__item--branch',
|
|
17
|
+
itemDanger: 'nm-dropdown__item--danger',
|
|
18
|
+
itemDisabled: 'nm-dropdown__item--disabled',
|
|
19
|
+
itemQuiet: 'nm-dropdown__item--quiet',
|
|
20
|
+
mark: 'nm-dropdown__mark',
|
|
21
|
+
markBusy: 'nm-dropdown__mark--busy',
|
|
22
|
+
markLive: 'nm-dropdown__mark--live',
|
|
23
|
+
branch: 'nm-dropdown__branch',
|
|
24
|
+
subpanel: 'nm-dropdown__subpanel',
|
|
25
|
+
separator: 'nm-dropdown__separator',
|
|
26
|
+
icon: 'nm-dropdown__icon',
|
|
27
|
+
check: 'nm-dropdown__check',
|
|
28
|
+
label: 'nm-dropdown__label',
|
|
29
|
+
copy: 'nm-dropdown__copy',
|
|
30
|
+
detail: 'nm-dropdown__detail',
|
|
31
|
+
trailing: 'nm-dropdown__trailing',
|
|
32
|
+
shortcut: 'nm-dropdown__shortcut',
|
|
33
|
+
revealHover: 'nm-dropdown--hover',
|
|
34
|
+
} as const;
|
|
35
|
+
|
|
36
|
+
export const NM_DROPDOWN_TRIGGER = {
|
|
37
|
+
text: 'text',
|
|
38
|
+
icon: 'icon',
|
|
39
|
+
iconButton: 'icon-button',
|
|
40
|
+
} as const;
|
|
41
|
+
|
|
42
|
+
export const NM_DROPDOWN_TONE = {
|
|
43
|
+
filled: 'filled',
|
|
44
|
+
outline: 'outline',
|
|
45
|
+
} as const;
|
|
46
|
+
|
|
47
|
+
export const NM_DROPDOWN_ALIGN = {
|
|
48
|
+
start: 'start',
|
|
49
|
+
end: 'end',
|
|
50
|
+
/** Match the hosting `.nm-rail__row` pill width and left edge. */
|
|
51
|
+
row: 'row',
|
|
52
|
+
} as const;
|
|
53
|
+
|
|
54
|
+
/** Icon menus stay hidden until the host row or field is hovered or focused. */
|
|
55
|
+
export const NM_DROPDOWN_REVEAL = {
|
|
56
|
+
hover: 'hover',
|
|
57
|
+
} as const;
|
|
58
|
+
|
|
59
|
+
export const NM_DROPDOWN_GAP_PX = 8;
|
|
60
|
+
|
|
61
|
+
/** Matches `--nm-rail-scroll-idle` (`--reveal` × 3). */
|
|
62
|
+
export const NM_DROPDOWN_SCROLL_IDLE_MS = 750;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export const NM_FIELD_KINDS = {
|
|
2
|
+
text: 'text',
|
|
3
|
+
search: 'search',
|
|
4
|
+
email: 'email',
|
|
5
|
+
password: 'password',
|
|
6
|
+
select: 'select',
|
|
7
|
+
area: 'area',
|
|
8
|
+
} as const;
|
|
9
|
+
|
|
10
|
+
export const NM_FIELD_LAYOUT = {
|
|
11
|
+
inline: 'inline',
|
|
12
|
+
stack: 'stack',
|
|
13
|
+
} as const;
|
|
14
|
+
|
|
15
|
+
export type NmFieldKind = (typeof NM_FIELD_KINDS)[keyof typeof NM_FIELD_KINDS];
|
|
16
|
+
|
|
17
|
+
export type NmFieldLayout = (typeof NM_FIELD_LAYOUT)[keyof typeof NM_FIELD_LAYOUT];
|
|
18
|
+
|
|
19
|
+
export type NmFieldOption = {
|
|
20
|
+
id: string;
|
|
21
|
+
label: string;
|
|
22
|
+
/** Colours shown after the label, such as a theme's background, foreground and accent. */
|
|
23
|
+
swatches?: readonly string[];
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const NM_FIELD_CLASSES = {
|
|
27
|
+
root: 'nm-field',
|
|
28
|
+
icon: 'nm-field__icon',
|
|
29
|
+
control: 'nm-field__control',
|
|
30
|
+
trail: 'nm-field__trail',
|
|
31
|
+
meta: 'nm-field__meta',
|
|
32
|
+
step: 'nm-field__step',
|
|
33
|
+
stack: 'nm-field--stack',
|
|
34
|
+
caption: 'nm-field__caption',
|
|
35
|
+
row: 'nm-field__row',
|
|
36
|
+
box: 'nm-field__box',
|
|
37
|
+
mark: 'nm-field__mark',
|
|
38
|
+
add: 'nm-field__add',
|
|
39
|
+
menu: 'nm-field__menu',
|
|
40
|
+
search: 'nm-field__search',
|
|
41
|
+
searchInput: 'nm-field__search-input',
|
|
42
|
+
option: 'nm-field__option',
|
|
43
|
+
} as const;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export const NM_ICON_BUTTON_TONES = {
|
|
2
|
+
line: 'line',
|
|
3
|
+
raised: 'raised',
|
|
4
|
+
quiet: 'quiet',
|
|
5
|
+
solid: 'solid',
|
|
6
|
+
subtle: 'subtle',
|
|
7
|
+
panel: 'panel',
|
|
8
|
+
invert: 'invert',
|
|
9
|
+
} as const;
|
|
10
|
+
|
|
11
|
+
export type NmIconButtonTone = (typeof NM_ICON_BUTTON_TONES)[keyof typeof NM_ICON_BUTTON_TONES];
|
|
12
|
+
|
|
13
|
+
export const NM_ICON_BUTTON_CLASSES = {
|
|
14
|
+
root: 'nm-icon-button',
|
|
15
|
+
icon: 'nm-icon-button__icon',
|
|
16
|
+
active: 'nm-icon-button--active',
|
|
17
|
+
line: 'nm-icon-button',
|
|
18
|
+
raised: 'nm-icon-button--raised',
|
|
19
|
+
quiet: 'nm-icon-button--quiet',
|
|
20
|
+
solid: 'nm-icon-button--solid',
|
|
21
|
+
subtle: 'nm-icon-button--subtle',
|
|
22
|
+
panel: 'nm-icon-button--panel',
|
|
23
|
+
invert: 'nm-icon-button--invert',
|
|
24
|
+
} as const;
|
|
25
|
+
|
|
26
|
+
/** Shared geometry hook for send / stop / during-run primary composer actions. */
|
|
27
|
+
export const NM_CHATBOX_ACTION_CLASS = 'nm-chatbox__send';
|
|
28
|
+
|
|
29
|
+
export function nmIconButtonClassName(tone: NmIconButtonTone = NM_ICON_BUTTON_TONES.quiet): string {
|
|
30
|
+
return `${NM_ICON_BUTTON_CLASSES.root} ${NM_ICON_BUTTON_CLASSES[tone]}`;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function nmChatboxActionButtonClassName(): string {
|
|
34
|
+
return `${NM_ICON_BUTTON_CLASSES.root} ${NM_ICON_BUTTON_CLASSES.invert} ${NM_CHATBOX_ACTION_CLASS}`;
|
|
35
|
+
}
|
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
export const NM_ICON_IDS = [
|
|
2
|
+
'plus',
|
|
3
|
+
'user',
|
|
4
|
+
'paperclip',
|
|
5
|
+
'settings',
|
|
6
|
+
'globe',
|
|
7
|
+
'spreadsheet',
|
|
8
|
+
'pointer',
|
|
9
|
+
'mouse-pointer',
|
|
10
|
+
'mic',
|
|
11
|
+
'mic-off',
|
|
12
|
+
'audio-lines',
|
|
13
|
+
'send',
|
|
14
|
+
'chevron',
|
|
15
|
+
'check',
|
|
16
|
+
'circle-check',
|
|
17
|
+
'code',
|
|
18
|
+
'file-code',
|
|
19
|
+
'console',
|
|
20
|
+
'copy',
|
|
21
|
+
'volume',
|
|
22
|
+
'fork',
|
|
23
|
+
'chat',
|
|
24
|
+
'chat-dashed',
|
|
25
|
+
'folder',
|
|
26
|
+
'bot',
|
|
27
|
+
'app',
|
|
28
|
+
'layers',
|
|
29
|
+
'users',
|
|
30
|
+
'library',
|
|
31
|
+
'panel',
|
|
32
|
+
'ellipsis',
|
|
33
|
+
'camera',
|
|
34
|
+
'reload',
|
|
35
|
+
'expand',
|
|
36
|
+
'arrow-up-right',
|
|
37
|
+
'minimize',
|
|
38
|
+
'download',
|
|
39
|
+
'publish',
|
|
40
|
+
'share',
|
|
41
|
+
'pen',
|
|
42
|
+
'pin',
|
|
43
|
+
'archive',
|
|
44
|
+
'trash',
|
|
45
|
+
'folder-in',
|
|
46
|
+
'folder-out',
|
|
47
|
+
'duplicate',
|
|
48
|
+
'logout',
|
|
49
|
+
'table-properties',
|
|
50
|
+
'cable',
|
|
51
|
+
'menu',
|
|
52
|
+
'loader',
|
|
53
|
+
'monitor',
|
|
54
|
+
'server',
|
|
55
|
+
'filter',
|
|
56
|
+
'sliders',
|
|
57
|
+
'upload',
|
|
58
|
+
'image',
|
|
59
|
+
'image-plus',
|
|
60
|
+
'music',
|
|
61
|
+
'headphones',
|
|
62
|
+
'video',
|
|
63
|
+
'search',
|
|
64
|
+
'presentation',
|
|
65
|
+
'terminal',
|
|
66
|
+
'square-terminal',
|
|
67
|
+
'x',
|
|
68
|
+
'save',
|
|
69
|
+
'lock',
|
|
70
|
+
'mail',
|
|
71
|
+
'calendar',
|
|
72
|
+
'clock',
|
|
73
|
+
'gauge',
|
|
74
|
+
'minus',
|
|
75
|
+
'play',
|
|
76
|
+
'workflow',
|
|
77
|
+
'hard-drive',
|
|
78
|
+
'slack',
|
|
79
|
+
'github',
|
|
80
|
+
'building',
|
|
81
|
+
'file-text',
|
|
82
|
+
'wrench',
|
|
83
|
+
'file',
|
|
84
|
+
'brain',
|
|
85
|
+
'sun',
|
|
86
|
+
'moon',
|
|
87
|
+
'google',
|
|
88
|
+
'arrow-left',
|
|
89
|
+
'arrow-right',
|
|
90
|
+
'panel-left',
|
|
91
|
+
'rows',
|
|
92
|
+
] as const;
|
|
93
|
+
|
|
94
|
+
export type NmIconId = (typeof NM_ICON_IDS)[number];
|
|
95
|
+
|
|
96
|
+
export type NmIconSpec = {
|
|
97
|
+
viewBox: string;
|
|
98
|
+
path?: string | readonly string[];
|
|
99
|
+
fill?: string;
|
|
100
|
+
circles?: readonly { cx: number; cy: number; r: number }[];
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
export const NM_ICONS = {
|
|
104
|
+
plus: {
|
|
105
|
+
viewBox: '0 0 24 24',
|
|
106
|
+
path: 'M12 5v14M5 12h14',
|
|
107
|
+
},
|
|
108
|
+
user: {
|
|
109
|
+
viewBox: '0 0 24 24',
|
|
110
|
+
path: 'M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2M12 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z',
|
|
111
|
+
},
|
|
112
|
+
paperclip: {
|
|
113
|
+
viewBox: '0 0 24 24',
|
|
114
|
+
path: 'M13.234 20.252 21 12.3M16 6l-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486',
|
|
115
|
+
},
|
|
116
|
+
settings: {
|
|
117
|
+
viewBox: '0 0 24 24',
|
|
118
|
+
path: 'M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z',
|
|
119
|
+
},
|
|
120
|
+
globe: {
|
|
121
|
+
viewBox: '0 0 24 24',
|
|
122
|
+
path: 'M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10zM2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z',
|
|
123
|
+
},
|
|
124
|
+
spreadsheet: {
|
|
125
|
+
viewBox: '0 0 24 24',
|
|
126
|
+
path: 'M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7zM14 2v6h6M8 13h2M14 13h2M8 17h2M14 17h2',
|
|
127
|
+
},
|
|
128
|
+
pointer: {
|
|
129
|
+
viewBox: '0 0 24 24',
|
|
130
|
+
path: 'm13 21-3-8-8-3 18-7z',
|
|
131
|
+
},
|
|
132
|
+
'mouse-pointer': {
|
|
133
|
+
viewBox: '0 0 24 24',
|
|
134
|
+
path: 'M13 5v11l4-2 4 7M5 3l7 18 2-7 7-2z',
|
|
135
|
+
},
|
|
136
|
+
mic: {
|
|
137
|
+
viewBox: '0 0 24 24',
|
|
138
|
+
path: 'M12 19v3M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3zM19 10v2a7 7 0 0 1-14 0v-2',
|
|
139
|
+
},
|
|
140
|
+
'mic-off': {
|
|
141
|
+
viewBox: '0 0 24 24',
|
|
142
|
+
path: 'm2 2 20 20M18.89 13.23A7.12 7.12 0 0 0 19 12v-2M5 10v2a7 7 0 0 0 12 5M15 9.34V5a3 3 0 0 0-5.68-1.33M9 9v3a3 3 0 0 0 5.12 2.12M12 19v3',
|
|
143
|
+
},
|
|
144
|
+
'audio-lines': {
|
|
145
|
+
viewBox: '0 0 24 24',
|
|
146
|
+
path: 'M2 10v3M6 6v11M10 3v18M14 8v7M18 5v13M22 10v3',
|
|
147
|
+
},
|
|
148
|
+
send: {
|
|
149
|
+
viewBox: '0 0 24 24',
|
|
150
|
+
path: 'M12 19V5M5 12l7-7 7 7',
|
|
151
|
+
},
|
|
152
|
+
chevron: {
|
|
153
|
+
viewBox: '0 0 24 24',
|
|
154
|
+
path: 'm6 9 6 6 6-6',
|
|
155
|
+
},
|
|
156
|
+
check: {
|
|
157
|
+
viewBox: '0 0 24 24',
|
|
158
|
+
path: 'M20 6 9 17l-5-5',
|
|
159
|
+
},
|
|
160
|
+
'circle-check': {
|
|
161
|
+
viewBox: '0 0 24 24',
|
|
162
|
+
path: 'M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20zM9 12l2 2 4-4',
|
|
163
|
+
},
|
|
164
|
+
code: {
|
|
165
|
+
viewBox: '0 0 24 24',
|
|
166
|
+
path: 'm16 18 6-6-6-6M8 6l-6 6 6 6',
|
|
167
|
+
},
|
|
168
|
+
'file-code': {
|
|
169
|
+
viewBox: '0 0 24 24',
|
|
170
|
+
path: 'M14 2H6v20h12V8zM14 2v6h6M10 13l-2 2 2 2M14 13l2 2-2 2',
|
|
171
|
+
},
|
|
172
|
+
console: {
|
|
173
|
+
viewBox: '0 0 24 24',
|
|
174
|
+
path: 'M14 18h6M8 18 2 12l6-6',
|
|
175
|
+
},
|
|
176
|
+
copy: {
|
|
177
|
+
viewBox: '0 0 24 24',
|
|
178
|
+
path: [
|
|
179
|
+
'M10 8h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2z',
|
|
180
|
+
'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2',
|
|
181
|
+
],
|
|
182
|
+
},
|
|
183
|
+
volume: {
|
|
184
|
+
viewBox: '0 0 24 24',
|
|
185
|
+
path: [
|
|
186
|
+
'M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z',
|
|
187
|
+
'M16 9a5 5 0 0 1 0 6',
|
|
188
|
+
'M19.364 18.364a9 9 0 0 0 0-12.728',
|
|
189
|
+
],
|
|
190
|
+
},
|
|
191
|
+
fork: {
|
|
192
|
+
viewBox: '0 0 24 24',
|
|
193
|
+
path: ['M18 9v1a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V9', 'M12 12v3'],
|
|
194
|
+
circles: [
|
|
195
|
+
{ cx: 6, cy: 6, r: 3 },
|
|
196
|
+
{ cx: 18, cy: 6, r: 3 },
|
|
197
|
+
{ cx: 12, cy: 18, r: 3 },
|
|
198
|
+
],
|
|
199
|
+
},
|
|
200
|
+
chat: {
|
|
201
|
+
viewBox: '0 0 24 24',
|
|
202
|
+
path: 'M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z',
|
|
203
|
+
},
|
|
204
|
+
folder: {
|
|
205
|
+
viewBox: '0 0 24 24',
|
|
206
|
+
path: 'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',
|
|
207
|
+
},
|
|
208
|
+
bot: {
|
|
209
|
+
viewBox: '0 0 24 24',
|
|
210
|
+
path: 'M12 8V4H8M18 8a2 2 0 0 1 2 2v2H4v-2a2 2 0 0 1 2-2zM4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4M9 18h.01M15 18h.01',
|
|
211
|
+
},
|
|
212
|
+
app: {
|
|
213
|
+
viewBox: '0 0 24 24',
|
|
214
|
+
path: 'M5 5h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2zM2 12h20',
|
|
215
|
+
},
|
|
216
|
+
layers: {
|
|
217
|
+
viewBox: '0 0 24 24',
|
|
218
|
+
path: 'M12 2 2 7l10 5 10-5zM2 17l10 5 10-5M2 12l10 5 10-5',
|
|
219
|
+
},
|
|
220
|
+
users: {
|
|
221
|
+
viewBox: '0 0 24 24',
|
|
222
|
+
path: 'M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M16 3.13a4 4 0 0 1 0 7.75M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8',
|
|
223
|
+
},
|
|
224
|
+
library: {
|
|
225
|
+
viewBox: '0 0 24 24',
|
|
226
|
+
path: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20',
|
|
227
|
+
},
|
|
228
|
+
panel: {
|
|
229
|
+
viewBox: '0 0 24 24',
|
|
230
|
+
path: 'M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4M10 17l5-5-5-5M15 12H3',
|
|
231
|
+
},
|
|
232
|
+
ellipsis: {
|
|
233
|
+
viewBox: '0 0 24 24',
|
|
234
|
+
circles: [
|
|
235
|
+
{ cx: 5, cy: 12, r: 1 },
|
|
236
|
+
{ cx: 12, cy: 12, r: 1 },
|
|
237
|
+
{ cx: 19, cy: 12, r: 1 },
|
|
238
|
+
],
|
|
239
|
+
},
|
|
240
|
+
camera: {
|
|
241
|
+
viewBox: '0 0 24 24',
|
|
242
|
+
path: [
|
|
243
|
+
'M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3z',
|
|
244
|
+
'M12 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z',
|
|
245
|
+
],
|
|
246
|
+
},
|
|
247
|
+
reload: {
|
|
248
|
+
viewBox: '0 0 24 24',
|
|
249
|
+
path: ['M21 12a9 9 0 1 1-6.219-8.56', 'M21 3v6h-6'],
|
|
250
|
+
},
|
|
251
|
+
expand: {
|
|
252
|
+
viewBox: '0 0 24 24',
|
|
253
|
+
path: ['M15 3h6v6', 'M9 21H3v-6', 'M21 3l-7 7', 'M3 21l7-7'],
|
|
254
|
+
},
|
|
255
|
+
'arrow-up-right': {
|
|
256
|
+
viewBox: '0 0 24 24',
|
|
257
|
+
path: ['M7 7h10v10', 'M7 17 17 7'],
|
|
258
|
+
},
|
|
259
|
+
minimize: {
|
|
260
|
+
viewBox: '0 0 24 24',
|
|
261
|
+
path: ['M4 14h6v6', 'M20 10h-6V4', 'M14 10l7-7', 'M3 21l7-7'],
|
|
262
|
+
},
|
|
263
|
+
download: {
|
|
264
|
+
viewBox: '0 0 24 24',
|
|
265
|
+
path: ['M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4', 'M7 10l5 5 5-5', 'M12 15V3'],
|
|
266
|
+
},
|
|
267
|
+
publish: {
|
|
268
|
+
viewBox: '0 0 24 24',
|
|
269
|
+
path: ['M12 13v8', 'M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242', 'M8 17l4-4 4 4'],
|
|
270
|
+
},
|
|
271
|
+
share: {
|
|
272
|
+
viewBox: '0 0 24 24',
|
|
273
|
+
path: ['M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8', 'M16 6l-4-4-4 4', 'M12 2v13'],
|
|
274
|
+
},
|
|
275
|
+
pen: {
|
|
276
|
+
viewBox: '0 0 24 24',
|
|
277
|
+
path: 'M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z',
|
|
278
|
+
},
|
|
279
|
+
pin: {
|
|
280
|
+
viewBox: '0 0 24 24',
|
|
281
|
+
path: [
|
|
282
|
+
'M12 17v5',
|
|
283
|
+
'M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16h14v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z',
|
|
284
|
+
],
|
|
285
|
+
},
|
|
286
|
+
archive: {
|
|
287
|
+
viewBox: '0 0 24 24',
|
|
288
|
+
path: ['M21 8v13H3V8', 'M1 3h22v5H1z', 'M10 12h4'],
|
|
289
|
+
},
|
|
290
|
+
trash: {
|
|
291
|
+
viewBox: '0 0 24 24',
|
|
292
|
+
path: [
|
|
293
|
+
'M3 6h18',
|
|
294
|
+
'M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6',
|
|
295
|
+
'M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2',
|
|
296
|
+
],
|
|
297
|
+
},
|
|
298
|
+
'folder-in': {
|
|
299
|
+
viewBox: '0 0 24 24',
|
|
300
|
+
path: [
|
|
301
|
+
'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',
|
|
302
|
+
'M12 11v6',
|
|
303
|
+
'M9 14h6',
|
|
304
|
+
],
|
|
305
|
+
},
|
|
306
|
+
'folder-out': {
|
|
307
|
+
viewBox: '0 0 24 24',
|
|
308
|
+
path: [
|
|
309
|
+
'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',
|
|
310
|
+
'M9 14h6',
|
|
311
|
+
],
|
|
312
|
+
},
|
|
313
|
+
duplicate: {
|
|
314
|
+
viewBox: '0 0 24 24',
|
|
315
|
+
path: [
|
|
316
|
+
'M16 8H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2z',
|
|
317
|
+
'M18 4H8',
|
|
318
|
+
'M11 14h.01',
|
|
319
|
+
'M11 11v6',
|
|
320
|
+
],
|
|
321
|
+
},
|
|
322
|
+
logout: {
|
|
323
|
+
viewBox: '0 0 24 24',
|
|
324
|
+
path: ['M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4', 'M16 17l5-5-5-5', 'M21 12H9'],
|
|
325
|
+
},
|
|
326
|
+
'table-properties': {
|
|
327
|
+
viewBox: '0 0 24 24',
|
|
328
|
+
path: 'M15 3v18M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zM21 9H3M21 15H3',
|
|
329
|
+
},
|
|
330
|
+
cable: {
|
|
331
|
+
viewBox: '0 0 24 24',
|
|
332
|
+
path: 'M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1',
|
|
333
|
+
},
|
|
334
|
+
menu: { viewBox: '0 0 24 24', path: 'M4 6h16M4 12h16M4 18h16' },
|
|
335
|
+
loader: { viewBox: '0 0 24 24', path: 'M21 12a9 9 0 1 1-6.219-8.56' },
|
|
336
|
+
monitor: {
|
|
337
|
+
viewBox: '0 0 24 24',
|
|
338
|
+
path: 'M12 17v4M8 21h8M4 3h16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z',
|
|
339
|
+
},
|
|
340
|
+
server: {
|
|
341
|
+
viewBox: '0 0 24 24',
|
|
342
|
+
path: 'M4 4h16v6H4zM4 14h16v6H4zM7 7h.01M7 17h.01',
|
|
343
|
+
},
|
|
344
|
+
filter: { viewBox: '0 0 24 24', path: 'M3 6h18M7 12h10M10 18h4' },
|
|
345
|
+
sliders: { viewBox: '0 0 24 24', path: 'M20 7h-9M14 17H4M4 7h2M17 17h3' },
|
|
346
|
+
upload: {
|
|
347
|
+
viewBox: '0 0 24 24',
|
|
348
|
+
path: 'M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M12 3v12',
|
|
349
|
+
},
|
|
350
|
+
image: { viewBox: '0 0 24 24', path: 'M3 5h18v14H3zM3 16l5-5 4 4 3-3 6 6' },
|
|
351
|
+
'image-plus': {
|
|
352
|
+
viewBox: '0 0 24 24',
|
|
353
|
+
path: 'M3 5h18v14H3zM3 16l5-5 4 4 3-3 6 6M19 8h-6M16 5v6',
|
|
354
|
+
},
|
|
355
|
+
music: { viewBox: '0 0 24 24', path: 'M9 18V5l12-2v13M9 18a3 3 0 1 1-6 0 3 3 0 0 1 6 0z' },
|
|
356
|
+
headphones: {
|
|
357
|
+
viewBox: '0 0 24 24',
|
|
358
|
+
path: 'M3 14v-1a9 9 0 0 1 18 0v1M3 14a2 2 0 0 1 2-2h2v6H5a2 2 0 0 1-2-2zM21 14a2 2 0 0 0-2-2h-2v6h2a2 2 0 0 0 2-2z',
|
|
359
|
+
},
|
|
360
|
+
video: { viewBox: '0 0 24 24', path: 'M4 6h12v12H4zM16 10l4-2v8l-4-2' },
|
|
361
|
+
search: { viewBox: '0 0 24 24', path: 'M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM21 21l-4.3-4.3' },
|
|
362
|
+
presentation: { viewBox: '0 0 24 24', path: 'M2 3h20M4 3v12h16V3M12 15v6M8 21h8' },
|
|
363
|
+
terminal: { viewBox: '0 0 24 24', path: 'M4 17l6-5-6-5M12 19h8' },
|
|
364
|
+
'square-terminal': {
|
|
365
|
+
viewBox: '0 0 24 24',
|
|
366
|
+
path: ['M3 3h18v18H3z', 'M7 11l2-2-2-2', 'M11 13h4'],
|
|
367
|
+
},
|
|
368
|
+
x: { viewBox: '0 0 24 24', path: 'M18 6 6 18M6 6l12 12' },
|
|
369
|
+
save: {
|
|
370
|
+
viewBox: '0 0 24 24',
|
|
371
|
+
path: 'M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2zM17 21v-8H7v8M7 3v5h8',
|
|
372
|
+
},
|
|
373
|
+
lock: {
|
|
374
|
+
viewBox: '0 0 24 24',
|
|
375
|
+
path: 'M8 11V7a4 4 0 0 1 8 0v4M5 11h14v10H5z',
|
|
376
|
+
},
|
|
377
|
+
mail: { viewBox: '0 0 24 24', path: 'M4 6h16v12H4zM4 7l8 6 8-6' },
|
|
378
|
+
calendar: { viewBox: '0 0 24 24', path: 'M5 5h14v16H5zM5 10h14M8 3v4M16 3v4' },
|
|
379
|
+
minus: { viewBox: '0 0 24 24', path: 'M5 12h14' },
|
|
380
|
+
gauge: { viewBox: '0 0 24 24', path: ['M12 14l4-4', 'M3.34 19a10 10 0 1 1 17.32 0'] },
|
|
381
|
+
clock: { viewBox: '0 0 24 24', path: ['M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18z', 'M12 7v5l3 2'] },
|
|
382
|
+
play: { viewBox: '0 0 24 24', path: 'M6 4l14 8-14 8z' },
|
|
383
|
+
workflow: {
|
|
384
|
+
viewBox: '0 0 24 24',
|
|
385
|
+
path: 'M7 5h4v4H7zM13 15h4v4h-4zM7 15h4v4H7zM11 7h2a4 4 0 0 1 4 4v2',
|
|
386
|
+
},
|
|
387
|
+
'hard-drive': { viewBox: '0 0 24 24', path: 'M4 14h16v6H4zM6 6h12l2 8H4zM8 17h.01M12 17h.01' },
|
|
388
|
+
slack: {
|
|
389
|
+
viewBox: '0 0 24 24',
|
|
390
|
+
path: 'M8 4v6H4M8 14v6M16 4v6M16 14v6h4M4 8h6M14 8h6M4 16h6M14 16h2',
|
|
391
|
+
},
|
|
392
|
+
github: {
|
|
393
|
+
viewBox: '0 0 24 24',
|
|
394
|
+
path: 'M12 3a9 9 0 0 0-3 17.5c.5.1.6-.2.6-.5v-1.7c-2.5.5-3-1.2-3-1.2-.4-1-1-1.3-1-1.3-.8-.6.1-.6.1-.6.9.1 1.4.9 1.4.9.8 1.4 2.1 1 2.6.8.1-.6.3-1 .6-1.2-2-.2-4.1-1-4.1-4.4 0-1 .4-1.8 1-2.4-.1-.2-.4-1.2.1-2.5 0 0 .8-.3 2.7 1a9 9 0 0 1 5 0c1.9-1.3 2.7-1 2.7-1 .5 1.3.2 2.3.1 2.5.6.6 1 1.4 1 2.4 0 3.4-2.1 4.2-4.1 4.4.3.3.6.8.6 1.6v2.4c0 .3.1.6.6.5A9 9 0 0 0 12 3z',
|
|
395
|
+
},
|
|
396
|
+
building: { viewBox: '0 0 24 24', path: 'M4 22V4h10v18M14 10h6v12M8 8h2M8 12h2M8 16h2' },
|
|
397
|
+
'file-text': {
|
|
398
|
+
viewBox: '0 0 24 24',
|
|
399
|
+
path: 'M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8zM14 3v5h5M8 13h8M8 17h6',
|
|
400
|
+
},
|
|
401
|
+
wrench: {
|
|
402
|
+
viewBox: '0 0 24 24',
|
|
403
|
+
path: 'M14.7 6.3a4 4 0 0 0-5.6 5.6L3 18l3 3 6.1-6.1a4 4 0 0 0 5.6-5.6L15 12l-3-3z',
|
|
404
|
+
},
|
|
405
|
+
file: {
|
|
406
|
+
viewBox: '0 0 24 24',
|
|
407
|
+
path: 'M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8zM14 3v5h5',
|
|
408
|
+
},
|
|
409
|
+
brain: {
|
|
410
|
+
viewBox: '0 0 24 24',
|
|
411
|
+
path: 'M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z',
|
|
412
|
+
},
|
|
413
|
+
google: {
|
|
414
|
+
viewBox: '0 0 20 21',
|
|
415
|
+
fill: 'M19.7499 10.2456C19.7499 9.51343 19.684 8.81284 19.5615 8.13916H10.085V11.9988L15.5427 12C15.3213 13.2842 14.6089 14.3789 13.5174 15.1087V17.6128H16.7661C18.6631 15.869 19.7499 13.2912 19.7499 10.2456ZM13.5185 15.1088C12.6142 15.7146 11.4496 16.069 10.0873 16.069C7.45553 16.069 5.22298 14.3076 4.42345 11.9333H1.07227V14.5158C2.73255 17.7883 6.14497 20.0339 10.0873 20.0339C12.812 20.0339 15.1011 19.1439 16.7673 17.6117L13.5185 15.1088ZM4.10832 10.0175C4.10832 9.35087 4.22018 8.70643 4.42389 8.10058V5.51813H1.07271C0.386221 6.87134 0 8.39883 0 10.0175C0 11.6362 0.387398 13.1637 1.07271 14.5169L4.42389 11.9345C4.22018 11.3286 4.10832 10.6842 4.10832 10.0175ZM10.0873 3.96491C11.5745 3.96491 12.9062 4.47368 13.9577 5.46783L16.8367 2.61052C15.0881 0.992982 12.8085 0 10.0873 0C6.14614 0 2.73255 2.24561 1.07227 5.51812L4.42345 8.10058C5.22298 5.72631 7.45553 3.96491 10.0873 3.96491Z',
|
|
416
|
+
},
|
|
417
|
+
} as const satisfies Partial<Record<NmIconId, NmIconSpec>>;
|