@skdx/docs-kit 0.35.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/LICENSE +21 -0
- package/README.md +22 -0
- package/dist/component-aliases.json +12 -0
- package/dist/data/THIRD-PARTY-NOTICES.md +21 -0
- package/dist/data/angular-inputs.json +1 -0
- package/dist/data/api-manifest.json +1 -0
- package/dist/data/exports-by-framework.json +1 -0
- package/dist/data/honoured-slots.json +1 -0
- package/dist/data/styling-hooks-manifest.json +10331 -0
- package/dist/frameworks.mjs +64 -0
- package/dist/shared/contracts/accordion.d.ts +3 -0
- package/dist/shared/contracts/accordion.js +1 -0
- package/dist/shared/contracts/alert.d.ts +3 -0
- package/dist/shared/contracts/alert.js +1 -0
- package/dist/shared/contracts/angle-slider.d.ts +3 -0
- package/dist/shared/contracts/angle-slider.js +1 -0
- package/dist/shared/contracts/aspect-ratio.d.ts +3 -0
- package/dist/shared/contracts/aspect-ratio.js +1 -0
- package/dist/shared/contracts/autocomplete.d.ts +3 -0
- package/dist/shared/contracts/autocomplete.js +1 -0
- package/dist/shared/contracts/avatar.d.ts +3 -0
- package/dist/shared/contracts/avatar.js +1 -0
- package/dist/shared/contracts/badge.d.ts +3 -0
- package/dist/shared/contracts/badge.js +1 -0
- package/dist/shared/contracts/box.d.ts +3 -0
- package/dist/shared/contracts/box.js +1 -0
- package/dist/shared/contracts/breadcrumb.d.ts +3 -0
- package/dist/shared/contracts/breadcrumb.js +1 -0
- package/dist/shared/contracts/button.d.ts +3 -0
- package/dist/shared/contracts/button.js +1 -0
- package/dist/shared/contracts/calendar.d.ts +5 -0
- package/dist/shared/contracts/calendar.js +1 -0
- package/dist/shared/contracts/card.d.ts +3 -0
- package/dist/shared/contracts/card.js +1 -0
- package/dist/shared/contracts/carousel.d.ts +3 -0
- package/dist/shared/contracts/carousel.js +1 -0
- package/dist/shared/contracts/change-reason.d.ts +29 -0
- package/dist/shared/contracts/change-reason.js +1 -0
- package/dist/shared/contracts/chat-composer.d.ts +3 -0
- package/dist/shared/contracts/chat-composer.js +1 -0
- package/dist/shared/contracts/chat-message.d.ts +3 -0
- package/dist/shared/contracts/chat-message.js +1 -0
- package/dist/shared/contracts/checkbox-card.d.ts +3 -0
- package/dist/shared/contracts/checkbox-card.js +1 -0
- package/dist/shared/contracts/checkbox-group.d.ts +3 -0
- package/dist/shared/contracts/checkbox-group.js +1 -0
- package/dist/shared/contracts/checkbox.d.ts +3 -0
- package/dist/shared/contracts/checkbox.js +1 -0
- package/dist/shared/contracts/clipboard.d.ts +3 -0
- package/dist/shared/contracts/clipboard.js +1 -0
- package/dist/shared/contracts/collapsible.d.ts +3 -0
- package/dist/shared/contracts/collapsible.js +1 -0
- package/dist/shared/contracts/color-picker.d.ts +3 -0
- package/dist/shared/contracts/color-picker.js +1 -0
- package/dist/shared/contracts/combobox.d.ts +3 -0
- package/dist/shared/contracts/combobox.js +1 -0
- package/dist/shared/contracts/command.d.ts +3 -0
- package/dist/shared/contracts/command.js +1 -0
- package/dist/shared/contracts/comment-thread.d.ts +3 -0
- package/dist/shared/contracts/comment-thread.js +1 -0
- package/dist/shared/contracts/comment.d.ts +3 -0
- package/dist/shared/contracts/comment.js +1 -0
- package/dist/shared/contracts/confirm-dialog.d.ts +3 -0
- package/dist/shared/contracts/confirm-dialog.js +1 -0
- package/dist/shared/contracts/conversation-list.d.ts +3 -0
- package/dist/shared/contracts/conversation-list.js +1 -0
- package/dist/shared/contracts/dashboard-layout.d.ts +3 -0
- package/dist/shared/contracts/dashboard-layout.js +1 -0
- package/dist/shared/contracts/date-field.d.ts +3 -0
- package/dist/shared/contracts/date-field.js +1 -0
- package/dist/shared/contracts/date-picker.d.ts +3 -0
- package/dist/shared/contracts/date-picker.js +1 -0
- package/dist/shared/contracts/date-value.d.ts +11 -0
- package/dist/shared/contracts/date-value.js +1 -0
- package/dist/shared/contracts/dialog.d.ts +3 -0
- package/dist/shared/contracts/dialog.js +1 -0
- package/dist/shared/contracts/divider.d.ts +5 -0
- package/dist/shared/contracts/divider.js +1 -0
- package/dist/shared/contracts/drawer.d.ts +3 -0
- package/dist/shared/contracts/drawer.js +1 -0
- package/dist/shared/contracts/editable.d.ts +3 -0
- package/dist/shared/contracts/editable.js +1 -0
- package/dist/shared/contracts/empty-state.d.ts +3 -0
- package/dist/shared/contracts/empty-state.js +1 -0
- package/dist/shared/contracts/field.d.ts +3 -0
- package/dist/shared/contracts/field.js +1 -0
- package/dist/shared/contracts/file-upload.d.ts +3 -0
- package/dist/shared/contracts/file-upload.js +1 -0
- package/dist/shared/contracts/filter-bar.d.ts +3 -0
- package/dist/shared/contracts/filter-bar.js +1 -0
- package/dist/shared/contracts/floating-panel.d.ts +3 -0
- package/dist/shared/contracts/floating-panel.js +1 -0
- package/dist/shared/contracts/forgot-password-page.d.ts +3 -0
- package/dist/shared/contracts/forgot-password-page.js +1 -0
- package/dist/shared/contracts/form-property.d.ts +3 -0
- package/dist/shared/contracts/form-property.js +1 -0
- package/dist/shared/contracts/form-section.d.ts +3 -0
- package/dist/shared/contracts/form-section.js +1 -0
- package/dist/shared/contracts/form-validity.d.ts +7 -0
- package/dist/shared/contracts/form-validity.js +1 -0
- package/dist/shared/contracts/form.d.ts +3 -0
- package/dist/shared/contracts/form.js +1 -0
- package/dist/shared/contracts/heading.d.ts +3 -0
- package/dist/shared/contracts/heading.js +1 -0
- package/dist/shared/contracts/image.d.ts +3 -0
- package/dist/shared/contracts/image.js +1 -0
- package/dist/shared/contracts/index.d.ts +8 -0
- package/dist/shared/contracts/index.js +1 -0
- package/dist/shared/contracts/kbd.d.ts +3 -0
- package/dist/shared/contracts/kbd.js +1 -0
- package/dist/shared/contracts/label.d.ts +3 -0
- package/dist/shared/contracts/label.js +1 -0
- package/dist/shared/contracts/link.d.ts +3 -0
- package/dist/shared/contracts/link.js +1 -0
- package/dist/shared/contracts/list.d.ts +3 -0
- package/dist/shared/contracts/list.js +1 -0
- package/dist/shared/contracts/listbox.d.ts +3 -0
- package/dist/shared/contracts/listbox.js +1 -0
- package/dist/shared/contracts/loading-overlay.d.ts +3 -0
- package/dist/shared/contracts/loading-overlay.js +1 -0
- package/dist/shared/contracts/member-id.d.ts +18 -0
- package/dist/shared/contracts/member-id.js +1 -0
- package/dist/shared/contracts/mentions.d.ts +3 -0
- package/dist/shared/contracts/mentions.js +1 -0
- package/dist/shared/contracts/menu.d.ts +3 -0
- package/dist/shared/contracts/menu.js +1 -0
- package/dist/shared/contracts/menubar.d.ts +3 -0
- package/dist/shared/contracts/menubar.js +1 -0
- package/dist/shared/contracts/navigation-menu.d.ts +6 -0
- package/dist/shared/contracts/navigation-menu.js +1 -0
- package/dist/shared/contracts/notification-center.d.ts +3 -0
- package/dist/shared/contracts/notification-center.js +1 -0
- package/dist/shared/contracts/number-field.d.ts +5 -0
- package/dist/shared/contracts/number-field.js +1 -0
- package/dist/shared/contracts/onboarding-checklist.d.ts +3 -0
- package/dist/shared/contracts/onboarding-checklist.js +1 -0
- package/dist/shared/contracts/overlay-parts.d.ts +73 -0
- package/dist/shared/contracts/overlay-parts.js +1 -0
- package/dist/shared/contracts/page-container.d.ts +3 -0
- package/dist/shared/contracts/page-container.js +1 -0
- package/dist/shared/contracts/pagination.d.ts +5 -0
- package/dist/shared/contracts/pagination.js +1 -0
- package/dist/shared/contracts/password-input.d.ts +6 -0
- package/dist/shared/contracts/password-input.js +1 -0
- package/dist/shared/contracts/pin-input.d.ts +6 -0
- package/dist/shared/contracts/pin-input.js +1 -0
- package/dist/shared/contracts/polymorphic.d.ts +6 -0
- package/dist/shared/contracts/polymorphic.js +1 -0
- package/dist/shared/contracts/popover.d.ts +7 -0
- package/dist/shared/contracts/popover.js +1 -0
- package/dist/shared/contracts/progress.d.ts +6 -0
- package/dist/shared/contracts/progress.js +1 -0
- package/dist/shared/contracts/qr-code.d.ts +5 -0
- package/dist/shared/contracts/qr-code.js +1 -0
- package/dist/shared/contracts/radio-card.d.ts +6 -0
- package/dist/shared/contracts/radio-card.js +1 -0
- package/dist/shared/contracts/radio-group.d.ts +6 -0
- package/dist/shared/contracts/radio-group.js +1 -0
- package/dist/shared/contracts/rating.d.ts +6 -0
- package/dist/shared/contracts/rating.js +1 -0
- package/dist/shared/contracts/reset-password-page.d.ts +3 -0
- package/dist/shared/contracts/reset-password-page.js +1 -0
- package/dist/shared/contracts/resizable.d.ts +7 -0
- package/dist/shared/contracts/resizable.js +1 -0
- package/dist/shared/contracts/rules.d.ts +11 -0
- package/dist/shared/contracts/rules.js +1 -0
- package/dist/shared/contracts/scroll-area.d.ts +6 -0
- package/dist/shared/contracts/scroll-area.js +1 -0
- package/dist/shared/contracts/select.d.ts +5 -0
- package/dist/shared/contracts/select.js +1 -0
- package/dist/shared/contracts/selection-value.d.ts +20 -0
- package/dist/shared/contracts/selection-value.js +1 -0
- package/dist/shared/contracts/sign-in-page.d.ts +3 -0
- package/dist/shared/contracts/sign-in-page.js +1 -0
- package/dist/shared/contracts/sign-up-page.d.ts +3 -0
- package/dist/shared/contracts/sign-up-page.js +1 -0
- package/dist/shared/contracts/skeleton.d.ts +5 -0
- package/dist/shared/contracts/skeleton.js +1 -0
- package/dist/shared/contracts/slider.d.ts +7 -0
- package/dist/shared/contracts/slider.js +1 -0
- package/dist/shared/contracts/speed-dial.d.ts +6 -0
- package/dist/shared/contracts/speed-dial.js +1 -0
- package/dist/shared/contracts/spinner.d.ts +6 -0
- package/dist/shared/contracts/spinner.js +1 -0
- package/dist/shared/contracts/split-button.d.ts +6 -0
- package/dist/shared/contracts/split-button.js +1 -0
- package/dist/shared/contracts/stat-card.d.ts +3 -0
- package/dist/shared/contracts/stat-card.js +1 -0
- package/dist/shared/contracts/stepper.d.ts +6 -0
- package/dist/shared/contracts/stepper.js +1 -0
- package/dist/shared/contracts/styling-hooks.d.ts +8 -0
- package/dist/shared/contracts/styling-hooks.js +1 -0
- package/dist/shared/contracts/switch.d.ts +6 -0
- package/dist/shared/contracts/switch.js +1 -0
- package/dist/shared/contracts/table.d.ts +7 -0
- package/dist/shared/contracts/table.js +1 -0
- package/dist/shared/contracts/tabs.d.ts +5 -0
- package/dist/shared/contracts/tabs.js +1 -0
- package/dist/shared/contracts/tag-group.d.ts +7 -0
- package/dist/shared/contracts/tag-group.js +1 -0
- package/dist/shared/contracts/tags-input.d.ts +8 -0
- package/dist/shared/contracts/tags-input.js +1 -0
- package/dist/shared/contracts/text-field.d.ts +6 -0
- package/dist/shared/contracts/text-field.js +1 -0
- package/dist/shared/contracts/text.d.ts +6 -0
- package/dist/shared/contracts/text.js +1 -0
- package/dist/shared/contracts/textarea.d.ts +5 -0
- package/dist/shared/contracts/textarea.js +1 -0
- package/dist/shared/contracts/time-field.d.ts +5 -0
- package/dist/shared/contracts/time-field.js +1 -0
- package/dist/shared/contracts/time.d.ts +6 -0
- package/dist/shared/contracts/time.js +1 -0
- package/dist/shared/contracts/timeline.d.ts +5 -0
- package/dist/shared/contracts/timeline.js +1 -0
- package/dist/shared/contracts/toast.d.ts +6 -0
- package/dist/shared/contracts/toast.js +1 -0
- package/dist/shared/contracts/toggle-group.d.ts +6 -0
- package/dist/shared/contracts/toggle-group.js +1 -0
- package/dist/shared/contracts/toggle.d.ts +5 -0
- package/dist/shared/contracts/toggle.js +1 -0
- package/dist/shared/contracts/toolbar.d.ts +3 -0
- package/dist/shared/contracts/toolbar.js +1 -0
- package/dist/shared/contracts/tour.d.ts +5 -0
- package/dist/shared/contracts/tour.js +1 -0
- package/dist/shared/contracts/transfer.d.ts +6 -0
- package/dist/shared/contracts/transfer.js +1 -0
- package/dist/shared/contracts/tree-select.d.ts +6 -0
- package/dist/shared/contracts/tree-select.js +1 -0
- package/dist/shared/contracts/tree.d.ts +6 -0
- package/dist/shared/contracts/tree.js +1 -0
- package/dist/shared/contracts/types.d.ts +230 -0
- package/dist/shared/contracts/types.js +1 -0
- package/dist/shared/contracts/usage-card.d.ts +3 -0
- package/dist/shared/contracts/usage-card.js +1 -0
- package/dist/shared/contracts/user-menu.d.ts +3 -0
- package/dist/shared/contracts/user-menu.js +1 -0
- package/dist/shared/contracts/verification-page.d.ts +3 -0
- package/dist/shared/contracts/verification-page.js +1 -0
- package/dist/shared/contracts/workspace-switcher.d.ts +3 -0
- package/dist/shared/contracts/workspace-switcher.js +1 -0
- package/dist/shared/core/announcer.d.ts +17 -0
- package/dist/shared/core/announcer.js +1 -0
- package/dist/shared/core/appearance.d.ts +14 -0
- package/dist/shared/core/appearance.js +1 -0
- package/dist/shared/core/arrow-keys.d.ts +7 -0
- package/dist/shared/core/arrow-keys.js +1 -0
- package/dist/shared/core/calendar-locale.d.ts +35 -0
- package/dist/shared/core/calendar-locale.js +1 -0
- package/dist/shared/core/color.d.ts +80 -0
- package/dist/shared/core/color.js +1 -0
- package/dist/shared/core/controllable.d.ts +42 -0
- package/dist/shared/core/controllable.js +1 -0
- package/dist/shared/core/csv.d.ts +43 -0
- package/dist/shared/core/csv.js +2 -0
- package/dist/shared/core/date-segments.d.ts +223 -0
- package/dist/shared/core/date-segments.js +1 -0
- package/dist/shared/core/date-value.d.ts +57 -0
- package/dist/shared/core/date-value.js +1 -0
- package/dist/shared/core/dev-mode.d.ts +12 -0
- package/dist/shared/core/dev-mode.js +1 -0
- package/dist/shared/core/dialogs.d.ts +96 -0
- package/dist/shared/core/dialogs.js +1 -0
- package/dist/shared/core/dismissal.d.ts +56 -0
- package/dist/shared/core/dismissal.js +1 -0
- package/dist/shared/core/field-core.d.ts +250 -0
- package/dist/shared/core/field-core.js +1 -0
- package/dist/shared/core/focus-targets.d.ts +77 -0
- package/dist/shared/core/focus-targets.js +1 -0
- package/dist/shared/core/format-file-size.d.ts +9 -0
- package/dist/shared/core/format-file-size.js +1 -0
- package/dist/shared/core/glyph-data.d.ts +13 -0
- package/dist/shared/core/glyph-data.js +1 -0
- package/dist/shared/core/measure-auto-resize.d.ts +5 -0
- package/dist/shared/core/measure-auto-resize.js +1 -0
- package/dist/shared/core/media-query.d.ts +7 -0
- package/dist/shared/core/media-query.js +1 -0
- package/dist/shared/core/mentions.d.ts +116 -0
- package/dist/shared/core/mentions.js +2 -0
- package/dist/shared/core/pin-chars.d.ts +13 -0
- package/dist/shared/core/pin-chars.js +1 -0
- package/dist/shared/core/placement.d.ts +102 -0
- package/dist/shared/core/placement.js +1 -0
- package/dist/shared/core/qr-encoder.d.ts +33 -0
- package/dist/shared/core/qr-encoder.js +1 -0
- package/dist/shared/core/roving-tab-stop.d.ts +37 -0
- package/dist/shared/core/roving-tab-stop.js +1 -0
- package/dist/shared/core/select-keyboard.d.ts +80 -0
- package/dist/shared/core/select-keyboard.js +1 -0
- package/dist/shared/core/selection.d.ts +58 -0
- package/dist/shared/core/selection.js +1 -0
- package/dist/shared/core/tabbable.d.ts +8 -0
- package/dist/shared/core/tabbable.js +1 -0
- package/dist/shared/core/timer.d.ts +82 -0
- package/dist/shared/core/timer.js +1 -0
- package/dist/shared/core/tree-columns.d.ts +48 -0
- package/dist/shared/core/tree-columns.js +1 -0
- package/dist/shared/core/typeahead.d.ts +27 -0
- package/dist/shared/core/typeahead.js +1 -0
- package/dist/shared/index.d.ts +113 -0
- package/dist/shared/index.js +1 -0
- package/dist/skins-src/_foundation-fallback.css +124 -0
- package/dist/skins-src/base.css +328 -0
- package/dist/skins-src/components/_actuator.css +203 -0
- package/dist/skins-src/components/_arrow.css +20 -0
- package/dist/skins-src/components/_card-control.css +27 -0
- package/dist/skins-src/components/_collection.css +281 -0
- package/dist/skins-src/components/_hit-target.css +28 -0
- package/dist/skins-src/components/_overlay.css +214 -0
- package/dist/skins-src/components/_status.css +38 -0
- package/dist/skins-src/components/_trigger.css +85 -0
- package/dist/skins-src/components/accordion.css +85 -0
- package/dist/skins-src/components/alert.css +118 -0
- package/dist/skins-src/components/angle-slider.css +110 -0
- package/dist/skins-src/components/aspect-ratio.css +26 -0
- package/dist/skins-src/components/autocomplete.css +112 -0
- package/dist/skins-src/components/avatar.css +87 -0
- package/dist/skins-src/components/badge.css +164 -0
- package/dist/skins-src/components/box.css +9 -0
- package/dist/skins-src/components/breadcrumb.css +78 -0
- package/dist/skins-src/components/button.css +304 -0
- package/dist/skins-src/components/calendar.css +269 -0
- package/dist/skins-src/components/card.css +116 -0
- package/dist/skins-src/components/carousel.css +192 -0
- package/dist/skins-src/components/chat-composer.css +89 -0
- package/dist/skins-src/components/chat-message.css +98 -0
- package/dist/skins-src/components/checkbox-card.css +153 -0
- package/dist/skins-src/components/checkbox-group.css +72 -0
- package/dist/skins-src/components/checkbox.css +141 -0
- package/dist/skins-src/components/clipboard.css +126 -0
- package/dist/skins-src/components/collapsible.css +64 -0
- package/dist/skins-src/components/color-picker.css +304 -0
- package/dist/skins-src/components/combobox.css +111 -0
- package/dist/skins-src/components/command.css +73 -0
- package/dist/skins-src/components/comment-thread.css +56 -0
- package/dist/skins-src/components/comment.css +59 -0
- package/dist/skins-src/components/confirm-dialog.css +43 -0
- package/dist/skins-src/components/conversation-list.css +142 -0
- package/dist/skins-src/components/dashboard-layout.css +106 -0
- package/dist/skins-src/components/date-field.css +95 -0
- package/dist/skins-src/components/date-picker.css +79 -0
- package/dist/skins-src/components/dialog.css +161 -0
- package/dist/skins-src/components/divider.css +64 -0
- package/dist/skins-src/components/drawer.css +166 -0
- package/dist/skins-src/components/editable.css +121 -0
- package/dist/skins-src/components/empty-state.css +85 -0
- package/dist/skins-src/components/field.css +104 -0
- package/dist/skins-src/components/file-upload.css +164 -0
- package/dist/skins-src/components/filter-bar.css +48 -0
- package/dist/skins-src/components/floating-panel.css +168 -0
- package/dist/skins-src/components/forgot-password-page.css +45 -0
- package/dist/skins-src/components/form-section.css +75 -0
- package/dist/skins-src/components/form.css +115 -0
- package/dist/skins-src/components/heading.css +38 -0
- package/dist/skins-src/components/image.css +43 -0
- package/dist/skins-src/components/kbd.css +76 -0
- package/dist/skins-src/components/label.css +45 -0
- package/dist/skins-src/components/link.css +72 -0
- package/dist/skins-src/components/list.css +104 -0
- package/dist/skins-src/components/listbox.css +90 -0
- package/dist/skins-src/components/loading-overlay.css +89 -0
- package/dist/skins-src/components/mentions.css +79 -0
- package/dist/skins-src/components/menu.css +102 -0
- package/dist/skins-src/components/menubar.css +130 -0
- package/dist/skins-src/components/navigation-menu.css +145 -0
- package/dist/skins-src/components/notification-center.css +139 -0
- package/dist/skins-src/components/number-field.css +95 -0
- package/dist/skins-src/components/onboarding-checklist.css +156 -0
- package/dist/skins-src/components/page-container.css +29 -0
- package/dist/skins-src/components/pagination.css +147 -0
- package/dist/skins-src/components/password-input.css +116 -0
- package/dist/skins-src/components/pin-input.css +115 -0
- package/dist/skins-src/components/popover.css +108 -0
- package/dist/skins-src/components/progress.css +207 -0
- package/dist/skins-src/components/qr-code.css +62 -0
- package/dist/skins-src/components/radio-card.css +158 -0
- package/dist/skins-src/components/radio-group.css +148 -0
- package/dist/skins-src/components/rating.css +150 -0
- package/dist/skins-src/components/reset-password-page.css +51 -0
- package/dist/skins-src/components/resizable.css +131 -0
- package/dist/skins-src/components/scroll-area.css +101 -0
- package/dist/skins-src/components/select.css +239 -0
- package/dist/skins-src/components/sign-in-page.css +47 -0
- package/dist/skins-src/components/sign-up-page.css +55 -0
- package/dist/skins-src/components/skeleton.css +55 -0
- package/dist/skins-src/components/skip-link.css +51 -0
- package/dist/skins-src/components/slider.css +164 -0
- package/dist/skins-src/components/speed-dial.css +162 -0
- package/dist/skins-src/components/spinner.css +59 -0
- package/dist/skins-src/components/split-button.css +167 -0
- package/dist/skins-src/components/stat-card.css +117 -0
- package/dist/skins-src/components/stepper.css +153 -0
- package/dist/skins-src/components/switch.css +155 -0
- package/dist/skins-src/components/table.css +336 -0
- package/dist/skins-src/components/tabs.css +116 -0
- package/dist/skins-src/components/tag-group.css +72 -0
- package/dist/skins-src/components/tags-input.css +176 -0
- package/dist/skins-src/components/text-field.css +182 -0
- package/dist/skins-src/components/text.css +83 -0
- package/dist/skins-src/components/textarea.css +118 -0
- package/dist/skins-src/components/time-field.css +43 -0
- package/dist/skins-src/components/time.css +13 -0
- package/dist/skins-src/components/timeline.css +206 -0
- package/dist/skins-src/components/toast.css +133 -0
- package/dist/skins-src/components/toggle-group.css +185 -0
- package/dist/skins-src/components/toggle.css +89 -0
- package/dist/skins-src/components/toolbar.css +84 -0
- package/dist/skins-src/components/tour.css +67 -0
- package/dist/skins-src/components/transfer.css +112 -0
- package/dist/skins-src/components/tree-select.css +124 -0
- package/dist/skins-src/components/tree.css +110 -0
- package/dist/skins-src/components/usage-card.css +129 -0
- package/dist/skins-src/components/user-menu.css +83 -0
- package/dist/skins-src/components/verification-page.css +64 -0
- package/dist/skins-src/components/workspace-switcher.css +133 -0
- package/dist/skins-src/utilities.css +130 -0
- package/dist/skins-src/web-components.css +64 -0
- package/dist/strip-paint.d.mts +7 -0
- package/dist/strip-paint.mjs +131 -0
- package/dist/themes/AntDark.md +14 -0
- package/dist/themes/AntDark.ts +47 -0
- package/dist/themes/AntLight.md +21 -0
- package/dist/themes/AntLight.ts +95 -0
- package/dist/themes/CatppuccinLatte.md +20 -0
- package/dist/themes/CatppuccinLatte.ts +93 -0
- package/dist/themes/CatppuccinMocha.md +15 -0
- package/dist/themes/CatppuccinMocha.ts +93 -0
- package/dist/themes/ChakraDark.md +8 -0
- package/dist/themes/ChakraDark.ts +47 -0
- package/dist/themes/ChakraLight.md +14 -0
- package/dist/themes/ChakraLight.ts +93 -0
- package/dist/themes/Contrast.test.ts +80 -0
- package/dist/themes/CupcakeDark.md +8 -0
- package/dist/themes/CupcakeDark.ts +39 -0
- package/dist/themes/CupcakeLight.md +31 -0
- package/dist/themes/CupcakeLight.ts +93 -0
- package/dist/themes/DefaultTheme.md +8 -0
- package/dist/themes/DefaultTheme.test.ts +96 -0
- package/dist/themes/DefaultTheme.ts +137 -0
- package/dist/themes/DraculaDark.md +14 -0
- package/dist/themes/DraculaDark.ts +93 -0
- package/dist/themes/DraculaLight.md +8 -0
- package/dist/themes/DraculaLight.ts +55 -0
- package/dist/themes/EmeraldDark.md +8 -0
- package/dist/themes/EmeraldDark.ts +35 -0
- package/dist/themes/EmeraldLight.md +8 -0
- package/dist/themes/EmeraldLight.ts +93 -0
- package/dist/themes/EverforestDark.md +26 -0
- package/dist/themes/EverforestDark.ts +99 -0
- package/dist/themes/EverforestLight.md +31 -0
- package/dist/themes/EverforestLight.ts +51 -0
- package/dist/themes/FluentDark.md +8 -0
- package/dist/themes/FluentDark.ts +47 -0
- package/dist/themes/FluentLight.md +8 -0
- package/dist/themes/FluentLight.ts +100 -0
- package/dist/themes/GraphiteDark.md +8 -0
- package/dist/themes/GraphiteDark.ts +35 -0
- package/dist/themes/GraphiteLight.md +14 -0
- package/dist/themes/GraphiteLight.ts +93 -0
- package/dist/themes/GruvboxDark.md +14 -0
- package/dist/themes/GruvboxDark.ts +93 -0
- package/dist/themes/GruvboxLight.md +27 -0
- package/dist/themes/GruvboxLight.ts +49 -0
- package/dist/themes/MaterialDark.md +8 -0
- package/dist/themes/MaterialDark.ts +47 -0
- package/dist/themes/MaterialLight.md +8 -0
- package/dist/themes/MaterialLight.ts +104 -0
- package/dist/themes/MidnightDark.md +8 -0
- package/dist/themes/MidnightDark.ts +19 -0
- package/dist/themes/MidnightLight.md +8 -0
- package/dist/themes/MidnightLight.ts +23 -0
- package/dist/themes/NordDark.md +28 -0
- package/dist/themes/NordDark.ts +93 -0
- package/dist/themes/NordLight.md +20 -0
- package/dist/themes/NordLight.ts +50 -0
- package/dist/themes/OneDark.md +26 -0
- package/dist/themes/OneDark.ts +93 -0
- package/dist/themes/OneLight.md +20 -0
- package/dist/themes/OneLight.ts +51 -0
- package/dist/themes/PrimerDark.md +26 -0
- package/dist/themes/PrimerDark.ts +99 -0
- package/dist/themes/PrimerLight.md +14 -0
- package/dist/themes/PrimerLight.ts +93 -0
- package/dist/themes/RosePine.md +23 -0
- package/dist/themes/RosePine.ts +93 -0
- package/dist/themes/RosePineDawn.md +20 -0
- package/dist/themes/RosePineDawn.ts +51 -0
- package/dist/themes/SkandaDark.md +8 -0
- package/dist/themes/SkandaDark.ts +57 -0
- package/dist/themes/SkandaLight.md +8 -0
- package/dist/themes/SkandaLight.ts +96 -0
- package/dist/themes/SolarizedDark.md +8 -0
- package/dist/themes/SolarizedDark.ts +93 -0
- package/dist/themes/SolarizedLight.md +32 -0
- package/dist/themes/SolarizedLight.ts +93 -0
- package/dist/themes/SynthwaveDark.md +8 -0
- package/dist/themes/SynthwaveDark.ts +93 -0
- package/dist/themes/SynthwaveLight.md +20 -0
- package/dist/themes/SynthwaveLight.ts +48 -0
- package/dist/themes/Themes.test.ts +110 -0
- package/dist/themes/brands.test.ts +63 -0
- package/dist/themes/brands.ts +121 -0
- package/dist/themes/createBrandTheme.test.ts +223 -0
- package/dist/themes/createBrandTheme.ts +298 -0
- package/dist/themes/index.ts +54 -0
- package/package.json +73 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2026 SkandaDX
|
|
3
|
+
* This file is part of the SkandaDX organization.
|
|
4
|
+
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { type Theme, type ThemeOverride } from '../utils/theme';
|
|
8
|
+
|
|
9
|
+
/** The reference {@link Theme} ("skanda-light") every other theme overrides via {@link createTheme}. @public */
|
|
10
|
+
export const defaultTheme: Theme = {
|
|
11
|
+
name: 'skanda-light',
|
|
12
|
+
mode: 'light',
|
|
13
|
+
colors: {
|
|
14
|
+
primary: {
|
|
15
|
+
50: '#eef4ff',
|
|
16
|
+
100: '#dce7fd',
|
|
17
|
+
200: '#c0d4fc',
|
|
18
|
+
300: '#94b8fa',
|
|
19
|
+
400: '#6193f5',
|
|
20
|
+
500: '#3d6eef',
|
|
21
|
+
600: '#274ee3',
|
|
22
|
+
700: '#1f3bd0',
|
|
23
|
+
800: '#2032a9',
|
|
24
|
+
900: '#1f2f85',
|
|
25
|
+
950: '#171f51',
|
|
26
|
+
},
|
|
27
|
+
neutral: {
|
|
28
|
+
50: '#f8fafc',
|
|
29
|
+
100: '#f1f5f9',
|
|
30
|
+
200: '#e2e8f0',
|
|
31
|
+
300: '#cbd5e1',
|
|
32
|
+
400: '#94a3b8',
|
|
33
|
+
500: '#64748b',
|
|
34
|
+
600: '#475569',
|
|
35
|
+
700: '#334155',
|
|
36
|
+
800: '#1e293b',
|
|
37
|
+
900: '#0f172a',
|
|
38
|
+
950: '#020617',
|
|
39
|
+
},
|
|
40
|
+
success: {
|
|
41
|
+
50: '#f0fdf4',
|
|
42
|
+
100: '#dcfce7',
|
|
43
|
+
200: '#bbf7d0',
|
|
44
|
+
300: '#86efac',
|
|
45
|
+
400: '#4ade80',
|
|
46
|
+
500: '#22c55e',
|
|
47
|
+
600: '#16a34a',
|
|
48
|
+
700: '#15803d',
|
|
49
|
+
800: '#166534',
|
|
50
|
+
900: '#14532d',
|
|
51
|
+
950: '#052e16',
|
|
52
|
+
},
|
|
53
|
+
warning: {
|
|
54
|
+
50: '#fffbeb',
|
|
55
|
+
100: '#fef3c7',
|
|
56
|
+
200: '#fde68a',
|
|
57
|
+
300: '#fcd34d',
|
|
58
|
+
400: '#fbbf24',
|
|
59
|
+
500: '#f59e0b',
|
|
60
|
+
600: '#d97706',
|
|
61
|
+
700: '#b45309',
|
|
62
|
+
800: '#92400e',
|
|
63
|
+
900: '#78350f',
|
|
64
|
+
950: '#451a03',
|
|
65
|
+
},
|
|
66
|
+
danger: {
|
|
67
|
+
50: '#fef2f2',
|
|
68
|
+
100: '#fee2e2',
|
|
69
|
+
200: '#fecaca',
|
|
70
|
+
300: '#fca5a5',
|
|
71
|
+
400: '#f87171',
|
|
72
|
+
500: '#ef4444',
|
|
73
|
+
600: '#dc2626',
|
|
74
|
+
700: '#b91c1c',
|
|
75
|
+
800: '#991b1b',
|
|
76
|
+
900: '#7f1d1d',
|
|
77
|
+
950: '#450a0a',
|
|
78
|
+
},
|
|
79
|
+
semantic: {
|
|
80
|
+
background: '#ffffff',
|
|
81
|
+
surface: '#f8fafc',
|
|
82
|
+
surfaceHover: '#f1f5f9',
|
|
83
|
+
overlay: 'rgb(2 6 23 / 0.5)',
|
|
84
|
+
text: '#0f172a',
|
|
85
|
+
textMuted: '#64748b',
|
|
86
|
+
textInverted: '#ffffff',
|
|
87
|
+
border: '#e2e8f0',
|
|
88
|
+
borderStrong: '#7791b0',
|
|
89
|
+
focusRing: '#3d6eef',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
// strength: '1' is the reference every base alpha in foundation.ts's shadow geometry is calibrated against.
|
|
93
|
+
shadow: { color: '2 6 23', strength: '1' },
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
function isObject(value: unknown): value is Record<string, unknown> {
|
|
97
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function deepMerge<T>(base: T, override: Record<string, unknown>): T {
|
|
101
|
+
const result: Record<string, unknown> = { ...(base as Record<string, unknown>) };
|
|
102
|
+
for (const [key, value] of Object.entries(override)) {
|
|
103
|
+
if (value === undefined) continue;
|
|
104
|
+
const baseValue = result[key];
|
|
105
|
+
result[key] = isObject(baseValue) && isObject(value) ? deepMerge(baseValue, value) : value;
|
|
106
|
+
}
|
|
107
|
+
return result as T;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Deep-merges a {@link ThemeOverride} onto a base theme to produce a complete
|
|
112
|
+
* {@link Theme}, so brand themes only need to specify what differs.
|
|
113
|
+
*
|
|
114
|
+
* @param name - Unique theme name, e.g. `'acme'`. Becomes `theme.name` and the `[data-skdx-theme="acme"]` selector, overriding any `name` in `override`.
|
|
115
|
+
* @param override - Partial values to merge onto `base`. Objects merge key-by-key (deeply); primitives replace outright.
|
|
116
|
+
* @param base - Theme to merge onto. @default defaultTheme
|
|
117
|
+
* @returns A complete {@link Theme} ready for {@link themeToCss} or {@link applyTheme}.
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```ts
|
|
121
|
+
* import { createTheme } from '@skdx/tokens';
|
|
122
|
+
*
|
|
123
|
+
* const acme = createTheme('acme', {
|
|
124
|
+
* colors: { primary: { 500: '#e11d48', 600: '#be123c' }, semantic: { focusRing: '#e11d48' } },
|
|
125
|
+
* radii: { md: '0.25rem' },
|
|
126
|
+
* });
|
|
127
|
+
* ```
|
|
128
|
+
*
|
|
129
|
+
* @public
|
|
130
|
+
*/
|
|
131
|
+
export function createTheme(
|
|
132
|
+
name: string,
|
|
133
|
+
override: ThemeOverride = {},
|
|
134
|
+
base: Theme = defaultTheme,
|
|
135
|
+
): Theme {
|
|
136
|
+
return { ...deepMerge(base, override as Record<string, unknown>), name };
|
|
137
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
upstream: Dracula
|
|
3
|
+
deviations:
|
|
4
|
+
- token: text-muted
|
|
5
|
+
upstream: #929cc3
|
|
6
|
+
ours: #939dc4
|
|
7
|
+
reason: Read 4.48:1 against selected, under the 4.5:1 floor for body text.
|
|
8
|
+
Lightened on lightness alone, hue and saturation kept, to clear 4.5:1
|
|
9
|
+
against selected.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# themes/dracula-dark.ts
|
|
13
|
+
|
|
14
|
+
Character: Dracula purple primary actions (`#bd93f9` at 400, ramp centered on it), the classic `#282a36` background with slightly lifted `surface`/`surfaceHover` panels, Dracula's near-white foreground text (`#f8f8f2`), and a neutral ramp remapped to Dracula's "current line"/comment grays in its dark steps.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2026 SkandaDX
|
|
3
|
+
* This file is part of the SkandaDX organization.
|
|
4
|
+
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { Theme } from '../utils/theme';
|
|
8
|
+
|
|
9
|
+
/** Dracula inspired dark theme: purple actions on the classic #282a36 background. @public */
|
|
10
|
+
export const draculaDark: Theme = {
|
|
11
|
+
name: 'dracula',
|
|
12
|
+
mode: 'dark',
|
|
13
|
+
colors: {
|
|
14
|
+
primary: {
|
|
15
|
+
50: '#fbf9ff',
|
|
16
|
+
100: '#f6f0fe',
|
|
17
|
+
200: '#ebdffd',
|
|
18
|
+
300: '#dec9fc',
|
|
19
|
+
400: '#d2b6fb',
|
|
20
|
+
500: '#c8a4fa',
|
|
21
|
+
600: '#bd93f9',
|
|
22
|
+
700: '#9978ca',
|
|
23
|
+
800: '#7d62a5',
|
|
24
|
+
900: '#644f84',
|
|
25
|
+
950: '#3c3051',
|
|
26
|
+
},
|
|
27
|
+
neutral: {
|
|
28
|
+
50: '#f8fafc',
|
|
29
|
+
100: '#f1f5f9',
|
|
30
|
+
200: '#44475a',
|
|
31
|
+
300: '#565b74',
|
|
32
|
+
400: '#94a3b8',
|
|
33
|
+
500: '#64748b',
|
|
34
|
+
600: '#475569',
|
|
35
|
+
700: '#334155',
|
|
36
|
+
800: '#1e293b',
|
|
37
|
+
900: '#191a21',
|
|
38
|
+
950: '#020617',
|
|
39
|
+
},
|
|
40
|
+
success: {
|
|
41
|
+
50: '#f0fdf4',
|
|
42
|
+
100: '#dcfce7',
|
|
43
|
+
200: '#bbf7d0',
|
|
44
|
+
300: '#86efac',
|
|
45
|
+
400: '#4ade80',
|
|
46
|
+
500: '#50fa7b',
|
|
47
|
+
600: '#3fd968',
|
|
48
|
+
700: '#2fb355',
|
|
49
|
+
800: '#166534',
|
|
50
|
+
900: '#14532d',
|
|
51
|
+
950: '#052e16',
|
|
52
|
+
},
|
|
53
|
+
warning: {
|
|
54
|
+
50: '#fffbeb',
|
|
55
|
+
100: '#fef3c7',
|
|
56
|
+
200: '#fde68a',
|
|
57
|
+
300: '#fcd34d',
|
|
58
|
+
400: '#fbbf24',
|
|
59
|
+
500: '#ffb86c',
|
|
60
|
+
600: '#f5a15a',
|
|
61
|
+
700: '#d98443',
|
|
62
|
+
800: '#92400e',
|
|
63
|
+
900: '#78350f',
|
|
64
|
+
950: '#451a03',
|
|
65
|
+
},
|
|
66
|
+
danger: {
|
|
67
|
+
50: '#fef2f2',
|
|
68
|
+
100: '#fee2e2',
|
|
69
|
+
200: '#fecaca',
|
|
70
|
+
300: '#fca5a5',
|
|
71
|
+
400: '#f87171',
|
|
72
|
+
500: '#ff5555',
|
|
73
|
+
600: '#e64747',
|
|
74
|
+
700: '#c43a3a',
|
|
75
|
+
800: '#991b1b',
|
|
76
|
+
900: '#7f1d1d',
|
|
77
|
+
950: '#450a0a',
|
|
78
|
+
},
|
|
79
|
+
semantic: {
|
|
80
|
+
background: '#282a36',
|
|
81
|
+
surface: '#313342',
|
|
82
|
+
surfaceHover: '#3a3d4e',
|
|
83
|
+
overlay: 'rgb(0 0 0 / 0.6)',
|
|
84
|
+
text: '#f8f8f2',
|
|
85
|
+
textMuted: '#939dc4',
|
|
86
|
+
textInverted: '#282a36',
|
|
87
|
+
border: '#44475a',
|
|
88
|
+
borderStrong: '#777d9a',
|
|
89
|
+
focusRing: '#bd93f9',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
shadow: { color: '0 0 0', strength: '5.2' },
|
|
93
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
upstream: Alucard (Dracula's light theme)
|
|
3
|
+
deviations: []
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# themes/dracula-light.ts
|
|
7
|
+
|
|
8
|
+
Exports **`draculaLight`** — a light theme registered as `data-skdx-theme="dracula-light"`, the `dracula` brand's light mode — **Alucard**, Dracula's own published light theme rather than an inversion of the dark one — warm `#fffbeb` paper, `#1f1f1f` ink, olive-comment muted text (`#6c664b`), and Alucard's deeper `#644ac9` purple at 600 in place of Dracula's `#bd93f9`.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2026 SkandaDX
|
|
3
|
+
* This file is part of the SkandaDX organization.
|
|
4
|
+
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { Theme } from '../utils/theme';
|
|
8
|
+
import { createTheme } from './DefaultTheme';
|
|
9
|
+
import { draculaDark } from './DraculaDark';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Light counterpart of `dracula` — Alucard's published palette, not an inversion of the dark theme.
|
|
13
|
+
*
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export const draculaLight: Theme = createTheme(
|
|
17
|
+
'dracula-light',
|
|
18
|
+
{
|
|
19
|
+
mode: 'light',
|
|
20
|
+
colors: {
|
|
21
|
+
primary: {
|
|
22
|
+
50: '#f6f4fc',
|
|
23
|
+
100: '#e9e6f7',
|
|
24
|
+
200: '#d1c9ef',
|
|
25
|
+
300: '#b2a5e4',
|
|
26
|
+
400: '#9684da',
|
|
27
|
+
500: '#7d67d2',
|
|
28
|
+
600: '#644ac9',
|
|
29
|
+
700: '#523da4',
|
|
30
|
+
800: '#443386',
|
|
31
|
+
900: '#372a6c',
|
|
32
|
+
950: '#231c43',
|
|
33
|
+
},
|
|
34
|
+
neutral: { 200: '#eae5cf', 300: '#d9d3ba' },
|
|
35
|
+
// Dracula's neon status hues wash out on paper; these take Alucard's own light-mode values.
|
|
36
|
+
success: { 600: '#14710a' },
|
|
37
|
+
warning: { 600: '#846e15' },
|
|
38
|
+
danger: { 600: '#cb3a2a' },
|
|
39
|
+
semantic: {
|
|
40
|
+
background: '#fffbeb',
|
|
41
|
+
surface: '#f6f2e0',
|
|
42
|
+
surfaceHover: '#ede9d6',
|
|
43
|
+
overlay: 'rgb(31 31 31 / 0.4)',
|
|
44
|
+
text: '#1f1f1f',
|
|
45
|
+
textMuted: '#6c664b',
|
|
46
|
+
textInverted: '#ffffff',
|
|
47
|
+
border: '#eae5cf',
|
|
48
|
+
borderStrong: '#8a8468',
|
|
49
|
+
focusRing: '#644ac9',
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
shadow: { color: '2 6 23', strength: '1' },
|
|
53
|
+
},
|
|
54
|
+
draculaDark,
|
|
55
|
+
);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
upstream: none
|
|
3
|
+
deviations: []
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# themes/emerald-dark.ts
|
|
7
|
+
|
|
8
|
+
Exports **`emeraldDark`** — a dark theme registered as `data-skdx-theme="emerald-dark"`, the `emerald` brand's dark mode — emerald primaries shifted one step lighter (`#10b981` at 600) with dark inverted text (closing emerald-brand's known white-on-primary AA gap), on deep green-tinted surfaces (`background: #04211a`).
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2026 SkandaDX
|
|
3
|
+
* This file is part of the SkandaDX organization.
|
|
4
|
+
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { Theme } from '../utils/theme';
|
|
8
|
+
import { createTheme } from './DefaultTheme';
|
|
9
|
+
import { emeraldLight } from './EmeraldLight';
|
|
10
|
+
|
|
11
|
+
/** Dark counterpart of `emerald-brand`, shifting the primary ramp one step lighter with dark inverted text. @public */
|
|
12
|
+
export const emeraldDark: Theme = createTheme(
|
|
13
|
+
'emerald-dark',
|
|
14
|
+
{
|
|
15
|
+
mode: 'dark',
|
|
16
|
+
colors: {
|
|
17
|
+
primary: { 400: '#6ee7b7', 500: '#34d399', 600: '#10b981', 700: '#059669' },
|
|
18
|
+
neutral: { 200: '#14453a', 300: '#1e5c4c', 800: '#06392d', 900: '#04211a', 950: '#021711' },
|
|
19
|
+
semantic: {
|
|
20
|
+
background: '#04211a',
|
|
21
|
+
surface: '#06392d',
|
|
22
|
+
surfaceHover: '#0b4a3b',
|
|
23
|
+
overlay: 'rgb(0 0 0 / 0.6)',
|
|
24
|
+
text: '#e7f6ee',
|
|
25
|
+
textMuted: '#8fb3a4',
|
|
26
|
+
textInverted: '#04211a',
|
|
27
|
+
border: '#14453a',
|
|
28
|
+
borderStrong: '#2d8a72',
|
|
29
|
+
focusRing: '#34d399',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
shadow: { color: '0 0 0', strength: '4.7' },
|
|
33
|
+
},
|
|
34
|
+
emeraldLight,
|
|
35
|
+
);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
upstream: none
|
|
3
|
+
deviations: []
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# themes/emerald-light.ts
|
|
7
|
+
|
|
8
|
+
Character: fresh emerald primary ramp (`#10b981` at 500), soft mint-tinted surfaces (`background: #fbfefc`, green-tinged `surface`/`surfaceHover`), deep green text (`#0d2b1e`), and notably tight corners (`sm: 0.125rem` … `xl: 0.5rem`) compared to the default theme. Typography and spacing follow the default system stack.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2026 SkandaDX
|
|
3
|
+
* This file is part of the SkandaDX organization.
|
|
4
|
+
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { Theme } from '../utils/theme';
|
|
8
|
+
|
|
9
|
+
/** Emerald green brand: fresh greens with soft mint surfaces and tight corners. @public */
|
|
10
|
+
export const emeraldLight: Theme = {
|
|
11
|
+
name: 'emerald-brand',
|
|
12
|
+
mode: 'light',
|
|
13
|
+
colors: {
|
|
14
|
+
primary: {
|
|
15
|
+
50: '#ecfdf5',
|
|
16
|
+
100: '#d1fae5',
|
|
17
|
+
200: '#a7f3d0',
|
|
18
|
+
300: '#6ee7b7',
|
|
19
|
+
400: '#34d399',
|
|
20
|
+
500: '#10b981',
|
|
21
|
+
600: '#059669',
|
|
22
|
+
700: '#047857',
|
|
23
|
+
800: '#065f46',
|
|
24
|
+
900: '#064e3b',
|
|
25
|
+
950: '#022c22',
|
|
26
|
+
},
|
|
27
|
+
neutral: {
|
|
28
|
+
50: '#f8fafc',
|
|
29
|
+
100: '#f1f5f9',
|
|
30
|
+
200: '#e2e8f0',
|
|
31
|
+
300: '#cbd5e1',
|
|
32
|
+
400: '#94a3b8',
|
|
33
|
+
500: '#64748b',
|
|
34
|
+
600: '#475569',
|
|
35
|
+
700: '#334155',
|
|
36
|
+
800: '#1e293b',
|
|
37
|
+
900: '#0f172a',
|
|
38
|
+
950: '#020617',
|
|
39
|
+
},
|
|
40
|
+
success: {
|
|
41
|
+
50: '#f0fdf4',
|
|
42
|
+
100: '#dcfce7',
|
|
43
|
+
200: '#bbf7d0',
|
|
44
|
+
300: '#86efac',
|
|
45
|
+
400: '#4ade80',
|
|
46
|
+
500: '#22c55e',
|
|
47
|
+
600: '#16a34a',
|
|
48
|
+
700: '#15803d',
|
|
49
|
+
800: '#166534',
|
|
50
|
+
900: '#14532d',
|
|
51
|
+
950: '#052e16',
|
|
52
|
+
},
|
|
53
|
+
warning: {
|
|
54
|
+
50: '#fffbeb',
|
|
55
|
+
100: '#fef3c7',
|
|
56
|
+
200: '#fde68a',
|
|
57
|
+
300: '#fcd34d',
|
|
58
|
+
400: '#fbbf24',
|
|
59
|
+
500: '#f59e0b',
|
|
60
|
+
600: '#d97706',
|
|
61
|
+
700: '#b45309',
|
|
62
|
+
800: '#92400e',
|
|
63
|
+
900: '#78350f',
|
|
64
|
+
950: '#451a03',
|
|
65
|
+
},
|
|
66
|
+
danger: {
|
|
67
|
+
50: '#fef2f2',
|
|
68
|
+
100: '#fee2e2',
|
|
69
|
+
200: '#fecaca',
|
|
70
|
+
300: '#fca5a5',
|
|
71
|
+
400: '#f87171',
|
|
72
|
+
500: '#ef4444',
|
|
73
|
+
600: '#dc2626',
|
|
74
|
+
700: '#b91c1c',
|
|
75
|
+
800: '#991b1b',
|
|
76
|
+
900: '#7f1d1d',
|
|
77
|
+
950: '#450a0a',
|
|
78
|
+
},
|
|
79
|
+
semantic: {
|
|
80
|
+
background: '#fbfefc',
|
|
81
|
+
surface: '#f2faf5',
|
|
82
|
+
surfaceHover: '#e6f5ec',
|
|
83
|
+
overlay: 'rgb(2 44 34 / 0.5)',
|
|
84
|
+
text: '#0d2b1e',
|
|
85
|
+
textMuted: '#576d64',
|
|
86
|
+
textInverted: '#1c1c1c',
|
|
87
|
+
border: '#d8ebe0',
|
|
88
|
+
borderStrong: '#529e75',
|
|
89
|
+
focusRing: '#059669',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
shadow: { color: '2 6 23', strength: '1' },
|
|
93
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
upstream: Everforest
|
|
3
|
+
deviations:
|
|
4
|
+
- token: danger-600
|
|
5
|
+
upstream: none
|
|
6
|
+
ours: #cf5457
|
|
7
|
+
reason: Read 2.30:1 against the theme background, under the 3:1 floor for status
|
|
8
|
+
ramps. Lightened on lightness alone, hue and saturation kept, to reach 3.00:1
|
|
9
|
+
contrast against the theme background.
|
|
10
|
+
- token: success-600
|
|
11
|
+
upstream: none
|
|
12
|
+
ours: #438b59
|
|
13
|
+
reason: Read 2.24:1 against the theme background, under the 3:1 floor for status
|
|
14
|
+
ramps. Lightened on lightness alone, hue and saturation kept, to reach 3.01:1
|
|
15
|
+
contrast against the theme background.
|
|
16
|
+
- token: warning-600
|
|
17
|
+
upstream: none
|
|
18
|
+
ours: #a87129
|
|
19
|
+
reason: Read 2.91:1 against the theme background, under the 3:1 floor for status
|
|
20
|
+
ramps. Lightened on lightness alone, hue and saturation kept, to reach 3.00:1
|
|
21
|
+
contrast against the theme background.
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# themes/everforest-dark.ts
|
|
25
|
+
|
|
26
|
+
Character: forest `#2d353b` background with `#343f44` surfaces, sage green actions (`#a7c080` at 300) with dark inverted text, aqua/yellow/red status hues, warm cream text (`#d3c6aa`), and a neutral ramp built from the Everforest bg/grey tones.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2026 SkandaDX
|
|
3
|
+
* This file is part of the SkandaDX organization.
|
|
4
|
+
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { Theme } from '../utils/theme';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Everforest Dark inspired theme: green-on-forest palette with
|
|
11
|
+
* warm cream text, sage green actions, and aqua/yellow/red status hues.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export const everforestDark: Theme = {
|
|
16
|
+
name: 'everforest-dark',
|
|
17
|
+
mode: 'dark',
|
|
18
|
+
colors: {
|
|
19
|
+
primary: {
|
|
20
|
+
50: '#fafbf7',
|
|
21
|
+
100: '#f3f6ed',
|
|
22
|
+
200: '#e5ecd9',
|
|
23
|
+
300: '#d3e0c0',
|
|
24
|
+
400: '#c3d4a9',
|
|
25
|
+
500: '#b5ca94',
|
|
26
|
+
600: '#a7c080',
|
|
27
|
+
700: '#889c69',
|
|
28
|
+
800: '#6e7e57',
|
|
29
|
+
900: '#596548',
|
|
30
|
+
950: '#363d2f',
|
|
31
|
+
},
|
|
32
|
+
neutral: {
|
|
33
|
+
50: '#f7f4eb',
|
|
34
|
+
100: '#ece4cf',
|
|
35
|
+
200: '#3d484d',
|
|
36
|
+
300: '#475258',
|
|
37
|
+
400: '#9da9a0',
|
|
38
|
+
500: '#859289',
|
|
39
|
+
600: '#7a8478',
|
|
40
|
+
700: '#4f585e',
|
|
41
|
+
800: '#3d484d',
|
|
42
|
+
900: '#232a2e',
|
|
43
|
+
950: '#232a2e',
|
|
44
|
+
},
|
|
45
|
+
success: {
|
|
46
|
+
50: '#f1f9f3',
|
|
47
|
+
100: '#def0e3',
|
|
48
|
+
200: '#c1e2ca',
|
|
49
|
+
300: '#83c092',
|
|
50
|
+
400: '#62ab74',
|
|
51
|
+
500: '#47905c',
|
|
52
|
+
600: '#438b59',
|
|
53
|
+
700: '#305d3e',
|
|
54
|
+
800: '#2a4a34',
|
|
55
|
+
900: '#253e2e',
|
|
56
|
+
950: '#112218',
|
|
57
|
+
},
|
|
58
|
+
warning: {
|
|
59
|
+
50: '#fcf9f0',
|
|
60
|
+
100: '#f8f0db',
|
|
61
|
+
200: '#f0e0b4',
|
|
62
|
+
300: '#dbbc7f',
|
|
63
|
+
400: '#cfa254',
|
|
64
|
+
500: '#c08a35',
|
|
65
|
+
600: '#a87129',
|
|
66
|
+
700: '#845424',
|
|
67
|
+
800: '#6c4423',
|
|
68
|
+
900: '#5b3a21',
|
|
69
|
+
950: '#331d0e',
|
|
70
|
+
},
|
|
71
|
+
danger: {
|
|
72
|
+
50: '#fdf3f3',
|
|
73
|
+
100: '#fbe5e5',
|
|
74
|
+
200: '#f8d0d1',
|
|
75
|
+
300: '#f2abac',
|
|
76
|
+
400: '#e67e80',
|
|
77
|
+
500: '#d75052',
|
|
78
|
+
600: '#cf5457',
|
|
79
|
+
700: '#a2292c',
|
|
80
|
+
800: '#862527',
|
|
81
|
+
900: '#732426',
|
|
82
|
+
950: '#3e0e0f',
|
|
83
|
+
},
|
|
84
|
+
semantic: {
|
|
85
|
+
background: '#2d353b',
|
|
86
|
+
surface: '#343f44',
|
|
87
|
+
surfaceHover: '#3d484d',
|
|
88
|
+
overlay: 'rgb(0 0 0 / 0.6)',
|
|
89
|
+
text: '#d3c6aa',
|
|
90
|
+
// Lightened from the palette's grey-1 #a0aaa3 so muted text clears 4.5:1 on surface-sunken.
|
|
91
|
+
textMuted: '#aeb6b0',
|
|
92
|
+
textInverted: '#2d353b',
|
|
93
|
+
border: '#3d484d',
|
|
94
|
+
borderStrong: '#7b8b94',
|
|
95
|
+
focusRing: '#a7c080',
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
shadow: { color: '0 0 0', strength: '4.7' },
|
|
99
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
upstream: Everforest
|
|
3
|
+
deviations:
|
|
4
|
+
- token: primary-600
|
|
5
|
+
upstream: #8da101 (500)
|
|
6
|
+
ours: #6b7a00
|
|
7
|
+
reason: Everforest light's olive green at 500 fails AA contrast for white label text
|
|
8
|
+
on filled buttons. Darkened one step in lightness only, hue and saturation kept.
|
|
9
|
+
- token: text
|
|
10
|
+
upstream: #5c6a72
|
|
11
|
+
ours: #58666d
|
|
12
|
+
reason: Read 4.29:1 against pressed and 3.08:1 against the secondary button's
|
|
13
|
+
pressed fill, under the 4.5:1 floor for body text. Darkened on lightness
|
|
14
|
+
alone, hue and saturation kept, to clear 4.5:1 against both fills.
|
|
15
|
+
- token: text-muted
|
|
16
|
+
upstream: #626f61
|
|
17
|
+
ours: #5b675a
|
|
18
|
+
reason: Read 4.41:1 against hover and 4.06:1 against pressed, under the 4.5:1
|
|
19
|
+
floor for body text. Darkened on lightness alone, hue and saturation kept,
|
|
20
|
+
to clear 4.5:1 against both fills.
|
|
21
|
+
- token: neutral-600
|
|
22
|
+
upstream: #7a8478
|
|
23
|
+
ours: #798377
|
|
24
|
+
reason: Everforest light's disabled ink read 2.98:1 against pressed, under the
|
|
25
|
+
3:1 floor for disabled ink. Darkened on lightness alone, hue and saturation
|
|
26
|
+
kept, to clear 3:1 against pressed.
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# themes/everforest-light.ts
|
|
30
|
+
|
|
31
|
+
Exports **`everforestLight`** — a light theme registered as `data-skdx-theme="everforest-light"`, the `everforest` brand's light mode, built on Everforest's light palette — `background: #fdf6e3`, sage-green text, and Everforest light's own olive green (`#8da101` at 500) darkened to `#6b7a00` at 600 so white labels pass AA — not the dark palette's sage `#a7c080`.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2026 SkandaDX
|
|
3
|
+
* This file is part of the SkandaDX organization.
|
|
4
|
+
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { Theme } from '../utils/theme';
|
|
8
|
+
import { createTheme } from './DefaultTheme';
|
|
9
|
+
import { everforestDark } from './EverforestDark';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Light counterpart of `everforest-dark`, with Everforest's light palette (#fdf6e3 background, sage greens) and its light-specific green (#8da101).
|
|
13
|
+
*
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export const everforestLight: Theme = createTheme(
|
|
17
|
+
'everforest-light',
|
|
18
|
+
{
|
|
19
|
+
mode: 'light',
|
|
20
|
+
colors: {
|
|
21
|
+
primary: {
|
|
22
|
+
50: '#f6f7f0',
|
|
23
|
+
100: '#eaecdb',
|
|
24
|
+
200: '#d3d7b3',
|
|
25
|
+
300: '#b5bd80',
|
|
26
|
+
400: '#9aa552',
|
|
27
|
+
500: '#8da101',
|
|
28
|
+
600: '#6b7a00',
|
|
29
|
+
700: '#586403',
|
|
30
|
+
800: '#485205',
|
|
31
|
+
900: '#3b4208',
|
|
32
|
+
950: '#25290b',
|
|
33
|
+
},
|
|
34
|
+
neutral: { 200: '#e6e2cc', 300: '#bdc3af', 600: '#798377' },
|
|
35
|
+
semantic: {
|
|
36
|
+
background: '#fdf6e3',
|
|
37
|
+
surface: '#f4f0d9',
|
|
38
|
+
surfaceHover: '#efebd4',
|
|
39
|
+
overlay: 'rgb(45 53 59 / 0.4)',
|
|
40
|
+
text: '#58666d',
|
|
41
|
+
textMuted: '#5b675a',
|
|
42
|
+
textInverted: '#ffffff',
|
|
43
|
+
border: '#e6e2cc',
|
|
44
|
+
borderStrong: '#838d6a',
|
|
45
|
+
focusRing: '#6b7a00',
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
shadow: { color: '2 6 23', strength: '1' },
|
|
49
|
+
},
|
|
50
|
+
everforestDark,
|
|
51
|
+
);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
upstream: Microsoft Fluent 2
|
|
3
|
+
deviations: []
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# themes/fluent-dark.ts
|
|
7
|
+
|
|
8
|
+
Exports **`fluentDark`** — a dark theme registered as `data-skdx-theme="fluent-dark"`, the `fluent` brand's dark mode, following Microsoft Fluent 2 dark neutrals — `background: #1f1f1f`, `surface: #292929`, white text, and the same Fluent blue primary ramp with the brighter `#479ef5` focus ring.
|