@goliapkg/gds 1.7.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{avatar-l3SaMCmU.js → avatar-Ct8OOGx6.js} +5 -5
- package/dist/avatar-Ct8OOGx6.js.map +1 -0
- package/dist/{badge-DTJq6AXr.js → badge-BCvi5RVF.js} +4 -4
- package/dist/badge-BCvi5RVF.js.map +1 -0
- package/dist/{button-avu-rQU4.js → button-BD3VHhwq.js} +2 -2
- package/dist/button-BD3VHhwq.js.map +1 -0
- package/dist/fonts.css +77 -11
- package/dist/{gesture-irjS0hVM.js → gesture-I79dlTuS.js} +1 -1
- package/dist/gesture-I79dlTuS.js.map +1 -0
- package/dist/highlight-BAGZc-4h.js.map +1 -1
- package/dist/hooks-BE-_EmDI.js.map +1 -1
- package/dist/{icon-button-YatlVZnz.js → icon-button-Bns79124.js} +3 -3
- package/dist/icon-button-Bns79124.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -29
- package/dist/l0-tokens/color-derive.d.ts.map +1 -1
- package/dist/l0-tokens/color-health.d.ts.map +1 -1
- package/dist/l0-tokens/color-math.d.ts.map +1 -1
- package/dist/l0-tokens/deps.d.ts.map +1 -1
- package/dist/l0-tokens/font-system.d.ts.map +1 -1
- package/dist/l0-tokens/generate-defaults.d.ts.map +1 -1
- package/dist/l0-tokens/glass-system.d.ts.map +1 -1
- package/dist/l0-tokens/index.d.ts +12 -12
- package/dist/l0-tokens/index.d.ts.map +1 -1
- package/dist/l0-tokens/index.js +1 -1
- package/dist/l0-tokens/motion-system.d.ts +1 -0
- package/dist/l0-tokens/motion-system.d.ts.map +1 -1
- package/dist/l0-tokens/shadow-system.d.ts.map +1 -1
- package/dist/l0-tokens/size-system.d.ts.map +1 -1
- package/dist/l0-tokens-DZkyVlac.js.map +1 -1
- package/dist/l1-systems/index.d.ts +2 -2
- package/dist/l1-systems/index.d.ts.map +1 -1
- package/dist/l1-systems/index.js +9 -9
- package/dist/l1-systems/theme.d.ts +30 -2
- package/dist/l1-systems/theme.d.ts.map +1 -1
- package/dist/l1-systems/use-theme.d.ts.map +1 -1
- package/dist/l2-primitives/aspect-ratio.d.ts.map +1 -1
- package/dist/l2-primitives/badge-dot.d.ts.map +1 -1
- package/dist/l2-primitives/badge.d.ts.map +1 -1
- package/dist/l2-primitives/button.d.ts.map +1 -1
- package/dist/l2-primitives/divider.d.ts.map +1 -1
- package/dist/l2-primitives/dot.d.ts.map +1 -1
- package/dist/l2-primitives/focus-ring.d.ts +9 -3
- package/dist/l2-primitives/focus-ring.d.ts.map +1 -1
- package/dist/l2-primitives/glow-effect.d.ts +8 -2
- package/dist/l2-primitives/glow-effect.d.ts.map +1 -1
- package/dist/l2-primitives/gradient-border.d.ts +8 -2
- package/dist/l2-primitives/gradient-border.d.ts.map +1 -1
- package/dist/l2-primitives/highlight.d.ts.map +1 -1
- package/dist/l2-primitives/index.js +8 -8
- package/dist/l2-primitives/input.d.ts +16 -0
- package/dist/l2-primitives/input.d.ts.map +1 -1
- package/dist/l2-primitives/kbd.d.ts.map +1 -1
- package/dist/l2-primitives/label.d.ts.map +1 -1
- package/dist/l2-primitives/loading.d.ts +21 -6
- package/dist/l2-primitives/loading.d.ts.map +1 -1
- package/dist/l2-primitives/number-input.d.ts.map +1 -1
- package/dist/l2-primitives/number-stepper.d.ts.map +1 -1
- package/dist/l2-primitives/progress.d.ts.map +1 -1
- package/dist/l2-primitives/scroll-area.d.ts.map +1 -1
- package/dist/l2-primitives/separator.d.ts.map +1 -1
- package/dist/l2-primitives/shimmer.d.ts.map +1 -1
- package/dist/l2-primitives/skeleton.d.ts.map +1 -1
- package/dist/l2-primitives/slider.d.ts.map +1 -1
- package/dist/l2-primitives/spinner.d.ts.map +1 -1
- package/dist/l2-primitives/truncate.d.ts +8 -2
- package/dist/l2-primitives/truncate.d.ts.map +1 -1
- package/dist/l2-primitives/visually-hidden.d.ts.map +1 -1
- package/dist/{l2-primitives-Le0006ck.js → l2-primitives-Cn0KNxbB.js} +84 -67
- package/dist/l2-primitives-Cn0KNxbB.js.map +1 -0
- package/dist/l3-atoms/animated-border.d.ts +1 -1
- package/dist/l3-atoms/animated-border.d.ts.map +1 -1
- package/dist/l3-atoms/animated-counter.d.ts.map +1 -1
- package/dist/l3-atoms/animated-number.d.ts.map +1 -1
- package/dist/l3-atoms/avatar-badge.d.ts.map +1 -1
- package/dist/l3-atoms/avatar.d.ts.map +1 -1
- package/dist/l3-atoms/barcode.d.ts.map +1 -1
- package/dist/l3-atoms/blinking.d.ts.map +1 -1
- package/dist/l3-atoms/bounce-dot.d.ts.map +1 -1
- package/dist/l3-atoms/checkbox-group.d.ts.map +1 -1
- package/dist/l3-atoms/checkbox.d.ts.map +1 -1
- package/dist/l3-atoms/chip.d.ts.map +1 -1
- package/dist/l3-atoms/color-swatch.d.ts.map +1 -1
- package/dist/l3-atoms/copy-button.d.ts.map +1 -1
- package/dist/l3-atoms/count-badge.d.ts.map +1 -1
- package/dist/l3-atoms/count-up.d.ts.map +1 -1
- package/dist/l3-atoms/countdown-badge.d.ts.map +1 -1
- package/dist/l3-atoms/countdown.d.ts.map +1 -1
- package/dist/l3-atoms/cursor-follow.d.ts.map +1 -1
- package/dist/l3-atoms/diff-indicator.d.ts.map +1 -1
- package/dist/l3-atoms/glow-dot.d.ts.map +1 -1
- package/dist/l3-atoms/gradient-text.d.ts.map +1 -1
- package/dist/l3-atoms/heat-cell.d.ts.map +1 -1
- package/dist/l3-atoms/hotkey.d.ts.map +1 -1
- package/dist/l3-atoms/index.d.ts +4 -4
- package/dist/l3-atoms/index.d.ts.map +1 -1
- package/dist/l3-atoms/index.js +6 -6
- package/dist/l3-atoms/info-tip.d.ts.map +1 -1
- package/dist/l3-atoms/key-value.d.ts.map +1 -1
- package/dist/l3-atoms/keyboard-shortcut.d.ts.map +1 -1
- package/dist/l3-atoms/live-dot.d.ts.map +1 -1
- package/dist/l3-atoms/loading-dots.d.ts.map +1 -1
- package/dist/l3-atoms/magnetic-button.d.ts.map +1 -1
- package/dist/l3-atoms/marquee.d.ts.map +1 -1
- package/dist/l3-atoms/meter.d.ts.map +1 -1
- package/dist/l3-atoms/number-flow.d.ts.map +1 -1
- package/dist/l3-atoms/online-indicator.d.ts.map +1 -1
- package/dist/l3-atoms/orbit.d.ts +1 -1
- package/dist/l3-atoms/orbit.d.ts.map +1 -1
- package/dist/l3-atoms/percentage-circle.d.ts.map +1 -1
- package/dist/l3-atoms/percentage.d.ts.map +1 -1
- package/dist/l3-atoms/price.d.ts.map +1 -1
- package/dist/l3-atoms/progress-circle.d.ts.map +1 -1
- package/dist/l3-atoms/progress-ring.d.ts.map +1 -1
- package/dist/l3-atoms/pulse-indicator.d.ts.map +1 -1
- package/dist/l3-atoms/pulse-ring.d.ts.map +1 -1
- package/dist/l3-atoms/qr-code.d.ts.map +1 -1
- package/dist/l3-atoms/quick-action.d.ts.map +1 -1
- package/dist/l3-atoms/radio-group.d.ts.map +1 -1
- package/dist/l3-atoms/range-slider.d.ts.map +1 -1
- package/dist/l3-atoms/rating.d.ts.map +1 -1
- package/dist/l3-atoms/ribbon-banner.d.ts.map +1 -1
- package/dist/l3-atoms/ribbon.d.ts.map +1 -1
- package/dist/l3-atoms/ripple-effect.d.ts.map +1 -1
- package/dist/l3-atoms/scroll-to-top.d.ts.map +1 -1
- package/dist/l3-atoms/segmented-control.d.ts +1 -1
- package/dist/l3-atoms/segmented-control.d.ts.map +1 -1
- package/dist/l3-atoms/shortcut-display.d.ts.map +1 -1
- package/dist/l3-atoms/skeleton-group.d.ts.map +1 -1
- package/dist/l3-atoms/sparkle.d.ts.map +1 -1
- package/dist/l3-atoms/stagger.d.ts +1 -1
- package/dist/l3-atoms/stagger.d.ts.map +1 -1
- package/dist/l3-atoms/star-rating.d.ts.map +1 -1
- package/dist/l3-atoms/status-badge.d.ts.map +1 -1
- package/dist/l3-atoms/status-dot.d.ts.map +1 -1
- package/dist/l3-atoms/switch-group.d.ts.map +1 -1
- package/dist/l3-atoms/switch.d.ts.map +1 -1
- package/dist/l3-atoms/text-badge.d.ts.map +1 -1
- package/dist/l3-atoms/text-effect.d.ts.map +1 -1
- package/dist/l3-atoms/textarea-counter.d.ts.map +1 -1
- package/dist/l3-atoms/theme-toggle.d.ts.map +1 -1
- package/dist/l3-atoms/toggle-group.d.ts.map +1 -1
- package/dist/l3-atoms/tooltip.d.ts.map +1 -1
- package/dist/l3-atoms/trend-arrow.d.ts.map +1 -1
- package/dist/l3-atoms/trend-indicator.d.ts +1 -1
- package/dist/l3-atoms/trend-indicator.d.ts.map +1 -1
- package/dist/l3-atoms/truncated-list.d.ts.map +1 -1
- package/dist/l3-atoms/verified-badge.d.ts.map +1 -1
- package/dist/l3-atoms/visual-counter.d.ts.map +1 -1
- package/dist/l3-atoms/volume-slider.d.ts +1 -1
- package/dist/l3-atoms/volume-slider.d.ts.map +1 -1
- package/dist/l3-atoms/zoom-on-hover.d.ts.map +1 -1
- package/dist/{l3-atoms-Cvu01YHO.js → l3-atoms-BCJNqPHk.js} +199 -236
- package/dist/l3-atoms-BCJNqPHk.js.map +1 -0
- package/dist/l4-molecules/accordion.d.ts +2 -2
- package/dist/l4-molecules/accordion.d.ts.map +1 -1
- package/dist/l4-molecules/action-card.d.ts.map +1 -1
- package/dist/l4-molecules/action-menu.d.ts.map +1 -1
- package/dist/l4-molecules/activity-log.d.ts.map +1 -1
- package/dist/l4-molecules/alert.d.ts.map +1 -1
- package/dist/l4-molecules/audit-entry.d.ts.map +1 -1
- package/dist/l4-molecules/banner.d.ts.map +1 -1
- package/dist/l4-molecules/before-after.d.ts.map +1 -1
- package/dist/l4-molecules/breadcrumb.d.ts.map +1 -1
- package/dist/l4-molecules/bulk-action-bar.d.ts.map +1 -1
- package/dist/l4-molecules/callout.d.ts.map +1 -1
- package/dist/l4-molecules/card.d.ts +1 -1
- package/dist/l4-molecules/card.d.ts.map +1 -1
- package/dist/l4-molecules/category-tag.d.ts.map +1 -1
- package/dist/l4-molecules/cert-badge.d.ts.map +1 -1
- package/dist/l4-molecules/chip-group.d.ts.map +1 -1
- package/dist/l4-molecules/circular-menu.d.ts.map +1 -1
- package/dist/l4-molecules/code-block.d.ts.map +1 -1
- package/dist/l4-molecules/code-snippet.d.ts.map +1 -1
- package/dist/l4-molecules/collapsible.d.ts +1 -1
- package/dist/l4-molecules/collapsible.d.ts.map +1 -1
- package/dist/l4-molecules/color-picker.d.ts.map +1 -1
- package/dist/l4-molecules/combobox-list.d.ts +4 -1
- package/dist/l4-molecules/combobox-list.d.ts.map +1 -1
- package/dist/l4-molecules/combobox.d.ts +5 -0
- package/dist/l4-molecules/combobox.d.ts.map +1 -1
- package/dist/l4-molecules/command-bar-float.d.ts.map +1 -1
- package/dist/l4-molecules/command-bar.d.ts.map +1 -1
- package/dist/l4-molecules/command-menu.d.ts.map +1 -1
- package/dist/l4-molecules/comparison-bar.d.ts.map +1 -1
- package/dist/l4-molecules/confirm-dialog.d.ts.map +1 -1
- package/dist/l4-molecules/context-menu.d.ts +1 -1
- package/dist/l4-molecules/context-menu.d.ts.map +1 -1
- package/dist/l4-molecules/copy-field.d.ts.map +1 -1
- package/dist/l4-molecules/copy-to-clipboard.d.ts.map +1 -1
- package/dist/l4-molecules/countdown-timer.d.ts.map +1 -1
- package/dist/l4-molecules/currency-display.d.ts.map +1 -1
- package/dist/l4-molecules/currency-input.d.ts.map +1 -1
- package/dist/l4-molecules/data-card.d.ts.map +1 -1
- package/dist/l4-molecules/date-display.d.ts.map +1 -1
- package/dist/l4-molecules/date-range-input.d.ts.map +1 -1
- package/dist/l4-molecules/description.d.ts.map +1 -1
- package/dist/l4-molecules/dialog.d.ts.map +1 -1
- package/dist/l4-molecules/dock.d.ts.map +1 -1
- package/dist/l4-molecules/download-button.d.ts.map +1 -1
- package/dist/l4-molecules/drawer.d.ts.map +1 -1
- package/dist/l4-molecules/drop-zone.d.ts.map +1 -1
- package/dist/l4-molecules/dropdown.d.ts +1 -1
- package/dist/l4-molecules/dropdown.d.ts.map +1 -1
- package/dist/l4-molecules/editable.d.ts.map +1 -1
- package/dist/l4-molecules/email-composer-field.d.ts +38 -0
- package/dist/l4-molecules/email-composer-field.d.ts.map +1 -0
- package/dist/l4-molecules/emoji-picker.d.ts.map +1 -1
- package/dist/l4-molecules/empty-placeholder.d.ts.map +1 -1
- package/dist/l4-molecules/empty-search.d.ts.map +1 -1
- package/dist/l4-molecules/environment-badge.d.ts.map +1 -1
- package/dist/l4-molecules/feature-flag.d.ts.map +1 -1
- package/dist/l4-molecules/field-group.d.ts.map +1 -1
- package/dist/l4-molecules/file-upload.d.ts.map +1 -1
- package/dist/l4-molecules/filter-bar.d.ts.map +1 -1
- package/dist/l4-molecules/flip-card.d.ts.map +1 -1
- package/dist/l4-molecules/form-actions.d.ts.map +1 -1
- package/dist/l4-molecules/form-field.d.ts.map +1 -1
- package/dist/l4-molecules/glass-button.d.ts.map +1 -1
- package/dist/l4-molecules/glass-card.d.ts.map +1 -1
- package/dist/l4-molecules/glitch-text.d.ts.map +1 -1
- package/dist/l4-molecules/hover-card.d.ts.map +1 -1
- package/dist/l4-molecules/index.d.ts +11 -5
- package/dist/l4-molecules/index.d.ts.map +1 -1
- package/dist/l4-molecules/index.js +4 -4
- package/dist/l4-molecules/info-row.d.ts.map +1 -1
- package/dist/l4-molecules/inline-edit.d.ts.map +1 -1
- package/dist/l4-molecules/input-group.d.ts.map +1 -1
- package/dist/l4-molecules/input-with-button.d.ts.map +1 -1
- package/dist/l4-molecules/key-value-list.d.ts.map +1 -1
- package/dist/l4-molecules/kv-table.d.ts.map +1 -1
- package/dist/l4-molecules/link-preview.d.ts.map +1 -1
- package/dist/l4-molecules/list-item.d.ts.map +1 -1
- package/dist/l4-molecules/live-metric.d.ts.map +1 -1
- package/dist/l4-molecules/matrix-rain.d.ts.map +1 -1
- package/dist/l4-molecules/media-container.d.ts.map +1 -1
- package/dist/l4-molecules/media-object.d.ts.map +1 -1
- package/dist/l4-molecules/mention-input.d.ts.map +1 -1
- package/dist/l4-molecules/mention-list.d.ts +1 -1
- package/dist/l4-molecules/mention-list.d.ts.map +1 -1
- package/dist/l4-molecules/metric-row.d.ts.map +1 -1
- package/dist/l4-molecules/metric-tile.d.ts.map +1 -1
- package/dist/l4-molecules/morphing-shape.d.ts.map +1 -1
- package/dist/l4-molecules/multi-select-list.d.ts.map +1 -1
- package/dist/l4-molecules/multi-select.d.ts.map +1 -1
- package/dist/l4-molecules/nav-item.d.ts.map +1 -1
- package/dist/l4-molecules/network-status.d.ts.map +1 -1
- package/dist/l4-molecules/noise-overlay.d.ts.map +1 -1
- package/dist/l4-molecules/notification-bell.d.ts.map +1 -1
- package/dist/l4-molecules/notification-dot.d.ts.map +1 -1
- package/dist/l4-molecules/notification.d.ts.map +1 -1
- package/dist/l4-molecules/num-table.d.ts.map +1 -1
- package/dist/l4-molecules/otp-input.d.ts.map +1 -1
- package/dist/l4-molecules/overflow-menu.d.ts.map +1 -1
- package/dist/l4-molecules/page-nav.d.ts.map +1 -1
- package/dist/l4-molecules/pagination.d.ts.map +1 -1
- package/dist/l4-molecules/panel.d.ts.map +1 -1
- package/dist/l4-molecules/particle-field.d.ts.map +1 -1
- package/dist/l4-molecules/password-input.d.ts.map +1 -1
- package/dist/l4-molecules/phone-input.d.ts.map +1 -1
- package/dist/l4-molecules/pin-input.d.ts.map +1 -1
- package/dist/l4-molecules/popover.d.ts.map +1 -1
- package/dist/l4-molecules/progress-steps.d.ts.map +1 -1
- package/dist/l4-molecules/quick-stat.d.ts.map +1 -1
- package/dist/l4-molecules/radio-card.d.ts.map +1 -1
- package/dist/l4-molecules/reveal.d.ts.map +1 -1
- package/dist/l4-molecules/scoreboard.d.ts.map +1 -1
- package/dist/l4-molecules/search-input.d.ts.map +1 -1
- package/dist/l4-molecules/select.d.ts.map +1 -1
- package/dist/l4-molecules/sheet.d.ts.map +1 -1
- package/dist/l4-molecules/slider-field.d.ts.map +1 -1
- package/dist/l4-molecules/sortable-header.d.ts.map +1 -1
- package/dist/l4-molecules/split-button.d.ts +1 -1
- package/dist/l4-molecules/split-button.d.ts.map +1 -1
- package/dist/l4-molecules/stacked-progress.d.ts.map +1 -1
- package/dist/l4-molecules/stat-comparison.d.ts.map +1 -1
- package/dist/l4-molecules/stat-trend.d.ts.map +1 -1
- package/dist/l4-molecules/status-bar-component.d.ts.map +1 -1
- package/dist/l4-molecules/stepper.d.ts.map +1 -1
- package/dist/l4-molecules/tab-group.d.ts +5 -1
- package/dist/l4-molecules/tab-group.d.ts.map +1 -1
- package/dist/l4-molecules/tabs.d.ts +4 -1
- package/dist/l4-molecules/tabs.d.ts.map +1 -1
- package/dist/l4-molecules/tag-input.d.ts.map +1 -1
- package/dist/l4-molecules/task-item.d.ts.map +1 -1
- package/dist/l4-molecules/text-reveal.d.ts.map +1 -1
- package/dist/l4-molecules/text-scramble.d.ts.map +1 -1
- package/dist/l4-molecules/tilt-card.d.ts.map +1 -1
- package/dist/l4-molecules/time-picker-grid.d.ts.map +1 -1
- package/dist/l4-molecules/time-picker.d.ts.map +1 -1
- package/dist/l4-molecules/timeline-item.d.ts.map +1 -1
- package/dist/l4-molecules/toast-provider.d.ts +10 -0
- package/dist/l4-molecules/toast-provider.d.ts.map +1 -0
- package/dist/l4-molecules/toast-store.d.ts +42 -0
- package/dist/l4-molecules/toast-store.d.ts.map +1 -0
- package/dist/l4-molecules/toast.d.ts.map +1 -1
- package/dist/l4-molecules/toggle-field.d.ts.map +1 -1
- package/dist/l4-molecules/toolbar-generic.d.ts.map +1 -1
- package/dist/l4-molecules/upload-progress.d.ts.map +1 -1
- package/dist/l4-molecules/user-card.d.ts.map +1 -1
- package/dist/l4-molecules/user-info.d.ts.map +1 -1
- package/dist/l4-molecules/user-menu.d.ts.map +1 -1
- package/dist/l4-molecules/version-badge.d.ts.map +1 -1
- package/dist/l4-molecules/watermark.d.ts.map +1 -1
- package/dist/l4-molecules/wizard.d.ts.map +1 -1
- package/dist/{l4-molecules-CSmApFmt.js → l4-molecules-DtNnQaFU.js} +1703 -1517
- package/dist/l4-molecules-DtNnQaFU.js.map +1 -0
- package/dist/l5-organisms/activity-feed.d.ts.map +1 -1
- package/dist/l5-organisms/animate-presence.d.ts.map +1 -1
- package/dist/l5-organisms/audio-player.d.ts.map +1 -1
- package/dist/l5-organisms/audit-log.d.ts.map +1 -1
- package/dist/l5-organisms/avatar-list.d.ts.map +1 -1
- package/dist/l5-organisms/calendar-utils.d.ts.map +1 -1
- package/dist/l5-organisms/calendar.d.ts.map +1 -1
- package/dist/l5-organisms/carousel.d.ts.map +1 -1
- package/dist/l5-organisms/changelog.d.ts.map +1 -1
- package/dist/l5-organisms/command-palette-list.d.ts +3 -1
- package/dist/l5-organisms/command-palette-list.d.ts.map +1 -1
- package/dist/l5-organisms/command-palette.d.ts +10 -1
- package/dist/l5-organisms/command-palette.d.ts.map +1 -1
- package/dist/l5-organisms/comment-thread.d.ts.map +1 -1
- package/dist/l5-organisms/confetti.d.ts.map +1 -1
- package/dist/l5-organisms/contact-card.d.ts.map +1 -1
- package/dist/l5-organisms/container-list.d.ts.map +1 -1
- package/dist/l5-organisms/cookie-banner.d.ts.map +1 -1
- package/dist/l5-organisms/cron-schedule.d.ts.map +1 -1
- package/dist/l5-organisms/data-grid.d.ts.map +1 -1
- package/dist/l5-organisms/data-list.d.ts.map +1 -1
- package/dist/l5-organisms/data-table/data-table-body.d.ts.map +1 -1
- package/dist/l5-organisms/data-table/data-table-head.d.ts.map +1 -1
- package/dist/l5-organisms/data-table/data-table-pagination.d.ts.map +1 -1
- package/dist/l5-organisms/data-table/data-table-toolbar.d.ts.map +1 -1
- package/dist/l5-organisms/data-table/data-table-types.d.ts +1 -1
- package/dist/l5-organisms/data-table/data-table-types.d.ts.map +1 -1
- package/dist/l5-organisms/data-table/data-table.d.ts.map +1 -1
- package/dist/l5-organisms/data-table/index.d.ts +1 -1
- package/dist/l5-organisms/data-table/index.d.ts.map +1 -1
- package/dist/l5-organisms/date-picker.d.ts.map +1 -1
- package/dist/l5-organisms/deploy-log.d.ts.map +1 -1
- package/dist/l5-organisms/description-list.d.ts.map +1 -1
- package/dist/l5-organisms/diff-algorithm.d.ts.map +1 -1
- package/dist/l5-organisms/diff-viewer.d.ts.map +1 -1
- package/dist/l5-organisms/email-composer.d.ts +118 -0
- package/dist/l5-organisms/email-composer.d.ts.map +1 -0
- package/dist/l5-organisms/email-list-item.d.ts.map +1 -1
- package/dist/l5-organisms/email-thread.d.ts +85 -0
- package/dist/l5-organisms/email-thread.d.ts.map +1 -0
- package/dist/l5-organisms/embed.d.ts.map +1 -1
- package/dist/l5-organisms/employee-card.d.ts.map +1 -1
- package/dist/l5-organisms/error-boundary.d.ts.map +1 -1
- package/dist/l5-organisms/file-browser.d.ts.map +1 -1
- package/dist/l5-organisms/file-card.d.ts.map +1 -1
- package/dist/l5-organisms/form-builder.d.ts.map +1 -1
- package/dist/l5-organisms/gantt-chart/gantt-chart-utils.d.ts.map +1 -1
- package/dist/l5-organisms/gantt-chart/gantt-chart.d.ts.map +1 -1
- package/dist/l5-organisms/gantt-chart/index.d.ts +1 -1
- package/dist/l5-organisms/gantt-chart/index.d.ts.map +1 -1
- package/dist/l5-organisms/heatmap-table.d.ts.map +1 -1
- package/dist/l5-organisms/image-preview.d.ts.map +1 -1
- package/dist/l5-organisms/index.d.ts +18 -12
- package/dist/l5-organisms/index.d.ts.map +1 -1
- package/dist/l5-organisms/index.js +2 -2
- package/dist/l5-organisms/infinite-scroll.d.ts.map +1 -1
- package/dist/l5-organisms/json-node.d.ts +1 -1
- package/dist/l5-organisms/json-node.d.ts.map +1 -1
- package/dist/l5-organisms/kanban.d.ts +2 -2
- package/dist/l5-organisms/kanban.d.ts.map +1 -1
- package/dist/l5-organisms/markdown-editor.d.ts.map +1 -1
- package/dist/l5-organisms/markdown-parser.d.ts.map +1 -1
- package/dist/l5-organisms/markdown-preview.d.ts +6 -0
- package/dist/l5-organisms/markdown-preview.d.ts.map +1 -1
- package/dist/l5-organisms/notification-center.d.ts.map +1 -1
- package/dist/l5-organisms/notification-toast.d.ts.map +1 -1
- package/dist/l5-organisms/parallax.d.ts.map +1 -1
- package/dist/l5-organisms/payslip-card.d.ts.map +1 -1
- package/dist/l5-organisms/permission-matrix.d.ts.map +1 -1
- package/dist/l5-organisms/progress-timeline.d.ts.map +1 -1
- package/dist/l5-organisms/property-editor.d.ts.map +1 -1
- package/dist/l5-organisms/quick-links.d.ts.map +1 -1
- package/dist/l5-organisms/recent-activity.d.ts.map +1 -1
- package/dist/l5-organisms/responsive-stack.d.ts.map +1 -1
- package/dist/l5-organisms/responsive-table.d.ts.map +1 -1
- package/dist/l5-organisms/rich-select-list.d.ts +1 -1
- package/dist/l5-organisms/rich-select-list.d.ts.map +1 -1
- package/dist/l5-organisms/rich-select.d.ts.map +1 -1
- package/dist/l5-organisms/rich-text-editor.d.ts +56 -0
- package/dist/l5-organisms/rich-text-editor.d.ts.map +1 -0
- package/dist/l5-organisms/search-results.d.ts.map +1 -1
- package/dist/l5-organisms/service-card.d.ts.map +1 -1
- package/dist/l5-organisms/signature-drawing.d.ts +1 -1
- package/dist/l5-organisms/signature-drawing.d.ts.map +1 -1
- package/dist/l5-organisms/signature-pad.d.ts.map +1 -1
- package/dist/l5-organisms/sortable-table.d.ts.map +1 -1
- package/dist/l5-organisms/spotlight.d.ts.map +1 -1
- package/dist/l5-organisms/stacked-list.d.ts.map +1 -1
- package/dist/l5-organisms/step-form.d.ts.map +1 -1
- package/dist/l5-organisms/system-health.d.ts.map +1 -1
- package/dist/l5-organisms/table.d.ts.map +1 -1
- package/dist/l5-organisms/task-board.d.ts.map +1 -1
- package/dist/l5-organisms/timeline.d.ts +1 -1
- package/dist/l5-organisms/timeline.d.ts.map +1 -1
- package/dist/l5-organisms/tour.d.ts.map +1 -1
- package/dist/l5-organisms/transaction-list.d.ts.map +1 -1
- package/dist/l5-organisms/tree.d.ts.map +1 -1
- package/dist/l5-organisms/video-controls.d.ts.map +1 -1
- package/dist/l5-organisms/video-player.d.ts.map +1 -1
- package/dist/l5-organisms/virtual-list.d.ts.map +1 -1
- package/dist/l5-organisms/weather-widget.d.ts.map +1 -1
- package/dist/l5-organisms-Bu2Z8LSj.js +6147 -0
- package/dist/l5-organisms-Bu2Z8LSj.js.map +1 -0
- package/dist/l6-charts/annotated-chart.d.ts +1 -1
- package/dist/l6-charts/annotated-chart.d.ts.map +1 -1
- package/dist/l6-charts/area-chart.d.ts.map +1 -1
- package/dist/l6-charts/bar-chart.d.ts.map +1 -1
- package/dist/l6-charts/box-plot.d.ts.map +1 -1
- package/dist/l6-charts/bullet-chart.d.ts.map +1 -1
- package/dist/l6-charts/bump-chart.d.ts.map +1 -1
- package/dist/l6-charts/calendar-heatmap.d.ts.map +1 -1
- package/dist/l6-charts/candlestick-chart.d.ts.map +1 -1
- package/dist/l6-charts/chord-diagram.d.ts.map +1 -1
- package/dist/l6-charts/chord-math.d.ts.map +1 -1
- package/dist/l6-charts/choropleth-map.d.ts +1 -1
- package/dist/l6-charts/choropleth-map.d.ts.map +1 -1
- package/dist/l6-charts/combo-chart.d.ts.map +1 -1
- package/dist/l6-charts/donut-gauge.d.ts.map +1 -1
- package/dist/l6-charts/flame-chart.d.ts.map +1 -1
- package/dist/l6-charts/flow-chart.d.ts.map +1 -1
- package/dist/l6-charts/funnel-chart.d.ts.map +1 -1
- package/dist/l6-charts/gauge.d.ts.map +1 -1
- package/dist/l6-charts/heatmap-chart.d.ts.map +1 -1
- package/dist/l6-charts/heatmap-utils.d.ts.map +1 -1
- package/dist/l6-charts/histogram.d.ts.map +1 -1
- package/dist/l6-charts/index.d.ts +1 -1
- package/dist/l6-charts/index.d.ts.map +1 -1
- package/dist/l6-charts/index.js +1 -1
- package/dist/l6-charts/line-chart.d.ts.map +1 -1
- package/dist/l6-charts/network-graph.d.ts.map +1 -1
- package/dist/l6-charts/order-book-chart.d.ts.map +1 -1
- package/dist/l6-charts/pie-chart.d.ts.map +1 -1
- package/dist/l6-charts/polar-area-chart.d.ts +1 -1
- package/dist/l6-charts/polar-area-chart.d.ts.map +1 -1
- package/dist/l6-charts/radar-chart.d.ts.map +1 -1
- package/dist/l6-charts/radial-bar-chart.d.ts.map +1 -1
- package/dist/l6-charts/realtime-chart.d.ts.map +1 -1
- package/dist/l6-charts/sankey-chart.d.ts.map +1 -1
- package/dist/l6-charts/scatter-chart.d.ts.map +1 -1
- package/dist/l6-charts/sparkline.d.ts.map +1 -1
- package/dist/l6-charts/stock-ticker.d.ts.map +1 -1
- package/dist/l6-charts/stream-chart.d.ts.map +1 -1
- package/dist/l6-charts/sunburst-chart.d.ts.map +1 -1
- package/dist/l6-charts/sunburst-math.d.ts.map +1 -1
- package/dist/l6-charts/timeline-chart.d.ts.map +1 -1
- package/dist/l6-charts/treemap-chart.d.ts.map +1 -1
- package/dist/l6-charts/violin-plot.d.ts.map +1 -1
- package/dist/l6-charts/waffle-chart.d.ts.map +1 -1
- package/dist/l6-charts/waterfall-chart.d.ts.map +1 -1
- package/dist/l6-charts/word-cloud.d.ts.map +1 -1
- package/dist/{l6-charts-DPMj1m0E.js → l6-charts-ngP5gbBh.js} +51 -51
- package/dist/l6-charts-ngP5gbBh.js.map +1 -0
- package/dist/l7-patterns/admin-layout.d.ts +6 -0
- package/dist/l7-patterns/admin-layout.d.ts.map +1 -1
- package/dist/l7-patterns/analytics-dashboard.d.ts.map +1 -1
- package/dist/l7-patterns/app-shell.d.ts +44 -0
- package/dist/l7-patterns/app-shell.d.ts.map +1 -0
- package/dist/l7-patterns/bento-grid.d.ts.map +1 -1
- package/dist/l7-patterns/calendar-view.d.ts.map +1 -1
- package/dist/l7-patterns/comparison-table.d.ts.map +1 -1
- package/dist/l7-patterns/composition-pattern.d.ts.map +1 -1
- package/dist/l7-patterns/cta-banner.d.ts.map +1 -1
- package/dist/l7-patterns/dashboard-layout.d.ts.map +1 -1
- package/dist/l7-patterns/data-export-card.d.ts.map +1 -1
- package/dist/l7-patterns/devops-layout.d.ts.map +1 -1
- package/dist/l7-patterns/empty-state.d.ts.map +1 -1
- package/dist/l7-patterns/faq.d.ts.map +1 -1
- package/dist/l7-patterns/feature-card.d.ts.map +1 -1
- package/dist/l7-patterns/footer.d.ts.map +1 -1
- package/dist/l7-patterns/form-layout.d.ts.map +1 -1
- package/dist/l7-patterns/form-pattern.d.ts.map +1 -1
- package/dist/l7-patterns/glass-panel.d.ts.map +1 -1
- package/dist/l7-patterns/grid-layout.d.ts.map +1 -1
- package/dist/l7-patterns/hero.d.ts.map +1 -1
- package/dist/l7-patterns/hr-dashboard.d.ts.map +1 -1
- package/dist/l7-patterns/inbox-layout.d.ts +50 -3
- package/dist/l7-patterns/inbox-layout.d.ts.map +1 -1
- package/dist/l7-patterns/index.d.ts +8 -4
- package/dist/l7-patterns/index.d.ts.map +1 -1
- package/dist/l7-patterns/index.js +2 -2
- package/dist/l7-patterns/kpi-dashboard.d.ts.map +1 -1
- package/dist/l7-patterns/loading-states.d.ts.map +1 -1
- package/dist/l7-patterns/login-form.d.ts.map +1 -1
- package/dist/l7-patterns/mail-composer.d.ts.map +1 -1
- package/dist/l7-patterns/masonry.d.ts.map +1 -1
- package/dist/l7-patterns/media-grid.d.ts.map +1 -1
- package/dist/l7-patterns/metric-card.d.ts.map +1 -1
- package/dist/l7-patterns/nav-bar.d.ts.map +1 -1
- package/dist/l7-patterns/notification-list.d.ts.map +1 -1
- package/dist/l7-patterns/onboarding-card.d.ts.map +1 -1
- package/dist/l7-patterns/page-header.d.ts.map +1 -1
- package/dist/l7-patterns/panel-group.d.ts +42 -0
- package/dist/l7-patterns/panel-group.d.ts.map +1 -0
- package/dist/l7-patterns/payroll-dashboard.d.ts.map +1 -1
- package/dist/l7-patterns/pricing-card.d.ts.map +1 -1
- package/dist/l7-patterns/profile-card.d.ts.map +1 -1
- package/dist/l7-patterns/project-dashboard.d.ts.map +1 -1
- package/dist/l7-patterns/responsive-container.d.ts.map +1 -1
- package/dist/l7-patterns/server-overview.d.ts.map +1 -1
- package/dist/l7-patterns/settings-layout.d.ts +6 -1
- package/dist/l7-patterns/settings-layout.d.ts.map +1 -1
- package/dist/l7-patterns/sidebar.d.ts +14 -0
- package/dist/l7-patterns/sidebar.d.ts.map +1 -1
- package/dist/l7-patterns/skeleton-pattern.d.ts.map +1 -1
- package/dist/l7-patterns/splash-screen.d.ts.map +1 -1
- package/dist/l7-patterns/split-view.d.ts.map +1 -1
- package/dist/l7-patterns/stat.d.ts.map +1 -1
- package/dist/l7-patterns/stats-card.d.ts.map +1 -1
- package/dist/l7-patterns/status-page.d.ts.map +1 -1
- package/dist/l7-patterns/stepper-form.d.ts.map +1 -1
- package/dist/l7-patterns/sticky-header.d.ts.map +1 -1
- package/dist/l7-patterns/testimonial.d.ts.map +1 -1
- package/dist/l7-patterns/timeline-steps.d.ts.map +1 -1
- package/dist/l7-patterns/toolbar.d.ts.map +1 -1
- package/dist/l7-patterns/wizard-layout.d.ts.map +1 -1
- package/dist/l7-patterns-CwonNW9o.js +2272 -0
- package/dist/l7-patterns-CwonNW9o.js.map +1 -0
- package/dist/loading-dots-C1LPHGa0.js +62 -0
- package/dist/loading-dots-C1LPHGa0.js.map +1 -0
- package/dist/motion-DUPegem-.js.map +1 -1
- package/dist/portal-Bbl6F_Wj.js.map +1 -1
- package/dist/{progress-wAKN3Czz.js → progress-dZIQEiTw.js} +5 -5
- package/dist/progress-dZIQEiTw.js.map +1 -0
- package/dist/{resize-handle-ilSc7QRM.js → resize-handle-BjSNhgJK.js} +5 -5
- package/dist/resize-handle-BjSNhgJK.js.map +1 -0
- package/dist/sanitize-BF45M9xp.js +33 -0
- package/dist/sanitize-BF45M9xp.js.map +1 -0
- package/dist/{scales-B23Guac-.js → scales-DlVrSOA2.js} +98 -96
- package/dist/scales-DlVrSOA2.js.map +1 -0
- package/dist/{separator-Dqs23A9D.js → separator-CRll1Ycp.js} +5 -5
- package/dist/separator-CRll1Ycp.js.map +1 -0
- package/dist/skeleton-C9FFZSYN.js.map +1 -1
- package/dist/spinner-C15eER04.js +201 -0
- package/dist/spinner-C15eER04.js.map +1 -0
- package/dist/stepper-DJ8pn-9D.js +199 -0
- package/dist/stepper-DJ8pn-9D.js.map +1 -0
- package/dist/{switch-DC85Os9r.js → switch-BAS-GXJV.js} +6 -6
- package/dist/switch-BAS-GXJV.js.map +1 -0
- package/dist/{textarea-BJCl_aH2.js → textarea-Btdu41rY.js} +4 -4
- package/dist/textarea-Btdu41rY.js.map +1 -0
- package/dist/toast-QxCZG0Oy.js +614 -0
- package/dist/toast-QxCZG0Oy.js.map +1 -0
- package/dist/tokens.css +466 -101
- package/dist/{use-theme-CONuDdW3.js → use-theme-D_THp_K2.js} +87 -66
- package/dist/use-theme-D_THp_K2.js.map +1 -0
- package/dist/utils/gesture.d.ts.map +1 -1
- package/dist/utils/hooks.d.ts.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -2
- package/dist/utils/sanitize.d.ts +7 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/tiptap.d.ts +12 -0
- package/dist/utils/tiptap.d.ts.map +1 -0
- package/dist/utils/types.d.ts.map +1 -1
- package/package.json +80 -14
- package/dist/avatar-l3SaMCmU.js.map +0 -1
- package/dist/badge-DTJq6AXr.js.map +0 -1
- package/dist/button-avu-rQU4.js.map +0 -1
- package/dist/gesture-irjS0hVM.js.map +0 -1
- package/dist/icon-button-YatlVZnz.js.map +0 -1
- package/dist/l2-primitives-Le0006ck.js.map +0 -1
- package/dist/l3-atoms-Cvu01YHO.js.map +0 -1
- package/dist/l4-molecules-CSmApFmt.js.map +0 -1
- package/dist/l5-organisms-Css3AvsZ.js +0 -4955
- package/dist/l5-organisms-Css3AvsZ.js.map +0 -1
- package/dist/l6-charts-DPMj1m0E.js.map +0 -1
- package/dist/l7-patterns-8fc4b3eE.js +0 -1969
- package/dist/l7-patterns-8fc4b3eE.js.map +0 -1
- package/dist/loading-dots-fB4X_Zh0.js +0 -24
- package/dist/loading-dots-fB4X_Zh0.js.map +0 -1
- package/dist/progress-wAKN3Czz.js.map +0 -1
- package/dist/resize-handle-ilSc7QRM.js.map +0 -1
- package/dist/scales-B23Guac-.js.map +0 -1
- package/dist/separator-Dqs23A9D.js.map +0 -1
- package/dist/spinner-N7UNjdsQ.js +0 -144
- package/dist/spinner-N7UNjdsQ.js.map +0 -1
- package/dist/stepper-DWJfv7TA.js +0 -140
- package/dist/stepper-DWJfv7TA.js.map +0 -1
- package/dist/switch-DC85Os9r.js.map +0 -1
- package/dist/textarea-BJCl_aH2.js.map +0 -1
- package/dist/toast-DN5xANLM.js +0 -442
- package/dist/toast-DN5xANLM.js.map +0 -1
- package/dist/use-theme-CONuDdW3.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as e, N as t, P as n, l as r, n as i, t as a } from "./scales-
|
|
1
|
+
import { F as e, N as t, P as n, l as r, n as i, t as a } from "./scales-DlVrSOA2.js";
|
|
2
2
|
import { atom as o, useAtom as s, useAtomValue as c } from "jotai";
|
|
3
3
|
import { useCallback as l, useEffect as u, useRef as d } from "react";
|
|
4
4
|
//#region src/l1-systems/theme.ts
|
|
@@ -12,64 +12,48 @@ var f = {
|
|
|
12
12
|
glass: "full",
|
|
13
13
|
motion: "full",
|
|
14
14
|
colorOverrides: null
|
|
15
|
-
}, p =
|
|
16
|
-
|
|
17
|
-
return t === "system" ? typeof window > "u" || window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : t;
|
|
18
|
-
});
|
|
19
|
-
function h(i, o) {
|
|
20
|
-
let s = { ...e(o === "dark" ? t(i.primaryColor) : n(i.primaryColor), o) };
|
|
21
|
-
if (Object.assign(s, r()), Object.assign(s, a(i.shape, i.density, i.elevation, i.glass, i.motion, o)), i.colorOverrides !== null) for (let [e, t] of Object.entries(i.colorOverrides)) t !== void 0 && (s[e] = t);
|
|
22
|
-
return s;
|
|
23
|
-
}
|
|
24
|
-
function g(e, t, n) {
|
|
25
|
-
let r = document.documentElement;
|
|
26
|
-
if (n !== void 0) for (let e of n) r.style.removeProperty(e);
|
|
27
|
-
r.getAttribute("data-theme-mode") !== t && r.setAttribute("data-theme-mode", t);
|
|
28
|
-
let i = Object.keys(e);
|
|
29
|
-
for (let [t, n] of Object.entries(e)) r.style.setProperty(t, n);
|
|
30
|
-
return i;
|
|
31
|
-
}
|
|
32
|
-
var _ = "gds-theme";
|
|
33
|
-
function v(e) {
|
|
15
|
+
}, p = "gds-theme";
|
|
16
|
+
function m(e) {
|
|
34
17
|
try {
|
|
35
|
-
localStorage.setItem(
|
|
18
|
+
localStorage.setItem(p, JSON.stringify(e));
|
|
36
19
|
} catch {}
|
|
37
20
|
}
|
|
38
|
-
function
|
|
21
|
+
function h() {
|
|
39
22
|
try {
|
|
40
|
-
|
|
23
|
+
if (typeof window > "u") return null;
|
|
24
|
+
let e = localStorage.getItem(p);
|
|
41
25
|
if (e === null) return null;
|
|
42
26
|
let t = JSON.parse(e);
|
|
43
27
|
return {
|
|
44
28
|
...f,
|
|
45
29
|
...t,
|
|
46
30
|
primaryColor: typeof t.primaryColor == "string" && /^#[0-9a-fA-F]{6}$/.test(t.primaryColor) ? t.primaryColor : f.primaryColor,
|
|
47
|
-
shape:
|
|
31
|
+
shape: g(t.shape, [
|
|
48
32
|
"sharp",
|
|
49
33
|
"default",
|
|
50
34
|
"rounded"
|
|
51
35
|
], f.shape),
|
|
52
|
-
density:
|
|
36
|
+
density: g(t.density, [
|
|
53
37
|
"compact",
|
|
54
38
|
"default",
|
|
55
39
|
"comfortable"
|
|
56
40
|
], f.density),
|
|
57
|
-
elevation:
|
|
41
|
+
elevation: g(t.elevation, [
|
|
58
42
|
"flat",
|
|
59
43
|
"subtle",
|
|
60
44
|
"raised"
|
|
61
45
|
], f.elevation),
|
|
62
|
-
glass:
|
|
46
|
+
glass: g(t.glass, [
|
|
63
47
|
"off",
|
|
64
48
|
"subtle",
|
|
65
49
|
"full"
|
|
66
50
|
], f.glass),
|
|
67
|
-
motion:
|
|
51
|
+
motion: g(t.motion, [
|
|
68
52
|
"off",
|
|
69
53
|
"reduced",
|
|
70
54
|
"full"
|
|
71
55
|
], f.motion),
|
|
72
|
-
mode:
|
|
56
|
+
mode: g(t.mode, [
|
|
73
57
|
"light",
|
|
74
58
|
"dark",
|
|
75
59
|
"system"
|
|
@@ -79,23 +63,63 @@ function y() {
|
|
|
79
63
|
return null;
|
|
80
64
|
}
|
|
81
65
|
}
|
|
82
|
-
function
|
|
66
|
+
function g(e, t, n) {
|
|
83
67
|
return typeof e == "string" && t.includes(e) ? e : n;
|
|
84
68
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
69
|
+
var _ = o(h() ?? f), v = o((e) => {
|
|
70
|
+
let { mode: t } = e(_);
|
|
71
|
+
return t === "system" ? typeof window > "u" || window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : t;
|
|
72
|
+
});
|
|
73
|
+
function y(i, o) {
|
|
74
|
+
let s = { ...e(o === "dark" ? t(i.primaryColor) : n(i.primaryColor), o) };
|
|
75
|
+
if (Object.assign(s, r()), Object.assign(s, a(i.shape, i.density, i.elevation, i.glass, i.motion, o)), i.colorOverrides !== null) for (let [e, t] of Object.entries(i.colorOverrides)) t !== void 0 && (s[e] = t);
|
|
76
|
+
return s;
|
|
77
|
+
}
|
|
78
|
+
function b(e, t, n) {
|
|
79
|
+
let r = document.documentElement;
|
|
80
|
+
if (n !== void 0) for (let e of n) r.style.removeProperty(e);
|
|
81
|
+
r.getAttribute("data-theme-mode") !== t && r.setAttribute("data-theme-mode", t);
|
|
82
|
+
let i = Object.keys(e);
|
|
83
|
+
for (let [t, n] of Object.entries(e)) r.style.setProperty(t, n);
|
|
84
|
+
return i;
|
|
90
85
|
}
|
|
91
|
-
|
|
92
|
-
|
|
86
|
+
var x = {
|
|
87
|
+
default: {
|
|
88
|
+
primaryColor: i,
|
|
89
|
+
shape: "default",
|
|
90
|
+
density: "default",
|
|
91
|
+
elevation: "raised",
|
|
92
|
+
glass: "full",
|
|
93
|
+
motion: "full"
|
|
94
|
+
},
|
|
95
|
+
email: {
|
|
96
|
+
primaryColor: "#3b7ddd",
|
|
97
|
+
shape: "default",
|
|
98
|
+
density: "comfortable",
|
|
99
|
+
elevation: "subtle",
|
|
100
|
+
glass: "subtle",
|
|
101
|
+
motion: "full"
|
|
102
|
+
},
|
|
103
|
+
dashboard: {
|
|
104
|
+
primaryColor: i,
|
|
105
|
+
shape: "default",
|
|
106
|
+
density: "compact",
|
|
107
|
+
elevation: "subtle",
|
|
108
|
+
glass: "off",
|
|
109
|
+
motion: "full"
|
|
110
|
+
}
|
|
111
|
+
}, S = { colorPresets: {} };
|
|
112
|
+
function C(e) {
|
|
113
|
+
S = e;
|
|
93
114
|
}
|
|
94
115
|
function w() {
|
|
95
|
-
return c(
|
|
116
|
+
return c(_);
|
|
96
117
|
}
|
|
97
118
|
function T() {
|
|
98
|
-
|
|
119
|
+
return c(v);
|
|
120
|
+
}
|
|
121
|
+
function E() {
|
|
122
|
+
let [, e] = s(_);
|
|
99
123
|
return l((t) => {
|
|
100
124
|
e((e) => ({
|
|
101
125
|
...e,
|
|
@@ -103,10 +127,10 @@ function T() {
|
|
|
103
127
|
}));
|
|
104
128
|
}, [e]);
|
|
105
129
|
}
|
|
106
|
-
function
|
|
107
|
-
let [, e] = s(
|
|
130
|
+
function D() {
|
|
131
|
+
let [, e] = s(_);
|
|
108
132
|
return l((t) => {
|
|
109
|
-
let n =
|
|
133
|
+
let n = S.colorPresets[t]?.primaryColor ?? f.primaryColor;
|
|
110
134
|
e((e) => ({
|
|
111
135
|
...e,
|
|
112
136
|
presetId: t,
|
|
@@ -115,8 +139,8 @@ function E() {
|
|
|
115
139
|
}));
|
|
116
140
|
}, [e]);
|
|
117
141
|
}
|
|
118
|
-
function
|
|
119
|
-
let [, e] = s(
|
|
142
|
+
function O() {
|
|
143
|
+
let [, e] = s(_);
|
|
120
144
|
return l((t) => {
|
|
121
145
|
e((e) => ({
|
|
122
146
|
...e,
|
|
@@ -125,8 +149,8 @@ function D() {
|
|
|
125
149
|
}));
|
|
126
150
|
}, [e]);
|
|
127
151
|
}
|
|
128
|
-
function
|
|
129
|
-
let [, e] = s(
|
|
152
|
+
function k() {
|
|
153
|
+
let [, e] = s(_);
|
|
130
154
|
return l((t) => {
|
|
131
155
|
e((e) => ({
|
|
132
156
|
...e,
|
|
@@ -134,8 +158,8 @@ function O() {
|
|
|
134
158
|
}));
|
|
135
159
|
}, [e]);
|
|
136
160
|
}
|
|
137
|
-
function
|
|
138
|
-
let [, e] = s(
|
|
161
|
+
function A() {
|
|
162
|
+
let [, e] = s(_);
|
|
139
163
|
return l((t) => {
|
|
140
164
|
e((e) => ({
|
|
141
165
|
...e,
|
|
@@ -143,8 +167,8 @@ function k() {
|
|
|
143
167
|
}));
|
|
144
168
|
}, [e]);
|
|
145
169
|
}
|
|
146
|
-
function
|
|
147
|
-
let [, e] = s(
|
|
170
|
+
function j() {
|
|
171
|
+
let [, e] = s(_);
|
|
148
172
|
return l((t) => {
|
|
149
173
|
e((e) => ({
|
|
150
174
|
...e,
|
|
@@ -152,8 +176,8 @@ function A() {
|
|
|
152
176
|
}));
|
|
153
177
|
}, [e]);
|
|
154
178
|
}
|
|
155
|
-
function
|
|
156
|
-
let [, e] = s(
|
|
179
|
+
function M() {
|
|
180
|
+
let [, e] = s(_);
|
|
157
181
|
return l((t) => {
|
|
158
182
|
e((e) => ({
|
|
159
183
|
...e,
|
|
@@ -161,8 +185,8 @@ function j() {
|
|
|
161
185
|
}));
|
|
162
186
|
}, [e]);
|
|
163
187
|
}
|
|
164
|
-
function
|
|
165
|
-
let [, e] = s(
|
|
188
|
+
function N() {
|
|
189
|
+
let [, e] = s(_);
|
|
166
190
|
return l((t) => {
|
|
167
191
|
e((e) => ({
|
|
168
192
|
...e,
|
|
@@ -170,8 +194,8 @@ function M() {
|
|
|
170
194
|
}));
|
|
171
195
|
}, [e]);
|
|
172
196
|
}
|
|
173
|
-
function
|
|
174
|
-
let [, e] = s(
|
|
197
|
+
function P() {
|
|
198
|
+
let [, e] = s(_);
|
|
175
199
|
return l((t) => {
|
|
176
200
|
e((e) => ({
|
|
177
201
|
...e,
|
|
@@ -179,25 +203,22 @@ function N() {
|
|
|
179
203
|
}));
|
|
180
204
|
}, [e]);
|
|
181
205
|
}
|
|
182
|
-
function
|
|
183
|
-
let [, e] = s(
|
|
206
|
+
function F() {
|
|
207
|
+
let [, e] = s(_);
|
|
184
208
|
return l(() => {
|
|
185
209
|
e(f);
|
|
186
210
|
}, [e]);
|
|
187
211
|
}
|
|
188
|
-
function
|
|
189
|
-
let e = c(
|
|
212
|
+
function I() {
|
|
213
|
+
let e = c(_), t = c(v), n = d([]);
|
|
190
214
|
u(() => {
|
|
191
|
-
n.current =
|
|
215
|
+
n.current = b(y(e, t), t, n.current), m(e);
|
|
192
216
|
}, [e, t]), u(() => {
|
|
193
217
|
let e = window.matchMedia("(prefers-color-scheme: dark)"), t = () => {};
|
|
194
218
|
return e.addEventListener("change", t), () => e.removeEventListener("change", t);
|
|
195
|
-
}, []), u(() => {
|
|
196
|
-
let e = y();
|
|
197
|
-
e !== null && (n.current = g(h(e, t), t));
|
|
198
219
|
}, []);
|
|
199
220
|
}
|
|
200
221
|
//#endregion
|
|
201
|
-
export {
|
|
222
|
+
export { y as _, A as a, x as b, E as c, O as d, k as f, h as g, f as h, P as i, N as l, I as m, F as n, j as o, w as p, T as r, M as s, C as t, D as u, v, _ as y };
|
|
202
223
|
|
|
203
|
-
//# sourceMappingURL=use-theme-
|
|
224
|
+
//# sourceMappingURL=use-theme-D_THp_K2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-theme-D_THp_K2.js","names":[],"sources":["../src/l1-systems/theme.ts","../src/l1-systems/use-theme.ts"],"sourcesContent":["// L1 — Theme System\n// manages color preset + 5 dimensional axes + dark/light mode\n// applies CSS variable overrides to document root\n// persists to localStorage, syncs across tabs\n\nimport { atom } from 'jotai'\n\nimport {\n deriveDarkPalette,\n deriveLightPalette,\n paletteToVars,\n} from '../l0-tokens/color-derive'\nimport { fontToCssVars } from '../l0-tokens/font-system'\nimport { DEFAULT_PRIMARY } from '../l0-tokens/generate-defaults'\nimport type {\n ThemeDensity,\n ThemeElevation,\n ThemeGlass,\n ThemeMotion,\n ThemeShape,\n} from '../l0-tokens/scales'\nimport { resolveAxesToCssVars } from '../l0-tokens/scales'\n\n// color overrides — per-token overrides for advanced users\nexport type ThemeColorOverrides = {\n '--gds-accent': string\n '--gds-accent-fg': string\n '--gds-accent-hover': string\n '--gds-danger': string\n '--gds-success': string\n '--gds-warning': string\n}\n\nexport type ThemeMode = 'dark' | 'light' | 'system'\n\n// full theme state — what the user has configured\nexport type ThemeState = {\n mode: ThemeMode\n primaryColor: string // single source — everything derived from this\n presetId: string // for UI display only (\"default\", \"teal\", \"amber\"...)\n // dimensional axes — each constrained to L0 scale options\n shape: ThemeShape\n density: ThemeDensity\n elevation: ThemeElevation\n glass: ThemeGlass\n motion: ThemeMotion\n // optional per-token color overrides (advanced — overrides derivation)\n colorOverrides: Partial<ThemeColorOverrides> | null\n}\n\n// default theme — beautiful out of the box\nexport const DEFAULT_THEME: ThemeState = {\n mode: 'system',\n primaryColor: DEFAULT_PRIMARY,\n presetId: 'default',\n shape: 'default',\n density: 'default',\n elevation: 'raised',\n glass: 'full',\n motion: 'full',\n colorOverrides: null,\n}\n\n// persistence — must be defined before themeAtom so atom init can load from localStorage\nconst STORAGE_KEY = 'gds-theme'\n\nexport function persistTheme(state: ThemeState): void {\n try {\n localStorage.setItem(STORAGE_KEY, JSON.stringify(state))\n } catch {\n // storage full or unavailable\n }\n}\n\nexport function loadPersistedTheme(): ThemeState | null {\n try {\n if (typeof window === 'undefined') return null\n const raw = localStorage.getItem(STORAGE_KEY)\n if (raw === null) return null\n const parsed = JSON.parse(raw) as Partial<ThemeState>\n // validate and merge with defaults to handle schema evolution\n return {\n ...DEFAULT_THEME,\n ...parsed,\n // validate primaryColor is a hex string\n primaryColor:\n typeof parsed.primaryColor === 'string' &&\n /^#[0-9a-fA-F]{6}$/.test(parsed.primaryColor)\n ? parsed.primaryColor\n : DEFAULT_THEME.primaryColor,\n // ensure constrained values are valid\n shape: validateOption(\n parsed.shape,\n ['sharp', 'default', 'rounded'],\n DEFAULT_THEME.shape\n ),\n density: validateOption(\n parsed.density,\n ['compact', 'default', 'comfortable'],\n DEFAULT_THEME.density\n ),\n elevation: validateOption(\n parsed.elevation,\n ['flat', 'subtle', 'raised'],\n DEFAULT_THEME.elevation\n ),\n glass: validateOption(\n parsed.glass,\n ['off', 'subtle', 'full'],\n DEFAULT_THEME.glass\n ),\n motion: validateOption(\n parsed.motion,\n ['off', 'reduced', 'full'],\n DEFAULT_THEME.motion\n ),\n mode: validateOption(\n parsed.mode,\n ['light', 'dark', 'system'],\n DEFAULT_THEME.mode\n ),\n }\n } catch {\n return null\n }\n}\n\nfunction validateOption<T extends string>(\n value: unknown,\n options: T[],\n fallback: T\n): T {\n if (typeof value === 'string' && options.includes(value as T)) {\n return value as T\n }\n return fallback\n}\n\n// jotai atoms — reactive theme state\n// initialize from localStorage to avoid race condition with useThemeEffect\nexport const themeAtom = atom<ThemeState>(loadPersistedTheme() ?? DEFAULT_THEME)\n\nexport const resolvedModeAtom = atom<'dark' | 'light'>((get) => {\n const { mode } = get(themeAtom)\n if (mode !== 'system') return mode\n if (typeof window === 'undefined') return 'dark'\n return window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n})\n\n// resolve theme state → flat CSS variable overrides\n// all colors derived from primaryColor via L0 functions — no manual color presets\nexport function resolveThemeCssVars(\n state: ThemeState,\n resolvedMode: 'dark' | 'light'\n): Record<string, string> {\n // 1. derive colors from primaryColor\n const palette =\n resolvedMode === 'dark'\n ? deriveDarkPalette(state.primaryColor)\n : deriveLightPalette(state.primaryColor)\n const vars: Record<string, string> = {\n ...paletteToVars(palette, resolvedMode),\n }\n\n // 2. font stacks + weights\n Object.assign(vars, fontToCssVars())\n\n // 3. dimensional axes — computed by L0 system functions\n Object.assign(\n vars,\n resolveAxesToCssVars(\n state.shape,\n state.density,\n state.elevation,\n state.glass,\n state.motion,\n resolvedMode\n )\n )\n\n // 4. per-token color overrides (highest priority — advanced users)\n if (state.colorOverrides !== null) {\n for (const [key, val] of Object.entries(state.colorOverrides)) {\n if (val !== undefined) {\n vars[key] = val\n }\n }\n }\n\n return vars\n}\n\n// apply resolved vars to document\nexport function applyThemeToDocument(\n vars: Record<string, string>,\n resolvedMode: 'dark' | 'light',\n previousKeys?: string[]\n): string[] {\n const root = document.documentElement\n\n // clear previous overrides\n if (previousKeys !== undefined) {\n for (const key of previousKeys) {\n root.style.removeProperty(key)\n }\n }\n\n // set mode attribute\n const mode = root.getAttribute('data-theme-mode')\n if (mode !== resolvedMode) {\n root.setAttribute('data-theme-mode', resolvedMode)\n }\n\n // apply new overrides\n const keys = Object.keys(vars)\n for (const [key, val] of Object.entries(vars)) {\n root.style.setProperty(key, val)\n }\n\n return keys\n}\n\n// named theme presets — optimized axis combinations for specific application types\nexport type ThemePreset = Omit<\n ThemeState,\n 'mode' | 'presetId' | 'colorOverrides'\n>\n\nexport const themePresets = {\n // default: balanced for general-purpose dashboards\n default: {\n primaryColor: DEFAULT_PRIMARY,\n shape: 'default' as const,\n density: 'default' as const,\n elevation: 'raised' as const,\n glass: 'full' as const,\n motion: 'full' as const,\n },\n // email: optimized for email/productivity apps (mailrs-proven)\n // comfortable density for readable 14px base, subtle elevation for clean modern look\n email: {\n primaryColor: '#3b7ddd', // slightly desaturated blue, validated in production\n shape: 'default' as const,\n density: 'comfortable' as const,\n elevation: 'subtle' as const,\n glass: 'subtle' as const,\n motion: 'full' as const,\n },\n // dashboard: data-dense monitoring/analytics\n dashboard: {\n primaryColor: DEFAULT_PRIMARY,\n shape: 'default' as const,\n density: 'compact' as const,\n elevation: 'subtle' as const,\n glass: 'off' as const,\n motion: 'full' as const,\n },\n} as const satisfies Record<string, ThemePreset>\n\nexport type ThemePresetId = keyof typeof themePresets\n","// L1 — theme hooks\n// components use these to read/write theme state\n// all changes go through constrained API — no raw CSS manipulation\n\nimport { useAtom, useAtomValue } from 'jotai'\nimport { useCallback, useEffect, useRef } from 'react'\n\nimport type {\n ThemeDensity,\n ThemeElevation,\n ThemeGlass,\n ThemeMotion,\n ThemeShape,\n} from '../l0-tokens/scales'\nimport type { ThemeColorOverrides, ThemeMode, ThemeState } from './theme'\nimport {\n applyThemeToDocument,\n DEFAULT_THEME,\n persistTheme,\n resolvedModeAtom,\n resolveThemeCssVars,\n themeAtom,\n} from './theme'\n\n// color presets — app registers named presets, each is just a primaryColor\ntype ThemeConfig = {\n colorPresets: Record<string, { primaryColor: string }>\n}\n\nlet themeConfig: ThemeConfig = { colorPresets: {} }\n\n// called once at app init — register named color presets\nexport function configureTheme(config: ThemeConfig): void {\n themeConfig = config\n}\n\n// read current theme state (reactive)\nexport function useTheme(): ThemeState {\n return useAtomValue(themeAtom)\n}\n\n// read resolved dark/light mode (reactive)\nexport function useResolvedMode(): 'dark' | 'light' {\n return useAtomValue(resolvedModeAtom)\n}\n\n// theme mutation hooks — each returns a setter for one axis\nexport function useSetThemeMode(): (mode: ThemeMode) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback(\n (mode: ThemeMode) => {\n setTheme((prev) => ({ ...prev, mode }))\n },\n [setTheme]\n )\n}\n\nexport function useSetThemePreset(): (presetId: string) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback(\n (presetId: string) => {\n const preset = themeConfig.colorPresets[presetId]\n const primaryColor = preset?.primaryColor ?? DEFAULT_THEME.primaryColor\n setTheme((prev) => ({\n ...prev,\n presetId,\n primaryColor,\n colorOverrides: null,\n }))\n },\n [setTheme]\n )\n}\n\nexport function useSetThemePrimaryColor(): (color: string) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback(\n (primaryColor: string) => {\n setTheme((prev) => ({ ...prev, primaryColor, colorOverrides: null }))\n },\n [setTheme]\n )\n}\n\nexport function useSetThemeShape(): (shape: ThemeShape) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback(\n (shape: ThemeShape) => {\n setTheme((prev) => ({ ...prev, shape }))\n },\n [setTheme]\n )\n}\n\nexport function useSetThemeDensity(): (density: ThemeDensity) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback(\n (density: ThemeDensity) => {\n setTheme((prev) => ({ ...prev, density }))\n },\n [setTheme]\n )\n}\n\nexport function useSetThemeElevation(): (elevation: ThemeElevation) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback(\n (elevation: ThemeElevation) => {\n setTheme((prev) => ({ ...prev, elevation }))\n },\n [setTheme]\n )\n}\n\nexport function useSetThemeGlass(): (glass: ThemeGlass) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback(\n (glass: ThemeGlass) => {\n setTheme((prev) => ({ ...prev, glass }))\n },\n [setTheme]\n )\n}\n\nexport function useSetThemeMotion(): (motion: ThemeMotion) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback(\n (motion: ThemeMotion) => {\n setTheme((prev) => ({ ...prev, motion }))\n },\n [setTheme]\n )\n}\n\nexport function useSetThemeColors(): (\n overrides: Partial<ThemeColorOverrides> | null\n) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback(\n (colorOverrides: Partial<ThemeColorOverrides> | null) => {\n setTheme((prev) => ({ ...prev, colorOverrides }))\n },\n [setTheme]\n )\n}\n\nexport function useResetTheme(): () => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback(() => {\n setTheme(DEFAULT_THEME)\n }, [setTheme])\n}\n\n// side-effect hook: apply theme to DOM + persist + listen to system changes\n// call this ONCE in the app root\nexport function useThemeEffect(): void {\n const theme = useAtomValue(themeAtom)\n const resolvedMode = useAtomValue(resolvedModeAtom)\n const prevKeysRef = useRef<string[]>([])\n\n // apply to DOM whenever theme changes\n useEffect(() => {\n const vars = resolveThemeCssVars(theme, resolvedMode)\n prevKeysRef.current = applyThemeToDocument(\n vars,\n resolvedMode,\n prevKeysRef.current\n )\n persistTheme(theme)\n }, [theme, resolvedMode])\n\n // listen for system theme preference changes\n useEffect(() => {\n const mq = window.matchMedia('(prefers-color-scheme: dark)')\n const handler = () => {\n // trigger re-render via resolvedModeAtom re-evaluation\n // jotai derived atoms auto-recompute, but we need to force it\n // by touching the base atom (no-op write)\n }\n mq.addEventListener('change', handler)\n return () => mq.removeEventListener('change', handler)\n }, [])\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gesture.d.ts","sourceRoot":"","sources":["../../src/utils/gesture.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAgBnE,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;AAE5E,wBAAgB,QAAQ,CAAC,OAAO,EAAE,YAAY;uBAGN,KAAK,CAAC,YAAY;uBAYlB,KAAK,CAAC,YAAY;;EAuCzD;AAID,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,IAAI;
|
|
1
|
+
{"version":3,"file":"gesture.d.ts","sourceRoot":"","sources":["../../src/utils/gesture.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAgBnE,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;AAE5E,wBAAgB,QAAQ,CAAC,OAAO,EAAE,YAAY;uBAGN,KAAK,CAAC,YAAY;uBAYlB,KAAK,CAAC,YAAY;;EAuCzD;AAID,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,IAAI;uBAK5C,KAAK,CAAC,YAAY;uBAUc,KAAK,CAAC,YAAY;;EAmBzD;AAID,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;AAEpD,wBAAgB,OAAO,CACrB,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI;uBAKA,KAAK,CAAC,YAAY;uBAclD,KAAK,CAAC,YAAY;;EAwCzB;AAID,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC9B,KAAK,CAAC,EAAE,MAAM,IAAI,GACjB,MAAM,IAAI,CAwBZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/utils/hooks.ts"],"names":[],"mappings":"AAMA,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CASnD;AAGD,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CASvE;AAGD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EACxC,MAAM,EAAE,OAAO,EACf,cAAc,EAAE,MAAM,IAAI,GACzB,IAAI,CAWN;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/utils/hooks.ts"],"names":[],"mappings":"AAMA,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CASnD;AAGD,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CASvE;AAGD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EACxC,MAAM,EAAE,OAAO,EACf,cAAc,EAAE,MAAM,IAAI,GACzB,IAAI,CAWN;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAyBpD;AAGD,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAMD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,GACd,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAwCxC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -8,4 +8,6 @@ export { useClickOutside, useEscapeKey, useFocusTrap, useIsDesktop, useIsMobile,
|
|
|
8
8
|
export { motionClass, motionClassWithSpeed } from './motion';
|
|
9
9
|
export { renderPortal } from './portal';
|
|
10
10
|
export type { Align, AsProps, ButtonProps, ComponentBase, DataAttributes, DataRecord, DivProps, GlassMotionProps, InputProps, MergeProps, MotionPreset, Orientation, PartialExcept, Placement, RequireKeys, Side, Size, SvgProps, VariantProps, } from './types';
|
|
11
|
+
export type { SanitizeConfig } from './sanitize';
|
|
12
|
+
export { sanitizeEmailHtml } from './sanitize';
|
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC9D,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EACL,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC9D,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EACV,KAAK,EACL,OAAO,EACP,WAAW,EACX,aAAa,EACb,cAAc,EACd,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,SAAS,EACT,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,YAAY,GACb,MAAM,SAAS,CAAA;AAKhB,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/utils/index.js
CHANGED
|
@@ -3,5 +3,6 @@ import { i as r, n as i, r as a, t as o } from "../motion-DUPegem-.js";
|
|
|
3
3
|
import { t as s } from "../portal-Bbl6F_Wj.js";
|
|
4
4
|
import { i as c, n as l, r as u, t as d } from "../dom-17XgfxMq.js";
|
|
5
5
|
import { a as f, i as p, n as m, o as h, r as g, s as _, t as v } from "../hooks-BE-_EmDI.js";
|
|
6
|
-
import {
|
|
7
|
-
|
|
6
|
+
import { t as y } from "../sanitize-BF45M9xp.js";
|
|
7
|
+
import { i as b, n as x, r as S, t as C } from "../gesture-I79dlTuS.js";
|
|
8
|
+
export { C as applyInertia, d as clamp, t as cx, a as focusCls, n as glassClass, e as glassSurface, l as isActivationKey, u as mergeRefs, o as motionClass, i as motionClassWithSpeed, s as renderPortal, y as sanitizeEmailHtml, r as srOnly, c as uid, v as useClickOutside, x as useDrag, m as useEscapeKey, g as useFocusTrap, p as useIsDesktop, f as useIsMobile, S as useLongPress, h as useMediaQuery, _ as useScrollLock, b as useSwipe };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Config } from 'dompurify';
|
|
2
|
+
export type SanitizeConfig = Config;
|
|
3
|
+
declare const EMAIL_SANITIZE_CONFIG: SanitizeConfig;
|
|
4
|
+
export declare function sanitizeEmailHtml(html: string): string;
|
|
5
|
+
export declare function sanitizeHtml(html: string, config?: SanitizeConfig): string;
|
|
6
|
+
export { EMAIL_SANITIZE_CONFIG };
|
|
7
|
+
//# sourceMappingURL=sanitize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/utils/sanitize.ts"],"names":[],"mappings":"AAIA,OAAkB,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAGnC,QAAA,MAAM,qBAAqB,EAAE,cAI5B,CAAA;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CAK1E;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { CodeBlockLowlight as ExtCodeBlockLowlight } from '@tiptap/extension-code-block-lowlight';
|
|
2
|
+
export { Image as ExtImage } from '@tiptap/extension-image';
|
|
3
|
+
export { Link as ExtLink } from '@tiptap/extension-link';
|
|
4
|
+
export { Placeholder as ExtPlaceholder } from '@tiptap/extension-placeholder';
|
|
5
|
+
export { Table as ExtTable, TableCell as ExtTableCell, TableHeader as ExtTableHeader, TableRow as ExtTableRow, } from '@tiptap/extension-table';
|
|
6
|
+
export { TaskItem as ExtTaskItem } from '@tiptap/extension-task-item';
|
|
7
|
+
export { TaskList as ExtTaskList } from '@tiptap/extension-task-list';
|
|
8
|
+
export { Underline as ExtUnderline } from '@tiptap/extension-underline';
|
|
9
|
+
export type { Editor, UseEditorOptions } from '@tiptap/react';
|
|
10
|
+
export { EditorContent, useEditor } from '@tiptap/react';
|
|
11
|
+
export { StarterKit } from '@tiptap/starter-kit';
|
|
12
|
+
//# sourceMappingURL=tiptap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tiptap.d.ts","sourceRoot":"","sources":["../../src/utils/tiptap.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AACjG,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC7E,OAAO,EACL,KAAK,IAAI,QAAQ,EACjB,SAAS,IAAI,YAAY,EACzB,WAAW,IAAI,cAAc,EAC7B,QAAQ,IAAI,WAAW,GACxB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAA;AACvE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAG5D,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAG5D,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACxD,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAGtB,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACnE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAGZ,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAGhD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,IAAI;IACjD,EAAE,CAAC,EAAE,CAAC,CAAA;CACP,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAGjD,MAAM,MAAM,UAAU,CAAC,WAAW,EAAE,cAAc,IAAI,IAAI,CACxD,WAAW,EACX,MAAM,cAAc,CACrB,GACC,cAAc,CAAA;AAKhB,MAAM,MAAM,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAGxD,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,UAAU,CAAA;AAGnD,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;AACtD,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAA;AAC9C,MAAM,MAAM,SAAS,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,EAAE,CAAA;AAGtD,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB,CAAA;AAGD,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IACxE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AACD,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAGD,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,SAAS,GACT,SAAS,GACT,UAAU,GACV,WAAW,GACX,WAAW,GACX,YAAY,GACZ,SAAS,CAAA;AAKb,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;CACtC,CAAA;AAID,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAGD,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goliapkg/gds",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "GOLIA Design System — enterprise-grade UI component library with contextual depth, glass materials, AI-native structure, and 10 design principles",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -94,8 +94,9 @@
|
|
|
94
94
|
"test": "vitest run",
|
|
95
95
|
"test:watch": "vitest",
|
|
96
96
|
"test:coverage": "vitest run --coverage",
|
|
97
|
-
"lint": "eslint src/",
|
|
98
|
-
"lint:fix": "eslint --fix src/",
|
|
97
|
+
"lint": "eslint src/ && prettier --check src/",
|
|
98
|
+
"lint:fix": "eslint --fix src/ && prettier --write src/",
|
|
99
|
+
"fix": "eslint --fix src/ && prettier --write src/",
|
|
99
100
|
"typecheck": "tsc --noEmit",
|
|
100
101
|
"clean": "rm -rf dist",
|
|
101
102
|
"build": "bun run clean && bun run build:lib && bun run build:types && bun run build:css",
|
|
@@ -106,39 +107,104 @@
|
|
|
106
107
|
},
|
|
107
108
|
"peerDependencies": {
|
|
108
109
|
"react": ">=19.0.0",
|
|
109
|
-
"react-dom": ">=19.0.0"
|
|
110
|
+
"react-dom": ">=19.0.0",
|
|
111
|
+
"@tiptap/react": "^3.0.0",
|
|
112
|
+
"@tiptap/starter-kit": "^3.0.0",
|
|
113
|
+
"@tiptap/extension-code-block-lowlight": "^3.0.0",
|
|
114
|
+
"@tiptap/extension-image": "^3.0.0",
|
|
115
|
+
"@tiptap/extension-link": "^3.0.0",
|
|
116
|
+
"@tiptap/extension-table": "^3.0.0",
|
|
117
|
+
"@tiptap/extension-task-list": "^3.0.0",
|
|
118
|
+
"@tiptap/extension-task-item": "^3.0.0",
|
|
119
|
+
"@tiptap/extension-underline": "^3.0.0",
|
|
120
|
+
"@tiptap/extension-placeholder": "^3.0.0",
|
|
121
|
+
"lowlight": "^3.0.0",
|
|
122
|
+
"dompurify": "^3.0.0"
|
|
123
|
+
},
|
|
124
|
+
"peerDependenciesMeta": {
|
|
125
|
+
"@tiptap/react": {
|
|
126
|
+
"optional": true
|
|
127
|
+
},
|
|
128
|
+
"@tiptap/starter-kit": {
|
|
129
|
+
"optional": true
|
|
130
|
+
},
|
|
131
|
+
"@tiptap/extension-code-block-lowlight": {
|
|
132
|
+
"optional": true
|
|
133
|
+
},
|
|
134
|
+
"@tiptap/extension-image": {
|
|
135
|
+
"optional": true
|
|
136
|
+
},
|
|
137
|
+
"@tiptap/extension-link": {
|
|
138
|
+
"optional": true
|
|
139
|
+
},
|
|
140
|
+
"@tiptap/extension-table": {
|
|
141
|
+
"optional": true
|
|
142
|
+
},
|
|
143
|
+
"@tiptap/extension-task-list": {
|
|
144
|
+
"optional": true
|
|
145
|
+
},
|
|
146
|
+
"@tiptap/extension-task-item": {
|
|
147
|
+
"optional": true
|
|
148
|
+
},
|
|
149
|
+
"@tiptap/extension-underline": {
|
|
150
|
+
"optional": true
|
|
151
|
+
},
|
|
152
|
+
"@tiptap/extension-placeholder": {
|
|
153
|
+
"optional": true
|
|
154
|
+
},
|
|
155
|
+
"lowlight": {
|
|
156
|
+
"optional": true
|
|
157
|
+
},
|
|
158
|
+
"dompurify": {
|
|
159
|
+
"optional": true
|
|
160
|
+
}
|
|
110
161
|
},
|
|
111
162
|
"dependencies": {
|
|
112
163
|
"class-variance-authority": "^0.7.1",
|
|
113
164
|
"clsx": "^2.1.1",
|
|
114
|
-
"jotai": "^2.
|
|
115
|
-
"lucide-react": "^
|
|
116
|
-
"recharts": "^3.8.
|
|
165
|
+
"jotai": "^2.19.0",
|
|
166
|
+
"lucide-react": "^1.7.0",
|
|
167
|
+
"recharts": "^3.8.1",
|
|
117
168
|
"shiki": "^4.0.2",
|
|
118
169
|
"tailwind-merge": "^3.5.0",
|
|
119
|
-
"tailwindcss": "^4.2.
|
|
170
|
+
"tailwindcss": "^4.2.2"
|
|
120
171
|
},
|
|
121
172
|
"devDependencies": {
|
|
122
173
|
"@eslint/js": "^10.0.1",
|
|
123
|
-
"react-router": "^7.13.2",
|
|
124
174
|
"@tailwindcss/vite": "^4.2.2",
|
|
125
175
|
"@testing-library/jest-dom": "^6.9.1",
|
|
126
176
|
"@testing-library/react": "^16.3.2",
|
|
127
177
|
"@testing-library/user-event": "^14.6.1",
|
|
178
|
+
"@tiptap/extension-code-block-lowlight": "^3.21.0",
|
|
179
|
+
"@tiptap/extension-image": "^3.21.0",
|
|
180
|
+
"@tiptap/extension-link": "^3.21.0",
|
|
181
|
+
"@tiptap/extension-placeholder": "^3.21.0",
|
|
182
|
+
"@tiptap/extension-table": "^3.21.0",
|
|
183
|
+
"@tiptap/extension-task-item": "^3.21.0",
|
|
184
|
+
"@tiptap/extension-task-list": "^3.21.0",
|
|
185
|
+
"@tiptap/extension-underline": "^3.21.0",
|
|
186
|
+
"@tiptap/react": "^3.21.0",
|
|
187
|
+
"@tiptap/starter-kit": "^3.21.0",
|
|
188
|
+
"@types/dompurify": "^3.2.0",
|
|
128
189
|
"@types/react": "^19.2.14",
|
|
129
190
|
"@types/react-dom": "^19.2.3",
|
|
130
191
|
"@vitejs/plugin-react": "^6.0.1",
|
|
131
|
-
"@vitest/coverage-v8": "^4.1.
|
|
192
|
+
"@vitest/coverage-v8": "^4.1.2",
|
|
193
|
+
"dompurify": "^3.3.3",
|
|
132
194
|
"eslint": "^10.1.0",
|
|
133
195
|
"eslint-plugin-react": "^7.37.5",
|
|
134
196
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
135
197
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
136
|
-
"happy-dom": "^20.8.
|
|
198
|
+
"happy-dom": "^20.8.9",
|
|
199
|
+
"lowlight": "^3.3.0",
|
|
200
|
+
"prettier": "^3.8.1",
|
|
201
|
+
"prettier-plugin-tailwindcss": "^0.7.2",
|
|
137
202
|
"react": "^19.2.4",
|
|
138
203
|
"react-dom": "^19.2.4",
|
|
139
|
-
"
|
|
204
|
+
"react-router": "^7.13.2",
|
|
205
|
+
"typescript": "^6.0.2",
|
|
140
206
|
"typescript-eslint": "^8.57.2",
|
|
141
|
-
"vite": "^8.0.
|
|
142
|
-
"vitest": "^4.1.
|
|
207
|
+
"vite": "^8.0.3",
|
|
208
|
+
"vitest": "^4.1.2"
|
|
143
209
|
}
|
|
144
210
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"avatar-l3SaMCmU.js","names":[],"sources":["../src/l3-atoms/avatar.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\nimport type { VariantProps } from '../utils/types'\n\nconst avatarVariants = cva(\n 'relative inline-flex shrink-0 select-none items-center justify-center rounded-full font-medium',\n {\n defaultVariants: { size: 'default' },\n variants: {\n size: {\n default: 'h-8 w-8 text-xs',\n lg: 'h-10 w-10 text-sm',\n sm: 'h-6 w-6 text-[10px]',\n xs: 'h-5 w-5 text-[9px]',\n },\n },\n },\n)\n\nconst paletteColors = [\n 'bg-palette-0', 'bg-palette-1', 'bg-palette-2', 'bg-palette-3', 'bg-palette-4',\n 'bg-palette-5', 'bg-palette-6', 'bg-palette-7', 'bg-palette-8', 'bg-palette-9',\n]\n\nconst statusColors: Record<string, string> = {\n away: 'bg-warning',\n busy: 'bg-danger',\n offline: 'bg-fg-muted/30',\n online: 'bg-success',\n}\n\nconst statusSizeMap: Record<string, string> = {\n default: 'h-2.5 w-2.5',\n lg: 'h-3 w-3',\n sm: 'h-2 w-2',\n xs: 'h-1.5 w-1.5',\n}\n\nfunction getInitials(name: string): string {\n const parts = name.trim().split(/\\s+/)\n if (parts.length >= 2) return `${parts[0][0]}${parts[1][0]}`.toUpperCase()\n return name.slice(0, 2).toUpperCase()\n}\n\nfunction hashName(name: string): number {\n let hash = 0\n for (let i = 0; i < name.length; i++) {\n hash = (hash * 31 + name.charCodeAt(i)) | 0\n }\n return Math.abs(hash)\n}\n\ntype AvatarStatus = 'away' | 'busy' | 'offline' | 'online'\n\ntype AvatarProps = React.HTMLAttributes<HTMLSpanElement> &\n VariantProps<typeof avatarVariants> & {\n /** Enable frosted glass translucency effect */\n glass?: boolean\n /** Show pulse skeleton placeholder */\n loading?: boolean\n /** Display name — used for initials and color hashing */\n name?: string\n /** Image URL; falls back to initials when absent */\n src?: string\n /** Presence indicator dot in bottom-right corner */\n status?: AvatarStatus\n }\n\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>(\n function Avatar({ className, glass, loading, name, size = 'default', src, status, ...props }, ref) {\n const sizeKey = size ?? 'default'\n const colorIdx = name !== undefined ? hashName(name) % 10 : 0\n\n return (\n <span\n className={cx(\n avatarVariants({ size }),\n src === undefined && paletteColors[colorIdx],\n src === undefined && 'text-accent-fg',\n glassClass(glass),\n className,\n )}\n data-component=\"avatar\"\n ref={ref}\n {...props}\n >\n {loading === true ? (\n <span className=\"absolute inset-0 animate-pulse rounded-full bg-fg-muted/20\" />\n ) : src !== undefined ? (\n <img alt={name ?? ''} className=\"absolute inset-0 h-full w-full rounded-full object-cover\" src={src} />\n ) : (\n <span>{name !== undefined ? getInitials(name) : '?'}</span>\n )}\n {status !== undefined && (\n <span\n className={cx(\n 'absolute right-0 bottom-0 rounded-full ring-2 ring-bg',\n statusSizeMap[sizeKey],\n statusColors[status],\n )}\n />\n )}\n </span>\n )\n },\n)\n\ntype AvatarGroupProps = React.HTMLAttributes<HTMLDivElement> & {\n max?: number\n}\n\nexport const AvatarGroup = forwardRef<HTMLDivElement, AvatarGroupProps>(\n function AvatarGroup({ children, className, max, ...props }, ref) {\n const items = Array.isArray(children) ? children : [children]\n const visible = max !== undefined ? items.slice(0, max) : items\n const overflow = max !== undefined ? items.length - max : 0\n\n return (\n <div\n className={cx('flex -space-x-2', className)}\n data-component=\"avatar-group\"\n ref={ref}\n {...props}\n >\n {visible}\n {overflow > 0 && (\n <span className=\"inline-flex gds-sq items-center justify-center rounded-full bg-bg-tertiary gds-text-body font-medium text-fg-muted ring-2 ring-bg\">\n +{overflow}\n </span>\n )}\n </div>\n )\n },\n)\n\nexport { avatarVariants }\nexport type { AvatarGroupProps, AvatarProps, AvatarStatus }\n"],"mappings":";;;;;AAOA,IAAM,IAAiB,EACrB,kGACA;CACE,iBAAiB,EAAE,MAAM,WAAW;CACpC,UAAU,EACR,MAAM;EACJ,SAAS;EACT,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CACF,EAEK,IAAgB;CACpB;CAAgB;CAAgB;CAAgB;CAAgB;CAChE;CAAgB;CAAgB;CAAgB;CAAgB;CACjE,EAEK,IAAuC;CAC3C,MAAM;CACN,MAAM;CACN,SAAS;CACT,QAAQ;CACT,EAEK,IAAwC;CAC5C,SAAS;CACT,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,SAAS,EAAY,GAAsB;CACzC,IAAM,IAAQ,EAAK,MAAM,CAAC,MAAM,MAAM;AAEtC,QADI,EAAM,UAAU,IAAU,GAAG,EAAM,GAAG,KAAK,EAAM,GAAG,KAAK,aAAa,GACnE,EAAK,MAAM,GAAG,EAAE,CAAC,aAAa;;AAGvC,SAAS,EAAS,GAAsB;CACtC,IAAI,IAAO;AACX,MAAK,IAAI,IAAI,GAAG,IAAI,EAAK,QAAQ,IAC/B,KAAQ,IAAO,KAAK,EAAK,WAAW,EAAE,GAAI;AAE5C,QAAO,KAAK,IAAI,EAAK;;AAmBvB,IAAa,IAAS,EACpB,SAAgB,EAAE,cAAW,UAAO,YAAS,SAAM,UAAO,WAAW,QAAK,WAAQ,GAAG,KAAS,GAAK;CACjG,IAAM,IAAU,KAAQ,WAClB,IAAW,MAAS,KAAA,IAAkC,IAAtB,EAAS,EAAK,GAAG;AAEvD,QACE,kBAAC,QAAD;EACE,WAAW,EACT,EAAe,EAAE,SAAM,CAAC,EACxB,MAAQ,KAAA,KAAa,EAAc,IACnC,MAAQ,KAAA,KAAa,kBACrB,EAAW,EAAM,EACjB,EACD;EACD,kBAAe;EACV;EACL,GAAI;YAVN,CAYG,MAAY,KACX,kBAAC,QAAD,EAAM,WAAU,8DAA+D,CAAA,GAC7E,MAAQ,KAAA,IAGV,kBAAC,QAAD,EAAA,UAAO,MAAS,KAAA,IAAgC,MAApB,EAAY,EAAK,EAAc,CAAA,GAF3D,kBAAC,OAAD;GAAK,KAAK,KAAQ;GAAI,WAAU;GAAgE;GAAO,CAAA,EAIxG,MAAW,KAAA,KACV,kBAAC,QAAD,EACE,WAAW,EACT,yDACA,EAAc,IACd,EAAa,GACd,EACD,CAAA,CAEC;;EAGZ,EAMY,IAAc,EACzB,SAAqB,EAAE,aAAU,cAAW,QAAK,GAAG,KAAS,GAAK;CAChE,IAAM,IAAQ,MAAM,QAAQ,EAAS,GAAG,IAAW,CAAC,EAAS,EACvD,IAAU,MAAQ,KAAA,IAAkC,IAAtB,EAAM,MAAM,GAAG,EAAI,EACjD,IAAW,MAAQ,KAAA,IAAiC,IAArB,EAAM,SAAS;AAEpD,QACE,kBAAC,OAAD;EACE,WAAW,EAAG,mBAAmB,EAAU;EAC3C,kBAAe;EACV;EACL,GAAI;YAJN,CAMG,GACA,IAAW,KACV,kBAAC,QAAD;GAAM,WAAU;aAAhB,CAAoJ,KAChJ,EACG;KAEL;;EAGX"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"badge-DTJq6AXr.js","names":[],"sources":["../src/l2-primitives/badge.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\nimport type { VariantProps } from '../utils/types'\n\nconst badgeVariants = cva(\n 'inline-flex select-none items-center gds-gap-xs gds-radius-badge gds-pad-x-sm gds-pad-y-sm gds-text-caption font-medium',\n {\n defaultVariants: {\n variant: 'default',\n },\n variants: {\n variant: {\n danger: 'bg-danger/10 text-danger',\n default: 'bg-fg-muted/10 text-fg-muted',\n info: 'bg-accent/10 text-accent',\n 'palette-0': 'bg-palette-0/10 text-palette-0',\n 'palette-1': 'bg-palette-1/10 text-palette-1',\n 'palette-2': 'bg-palette-2/10 text-palette-2',\n 'palette-3': 'bg-palette-3/10 text-palette-3',\n 'palette-4': 'bg-palette-4/10 text-palette-4',\n 'palette-5': 'bg-palette-5/10 text-palette-5',\n 'palette-6': 'bg-palette-6/10 text-palette-6',\n 'palette-7': 'bg-palette-7/10 text-palette-7',\n 'palette-8': 'bg-palette-8/10 text-palette-8',\n 'palette-9': 'bg-palette-9/10 text-palette-9',\n success: 'bg-success/10 text-success',\n warning: 'bg-warning/10 text-warning',\n },\n },\n },\n)\n\nconst dotColors: Partial<Record<string, string>> = {\n danger: 'bg-danger',\n default: 'bg-fg-muted',\n info: 'bg-accent',\n success: 'bg-success',\n warning: 'bg-warning',\n}\n\ntype BadgeVariant = NonNullable<VariantProps<typeof badgeVariants>['variant']>\n\ntype BadgeProps = React.HTMLAttributes<HTMLSpanElement> &\n VariantProps<typeof badgeVariants> & {\n count?: number\n countMax?: number\n dot?: boolean\n glass?: boolean\n }\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n function Badge(\n {\n children,\n className,\n count,\n countMax = 99,\n dot,\n glass,\n variant,\n ...props\n },\n ref,\n ) {\n // count badge mode\n if (count !== undefined) {\n if (count <= 0) return null\n const display = count > countMax ? `${countMax}+` : String(count)\n return (\n <span\n className={cx(\n 'inline-flex items-center justify-center gds-radius-badge gds-text-caption font-bold text-accent-fg select-none',\n 'h-[18px] min-w-[18px] px-1',\n variant === 'danger' ? 'animate-pulse bg-danger' : 'bg-accent',\n glassClass(glass),\n glass === true && 'border border-white/10 bg-white/5',\n className,\n )}\n data-component=\"badge\"\n data-variant=\"count\"\n ref={ref}\n {...props}\n >\n {display}\n </span>\n )\n }\n\n // standard badge\n return (\n <span\n className={cx(\n badgeVariants({ variant }),\n glassClass(glass),\n glass === true && 'border border-white/10 bg-white/5',\n className,\n )}\n data-component=\"badge\"\n data-variant={variant ?? 'default'}\n ref={ref}\n {...props}\n >\n {dot === true && (\n <span\n className={cx(\n 'h-1.5 w-1.5 gds-radius-badge',\n dotColors[variant ?? 'default'] ?? 'bg-fg-muted',\n )}\n />\n )}\n {children}\n </span>\n )\n },\n)\n\n// map a numeric index to a palette variant\nexport function paletteVariant(index: number): BadgeVariant {\n return `palette-${index % 10}` as BadgeVariant\n}\n\nexport { badgeVariants }\nexport type { BadgeProps, BadgeVariant }\n"],"mappings":";;;;;AAOA,IAAM,IAAgB,EACpB,2HACA;CACE,iBAAiB,EACf,SAAS,WACV;CACD,UAAU,EACR,SAAS;EACP,QAAQ;EACR,SAAS;EACT,MAAM;EACN,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,SAAS;EACT,SAAS;EACV,EACF;CACF,CACF,EAEK,IAA6C;CACjD,QAAQ;CACR,SAAS;CACT,MAAM;CACN,SAAS;CACT,SAAS;CACV,EAYY,IAAQ,EACnB,SACE,EACE,aACA,cACA,UACA,cAAW,IACX,QACA,UACA,YACA,GAAG,KAEL,GACA;AAEA,KAAI,MAAU,KAAA,GAAW;AACvB,MAAI,KAAS,EAAG,QAAO;EACvB,IAAM,IAAU,IAAQ,IAAW,GAAG,EAAS,KAAK,OAAO,EAAM;AACjE,SACE,kBAAC,QAAD;GACE,WAAW,EACT,kHACA,8BACA,MAAY,WAAW,4BAA4B,aACnD,EAAW,EAAM,EACjB,MAAU,MAAQ,qCAClB,EACD;GACD,kBAAe;GACf,gBAAa;GACR;GACL,GAAI;aAEH;GACI,CAAA;;AAKX,QACE,kBAAC,QAAD;EACE,WAAW,EACT,EAAc,EAAE,YAAS,CAAC,EAC1B,EAAW,EAAM,EACjB,MAAU,MAAQ,qCAClB,EACD;EACD,kBAAe;EACf,gBAAc,KAAW;EACpB;EACL,GAAI;YAVN,CAYG,MAAQ,MACP,kBAAC,QAAD,EACE,WAAW,EACT,gCACA,EAAU,KAAW,cAAc,cACpC,EACD,CAAA,EAEH,EACI;;EAGZ;AAGD,SAAgB,EAAe,GAA6B;AAC1D,QAAO,WAAW,IAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button-avu-rQU4.js","names":[],"sources":["../node_modules/class-variance-authority/dist/index.mjs","../src/l2-primitives/button.tsx"],"sourcesContent":["/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n","import { cva } from 'class-variance-authority'\nimport type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { focusCls } from '../utils/a11y'\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\nimport { motionClass } from '../utils/motion'\nimport type { VariantProps } from '../utils/types'\n\nconst buttonVariants = cva(\n 'inline-flex select-none items-center justify-center font-medium transition-colors ' +\n focusCls,\n {\n defaultVariants: {\n size: 'default',\n variant: 'primary',\n },\n variants: {\n size: {\n default: 'gds-h gds-gap-sm gds-radius-button gds-pad-x gds-text-body',\n lg: 'gds-h-lg gds-gap gds-radius-button gds-pad-x-lg gds-text-body',\n sm: 'gds-h-sm gds-gap-xs gds-radius-button gds-pad-x-sm gds-text-label',\n },\n variant: {\n danger: 'bg-danger text-accent-fg hover:bg-danger/90',\n ghost: 'bg-transparent text-fg-muted hover:bg-bg-tertiary hover:text-fg',\n primary: 'bg-accent text-accent-fg hover:bg-accent-hover',\n secondary: 'border border-border bg-transparent text-fg hover:bg-bg-tertiary',\n },\n },\n },\n)\n\ntype ButtonSize = 'default' | 'lg' | 'sm'\ntype ButtonVariant = 'danger' | 'ghost' | 'primary' | 'secondary'\n\ntype ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> &\n VariantProps<typeof buttonVariants> & {\n /** Visual style: primary, secondary, ghost, danger */\n variant?: 'danger' | 'ghost' | 'primary' | 'secondary'\n /** Height and text scale preset */\n size?: 'default' | 'lg' | 'sm'\n fullWidth?: boolean\n /** Enable frosted glass translucency effect */\n glass?: boolean\n /** Icon element rendered before children */\n icon?: ReactNode\n iconRight?: ReactNode\n /** Show spinner and disable interaction */\n loading?: boolean\n /** Animation preset name (e.g. 'fade', 'scale') */\n motion?: string\n }\n\n// inline SVG spinner to avoid circular L2 dependency\nfunction InlineSpinner() {\n return (\n <svg className=\"h-3 w-3 animate-spin\" fill=\"none\" viewBox=\"0 0 24 24\">\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(\n {\n children,\n className,\n disabled,\n fullWidth,\n glass,\n icon,\n iconRight,\n loading,\n motion: m,\n size,\n variant,\n ...props\n },\n ref,\n ) {\n return (\n <button\n className={cx(\n buttonVariants({ size, variant }),\n (disabled === true || loading === true) && 'cursor-not-allowed opacity-50',\n fullWidth === true && 'w-full',\n glassClass(glass),\n glass === true && 'border border-white/10 bg-bg/60',\n motionClass(m),\n className,\n )}\n data-component=\"button\"\n data-variant={variant ?? 'primary'}\n disabled={disabled === true || loading === true}\n ref={ref}\n {...props}\n >\n {loading === true ? (\n <InlineSpinner />\n ) : icon !== undefined ? (\n <span className=\"gds-icon-child-sm\">{icon}</span>\n ) : null}\n {children}\n {iconRight !== undefined && (\n <span className=\"gds-icon-child-sm\">{iconRight}</span>\n )}\n </button>\n )\n },\n)\n\nexport { buttonVariants }\nexport type { ButtonProps, ButtonSize, ButtonVariant }\n"],"x_google_ignoreList":[0],"mappings":";;;;;AAeA,IAAM,KAAiB,MAAQ,OAAO,KAAU,YAAY,GAAG,MAAU,MAAU,IAAI,MAAM,GAChF,IAAK,GACL,KAAO,GAAM,OAAU,MAAQ;AAEpC,KAAK,GAAuD,YAAa,KAAM,QAAO,EAAG,GAAM,GAAoD,OAAO,GAAoD,UAAU;CACxN,IAAM,EAAE,aAAU,uBAAoB,GAChC,IAAuB,OAAO,KAAK,EAAS,CAAC,KAAK,MAAU;EAC9D,IAAM,IAAc,IAAoD,IAClE,IAAqB,IAAkF;AAC7G,MAAI,MAAgB,KAAM,QAAO;EACjC,IAAM,IAAa,EAAc,EAAY,IAAI,EAAc,EAAmB;AAClF,SAAO,EAAS,GAAS;GAC3B,EACI,IAAwB,KAAS,OAAO,QAAQ,EAAM,CAAC,QAAQ,GAAK,MAAQ;EAC9E,IAAI,CAAC,GAAK,KAAS;AAKnB,SAJI,MAAU,KAAA,MAGd,EAAI,KAAO,IAFA;IAIZ,EAAE,CAAC;AAkBN,QAAO,EAAG,GAAM,GAjBqB,GAAmF,kBAAsG,QAAQ,GAAK,MAAQ;EAC/O,IAAI,EAAE,OAAO,GAAS,WAAW,GAAa,GAAG,MAA2B;AAC5E,SAAO,OAAO,QAAQ,EAAuB,CAAC,OAAO,MAAQ;GACzD,IAAI,CAAC,GAAK,KAAS;AACnB,UAAO,MAAM,QAAQ,EAAM,GAAG,EAAM,SAAS;IACzC,GAAG;IACH,GAAG;IACN,CAAC,GAAK,GAAI;IACP,GAAG;IACH,GAAG;IACN,CAAE,OAAS;IACd,GAAG;GACD,GAAG;GACH;GACA;GACH,GAAG;IACL,EAAE,CAAC,EAC8D,GAAoD,OAAO,GAAoD,UAAU;GC3C/L,IAAiB,EACrB,uFACE,GACF;CACE,iBAAiB;EACf,MAAM;EACN,SAAS;EACV;CACD,UAAU;EACR,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACL;EACD,SAAS;GACP,QAAQ;GACR,OAAO;GACP,SAAS;GACT,WAAW;GACZ;EACF;CACF,CACF;AAwBD,SAAS,IAAgB;AACvB,QACE,kBAAC,OAAD;EAAK,WAAU;EAAuB,MAAK;EAAO,SAAQ;YAA1D,CACE,kBAAC,UAAD;GACE,WAAU;GACV,IAAG;GACH,IAAG;GACH,GAAE;GACF,QAAO;GACP,aAAY;GACZ,CAAA,EACF,kBAAC,QAAD;GACE,WAAU;GACV,GAAE;GACF,MAAK;GACL,CAAA,CACE;;;AAIV,IAAa,IAAS,EACpB,SACE,EACE,aACA,cACA,aACA,cACA,UACA,SACA,cACA,YACA,QAAQ,GACR,SACA,YACA,GAAG,KAEL,GACA;AACA,QACE,kBAAC,UAAD;EACE,WAAW,EACT,EAAe;GAAE;GAAM;GAAS,CAAC,GAChC,MAAa,MAAQ,MAAY,OAAS,iCAC3C,MAAc,MAAQ,UACtB,EAAW,EAAM,EACjB,MAAU,MAAQ,mCAClB,EAAY,EAAE,EACd,EACD;EACD,kBAAe;EACf,gBAAc,KAAW;EACzB,UAAU,MAAa,MAAQ,MAAY;EACtC;EACL,GAAI;YAdN;GAgBG,MAAY,KACX,kBAAC,GAAD,EAAiB,CAAA,GACf,MAAS,KAAA,IAET,OADF,kBAAC,QAAD;IAAM,WAAU;cAAqB;IAAY,CAAA;GAElD;GACA,MAAc,KAAA,KACb,kBAAC,QAAD;IAAM,WAAU;cAAqB;IAAiB,CAAA;GAEjD;;EAGd"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gesture-irjS0hVM.js","names":[],"sources":["../src/utils/gesture.ts"],"sourcesContent":["// L-dep — gesture hooks\n// consumes L0 gesture-system thresholds\n// provides touch/pointer gesture recognition for components\n\nimport { useCallback, useRef } from 'react'\n\nimport type { GestureDirection } from '../l0-tokens/gesture-system'\nimport { drag, inertia, longPress, swipe } from '../l0-tokens/gesture-system'\n\n// shared pointer state tracked during gestures\ntype PointerState = {\n startX: number\n startY: number\n startTime: number\n currentX: number\n currentY: number\n pointerId: number\n}\n\n// === useSwipe ===\n// detects swipe gestures on an element\n// returns handlers to spread on the target element\nexport type SwipeHandler = (dir: GestureDirection, velocity: number) => void\n\nexport function useSwipe(onSwipe: SwipeHandler) {\n const stateRef = useRef<PointerState | null>(null)\n\n const onPointerDown = useCallback((e: React.PointerEvent) => {\n stateRef.current = {\n startX: e.clientX,\n startY: e.clientY,\n startTime: Date.now(),\n currentX: e.clientX,\n currentY: e.clientY,\n pointerId: e.pointerId,\n }\n ;if (e.target instanceof Element) e.target.setPointerCapture(e.pointerId)\n }, [])\n\n const onPointerMove = useCallback((e: React.PointerEvent) => {\n if (stateRef.current === null) return\n stateRef.current.currentX = e.clientX\n stateRef.current.currentY = e.clientY\n }, [])\n\n const onPointerUp = useCallback(() => {\n const s = stateRef.current\n if (s === null) return\n stateRef.current = null\n\n const dx = s.currentX - s.startX\n const dy = s.currentY - s.startY\n const dt = Math.max(1, Date.now() - s.startTime)\n const absDx = Math.abs(dx)\n const absDy = Math.abs(dy)\n\n // determine if it's a horizontal or vertical swipe\n const isHorizontal = absDx > absDy\n const distance = isHorizontal ? absDx : absDy\n const crossDeviation = isHorizontal ? absDy : absDx\n const velocity = distance / dt\n\n // must meet thresholds\n if (distance < swipe.minDistance) return\n if (velocity < swipe.minVelocity) return\n if (crossDeviation > swipe.maxCrossDeviation) return\n\n let dir: GestureDirection\n if (isHorizontal) {\n dir = dx > 0 ? 'right' : 'left'\n } else {\n dir = dy > 0 ? 'down' : 'up'\n }\n\n onSwipe(dir, velocity)\n }, [onSwipe])\n\n return { onPointerDown, onPointerMove, onPointerUp }\n}\n\n// === useLongPress ===\n// detects long press on an element\nexport function useLongPress(onLongPress: () => void) {\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const startRef = useRef<{ x: number, y: number } | null>(null)\n\n const onPointerDown = useCallback((e: React.PointerEvent) => {\n startRef.current = { x: e.clientX, y: e.clientY }\n timerRef.current = setTimeout(() => {\n onLongPress()\n timerRef.current = null\n }, longPress.duration)\n }, [onLongPress])\n\n const onPointerMove = useCallback((e: React.PointerEvent) => {\n if (startRef.current === null || timerRef.current === null) return\n const dx = Math.abs(e.clientX - startRef.current.x)\n const dy = Math.abs(e.clientY - startRef.current.y)\n if (dx > longPress.maxMovement || dy > longPress.maxMovement) {\n clearTimeout(timerRef.current)\n timerRef.current = null\n }\n }, [])\n\n const onPointerUp = useCallback(() => {\n if (timerRef.current !== null) {\n clearTimeout(timerRef.current)\n timerRef.current = null\n }\n startRef.current = null\n }, [])\n\n return { onPointerDown, onPointerMove, onPointerUp }\n}\n\n// === useDrag ===\n// provides drag position tracking with start threshold\nexport type DragState = {\n dx: number\n dy: number\n isDragging: boolean\n}\n\nexport type DragHandler = (state: DragState) => void\n\nexport function useDrag(onDrag: DragHandler, onDragEnd?: (state: DragState) => void) {\n const stateRef = useRef<PointerState | null>(null)\n const isDragging = useRef(false)\n\n const onPointerDown = useCallback((e: React.PointerEvent) => {\n stateRef.current = {\n startX: e.clientX,\n startY: e.clientY,\n startTime: Date.now(),\n currentX: e.clientX,\n currentY: e.clientY,\n pointerId: e.pointerId,\n }\n isDragging.current = false\n ;if (e.target instanceof Element) e.target.setPointerCapture(e.pointerId)\n }, [])\n\n const onPointerMove = useCallback((e: React.PointerEvent) => {\n const s = stateRef.current\n if (s === null) return\n\n const dx = e.clientX - s.startX\n const dy = e.clientY - s.startY\n\n // start threshold — prevent accidental drag on tap\n if (!isDragging.current) {\n if (Math.abs(dx) < drag.startThreshold && Math.abs(dy) < drag.startThreshold) return\n isDragging.current = true\n }\n\n s.currentX = e.clientX\n s.currentY = e.clientY\n onDrag({ dx, dy, isDragging: true })\n }, [onDrag])\n\n const onPointerUp = useCallback(() => {\n const s = stateRef.current\n if (s === null) return\n\n const dx = s.currentX - s.startX\n const dy = s.currentY - s.startY\n\n if (isDragging.current && onDragEnd) {\n onDragEnd({ dx, dy, isDragging: false })\n }\n\n stateRef.current = null\n isDragging.current = false\n }, [onDragEnd])\n\n return { onPointerDown, onPointerMove, onPointerUp }\n}\n\n// === useInertia ===\n// applies momentum to a value after drag release\nexport function applyInertia(\n velocity: number,\n position: number,\n onFrame: (pos: number) => void,\n onEnd?: () => void,\n): () => void {\n let vel = Math.min(Math.abs(velocity), inertia.maxVelocity) * Math.sign(velocity)\n let pos = position\n let frame: number\n\n const step = () => {\n vel *= inertia.friction\n pos += vel\n\n if (Math.abs(vel) < inertia.minVelocity) {\n onFrame(pos)\n onEnd?.()\n return\n }\n\n onFrame(pos)\n frame = requestAnimationFrame(step)\n }\n\n frame = requestAnimationFrame(step)\n\n // return cancel function\n return () => cancelAnimationFrame(frame)\n}\n"],"mappings":";;;AAwBA,SAAgB,EAAS,GAAuB;CAC9C,IAAM,IAAW,EAA4B,KAAK;AAoDlD,QAAO;EAAE,eAlDa,GAAa,MAA0B;AAS1D,GARD,EAAS,UAAU;IACjB,QAAQ,EAAE;IACV,QAAQ,EAAE;IACV,WAAW,KAAK,KAAK;IACrB,UAAU,EAAE;IACZ,UAAU,EAAE;IACZ,WAAW,EAAE;IACd,EACI,EAAE,kBAAkB,WAAS,EAAE,OAAO,kBAAkB,EAAE,UAAU;KACxE,EAAE,CAAC;EAwCkB,eAtCF,GAAa,MAA0B;AACvD,KAAS,YAAY,SACzB,EAAS,QAAQ,WAAW,EAAE,SAC9B,EAAS,QAAQ,WAAW,EAAE;KAC7B,EAAE,CAAC;EAkCiC,aAhCnB,QAAkB;GACpC,IAAM,IAAI,EAAS;AACnB,OAAI,MAAM,KAAM;AAChB,KAAS,UAAU;GAEnB,IAAM,IAAK,EAAE,WAAW,EAAE,QACpB,IAAK,EAAE,WAAW,EAAE,QACpB,IAAK,KAAK,IAAI,GAAG,KAAK,KAAK,GAAG,EAAE,UAAU,EAC1C,IAAQ,KAAK,IAAI,EAAG,EACpB,IAAQ,KAAK,IAAI,EAAG,EAGpB,IAAe,IAAQ,GACvB,IAAW,IAAe,IAAQ,GAClC,IAAiB,IAAe,IAAQ,GACxC,IAAW,IAAW;AAK5B,OAFI,IAAW,EAAM,eACjB,IAAW,EAAM,eACjB,IAAiB,EAAM,kBAAmB;GAE9C,IAAI;AAOJ,GANA,AAGE,IAHE,IACI,IAAK,IAAI,UAAU,SAEnB,IAAK,IAAI,SAAS,MAG1B,EAAQ,GAAK,EAAS;KACrB,CAAC,EAAQ,CAAC;EAEuC;;AAKtD,SAAgB,EAAa,GAAyB;CACpD,IAAM,IAAW,EAA6C,KAAK,EAC7D,IAAW,EAAwC,KAAK;AA4B9D,QAAO;EAAE,eA1Ba,GAAa,MAA0B;AAE3D,GADA,EAAS,UAAU;IAAE,GAAG,EAAE;IAAS,GAAG,EAAE;IAAS,EACjD,EAAS,UAAU,iBAAiB;AAElC,IADA,GAAa,EACb,EAAS,UAAU;MAClB,EAAU,SAAS;KACrB,CAAC,EAAY,CAAC;EAoBO,eAlBF,GAAa,MAA0B;AAC3D,OAAI,EAAS,YAAY,QAAQ,EAAS,YAAY,KAAM;GAC5D,IAAM,IAAK,KAAK,IAAI,EAAE,UAAU,EAAS,QAAQ,EAAE,EAC7C,IAAK,KAAK,IAAI,EAAE,UAAU,EAAS,QAAQ,EAAE;AACnD,IAAI,IAAK,EAAU,eAAe,IAAK,EAAU,iBAC/C,aAAa,EAAS,QAAQ,EAC9B,EAAS,UAAU;KAEpB,EAAE,CAAC;EAUiC,aARnB,QAAkB;AAKpC,GAJI,EAAS,YAAY,SACvB,aAAa,EAAS,QAAQ,EAC9B,EAAS,UAAU,OAErB,EAAS,UAAU;KAClB,EAAE,CAAC;EAE8C;;AAatD,SAAgB,EAAQ,GAAqB,GAAwC;CACnF,IAAM,IAAW,EAA4B,KAAK,EAC5C,IAAa,EAAO,GAAM;AAgDhC,QAAO;EAAE,eA9Ca,GAAa,MAA0B;AAU1D,GATD,EAAS,UAAU;IACjB,QAAQ,EAAE;IACV,QAAQ,EAAE;IACV,WAAW,KAAK,KAAK;IACrB,UAAU,EAAE;IACZ,UAAU,EAAE;IACZ,WAAW,EAAE;IACd,EACD,EAAW,UAAU,IAChB,EAAE,kBAAkB,WAAS,EAAE,OAAO,kBAAkB,EAAE,UAAU;KACxE,EAAE,CAAC;EAmCkB,eAjCF,GAAa,MAA0B;GAC3D,IAAM,IAAI,EAAS;AACnB,OAAI,MAAM,KAAM;GAEhB,IAAM,IAAK,EAAE,UAAU,EAAE,QACnB,IAAK,EAAE,UAAU,EAAE;AAGzB,OAAI,CAAC,EAAW,SAAS;AACvB,QAAI,KAAK,IAAI,EAAG,GAAG,EAAK,kBAAkB,KAAK,IAAI,EAAG,GAAG,EAAK,eAAgB;AAC9E,MAAW,UAAU;;AAKvB,GAFA,EAAE,WAAW,EAAE,SACf,EAAE,WAAW,EAAE,SACf,EAAO;IAAE;IAAI;IAAI,YAAY;IAAM,CAAC;KACnC,CAAC,EAAO,CAAC;EAiB2B,aAfnB,QAAkB;GACpC,IAAM,IAAI,EAAS;AACnB,OAAI,MAAM,KAAM;GAEhB,IAAM,IAAK,EAAE,WAAW,EAAE,QACpB,IAAK,EAAE,WAAW,EAAE;AAO1B,GALI,EAAW,WAAW,KACxB,EAAU;IAAE;IAAI;IAAI,YAAY;IAAO,CAAC,EAG1C,EAAS,UAAU,MACnB,EAAW,UAAU;KACpB,CAAC,EAAU,CAAC;EAEqC;;AAKtD,SAAgB,EACd,GACA,GACA,GACA,GACY;CACZ,IAAI,IAAM,KAAK,IAAI,KAAK,IAAI,EAAS,EAAE,EAAQ,YAAY,GAAG,KAAK,KAAK,EAAS,EAC7E,IAAM,GACN,GAEE,UAAa;AAIjB,MAHA,KAAO,EAAQ,UACf,KAAO,GAEH,KAAK,IAAI,EAAI,GAAG,EAAQ,aAAa;AAEvC,GADA,EAAQ,EAAI,EACZ,KAAS;AACT;;AAIF,EADA,EAAQ,EAAI,EACZ,IAAQ,sBAAsB,EAAK;;AAMrC,QAHA,IAAQ,sBAAsB,EAAK,QAGtB,qBAAqB,EAAM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-button-YatlVZnz.js","names":[],"sources":["../src/l2-primitives/icon-button.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { focusCls } from '../utils/a11y'\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\nimport type { VariantProps } from '../utils/types'\n\nconst iconButtonVariants = cva(\n 'inline-flex select-none items-center justify-center transition-colors ' +\n focusCls,\n {\n defaultVariants: {\n size: 'default',\n variant: 'default',\n },\n variants: {\n size: {\n default: 'gds-sq gds-radius-button gds-icon-child',\n lg: 'gds-sq-lg gds-radius-button gds-icon-child-lg',\n sm: 'gds-sq-sm gds-radius-button gds-icon-child-sm',\n },\n variant: {\n danger: 'text-danger hover:bg-danger/10',\n default: 'text-fg-muted hover:bg-bg-tertiary hover:text-fg',\n ghost: 'text-fg-muted hover:text-fg',\n },\n },\n },\n)\n\ntype IconButtonProps = Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n 'children'\n> &\n VariantProps<typeof iconButtonVariants> & {\n glass?: boolean\n icon: ReactNode\n tooltip?: string\n }\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n function IconButton(\n { className, disabled, glass, icon, size, tooltip, variant, ...props },\n ref,\n ) {\n return (\n <button\n aria-label={tooltip}\n className={cx(\n iconButtonVariants({ size, variant }),\n disabled === true && 'cursor-not-allowed opacity-50',\n glassClass(glass),\n glass === true && 'border border-white/10 bg-bg/60',\n className,\n )}\n data-component=\"icon-button\"\n data-variant={variant ?? 'default'}\n disabled={disabled}\n ref={ref}\n title={tooltip}\n type=\"button\"\n {...props}\n >\n {icon}\n </button>\n )\n },\n)\n\nexport { iconButtonVariants }\nexport type { IconButtonProps }\n"],"mappings":";;;;;;AASA,IAAM,IAAqB,EACzB,2EACE,GACF;CACE,iBAAiB;EACf,MAAM;EACN,SAAS;EACV;CACD,UAAU;EACR,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACL;EACD,SAAS;GACP,QAAQ;GACR,SAAS;GACT,OAAO;GACR;EACF;CACF,CACF,EAYY,IAAa,EACxB,SACE,EAAE,cAAW,aAAU,UAAO,SAAM,SAAM,YAAS,YAAS,GAAG,KAC/D,GACA;AACA,QACE,kBAAC,UAAD;EACE,cAAY;EACZ,WAAW,EACT,EAAmB;GAAE;GAAM;GAAS,CAAC,EACrC,MAAa,MAAQ,iCACrB,EAAW,EAAM,EACjB,MAAU,MAAQ,mCAClB,EACD;EACD,kBAAe;EACf,gBAAc,KAAW;EACf;EACL;EACL,OAAO;EACP,MAAK;EACL,GAAI;YAEH;EACM,CAAA;EAGd"}
|