@nordmanai/nif 0.0.0-stage → 0.2.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/README.md +79 -2
- package/bin/nif.mjs +196 -0
- package/dist/index.d.ts +124 -0
- package/dist/index.js +12961 -0
- package/dist/styles.css +2 -0
- package/dist/tokens.css +72 -0
- package/dist/ui/components/nm-ai/nm-ai.d.ts +222 -0
- package/dist/ui/components/nm-avatar/nm-avatar.d.ts +12 -0
- package/dist/ui/components/nm-bar-overflow/nm-bar-overflow.d.ts +15 -0
- package/dist/ui/components/nm-bar-overflow/use-bar-overflow.d.ts +7 -0
- 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 +19 -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-chatbox/nm-chatbox-icon.d.ts +7 -0
- package/dist/ui/components/nm-chatbox/nm-chatbox.d.ts +19 -0
- package/dist/ui/components/nm-checkbox/nm-checkbox.d.ts +2 -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-collection/nm-collection-bar.d.ts +16 -0
- package/dist/ui/components/nm-collection/nm-collection-grid.d.ts +9 -0
- package/dist/ui/components/nm-collection/nm-collection-query.d.ts +18 -0
- package/dist/ui/components/nm-collection/nm-collection-row-menu.d.ts +7 -0
- package/dist/ui/components/nm-collection/nm-collection-table.d.ts +13 -0
- package/dist/ui/components/nm-collection/nm-collection-tile-actions.d.ts +7 -0
- package/dist/ui/components/nm-collection/nm-collection-title.d.ts +10 -0
- package/dist/ui/components/nm-collection/use-collection-scroll-reveal.d.ts +3 -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 +33 -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-dropdown/nm-dropdown-item.d.ts +26 -0
- package/dist/ui/components/nm-dropdown/nm-dropdown-options.d.ts +12 -0
- package/dist/ui/components/nm-dropdown/nm-dropdown-panel.d.ts +16 -0
- package/dist/ui/components/nm-dropdown/nm-dropdown-placement.d.ts +55 -0
- package/dist/ui/components/nm-dropdown/nm-dropdown.d.ts +31 -0
- package/dist/ui/components/nm-dropdown-menu/nm-dropdown-menu.d.ts +30 -0
- package/dist/ui/components/nm-field/nm-field.d.ts +52 -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-hover-card/nm-hover-card.d.ts +5 -0
- package/dist/ui/components/nm-icon/nm-icon.d.ts +7 -0
- package/dist/ui/components/nm-icon/nm-lucide.d.ts +7 -0
- package/dist/ui/components/nm-icon-border/nm-icon-border.d.ts +21 -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-list-item/nm-list-item.d.ts +23 -0
- package/dist/ui/components/nm-menubar/nm-menubar.d.ts +9 -0
- package/dist/ui/components/nm-message/nm-message-actions.d.ts +7 -0
- package/dist/ui/components/nm-message/nm-message-meta.d.ts +10 -0
- package/dist/ui/components/nm-message/nm-text-shimmer.d.ts +4 -0
- package/dist/ui/components/nm-message/nm-trace.d.ts +58 -0
- package/dist/ui/components/nm-modal/nm-modal.d.ts +35 -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-panel-bar/nm-panel-bar.d.ts +17 -0
- package/dist/ui/components/nm-popover/nm-popover.d.ts +8 -0
- package/dist/ui/components/nm-progress/nm-progress.d.ts +3 -0
- package/dist/ui/components/nm-prose/nm-prose.d.ts +6 -0
- package/dist/ui/components/nm-questionnaire/nm-questionnaire.d.ts +17 -0
- package/dist/ui/components/nm-radio-group/nm-radio-group.d.ts +4 -0
- package/dist/ui/components/nm-rail-icon/nm-rail-icon.d.ts +6 -0
- package/dist/ui/components/nm-resize-handle/nm-resize-handle.d.ts +18 -0
- package/dist/ui/components/nm-segmented/nm-segmented.d.ts +20 -0
- package/dist/ui/components/nm-select/nm-select.d.ts +22 -0
- package/dist/ui/components/nm-separator/nm-separator.d.ts +2 -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 +6 -0
- package/dist/ui/components/nm-small-icon-button/nm-small-icon-button.d.ts +21 -0
- package/dist/ui/components/nm-status-bar/nm-status-bar.d.ts +8 -0
- package/dist/ui/components/nm-switch/nm-switch.d.ts +2 -0
- package/dist/ui/components/nm-table/nm-table.d.ts +38 -0
- package/dist/ui/components/nm-tabs/nm-tabs.d.ts +9 -0
- package/dist/ui/components/nm-textarea/nm-textarea.d.ts +2 -0
- package/dist/ui/components/nm-toggle/nm-toggle.d.ts +9 -0
- package/dist/ui/components/nm-toolbar/nm-toolbar.d.ts +21 -0
- package/dist/ui/components/nm-tooltip/nm-tooltip.d.ts +5 -0
- package/dist/ui/components/nm-top-bar/nm-top-bar.d.ts +12 -0
- package/dist/ui/components/nordman-icon-button/nordman-icon-button.d.ts +29 -0
- package/dist/ui/components/nordman-login/nordman-login.d.ts +36 -0
- package/dist/ui/components/nordman-login-field/nordman-login-field.d.ts +13 -0
- package/dist/ui/components/nordman-login-forgot/nordman-login-forgot.d.ts +9 -0
- package/dist/ui/components/nordman-login-google/nordman-login-google.d.ts +6 -0
- package/dist/ui/components/nordman-login-hero/nordman-login-hero.d.ts +6 -0
- package/dist/ui/components/nordman-login-register/nordman-login-register.d.ts +11 -0
- package/dist/ui/components/nordman-login-reset/nordman-login-reset.d.ts +9 -0
- package/dist/ui/components/nordman-login-reveal/nordman-login-reveal.d.ts +6 -0
- package/dist/ui/components/nordman-login-sign-in/nordman-login-sign-in.d.ts +11 -0
- package/dist/ui/components/nordman-toggle/nordman-toggle.d.ts +12 -0
- package/dist/ui/config/nm-ai.d.ts +44 -0
- package/dist/ui/config/nm-app-panel.d.ts +36 -0
- package/dist/ui/config/nm-appearance.d.ts +100 -0
- package/dist/ui/config/nm-bar-overflow.d.ts +9 -0
- package/dist/ui/config/nm-button.d.ts +31 -0
- package/dist/ui/config/nm-chatbox-icons.d.ts +42 -0
- package/dist/ui/config/nm-chatbox.d.ts +40 -0
- package/dist/ui/config/nm-collection.d.ts +88 -0
- package/dist/ui/config/nm-composer.d.ts +42 -0
- package/dist/ui/config/nm-dropdown.d.ts +56 -0
- package/dist/ui/config/nm-fade.d.ts +6 -0
- package/dist/ui/config/nm-field.d.ts +38 -0
- package/dist/ui/config/nm-header-icons.d.ts +15 -0
- package/dist/ui/config/nm-icon-border.d.ts +3 -0
- package/dist/ui/config/nm-icon-button.d.ts +26 -0
- package/dist/ui/config/nm-icons.d.ts +371 -0
- package/dist/ui/config/nm-list-item.d.ts +14 -0
- package/dist/ui/config/nm-message.d.ts +87 -0
- package/dist/ui/config/nm-modal.d.ts +67 -0
- package/dist/ui/config/nm-panel-bar.d.ts +9 -0
- package/dist/ui/config/nm-questionnaire.d.ts +57 -0
- package/dist/ui/config/nm-radius.d.ts +49 -0
- package/dist/ui/config/nm-rail-icons.d.ts +14 -0
- package/dist/ui/config/nm-rail.d.ts +5 -0
- package/dist/ui/config/nm-segmented.d.ts +17 -0
- package/dist/ui/config/nm-side-panel.d.ts +33 -0
- package/dist/ui/config/nm-site-palette.d.ts +30 -0
- package/dist/ui/config/nm-small-icon-button.d.ts +12 -0
- package/dist/ui/config/nm-tabs.d.ts +8 -0
- package/dist/ui/config/nm-top-bar.d.ts +4 -0
- package/dist/ui/config/nordman-chrome.d.ts +12 -0
- package/dist/ui/config/nordman-login.d.ts +23 -0
- package/dist/ui/content/nm-modal.d.ts +1 -0
- package/dist/ui/content/nordman-login.d.ts +38 -0
- package/dist/ui/kit-logger.d.ts +1 -0
- package/dist/ui/lib/appearance/appearanceState.d.ts +28 -0
- package/dist/ui/lib/appearance/applyAppearance.d.ts +5 -0
- package/dist/ui/lib/appearance/cloudOrbAppearance.d.ts +4 -0
- package/dist/ui/lib/appearance/color.d.ts +13 -0
- package/dist/ui/lib/appearance/deriveTokens.d.ts +6 -0
- package/dist/ui/lib/appearance/index.d.ts +6 -0
- package/dist/ui/lib/appearance/markTokens.d.ts +2 -0
- package/dist/ui/lib/appearance/readLayoutMetrics.d.ts +4 -0
- package/dist/ui/lib/bar-overflow.d.ts +13 -0
- package/dist/ui/lib/logger.d.ts +8 -0
- package/dist/ui/lib/menu-motion.d.ts +72 -0
- package/dist/ui/lib/nm-class.d.ts +2 -0
- package/dist/ui/lib/nordman-ui-locale.d.ts +9 -0
- package/interface/app-panel/code.svg +5 -0
- package/interface/app-panel/console.svg +5 -0
- package/interface/app-panel/copy.svg +5 -0
- package/interface/app-panel/ellipsis.svg +7 -0
- package/interface/app-panel/message.svg +5 -0
- package/interface/app-panel/network.svg +10 -0
- package/interface/app-panel/play.svg +5 -0
- package/interface/app-panel/plus.svg +5 -0
- package/interface/chatbox/app.svg +5 -0
- package/interface/chatbox/audio-lines.svg +5 -0
- package/interface/chatbox/check.svg +5 -0
- package/interface/chatbox/globe.svg +5 -0
- package/interface/chatbox/integration.svg +5 -0
- package/interface/chatbox/mic.svg +5 -0
- package/interface/chatbox/paperclip.svg +5 -0
- package/interface/chatbox/pointer.svg +5 -0
- package/interface/chatbox/send.svg +5 -0
- package/interface/chatbox/settings.svg +5 -0
- package/interface/chatbox/spreadsheet.svg +5 -0
- package/interface/chatbox/x.svg +5 -0
- package/interface/collection/audio.svg +5 -0
- package/interface/collection/download.svg +5 -0
- package/interface/collection/expand.svg +5 -0
- package/interface/collection/grid.svg +10 -0
- package/interface/collection/image.svg +5 -0
- package/interface/collection/spreadsheet.svg +5 -0
- package/interface/collection/video.svg +5 -0
- package/interface/header/app.svg +5 -0
- package/interface/header/bot.svg +5 -0
- package/interface/header/chat.svg +10 -0
- package/interface/header/folder.svg +5 -0
- package/interface/header/layers.svg +10 -0
- package/interface/header/panel.svg +5 -0
- package/interface/header/play.svg +3 -0
- package/interface/header/schedule.svg +8 -0
- package/interface/header/search.svg +5 -0
- package/interface/header/settings.svg +5 -0
- package/interface/header/users.svg +5 -0
- package/interface/message/chevron.svg +5 -0
- package/interface/message/copy.svg +5 -0
- package/interface/message/fork.svg +5 -0
- package/interface/message/refresh.svg +5 -0
- package/interface/message/volume.svg +5 -0
- package/interface/rail/app.svg +5 -0
- package/interface/rail/bot.svg +5 -0
- package/interface/rail/chats.svg +5 -0
- package/interface/rail/folder.svg +5 -0
- package/interface/rail/library.svg +5 -0
- package/interface/rail/plus-sm.svg +5 -0
- package/interface/rail/plus.svg +5 -0
- package/interface/rail/search.svg +5 -0
- package/interface/rail/settings.svg +8 -0
- package/interface/rail/spreadsheet.svg +5 -0
- package/package.json +79 -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 +110 -0
- package/registry/ui/components/nm-button/nm-button.tsx +58 -0
- package/registry/ui/components/nm-button-group/nm-button-group.css +87 -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
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export declare const NM_APP_PANEL_TABS: {
|
|
2
|
+
readonly code: 'code';
|
|
3
|
+
readonly preview: 'preview';
|
|
4
|
+
readonly environment: 'environment';
|
|
5
|
+
};
|
|
6
|
+
export type NmAppPanelTab = (typeof NM_APP_PANEL_TABS)[keyof typeof NM_APP_PANEL_TABS];
|
|
7
|
+
export declare const NM_APP_PANEL_ICON_SRC: {
|
|
8
|
+
readonly code: '/interface/app-panel/code.svg';
|
|
9
|
+
readonly play: '/interface/app-panel/play.svg';
|
|
10
|
+
readonly ellipsis: '/interface/app-panel/ellipsis.svg';
|
|
11
|
+
readonly plus: '/interface/app-panel/plus.svg';
|
|
12
|
+
readonly console: '/interface/app-panel/console.svg';
|
|
13
|
+
readonly network: '/interface/app-panel/network.svg';
|
|
14
|
+
readonly message: '/interface/app-panel/message.svg';
|
|
15
|
+
readonly copy: '/interface/app-panel/copy.svg';
|
|
16
|
+
};
|
|
17
|
+
export declare const NM_APP_PANEL_CLASSES: {
|
|
18
|
+
readonly root: 'nm-app-panel';
|
|
19
|
+
readonly body: 'nm-app-panel__body';
|
|
20
|
+
readonly canvas: 'nm-app-panel__canvas';
|
|
21
|
+
readonly loader: 'nm-app-panel__loader';
|
|
22
|
+
readonly publish: 'nm-app-panel__publish';
|
|
23
|
+
readonly publishStatus: 'nm-app-panel__publish-status';
|
|
24
|
+
readonly publishLabel: 'nm-app-panel__publish-label';
|
|
25
|
+
readonly progressWrap: 'nm-app-panel__progress-wrap';
|
|
26
|
+
readonly progressLabel: 'nm-app-panel__progress-label';
|
|
27
|
+
readonly progress: 'nm-app-panel__progress';
|
|
28
|
+
readonly progressFill: 'nm-app-panel__progress-fill';
|
|
29
|
+
readonly blocked: 'nm-app-panel__blocked';
|
|
30
|
+
readonly blockedTitle: 'nm-app-panel__blocked-title';
|
|
31
|
+
readonly blockedBody: 'nm-app-panel__blocked-body';
|
|
32
|
+
};
|
|
33
|
+
export declare const NM_LOGS_PANEL_CLASSES: {
|
|
34
|
+
readonly root: 'nm-logs-panel';
|
|
35
|
+
readonly body: 'nm-logs-panel__body';
|
|
36
|
+
};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/** Single source of truth for Nordman visual appearance settings (Chat + kit). */
|
|
2
|
+
export declare const NM_APPEARANCE_STORAGE_KEY: 'nordman-appearance-v1';
|
|
3
|
+
/** Dispatched on `window` after `applyAppearanceState` updates document tokens. */
|
|
4
|
+
export declare const NM_APPEARANCE_APPLIED_EVENT: 'nordman-appearance-applied';
|
|
5
|
+
export declare const NM_APPEARANCE_MODES: readonly ['system', 'light', 'dark'];
|
|
6
|
+
export type NmAppearanceMode = (typeof NM_APPEARANCE_MODES)[number];
|
|
7
|
+
export declare const NM_UI_FONT_SIZE_PX: {
|
|
8
|
+
readonly min: 12;
|
|
9
|
+
readonly max: 16;
|
|
10
|
+
readonly default: 14;
|
|
11
|
+
};
|
|
12
|
+
/** Poppins ships nine weights. The setting is the Regular weight. Medium, semibold and bold step up from it. */
|
|
13
|
+
export declare const NM_FONT_WEIGHTS: readonly [{
|
|
14
|
+
readonly id: '100';
|
|
15
|
+
readonly label: 'Thin';
|
|
16
|
+
}, {
|
|
17
|
+
readonly id: '200';
|
|
18
|
+
readonly label: 'ExtraLight';
|
|
19
|
+
}, {
|
|
20
|
+
readonly id: '300';
|
|
21
|
+
readonly label: 'Light';
|
|
22
|
+
}, {
|
|
23
|
+
readonly id: '400';
|
|
24
|
+
readonly label: 'Regular';
|
|
25
|
+
}, {
|
|
26
|
+
readonly id: '500';
|
|
27
|
+
readonly label: 'Medium';
|
|
28
|
+
}, {
|
|
29
|
+
readonly id: '600';
|
|
30
|
+
readonly label: 'SemiBold';
|
|
31
|
+
}, {
|
|
32
|
+
readonly id: '700';
|
|
33
|
+
readonly label: 'Bold';
|
|
34
|
+
}, {
|
|
35
|
+
readonly id: '800';
|
|
36
|
+
readonly label: 'ExtraBold';
|
|
37
|
+
}, {
|
|
38
|
+
readonly id: '900';
|
|
39
|
+
readonly label: 'Black';
|
|
40
|
+
}];
|
|
41
|
+
export declare const NM_UI_FONT_WEIGHT: {
|
|
42
|
+
readonly min: 100;
|
|
43
|
+
readonly max: 900;
|
|
44
|
+
readonly default: 400;
|
|
45
|
+
};
|
|
46
|
+
export declare const NM_UI_ICON_SIZE_PX: {
|
|
47
|
+
readonly min: 14;
|
|
48
|
+
readonly max: 24;
|
|
49
|
+
readonly default: 18;
|
|
50
|
+
};
|
|
51
|
+
/** 100 = kit default corner roundness; scales all `--nm-*-radius` tokens. */
|
|
52
|
+
export declare const NM_UI_RADIUS_PERCENT: {
|
|
53
|
+
readonly min: 50;
|
|
54
|
+
readonly max: 150;
|
|
55
|
+
readonly default: 100;
|
|
56
|
+
};
|
|
57
|
+
/** 100 = kit default spacing; scales every `--nm-space-*`, `--nm-gap-*` and `--nm-pad-*` token. */
|
|
58
|
+
export declare const NM_UI_SPACE_PERCENT: {
|
|
59
|
+
readonly min: 75;
|
|
60
|
+
readonly max: 125;
|
|
61
|
+
readonly default: 100;
|
|
62
|
+
};
|
|
63
|
+
export declare const NM_APPEARANCE_CONTRAST: {
|
|
64
|
+
readonly min: 0;
|
|
65
|
+
readonly max: 100;
|
|
66
|
+
readonly default: 0;
|
|
67
|
+
};
|
|
68
|
+
export declare const NM_ACCENT_PRESETS: readonly ['default', 'blue', 'green', 'yellow', 'pink', 'orange', 'purple', 'white', 'custom'];
|
|
69
|
+
export type NmAccentPreset = (typeof NM_ACCENT_PRESETS)[number];
|
|
70
|
+
export type NmAppearancePalette = {
|
|
71
|
+
canvas: string;
|
|
72
|
+
foreground: string;
|
|
73
|
+
accent: string;
|
|
74
|
+
};
|
|
75
|
+
export type NmThemePresetDefinition = {
|
|
76
|
+
id: string;
|
|
77
|
+
label: string;
|
|
78
|
+
swatch: string;
|
|
79
|
+
dark: Pick<NmAppearancePalette, 'canvas' | 'foreground'>;
|
|
80
|
+
light: Pick<NmAppearancePalette, 'canvas' | 'foreground'>;
|
|
81
|
+
};
|
|
82
|
+
export declare const NM_THEME_PRESETS: readonly NmThemePresetDefinition[];
|
|
83
|
+
export declare const NM_ACCENT_HEX: Record<Exclude<NmAccentPreset, 'default' | 'custom'>, string>;
|
|
84
|
+
export declare const NM_APPEARANCE_DEFAULTS: {
|
|
85
|
+
readonly mode: NmAppearanceMode;
|
|
86
|
+
readonly themePresetId: 'nordman';
|
|
87
|
+
readonly accentPreset: NmAccentPreset;
|
|
88
|
+
readonly customAccentHex: '#D2BB9C';
|
|
89
|
+
readonly backgroundHex: "#000000";
|
|
90
|
+
readonly foregroundHex: "#ededed";
|
|
91
|
+
readonly uiFontSizePx: 14;
|
|
92
|
+
readonly uiFontWeight: number;
|
|
93
|
+
readonly uiIconSizePx: 18;
|
|
94
|
+
readonly uiRadiusPercent: 100;
|
|
95
|
+
readonly uiSpacePercent: 100;
|
|
96
|
+
readonly contrast: 0;
|
|
97
|
+
};
|
|
98
|
+
export declare const NM_APPEARANCE_CSS_VARS: readonly ['--nm-canvas', '--nm-fg', '--nm-fg-muted', '--nm-fg-subtle', '--nm-stroke', '--nm-line', '--nm-line-strong', '--nm-divider', '--control-fs', '--nm-panel', '--nm-raised', '--nm-inset', '--nm-mark-primary', '--nm-mark-secondary', '--nm-mark-tertiary', '--nm-mark-surface', '--nm-canvas-rgb', '--nm-fg-rgb', '--nm-fg-muted-rgb', '--nm-fg-subtle-rgb', '--nm-stroke-rgb', '--nm-line-rgb', '--nm-panel-rgb', '--nm-raised-rgb', '--nm-inset-rgb', '--sand', '--nm-accent', '--nm-accent-rgb', '--orb-ui-cloud-appearance-deepColor', '--orb-ui-cloud-appearance-upperColor', '--orb-ui-cloud-appearance-lowerColor', '--orb-ui-cloud-appearance-highlightColor', '--orb-ui-cloud-appearance-launchColor', '--orb-ui-cloud-appearance-spinnerColor', '--nm-weight-light', '--nm-weight-regular', '--nm-weight-medium', '--nm-weight-semibold', '--nm-weight-bold', '--nm-type-body', '--nm-type-ui', '--nm-type-ui-sm', '--nm-type-lede', '--nm-type-section', '--nm-type-card', '--nm-type-caption', '--markdown-font-size', '--font-size-base', '--font-size-sm', '--nm-icon-button', '--nm-icon-sm', '--nm-rail-icon', '--nm-ui-chip-min-height', '--nm-radius-scale', '--nm-space-scale', '--text-primary', '--text-secondary', '--text-tertiary', '--text-muted', '--presentation', '--surface-primary', '--surface-chat', '--surface-secondary', '--surface-secondary-alt', '--surface-tertiary', '--surface-primary-alt', '--surface-dialog', '--surface-hover', '--surface-active', '--border-light', '--border-medium', '--link', '--link-hover', '--link-visited', '--accent-primary', '--ring-primary', '--brand-purple', '--nordman-accent'];
|
|
99
|
+
export declare function findThemePreset(id: string): NmThemePresetDefinition | undefined;
|
|
100
|
+
export declare function defaultThemePresetId(): string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const NM_BAR_OVERFLOW_CLASSES: {
|
|
2
|
+
readonly root: 'nm-bar-overflow';
|
|
3
|
+
readonly row: 'nm-bar-overflow__row';
|
|
4
|
+
readonly start: 'nm-bar-overflow__start';
|
|
5
|
+
};
|
|
6
|
+
export declare const NM_BAR_OVERFLOW_TEST_IDS: {
|
|
7
|
+
readonly root: 'bar-overflow';
|
|
8
|
+
readonly menu: 'bar-overflow-menu';
|
|
9
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare const NM_BUTTON_TONES: {
|
|
2
|
+
readonly filled: 'filled';
|
|
3
|
+
readonly outline: 'outline';
|
|
4
|
+
readonly muted: 'muted';
|
|
5
|
+
readonly panel: 'panel';
|
|
6
|
+
readonly danger: 'danger';
|
|
7
|
+
};
|
|
8
|
+
export type NmButtonTone = (typeof NM_BUTTON_TONES)[keyof typeof NM_BUTTON_TONES];
|
|
9
|
+
export declare const NM_BUTTON_SIZES: {
|
|
10
|
+
readonly default: 'default';
|
|
11
|
+
readonly compact: 'compact';
|
|
12
|
+
readonly chip: 'chip';
|
|
13
|
+
readonly large: 'large';
|
|
14
|
+
};
|
|
15
|
+
export type NmButtonSize = (typeof NM_BUTTON_SIZES)[keyof typeof NM_BUTTON_SIZES];
|
|
16
|
+
export declare const NM_BUTTON_CLASSES: {
|
|
17
|
+
readonly root: 'nm-button';
|
|
18
|
+
readonly filled: 'nm-button--filled';
|
|
19
|
+
readonly outline: 'nm-button--outline';
|
|
20
|
+
readonly muted: 'nm-button--muted';
|
|
21
|
+
readonly panel: 'nm-button--panel';
|
|
22
|
+
readonly danger: 'nm-button--danger';
|
|
23
|
+
readonly default: 'nm-button--default';
|
|
24
|
+
readonly compact: 'nm-button--compact';
|
|
25
|
+
readonly chip: 'nm-button--chip';
|
|
26
|
+
readonly large: 'nm-button--large';
|
|
27
|
+
readonly block: 'nm-button--block';
|
|
28
|
+
readonly icon: 'nm-button--icon';
|
|
29
|
+
};
|
|
30
|
+
/** The button's class names, for triggers that must stay a Base UI part, such as a menu or popover trigger. */
|
|
31
|
+
export declare function nmButtonClassName(tone: NmButtonTone, size?: NmButtonSize, iconOnly?: boolean): string;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export declare const NM_CHATBOX_ICON_IDS: readonly ['paperclip', 'settings', 'globe', 'spreadsheet', 'pointer', 'mic', 'mic-off', 'audio-lines', 'send', 'stop', 'loader', 'x', 'check', 'integration', 'app', 'steer', 'queue', 'interrupt-steer', 'interrupt-send'];
|
|
2
|
+
export type NmChatboxIconId = (typeof NM_CHATBOX_ICON_IDS)[number];
|
|
3
|
+
/** Public path for the composer MCP chip glyph — CSS `--nm-chatbox-integration-icon` must match. */
|
|
4
|
+
export declare const NM_CHATBOX_INTEGRATION_ICON_PATH = "/interface/chatbox/integration.svg";
|
|
5
|
+
export declare const NM_CHATBOX_ICON_SRC: {
|
|
6
|
+
readonly paperclip: '/interface/chatbox/paperclip.svg';
|
|
7
|
+
readonly settings: '/interface/chatbox/settings.svg';
|
|
8
|
+
readonly globe: '/interface/chatbox/globe.svg';
|
|
9
|
+
readonly spreadsheet: '/interface/chatbox/spreadsheet.svg';
|
|
10
|
+
readonly pointer: '/interface/chatbox/pointer.svg';
|
|
11
|
+
readonly mic: '/interface/chatbox/mic.svg';
|
|
12
|
+
readonly 'mic-off': '/interface/chatbox/mic.svg';
|
|
13
|
+
readonly 'audio-lines': '/interface/chatbox/audio-lines.svg';
|
|
14
|
+
readonly send: '/interface/chatbox/send.svg';
|
|
15
|
+
readonly stop: '/interface/chatbox/stop.svg';
|
|
16
|
+
readonly loader: '/interface/chatbox/loader.svg';
|
|
17
|
+
readonly x: '/interface/chatbox/x.svg';
|
|
18
|
+
readonly check: '/interface/chatbox/check.svg';
|
|
19
|
+
readonly integration: "/interface/chatbox/integration.svg";
|
|
20
|
+
readonly app: '/interface/chatbox/app.svg';
|
|
21
|
+
readonly steer: '/interface/chatbox/settings.svg';
|
|
22
|
+
readonly queue: '/interface/chatbox/settings.svg';
|
|
23
|
+
readonly 'interrupt-steer': '/interface/chatbox/settings.svg';
|
|
24
|
+
readonly 'interrupt-send': '/interface/chatbox/send.svg';
|
|
25
|
+
};
|
|
26
|
+
/** Composer footer / dictation controls — values are `NmChatboxIcon` ids. */
|
|
27
|
+
export declare const NM_CHATBOX_COMPOSER_ACTION_ICONS: {
|
|
28
|
+
readonly send: 'send';
|
|
29
|
+
readonly stop: 'stop';
|
|
30
|
+
readonly audioLines: 'audio-lines';
|
|
31
|
+
readonly loader: 'loader';
|
|
32
|
+
readonly check: 'check';
|
|
33
|
+
readonly cancel: 'x';
|
|
34
|
+
readonly interruptSteer: 'interrupt-steer';
|
|
35
|
+
};
|
|
36
|
+
/** During-run send menu row icons — values are `NmChatboxIcon` ids. */
|
|
37
|
+
export declare const NM_CHATBOX_DURING_RUN_MENU_ICONS: {
|
|
38
|
+
readonly steer: 'steer';
|
|
39
|
+
readonly queue: 'queue';
|
|
40
|
+
readonly interruptSteer: 'interrupt-steer';
|
|
41
|
+
readonly interruptSend: 'interrupt-send';
|
|
42
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const NM_CHATBOX_CLASSES: {
|
|
2
|
+
readonly root: 'nm-chatbox';
|
|
3
|
+
readonly files: 'nm-chatbox__files';
|
|
4
|
+
readonly fileList: 'nm-chatbox__file-list';
|
|
5
|
+
readonly fileItem: 'nm-chatbox__file-item';
|
|
6
|
+
readonly imageAttachment: 'nm-chatbox__image-attachment';
|
|
7
|
+
readonly imagePreview: 'nm-chatbox__image-preview';
|
|
8
|
+
readonly prompt: 'nm-chatbox__prompt';
|
|
9
|
+
readonly chips: 'nm-chatbox__chips';
|
|
10
|
+
readonly promptField: 'nm-chatbox__prompt-field';
|
|
11
|
+
readonly placeholder: 'nm-chatbox__placeholder';
|
|
12
|
+
readonly field: 'nm-chatbox__field';
|
|
13
|
+
readonly inline: 'nm-chatbox__inline';
|
|
14
|
+
readonly inlineLink: 'nm-chatbox__inline-link';
|
|
15
|
+
readonly row: 'nm-chatbox__row';
|
|
16
|
+
readonly tools: 'nm-chatbox__tools';
|
|
17
|
+
readonly actions: 'nm-chatbox__actions';
|
|
18
|
+
readonly dictation: 'nm-chatbox__dictation';
|
|
19
|
+
readonly app: 'nm-chatbox__app';
|
|
20
|
+
readonly menu: 'nm-chatbox-menu';
|
|
21
|
+
readonly menuText: 'nm-chatbox-menu--text';
|
|
22
|
+
readonly menuItem: 'nm-chatbox-menu__item';
|
|
23
|
+
readonly menuCopy: 'nm-chatbox-menu__copy';
|
|
24
|
+
readonly menuHint: 'nm-chatbox-menu__hint';
|
|
25
|
+
readonly menuSection: 'nm-chatbox-menu__section';
|
|
26
|
+
readonly menuIcon: 'nm-chatbox-menu__icon';
|
|
27
|
+
readonly menuLogo: 'nm-chatbox-menu__logo';
|
|
28
|
+
readonly menuAnchor: 'nm-chatbox-menu__anchor';
|
|
29
|
+
readonly connectTitle: 'nm-chatbox__connect-title';
|
|
30
|
+
readonly connectIcon: 'nm-chatbox__connect-icon';
|
|
31
|
+
readonly chip: 'nm-chatbox__chip';
|
|
32
|
+
readonly chipIcon: 'nm-chatbox__chip-icon';
|
|
33
|
+
readonly chipConnected: 'nm-chatbox__chip--connected';
|
|
34
|
+
};
|
|
35
|
+
/** Add menu rows include an icon. Slash rows are a name and a short description. */
|
|
36
|
+
export declare const NM_CHATBOX_MENU_MODE: {
|
|
37
|
+
readonly icons: 'icons';
|
|
38
|
+
readonly text: 'text';
|
|
39
|
+
};
|
|
40
|
+
export type NmChatboxMenuMode = (typeof NM_CHATBOX_MENU_MODE)[keyof typeof NM_CHATBOX_MENU_MODE];
|
|
@@ -0,0 +1,88 @@
|
|
|
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 declare const NM_COLLECTION_FILES_REFRESH_MS = 2000;
|
|
5
|
+
/** Scrollbar thumb visibility after scroll stops (matches rail, modal, dropdown). */
|
|
6
|
+
export declare const NM_COLLECTION_SCROLL_IDLE_MS = 750;
|
|
7
|
+
export declare const NM_COLLECTION_VIEWS: {
|
|
8
|
+
readonly table: 'table';
|
|
9
|
+
readonly grid: 'grid';
|
|
10
|
+
};
|
|
11
|
+
export type NmCollectionView = (typeof NM_COLLECTION_VIEWS)[keyof typeof NM_COLLECTION_VIEWS];
|
|
12
|
+
export declare const NM_COLLECTION_ICON_SRC: {
|
|
13
|
+
readonly spreadsheet: '/interface/collection/spreadsheet.svg';
|
|
14
|
+
readonly grid: '/interface/collection/grid.svg';
|
|
15
|
+
readonly library: '/interface/rail/library.svg';
|
|
16
|
+
readonly image: '/interface/collection/image.svg';
|
|
17
|
+
readonly video: '/interface/collection/video.svg';
|
|
18
|
+
readonly audio: '/interface/collection/audio.svg';
|
|
19
|
+
readonly search: '/interface/rail/search.svg';
|
|
20
|
+
readonly download: '/interface/collection/download.svg';
|
|
21
|
+
readonly expand: '/interface/collection/expand.svg';
|
|
22
|
+
};
|
|
23
|
+
export declare const NM_COLLECTION_CLASSES: {
|
|
24
|
+
readonly root: 'nm-collection';
|
|
25
|
+
readonly bar: 'nm-collection__bar';
|
|
26
|
+
readonly cluster: 'nm-collection__cluster';
|
|
27
|
+
readonly title: 'nm-collection__title';
|
|
28
|
+
readonly filter: 'nm-collection__filter';
|
|
29
|
+
readonly kindFilter: 'nm-collection__kind-filter';
|
|
30
|
+
readonly search: 'nm-collection__search';
|
|
31
|
+
readonly switch: 'nm-collection__switch';
|
|
32
|
+
readonly barEnd: 'nm-collection__bar-end';
|
|
33
|
+
readonly stage: 'nm-collection__stage';
|
|
34
|
+
readonly stageBar: 'nm-collection__stage-bar';
|
|
35
|
+
readonly preview: 'nm-collection__preview';
|
|
36
|
+
readonly body: 'nm-collection__body';
|
|
37
|
+
readonly table: 'nm-collection__table';
|
|
38
|
+
readonly row: 'nm-collection__row';
|
|
39
|
+
readonly name: 'nm-collection__name';
|
|
40
|
+
readonly meta: 'nm-collection__meta';
|
|
41
|
+
readonly grid: 'nm-collection__grid';
|
|
42
|
+
readonly tile: 'nm-collection__tile';
|
|
43
|
+
readonly hit: 'nm-collection__hit';
|
|
44
|
+
readonly actions: 'nm-collection__actions';
|
|
45
|
+
readonly rowHit: 'nm-collection__row-hit';
|
|
46
|
+
readonly facts: 'nm-collection__facts';
|
|
47
|
+
readonly cell: 'nm-collection__cell';
|
|
48
|
+
readonly head: 'nm-collection__head';
|
|
49
|
+
readonly menu: 'nm-collection__menu';
|
|
50
|
+
readonly media: 'nm-collection__media';
|
|
51
|
+
readonly audio: 'nm-collection__audio';
|
|
52
|
+
};
|
|
53
|
+
export declare const NM_COLLECTION_ACTIONS: {
|
|
54
|
+
readonly open: 'open';
|
|
55
|
+
readonly download: 'download';
|
|
56
|
+
readonly delete: 'delete';
|
|
57
|
+
};
|
|
58
|
+
export type NmCollectionItemActions = {
|
|
59
|
+
openLabel: string;
|
|
60
|
+
downloadLabel: string;
|
|
61
|
+
deleteLabel: string;
|
|
62
|
+
menuLabel: string;
|
|
63
|
+
onOpen: (id: string) => void;
|
|
64
|
+
onDownload: (id: string) => void;
|
|
65
|
+
onDelete: (id: string) => void;
|
|
66
|
+
};
|
|
67
|
+
export declare const NM_COLLECTION_MEDIA_KINDS: {
|
|
68
|
+
readonly image: 'image';
|
|
69
|
+
readonly video: 'video';
|
|
70
|
+
readonly audio: 'audio';
|
|
71
|
+
};
|
|
72
|
+
export type NmCollectionMediaKind = (typeof NM_COLLECTION_MEDIA_KINDS)[keyof typeof NM_COLLECTION_MEDIA_KINDS];
|
|
73
|
+
export type NmCollectionMedia = {
|
|
74
|
+
kind: NmCollectionMediaKind;
|
|
75
|
+
src: string;
|
|
76
|
+
};
|
|
77
|
+
export type NmCollectionColumn = {
|
|
78
|
+
id: string;
|
|
79
|
+
label: string;
|
|
80
|
+
};
|
|
81
|
+
export type NmCollectionItem = {
|
|
82
|
+
id: string;
|
|
83
|
+
title: string;
|
|
84
|
+
meta?: string;
|
|
85
|
+
cells?: Readonly<Record<string, string>>;
|
|
86
|
+
kind?: NmCollectionMediaKind;
|
|
87
|
+
media?: NmCollectionMedia;
|
|
88
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
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 declare const NM_COMPOSER_COPY: {
|
|
6
|
+
readonly placeholder: 'Ask Nordman';
|
|
7
|
+
readonly attach: 'Add';
|
|
8
|
+
readonly mic: 'Dictate';
|
|
9
|
+
readonly voice: 'Voice mode';
|
|
10
|
+
readonly send: 'Send';
|
|
11
|
+
readonly stop: 'Stop';
|
|
12
|
+
readonly remove: (name: string) => string;
|
|
13
|
+
readonly queued: 'Queued';
|
|
14
|
+
readonly editQueued: 'Edit queued message';
|
|
15
|
+
readonly removeQueued: 'Remove queued message';
|
|
16
|
+
};
|
|
17
|
+
export declare const NM_COMPOSER_CLASSES: {
|
|
18
|
+
readonly root: 'nm-composer';
|
|
19
|
+
readonly stack: 'nm-composer-stack';
|
|
20
|
+
readonly main: 'nm-composer__main';
|
|
21
|
+
readonly queue: 'nm-composer__queue';
|
|
22
|
+
readonly queued: 'nm-composer__queued';
|
|
23
|
+
readonly queuedText: 'nm-composer__queued-text';
|
|
24
|
+
readonly queuedActions: 'nm-composer__queued-actions';
|
|
25
|
+
readonly attachments: 'nm-composer__attachments';
|
|
26
|
+
readonly field: 'nm-composer__field';
|
|
27
|
+
readonly bar: 'nm-composer__bar';
|
|
28
|
+
readonly start: 'nm-composer__start';
|
|
29
|
+
readonly end: 'nm-composer__end';
|
|
30
|
+
readonly button: 'nm-composer__button';
|
|
31
|
+
readonly primary: 'nm-composer__button--primary';
|
|
32
|
+
readonly stopMark: 'nm-composer__stop-mark';
|
|
33
|
+
};
|
|
34
|
+
export type NmComposerAttachment = {
|
|
35
|
+
id: string;
|
|
36
|
+
name: string;
|
|
37
|
+
};
|
|
38
|
+
/** A message sent while the agent was still answering. It waits in line above the box. */
|
|
39
|
+
export type NmComposerQueued = {
|
|
40
|
+
id: string;
|
|
41
|
+
text: string;
|
|
42
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export declare const NM_DROPDOWN_CLASSES: {
|
|
2
|
+
readonly root: 'nm-dropdown';
|
|
3
|
+
readonly trigger: 'nm-dropdown__trigger';
|
|
4
|
+
readonly triggerIcon: 'nm-dropdown__trigger--icon';
|
|
5
|
+
readonly triggerChip: 'nm-dropdown__trigger--chip';
|
|
6
|
+
readonly triggerChipIconOnly: 'nm-dropdown__trigger--chip-icon-only';
|
|
7
|
+
readonly triggerFilled: 'nm-dropdown__trigger--filled';
|
|
8
|
+
readonly triggerOutline: 'nm-dropdown__trigger--outline';
|
|
9
|
+
readonly lead: 'nm-dropdown__lead';
|
|
10
|
+
readonly chevron: 'nm-dropdown__chevron';
|
|
11
|
+
readonly panel: 'nm-dropdown__panel';
|
|
12
|
+
readonly panelEnd: 'nm-dropdown__panel--end';
|
|
13
|
+
readonly panelRow: 'nm-dropdown__panel--row';
|
|
14
|
+
readonly panelPortal: 'nm-dropdown__panel--portal';
|
|
15
|
+
readonly item: 'nm-dropdown__item';
|
|
16
|
+
readonly itemBranch: 'nm-dropdown__item--branch';
|
|
17
|
+
readonly itemDanger: 'nm-dropdown__item--danger';
|
|
18
|
+
readonly itemDisabled: 'nm-dropdown__item--disabled';
|
|
19
|
+
readonly itemQuiet: 'nm-dropdown__item--quiet';
|
|
20
|
+
readonly mark: 'nm-dropdown__mark';
|
|
21
|
+
readonly markBusy: 'nm-dropdown__mark--busy';
|
|
22
|
+
readonly markLive: 'nm-dropdown__mark--live';
|
|
23
|
+
readonly branch: 'nm-dropdown__branch';
|
|
24
|
+
readonly subpanel: 'nm-dropdown__subpanel';
|
|
25
|
+
readonly separator: 'nm-dropdown__separator';
|
|
26
|
+
readonly icon: 'nm-dropdown__icon';
|
|
27
|
+
readonly check: 'nm-dropdown__check';
|
|
28
|
+
readonly label: 'nm-dropdown__label';
|
|
29
|
+
readonly copy: 'nm-dropdown__copy';
|
|
30
|
+
readonly detail: 'nm-dropdown__detail';
|
|
31
|
+
readonly trailing: 'nm-dropdown__trailing';
|
|
32
|
+
readonly shortcut: 'nm-dropdown__shortcut';
|
|
33
|
+
readonly revealHover: 'nm-dropdown--hover';
|
|
34
|
+
};
|
|
35
|
+
export declare const NM_DROPDOWN_TRIGGER: {
|
|
36
|
+
readonly text: 'text';
|
|
37
|
+
readonly icon: 'icon';
|
|
38
|
+
readonly iconButton: 'icon-button';
|
|
39
|
+
};
|
|
40
|
+
export declare const NM_DROPDOWN_TONE: {
|
|
41
|
+
readonly filled: 'filled';
|
|
42
|
+
readonly outline: 'outline';
|
|
43
|
+
};
|
|
44
|
+
export declare const NM_DROPDOWN_ALIGN: {
|
|
45
|
+
readonly start: 'start';
|
|
46
|
+
readonly end: 'end';
|
|
47
|
+
/** Match the hosting `.nm-rail__row` pill width and left edge. */
|
|
48
|
+
readonly row: 'row';
|
|
49
|
+
};
|
|
50
|
+
/** Icon menus stay hidden until the host row or field is hovered or focused. */
|
|
51
|
+
export declare const NM_DROPDOWN_REVEAL: {
|
|
52
|
+
readonly hover: 'hover';
|
|
53
|
+
};
|
|
54
|
+
export declare const NM_DROPDOWN_GAP_PX = 8;
|
|
55
|
+
/** Matches `--nm-rail-scroll-idle` (`--reveal` × 3). */
|
|
56
|
+
export declare const NM_DROPDOWN_SCROLL_IDLE_MS = 750;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Transition } from 'framer-motion';
|
|
2
|
+
/** Shared settle time from `--reveal`. Camera moves and fades both read this. */
|
|
3
|
+
export declare function nmSettleSeconds(): number;
|
|
4
|
+
/** Opacity fade. Duration follows `--reveal`. Reduced motion is instant. */
|
|
5
|
+
export declare function nmFade(reduceMotion: boolean): Transition;
|
|
6
|
+
export declare function useNmFade(): Transition;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare const NM_FIELD_KINDS: {
|
|
2
|
+
readonly text: 'text';
|
|
3
|
+
readonly search: 'search';
|
|
4
|
+
readonly email: 'email';
|
|
5
|
+
readonly password: 'password';
|
|
6
|
+
readonly select: 'select';
|
|
7
|
+
readonly area: 'area';
|
|
8
|
+
};
|
|
9
|
+
export declare const NM_FIELD_LAYOUT: {
|
|
10
|
+
readonly inline: 'inline';
|
|
11
|
+
readonly stack: 'stack';
|
|
12
|
+
};
|
|
13
|
+
export type NmFieldKind = (typeof NM_FIELD_KINDS)[keyof typeof NM_FIELD_KINDS];
|
|
14
|
+
export type NmFieldLayout = (typeof NM_FIELD_LAYOUT)[keyof typeof NM_FIELD_LAYOUT];
|
|
15
|
+
export type NmFieldOption = {
|
|
16
|
+
id: string;
|
|
17
|
+
label: string;
|
|
18
|
+
/** Colours shown after the label, such as a theme's background, foreground and accent. */
|
|
19
|
+
swatches?: readonly string[];
|
|
20
|
+
};
|
|
21
|
+
export declare const NM_FIELD_CLASSES: {
|
|
22
|
+
readonly root: 'nm-field';
|
|
23
|
+
readonly icon: 'nm-field__icon';
|
|
24
|
+
readonly control: 'nm-field__control';
|
|
25
|
+
readonly trail: 'nm-field__trail';
|
|
26
|
+
readonly meta: 'nm-field__meta';
|
|
27
|
+
readonly step: 'nm-field__step';
|
|
28
|
+
readonly stack: 'nm-field--stack';
|
|
29
|
+
readonly caption: 'nm-field__caption';
|
|
30
|
+
readonly row: 'nm-field__row';
|
|
31
|
+
readonly box: 'nm-field__box';
|
|
32
|
+
readonly mark: 'nm-field__mark';
|
|
33
|
+
readonly add: 'nm-field__add';
|
|
34
|
+
readonly menu: 'nm-field__menu';
|
|
35
|
+
readonly search: 'nm-field__search';
|
|
36
|
+
readonly searchInput: 'nm-field__search-input';
|
|
37
|
+
readonly option: 'nm-field__option';
|
|
38
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const NM_HEADER_ICON_IDS: readonly ['chat', 'bot', 'app', 'layers', 'users', 'folder', 'settings', 'panel', 'play', 'schedule', 'search'];
|
|
2
|
+
export type NmHeaderIconId = (typeof NM_HEADER_ICON_IDS)[number];
|
|
3
|
+
export declare const NM_HEADER_ICON_SRC: {
|
|
4
|
+
readonly chat: '/interface/header/chat.svg';
|
|
5
|
+
readonly bot: '/interface/header/bot.svg';
|
|
6
|
+
readonly app: '/interface/header/app.svg';
|
|
7
|
+
readonly layers: '/interface/header/layers.svg';
|
|
8
|
+
readonly users: '/interface/header/users.svg';
|
|
9
|
+
readonly folder: '/interface/header/folder.svg';
|
|
10
|
+
readonly settings: '/interface/header/settings.svg';
|
|
11
|
+
readonly panel: '/interface/header/panel.svg';
|
|
12
|
+
readonly play: '/interface/header/play.svg';
|
|
13
|
+
readonly schedule: '/interface/header/schedule.svg';
|
|
14
|
+
readonly search: '/interface/header/search.svg';
|
|
15
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const NM_ICON_BUTTON_TONES: {
|
|
2
|
+
readonly line: 'line';
|
|
3
|
+
readonly raised: 'raised';
|
|
4
|
+
readonly quiet: 'quiet';
|
|
5
|
+
readonly solid: 'solid';
|
|
6
|
+
readonly subtle: 'subtle';
|
|
7
|
+
readonly panel: 'panel';
|
|
8
|
+
readonly invert: 'invert';
|
|
9
|
+
};
|
|
10
|
+
export type NmIconButtonTone = (typeof NM_ICON_BUTTON_TONES)[keyof typeof NM_ICON_BUTTON_TONES];
|
|
11
|
+
export declare const NM_ICON_BUTTON_CLASSES: {
|
|
12
|
+
readonly root: 'nm-icon-button';
|
|
13
|
+
readonly icon: 'nm-icon-button__icon';
|
|
14
|
+
readonly active: 'nm-icon-button--active';
|
|
15
|
+
readonly line: 'nm-icon-button';
|
|
16
|
+
readonly raised: 'nm-icon-button--raised';
|
|
17
|
+
readonly quiet: 'nm-icon-button--quiet';
|
|
18
|
+
readonly solid: 'nm-icon-button--solid';
|
|
19
|
+
readonly subtle: 'nm-icon-button--subtle';
|
|
20
|
+
readonly panel: 'nm-icon-button--panel';
|
|
21
|
+
readonly invert: 'nm-icon-button--invert';
|
|
22
|
+
};
|
|
23
|
+
/** Shared geometry hook for send / stop / during-run primary composer actions. */
|
|
24
|
+
export declare const NM_CHATBOX_ACTION_CLASS = "nm-chatbox__send";
|
|
25
|
+
export declare function nmIconButtonClassName(tone?: NmIconButtonTone): string;
|
|
26
|
+
export declare function nmChatboxActionButtonClassName(): string;
|