@seekalfred/primitives 0.5.1 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +682 -19
- package/dist/accordion/accordion.js +10 -4
- package/dist/accordion/accordion.js.map +1 -1
- package/dist/action-button/action-button.d.ts +50 -0
- package/dist/action-button/action-button.js +159 -0
- package/dist/action-button/action-button.js.map +1 -0
- package/dist/action-button/index.d.ts +2 -0
- package/dist/action-button/index.js +2 -0
- package/dist/activity-heatmap/activity-heatmap.d.ts +92 -0
- package/dist/activity-heatmap/activity-heatmap.js +699 -0
- package/dist/activity-heatmap/activity-heatmap.js.map +1 -0
- package/dist/activity-heatmap/index.d.ts +2 -0
- package/dist/activity-heatmap/index.js +2 -0
- package/dist/alert/alert.d.ts +19 -1
- package/dist/alert/alert.js +180 -23
- package/dist/alert/alert.js.map +1 -1
- package/dist/alert-dialog/alert-dialog.d.ts +45 -18
- package/dist/alert-dialog/alert-dialog.js +128 -9
- package/dist/alert-dialog/alert-dialog.js.map +1 -1
- package/dist/alert-dialog/index.d.ts +2 -2
- package/dist/alert-dialog/index.js +2 -2
- package/dist/animated-counter/animated-counter.d.ts +38 -0
- package/dist/animated-counter/animated-counter.js +230 -0
- package/dist/animated-counter/animated-counter.js.map +1 -0
- package/dist/animated-counter/index.d.ts +2 -0
- package/dist/animated-counter/index.js +2 -0
- package/dist/announcement-bar/announcement-bar.d.ts +67 -0
- package/dist/announcement-bar/announcement-bar.js +364 -0
- package/dist/announcement-bar/announcement-bar.js.map +1 -0
- package/dist/announcement-bar/index.d.ts +2 -0
- package/dist/announcement-bar/index.js +2 -0
- package/dist/avatar/avatar.d.ts +6 -0
- package/dist/avatar/avatar.js +47 -16
- package/dist/avatar/avatar.js.map +1 -1
- package/dist/badge/badge.d.ts +10 -3
- package/dist/badge/badge.js +35 -5
- package/dist/badge/badge.js.map +1 -1
- package/dist/bar-chart/bar-chart.d.ts +51 -0
- package/dist/bar-chart/bar-chart.js +565 -0
- package/dist/bar-chart/bar-chart.js.map +1 -0
- package/dist/bar-chart/index.d.ts +2 -0
- package/dist/bar-chart/index.js +2 -0
- package/dist/breadcrumb/breadcrumb.d.ts +2 -29
- package/dist/breadcrumb/breadcrumb.js +32 -9
- package/dist/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/brush-chart/brush-chart.d.ts +64 -0
- package/dist/brush-chart/brush-chart.js +1056 -0
- package/dist/brush-chart/brush-chart.js.map +1 -0
- package/dist/brush-chart/index.d.ts +2 -0
- package/dist/brush-chart/index.js +2 -0
- package/dist/button/button.d.ts +36 -23
- package/dist/button/button.js +198 -45
- package/dist/button/button.js.map +1 -1
- package/dist/button-group/button-group.d.ts +76 -0
- package/dist/button-group/button-group.js +402 -0
- package/dist/button-group/button-group.js.map +1 -0
- package/dist/button-group/index.d.ts +2 -0
- package/dist/button-group/index.js +2 -0
- package/dist/calendar/calendar.d.ts +1 -1
- package/dist/calendar/calendar.js +257 -30
- package/dist/calendar/calendar.js.map +1 -1
- package/dist/card/card.d.ts +9 -2
- package/dist/card/card.js +16 -5
- package/dist/card/card.js.map +1 -1
- package/dist/card-stack/card-stack.d.ts +54 -0
- package/dist/card-stack/card-stack.js +492 -0
- package/dist/card-stack/card-stack.js.map +1 -0
- package/dist/card-stack/index.d.ts +2 -0
- package/dist/card-stack/index.js +2 -0
- package/dist/carousel/carousel.d.ts +56 -0
- package/dist/carousel/carousel.js +389 -0
- package/dist/carousel/carousel.js.map +1 -0
- package/dist/carousel/index.d.ts +2 -0
- package/dist/carousel/index.js +2 -0
- package/dist/checkbox/checkbox.d.ts +0 -7
- package/dist/checkbox/checkbox.js +26 -29
- package/dist/checkbox/checkbox.js.map +1 -1
- package/dist/chip-group/chip-group.d.ts +37 -0
- package/dist/chip-group/chip-group.js +148 -0
- package/dist/chip-group/chip-group.js.map +1 -0
- package/dist/chip-group/index.d.ts +2 -0
- package/dist/chip-group/index.js +2 -0
- package/dist/confirm-morph/confirm-morph.d.ts +85 -0
- package/dist/confirm-morph/confirm-morph.js +652 -0
- package/dist/confirm-morph/confirm-morph.js.map +1 -0
- package/dist/confirm-morph/index.d.ts +2 -0
- package/dist/confirm-morph/index.js +2 -0
- package/dist/copy-button/copy-button.d.ts +32 -0
- package/dist/copy-button/copy-button.js +134 -0
- package/dist/copy-button/copy-button.js.map +1 -0
- package/dist/copy-button/index.d.ts +2 -0
- package/dist/copy-button/index.js +2 -0
- package/dist/countdown/countdown.d.ts +45 -0
- package/dist/countdown/countdown.js +298 -0
- package/dist/countdown/countdown.js.map +1 -0
- package/dist/countdown/index.d.ts +2 -0
- package/dist/countdown/index.js +2 -0
- package/dist/date-picker/date-picker.d.ts +51 -0
- package/dist/date-picker/date-picker.js +241 -0
- package/dist/date-picker/date-picker.js.map +1 -0
- package/dist/date-picker/date-range-picker.d.ts +78 -0
- package/dist/date-picker/date-range-picker.js +1015 -0
- package/dist/date-picker/date-range-picker.js.map +1 -0
- package/dist/date-picker/index.d.ts +4 -0
- package/dist/date-picker/index.js +4 -0
- package/dist/date-picker/picker-parts.d.ts +46 -0
- package/dist/date-picker/picker-parts.js +135 -0
- package/dist/date-picker/picker-parts.js.map +1 -0
- package/dist/dialog/dialog.d.ts +10 -14
- package/dist/dialog/dialog.js +40 -12
- package/dist/dialog/dialog.js.map +1 -1
- package/dist/donut-chart/donut-chart.d.ts +64 -0
- package/dist/donut-chart/donut-chart.js +576 -0
- package/dist/donut-chart/donut-chart.js.map +1 -0
- package/dist/donut-chart/index.d.ts +2 -0
- package/dist/donut-chart/index.js +2 -0
- package/dist/empty-state/empty-state.d.ts +55 -0
- package/dist/empty-state/empty-state.js +89 -0
- package/dist/empty-state/empty-state.js.map +1 -0
- package/dist/empty-state/index.d.ts +2 -0
- package/dist/empty-state/index.js +2 -0
- package/dist/expanding-button-group/expanding-button-group.d.ts +54 -0
- package/dist/expanding-button-group/expanding-button-group.js +350 -0
- package/dist/expanding-button-group/expanding-button-group.js.map +1 -0
- package/dist/expanding-button-group/index.d.ts +2 -0
- package/dist/expanding-button-group/index.js +2 -0
- package/dist/file-drop-zone/file-drop-zone.d.ts +71 -0
- package/dist/file-drop-zone/file-drop-zone.js +116 -0
- package/dist/file-drop-zone/file-drop-zone.js.map +1 -0
- package/dist/file-drop-zone/index.d.ts +2 -0
- package/dist/file-drop-zone/index.js +2 -0
- package/dist/filter-bar/filter-bar.d.ts +142 -0
- package/dist/filter-bar/filter-bar.js +416 -0
- package/dist/filter-bar/filter-bar.js.map +1 -0
- package/dist/filter-bar/index.d.ts +2 -0
- package/dist/filter-bar/index.js +2 -0
- package/dist/floating-button-group/floating-button-group.d.ts +61 -0
- package/dist/floating-button-group/floating-button-group.js +340 -0
- package/dist/floating-button-group/floating-button-group.js.map +1 -0
- package/dist/floating-button-group/index.d.ts +2 -0
- package/dist/floating-button-group/index.js +2 -0
- package/dist/gauge/gauge.d.ts +45 -0
- package/dist/gauge/gauge.js +219 -0
- package/dist/gauge/gauge.js.map +1 -0
- package/dist/gauge/index.d.ts +2 -0
- package/dist/gauge/index.js +2 -0
- package/dist/icon-morph/icon-morph.d.ts +55 -0
- package/dist/icon-morph/icon-morph.js +331 -0
- package/dist/icon-morph/icon-morph.js.map +1 -0
- package/dist/icon-morph/index.d.ts +2 -0
- package/dist/icon-morph/index.js +2 -0
- package/dist/in-view-title/in-view-title.d.ts +33 -0
- package/dist/in-view-title/in-view-title.js +119 -0
- package/dist/in-view-title/in-view-title.js.map +1 -0
- package/dist/in-view-title/index.d.ts +2 -0
- package/dist/in-view-title/index.js +2 -0
- package/dist/index.d.ts +71 -6
- package/dist/index.js +73 -11
- package/dist/input/input.d.ts +22 -0
- package/dist/input/input.js +36 -12
- package/dist/input/input.js.map +1 -1
- package/dist/lib/cn.js +11 -1
- package/dist/lib/cn.js.map +1 -1
- package/dist/lib/count-to.js +113 -0
- package/dist/lib/count-to.js.map +1 -0
- package/dist/lib/eye-morph.js +62 -0
- package/dist/lib/eye-morph.js.map +1 -0
- package/dist/lib/field-message.js +354 -0
- package/dist/lib/field-message.js.map +1 -0
- package/dist/lib/field-shell.js +81 -0
- package/dist/lib/field-shell.js.map +1 -0
- package/dist/lib/field-surface.js +11 -8
- package/dist/lib/field-surface.js.map +1 -1
- package/dist/lib/flag-emoji.js +50 -0
- package/dist/lib/flag-emoji.js.map +1 -0
- package/dist/lib/flip.js +88 -0
- package/dist/lib/flip.js.map +1 -0
- package/dist/lib/height-follow.js +59 -0
- package/dist/lib/height-follow.js.map +1 -0
- package/dist/lib/icon-swap.js +47 -0
- package/dist/lib/icon-swap.js.map +1 -0
- package/dist/lib/leaving-list.js +57 -0
- package/dist/lib/leaving-list.js.map +1 -0
- package/dist/lib/menu-highlight.js +64 -0
- package/dist/lib/menu-highlight.js.map +1 -0
- package/dist/lib/merge-refs.js +3 -3
- package/dist/lib/merge-refs.js.map +1 -1
- package/dist/lib/morph-text.js +128 -0
- package/dist/lib/morph-text.js.map +1 -0
- package/dist/lib/motion.js +169 -0
- package/dist/lib/motion.js.map +1 -0
- package/dist/lib/pausable-timeout.js +67 -0
- package/dist/lib/pausable-timeout.js.map +1 -0
- package/dist/lib/rolling-value.js +31 -0
- package/dist/lib/rolling-value.js.map +1 -0
- package/dist/lib/spring-progress.js +114 -0
- package/dist/lib/spring-progress.js.map +1 -0
- package/dist/lib/spring-tween.js +500 -0
- package/dist/lib/spring-tween.js.map +1 -0
- package/dist/lib/svg-id.js +10 -0
- package/dist/lib/svg-id.js.map +1 -0
- package/dist/lib/swap-text.js +79 -0
- package/dist/lib/swap-text.js.map +1 -0
- package/dist/lib/use-copy-feedback.js +36 -0
- package/dist/lib/use-copy-feedback.js.map +1 -0
- package/dist/line-chart/index.d.ts +2 -0
- package/dist/line-chart/index.js +2 -0
- package/dist/line-chart/line-chart.d.ts +76 -0
- package/dist/line-chart/line-chart.js +611 -0
- package/dist/line-chart/line-chart.js.map +1 -0
- package/dist/mention-input/index.d.ts +2 -0
- package/dist/mention-input/index.js +2 -0
- package/dist/mention-input/mention-input.d.ts +98 -0
- package/dist/mention-input/mention-input.js +576 -0
- package/dist/mention-input/mention-input.js.map +1 -0
- package/dist/menu/menu.d.ts +2 -0
- package/dist/menu/menu.js +23 -12
- package/dist/menu/menu.js.map +1 -1
- package/dist/money-input/index.d.ts +2 -0
- package/dist/money-input/index.js +2 -0
- package/dist/money-input/money-input.d.ts +65 -0
- package/dist/money-input/money-input.js +607 -0
- package/dist/money-input/money-input.js.map +1 -0
- package/dist/morph-select/index.d.ts +2 -0
- package/dist/morph-select/index.js +2 -0
- package/dist/morph-select/morph-select.d.ts +71 -0
- package/dist/morph-select/morph-select.js +693 -0
- package/dist/morph-select/morph-select.js.map +1 -0
- package/dist/multi-select/index.d.ts +2 -0
- package/dist/multi-select/index.js +2 -0
- package/dist/multi-select/multi-select.d.ts +36 -0
- package/dist/multi-select/multi-select.js +152 -0
- package/dist/multi-select/multi-select.js.map +1 -0
- package/dist/number-field/index.d.ts +2 -0
- package/dist/number-field/index.js +2 -0
- package/dist/number-field/number-field.d.ts +42 -0
- package/dist/number-field/number-field.js +199 -0
- package/dist/number-field/number-field.js.map +1 -0
- package/dist/onboarding-checklist/index.d.ts +2 -0
- package/dist/onboarding-checklist/index.js +2 -0
- package/dist/onboarding-checklist/onboarding-checklist.d.ts +55 -0
- package/dist/onboarding-checklist/onboarding-checklist.js +577 -0
- package/dist/onboarding-checklist/onboarding-checklist.js.map +1 -0
- package/dist/page-header/index.d.ts +2 -0
- package/dist/page-header/index.js +2 -0
- package/dist/page-header/page-header.d.ts +75 -0
- package/dist/page-header/page-header.js +83 -0
- package/dist/page-header/page-header.js.map +1 -0
- package/dist/password-field/index.d.ts +2 -0
- package/dist/password-field/index.js +2 -0
- package/dist/password-field/password-field.d.ts +37 -0
- package/dist/password-field/password-field.js +101 -0
- package/dist/password-field/password-field.js.map +1 -0
- package/dist/password-strength/index.d.ts +2 -0
- package/dist/password-strength/index.js +2 -0
- package/dist/password-strength/password-strength.d.ts +127 -0
- package/dist/password-strength/password-strength.js +455 -0
- package/dist/password-strength/password-strength.js.map +1 -0
- package/dist/phone-input/index.d.ts +3 -0
- package/dist/phone-input/index.js +3 -0
- package/dist/phone-input/phone-countries.d.ts +29 -0
- package/dist/phone-input/phone-countries.js +170 -0
- package/dist/phone-input/phone-countries.js.map +1 -0
- package/dist/phone-input/phone-input.d.ts +66 -0
- package/dist/phone-input/phone-input.js +440 -0
- package/dist/phone-input/phone-input.js.map +1 -0
- package/dist/popover/popover.d.ts +20 -0
- package/dist/popover/popover.js +33 -9
- package/dist/popover/popover.js.map +1 -1
- package/dist/progress/progress.js +46 -5
- package/dist/progress/progress.js.map +1 -1
- package/dist/radio-group/radio-group.js +8 -7
- package/dist/radio-group/radio-group.js.map +1 -1
- package/dist/reactions/index.d.ts +2 -0
- package/dist/reactions/index.js +2 -0
- package/dist/reactions/reactions.d.ts +50 -0
- package/dist/reactions/reactions.js +315 -0
- package/dist/reactions/reactions.js.map +1 -0
- package/dist/rich-text-editor/index.d.ts +3 -0
- package/dist/rich-text-editor/index.js +2 -0
- package/dist/rich-text-editor/rich-text-editor.d.ts +70 -0
- package/dist/rich-text-editor/rich-text-editor.js +909 -0
- package/dist/rich-text-editor/rich-text-editor.js.map +1 -0
- package/dist/rich-text-editor/rich-text-engine.d.ts +16 -0
- package/dist/rich-text-editor/rich-text-engine.js +366 -0
- package/dist/rich-text-editor/rich-text-engine.js.map +1 -0
- package/dist/rich-text-editor/rich-text-html.js +174 -0
- package/dist/rich-text-editor/rich-text-html.js.map +1 -0
- package/dist/rich-text-editor/rich-text-icons.js +43 -0
- package/dist/rich-text-editor/rich-text-icons.js.map +1 -0
- package/dist/ridgeline/index.d.ts +2 -0
- package/dist/ridgeline/index.js +2 -0
- package/dist/ridgeline/ridgeline.d.ts +55 -0
- package/dist/ridgeline/ridgeline.js +701 -0
- package/dist/ridgeline/ridgeline.js.map +1 -0
- package/dist/scroll-area/index.d.ts +2 -2
- package/dist/scroll-area/index.js +2 -2
- package/dist/scroll-area/scroll-area.d.ts +75 -28
- package/dist/scroll-area/scroll-area.js +212 -41
- package/dist/scroll-area/scroll-area.js.map +1 -1
- package/dist/scrub-input/evaluate.d.ts +14 -0
- package/dist/scrub-input/evaluate.js +72 -0
- package/dist/scrub-input/evaluate.js.map +1 -0
- package/dist/scrub-input/index.d.ts +3 -0
- package/dist/scrub-input/index.js +3 -0
- package/dist/scrub-input/scrub-input.d.ts +74 -0
- package/dist/scrub-input/scrub-input.js +486 -0
- package/dist/scrub-input/scrub-input.js.map +1 -0
- package/dist/search-field/index.d.ts +2 -0
- package/dist/search-field/index.js +2 -0
- package/dist/search-field/search-field.d.ts +27 -0
- package/dist/search-field/search-field.js +155 -0
- package/dist/search-field/search-field.js.map +1 -0
- package/dist/select/select.d.ts +3 -1
- package/dist/select/select.js +95 -25
- package/dist/select/select.js.map +1 -1
- package/dist/separator/separator.d.ts +1 -1
- package/dist/sheet/sheet.js +4 -2
- package/dist/sheet/sheet.js.map +1 -1
- package/dist/shortcut-recorder/index.d.ts +3 -0
- package/dist/shortcut-recorder/index.js +3 -0
- package/dist/shortcut-recorder/shortcut-model.d.ts +27 -0
- package/dist/shortcut-recorder/shortcut-model.js +206 -0
- package/dist/shortcut-recorder/shortcut-model.js.map +1 -0
- package/dist/shortcut-recorder/shortcut-recorder.d.ts +93 -0
- package/dist/shortcut-recorder/shortcut-recorder.js +489 -0
- package/dist/shortcut-recorder/shortcut-recorder.js.map +1 -0
- package/dist/side-nav/index.d.ts +2 -0
- package/dist/side-nav/index.js +2 -0
- package/dist/side-nav/side-nav.d.ts +72 -0
- package/dist/side-nav/side-nav.js +142 -0
- package/dist/side-nav/side-nav.js.map +1 -0
- package/dist/skeleton/skeleton.d.ts +8 -2
- package/dist/skeleton/skeleton.js +6 -2
- package/dist/skeleton/skeleton.js.map +1 -1
- package/dist/slider/index.d.ts +2 -2
- package/dist/slider/slider.d.ts +46 -14
- package/dist/slider/slider.js +188 -50
- package/dist/slider/slider.js.map +1 -1
- package/dist/slope-chart/index.d.ts +2 -0
- package/dist/slope-chart/index.js +2 -0
- package/dist/slope-chart/slope-chart.d.ts +54 -0
- package/dist/slope-chart/slope-chart.js +568 -0
- package/dist/slope-chart/slope-chart.js.map +1 -0
- package/dist/sparkline/index.d.ts +2 -0
- package/dist/sparkline/index.js +2 -0
- package/dist/sparkline/sparkline.d.ts +46 -0
- package/dist/sparkline/sparkline.js +390 -0
- package/dist/sparkline/sparkline.js.map +1 -0
- package/dist/split-bar/index.d.ts +2 -0
- package/dist/split-bar/index.js +2 -0
- package/dist/split-bar/split-bar.d.ts +62 -0
- package/dist/split-bar/split-bar.js +513 -0
- package/dist/split-bar/split-bar.js.map +1 -0
- package/dist/split-button/index.d.ts +2 -0
- package/dist/split-button/index.js +2 -0
- package/dist/split-button/split-button.d.ts +46 -0
- package/dist/split-button/split-button.js +123 -0
- package/dist/split-button/split-button.js.map +1 -0
- package/dist/stat-card/index.d.ts +2 -0
- package/dist/stat-card/index.js +2 -0
- package/dist/stat-card/stat-card.d.ts +101 -0
- package/dist/stat-card/stat-card.js +249 -0
- package/dist/stat-card/stat-card.js.map +1 -0
- package/dist/stepper/index.d.ts +2 -0
- package/dist/stepper/index.js +2 -0
- package/dist/stepper/stepper.d.ts +51 -0
- package/dist/stepper/stepper.js +215 -0
- package/dist/stepper/stepper.js.map +1 -0
- package/dist/streamgraph/index.d.ts +2 -0
- package/dist/streamgraph/index.js +2 -0
- package/dist/streamgraph/streamgraph.d.ts +70 -0
- package/dist/streamgraph/streamgraph.js +613 -0
- package/dist/streamgraph/streamgraph.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/swipe-actions/index.d.ts +2 -0
- package/dist/swipe-actions/index.js +2 -0
- package/dist/swipe-actions/swipe-actions.d.ts +67 -0
- package/dist/swipe-actions/swipe-actions.js +552 -0
- package/dist/swipe-actions/swipe-actions.js.map +1 -0
- package/dist/switch/switch.js +10 -9
- package/dist/switch/switch.js.map +1 -1
- package/dist/table/index.d.ts +2 -2
- package/dist/table/index.js +2 -2
- package/dist/table/table.d.ts +87 -4
- package/dist/table/table.js +441 -165
- package/dist/table/table.js.map +1 -1
- package/dist/tabs/tabs.js +143 -7
- package/dist/tabs/tabs.js.map +1 -1
- package/dist/tag-input/index.d.ts +2 -0
- package/dist/tag-input/index.js +2 -0
- package/dist/tag-input/tag-input.d.ts +40 -0
- package/dist/tag-input/tag-input.js +269 -0
- package/dist/tag-input/tag-input.js.map +1 -0
- package/dist/text-morph/index.d.ts +2 -0
- package/dist/text-morph/index.js +2 -0
- package/dist/text-morph/text-morph.d.ts +23 -0
- package/dist/text-morph/text-morph.js +21 -0
- package/dist/text-morph/text-morph.js.map +1 -0
- package/dist/text-reveal/index.d.ts +2 -0
- package/dist/text-reveal/index.js +2 -0
- package/dist/text-reveal/text-reveal.d.ts +27 -0
- package/dist/text-reveal/text-reveal.js +51 -0
- package/dist/text-reveal/text-reveal.js.map +1 -0
- package/dist/text-shimmer/index.d.ts +2 -0
- package/dist/text-shimmer/index.js +2 -0
- package/dist/text-shimmer/text-shimmer.d.ts +29 -0
- package/dist/text-shimmer/text-shimmer.js +29 -0
- package/dist/text-shimmer/text-shimmer.js.map +1 -0
- package/dist/textarea/textarea.d.ts +23 -0
- package/dist/textarea/textarea.js +24 -2
- package/dist/textarea/textarea.js.map +1 -1
- package/dist/theme-switch/index.d.ts +2 -0
- package/dist/theme-switch/index.js +2 -0
- package/dist/theme-switch/theme-switch.d.ts +37 -0
- package/dist/theme-switch/theme-switch.js +123 -0
- package/dist/theme-switch/theme-switch.js.map +1 -0
- package/dist/time-picker/index.d.ts +2 -0
- package/dist/time-picker/index.js +2 -0
- package/dist/time-picker/time-picker.d.ts +54 -0
- package/dist/time-picker/time-picker.js +201 -0
- package/dist/time-picker/time-picker.js.map +1 -0
- package/dist/toast/index.d.ts +2 -2
- package/dist/toast/index.js +2 -2
- package/dist/toast/toast.d.ts +6 -0
- package/dist/toast/toast.js +98 -36
- package/dist/toast/toast.js.map +1 -1
- package/dist/tooltip/tooltip.d.ts +10 -3
- package/dist/tooltip/tooltip.js +67 -18
- package/dist/tooltip/tooltip.js.map +1 -1
- package/dist/treemap/index.d.ts +2 -0
- package/dist/treemap/index.js +2 -0
- package/dist/treemap/treemap.d.ts +53 -0
- package/dist/treemap/treemap.js +699 -0
- package/dist/treemap/treemap.js.map +1 -0
- package/dist/usage-meter/index.d.ts +2 -0
- package/dist/usage-meter/index.js +2 -0
- package/dist/usage-meter/usage-meter.d.ts +50 -0
- package/dist/usage-meter/usage-meter.js +440 -0
- package/dist/usage-meter/usage-meter.js.map +1 -0
- package/dist/waffle-chart/index.d.ts +2 -0
- package/dist/waffle-chart/index.js +2 -0
- package/dist/waffle-chart/waffle-chart.d.ts +57 -0
- package/dist/waffle-chart/waffle-chart.js +426 -0
- package/dist/waffle-chart/waffle-chart.js.map +1 -0
- package/package.json +245 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-picker.js","names":["AriaDialogTrigger","AriaButton","Popover","AriaDialog","Calendar"],"sources":["../../src/date-picker/date-picker.tsx"],"sourcesContent":["\"use client\";\n\nimport type { DateValue } from \"@internationalized/date\";\nimport { forwardRef, useEffect, useId, useMemo, useRef, useState, type ReactNode } from \"react\";\nimport {\n Button as AriaButton,\n Dialog as AriaDialog,\n DialogTrigger as AriaDialogTrigger,\n useLocale,\n} from \"react-aria-components\";\n\nimport { Calendar } from \"../calendar/calendar.js\";\nimport { cn } from \"../lib/cn.js\";\nimport { useFlip } from \"../lib/flip.js\";\nimport { prefersReducedMotion } from \"../lib/motion.js\";\nimport { SwapText } from \"../lib/swap-text.js\";\nimport { Popover } from \"../popover/popover.js\";\nimport {\n CalendarGlyph,\n Chevron,\n TypedDate,\n datePickerLabelVariants,\n datePickerTriggerVariants,\n datePickerVariants,\n descriptionClass,\n errorClass,\n hintClass,\n pickerFooterButtonVariants,\n useDayFormat,\n useValue,\n type PickerSharedProps,\n} from \"./picker-parts.js\";\n\nexport {\n datePickerInputVariants,\n datePickerLabelVariants,\n datePickerSegmentVariants,\n datePickerTriggerVariants,\n datePickerVariants,\n pickerFooterButtonVariants,\n} from \"./picker-parts.js\";\nexport {\n DateRangePicker,\n defaultDateRangePresets,\n type DateRangePickerMessages,\n type DateRangePickerProps,\n type DateRangePickerValue,\n type DateRangePreset,\n} from \"./date-range-picker.js\";\n\n/**\n * DatePicker and DateRangePicker: a field-sized trigger that shows the chosen\n * value as words, opening a Popover with the Calendar in it and a typed date\n * field above the calendar.\n *\n * WHY A TRIGGER AND NOT React Aria's segmented DatePicker. The segmented field\n * shows `dd/mm/yyyy` digits in the field itself, which is exactly what a\n * native `<input type=\"date\">` shows; a product that prints dates as\n * \"1 Sep 2026\" everywhere else wants the field to say that too. The typed\n * field is still there, inside the popover, because a calendar alone makes a\n * date years away a long walk of \"previous month\" presses.\n *\n * Values are `DateValue` objects (ADR 0006), the type Calendar already takes,\n * and the import stays `import type`: the default display formats with\n * `Intl.DateTimeFormat` over `value.toDate(\"UTC\")`, an instance method, so the\n * package still contributes zero bytes.\n *\n * Every class string below is a STATIC literal, for the same reason as every\n * other component here: Tailwind scans source text.\n */\n/** Props for {@link DatePicker}. */\nexport interface DatePickerProps extends PickerSharedProps {\n /**\n * The footer's status line when a day is chosen, followed by the day.\n *\n * @default \"Selected\"\n */\n selectedStatusLabel?: string;\n /**\n * The footer's status line while no day is chosen.\n *\n * @default \"Choose a day\"\n */\n emptyStatusLabel?: string;\n /** The chosen day (controlled). `null` is none. */\n value?: DateValue | null;\n /** The day chosen at first (uncontrolled). */\n defaultValue?: DateValue | null;\n /** Told the new day, or `null` when cleared. */\n onChange?: (value: DateValue | null) => void;\n /** Label of the typed date field inside the popover. @default \"Type a date\" */\n typedLabel?: string;\n}\n\n/** The shell both pickers share: label, trigger, popover, description and error. */\nfunction PickerShell({\n slot,\n shown,\n valueNode,\n props,\n triggerRef,\n children,\n}: {\n slot: string;\n shown: string | null;\n /** The animated copy of the value the eye sees. Without it the plain text shows. */\n valueNode?: ReactNode;\n props: PickerSharedProps;\n triggerRef: React.ForwardedRef<HTMLButtonElement>;\n children: (close: () => void) => ReactNode;\n}) {\n const id = useId();\n const labelId = `${id}-label`;\n const valueId = `${id}-value`;\n const descriptionId = `${id}-description`;\n const errorId = `${id}-error`;\n const invalid = props.errorMessage != null;\n const describedBy = [props.description != null && descriptionId, invalid && errorId]\n .filter(Boolean)\n .join(\" \");\n return (\n <div\n data-slot={slot}\n data-invalid={invalid || undefined}\n className={cn(datePickerVariants(), props.className)}\n >\n <span id={labelId} className={cn(datePickerLabelVariants(), props.labelHidden && \"sr-only\")}>\n {props.label}\n </span>\n <AriaDialogTrigger>\n <AriaButton\n ref={triggerRef}\n data-slot=\"date-picker-trigger\"\n aria-labelledby={`${labelId} ${valueId}`}\n aria-describedby={describedBy || undefined}\n isDisabled={props.isDisabled}\n className={datePickerTriggerVariants({ size: props.size })}\n >\n <CalendarGlyph />\n {valueNode ? (\n <>\n {/* The text a screen reader reads; the copy beside it is what animates. */}\n <span id={valueId} data-slot=\"date-picker-value\" className=\"sr-only\">\n {shown ?? props.placeholder ?? \"Choose a date\"}\n </span>\n {valueNode}\n </>\n ) : (\n <span\n id={valueId}\n data-slot=\"date-picker-value\"\n className={cn(\"min-w-0 flex-1 truncate\", shown === null && \"text-muted-foreground\")}\n >\n {shown ?? props.placeholder ?? \"Choose a date\"}\n </span>\n )}\n <Chevron />\n </AriaButton>\n <Popover\n entrance=\"none\"\n placement=\"bottom start\"\n className=\"picker-pop w-auto origin-[22px_-4px] overflow-y-auto\"\n >\n <AriaDialog\n aria-label={props.label}\n data-slot=\"date-picker-dialog\"\n className=\"flex flex-col gap-3 outline-none\"\n >\n {({ close }) => children(close)}\n </AriaDialog>\n </Popover>\n </AriaDialogTrigger>\n {props.description == null ? null : (\n <span\n id={descriptionId}\n data-slot=\"date-picker-description\"\n className={cn(descriptionClass, hintClass)}\n >\n {props.description}\n </span>\n )}\n {invalid ? (\n <span id={errorId} data-slot=\"date-picker-error\" className={errorClass}>\n {props.errorMessage}\n </span>\n ) : null}\n </div>\n );\n}\n\n/**\n * A field for one date: the trigger shows the chosen day in words, and opens\n * the Calendar with a typed date field above it.\n *\n * Maturity: **experimental**, as Calendar.\n *\n * Picking a day closes the popover and returns focus to the trigger; a typed\n * date is reported as soon as it is whole. Escape or a click outside closes\n * without a change.\n *\n * @example\n * <DatePicker label=\"Invoice date\" value={date} onChange={setDate} clearable />\n */\ninterface ValuePart {\n type: string;\n value: string;\n}\n\n/** The pieces of a formatted day, so each can roll on its own: a later date rises, an earlier one drops. */\nfunction useDayParts(): (value: DateValue) => ValuePart[] {\n const { locale } = useLocale();\n return useMemo(() => {\n const format = new Intl.DateTimeFormat(locale, { dateStyle: \"medium\", timeZone: \"UTC\" });\n return (value: DateValue) => format.formatToParts(value.toDate(\"UTC\"));\n }, [locale]);\n}\n\n/** Which way a value moved in time, so its text rolls in that direction. */\nfunction useDirection(value: DateValue | null) {\n const key = value ? String(value) : null;\n const [previous, setPrevious] = useState<DateValue | null>(value);\n const [direction, setDirection] = useState(1);\n if ((previous ? String(previous) : null) !== key) {\n setPrevious(value);\n setDirection(value && previous && value.compare(previous) < 0 ? -1 : 1);\n }\n return direction;\n}\n\n/**\n * The value the eye sees, in a trigger. Each part of a date rolls on its own\n * (a part that did not change holds still), parts after a wider or narrower one\n * slide along instead of jumping, and a value and the placeholder swap as wholes.\n * Nothing animates on first mount. The caller keeps the plain text for screen\n * readers; this copy is `aria-hidden`.\n */\nfunction AnimatedValue({\n parts,\n placeholder,\n direction,\n}: {\n parts: ValuePart[] | null;\n placeholder: string;\n direction: number;\n}) {\n const ref = useRef<HTMLSpanElement>(null);\n const text = parts ? parts.map((part) => part.value).join(\"\") : \"\";\n useFlip(ref, text);\n return (\n <span ref={ref} aria-hidden=\"true\" className=\"flex min-w-0 flex-1 overflow-hidden\">\n <SwapText\n swapKey={parts ? \"value\" : \"placeholder\"}\n dir={parts ? 1 : -1}\n motion=\"roll\"\n className=\"inline-flex min-w-0 max-w-full\"\n >\n {parts ? (\n <span className=\"inline-flex whitespace-pre tabular-nums\">\n {parts.map((part, index) => (\n <span key={`${index}-${part.type}`} data-flip=\"\" className=\"inline-flex whitespace-pre\">\n {part.type === \"literal\" ? (\n // In its own box: a flex item of only whitespace is dropped.\n <span className=\"whitespace-pre\">{part.value}</span>\n ) : (\n <SwapText\n swapKey={part.value}\n dir={direction}\n motion=\"roll\"\n className=\"inline-block whitespace-pre\"\n >\n {part.value}\n </SwapText>\n )}\n </span>\n ))}\n </span>\n ) : (\n <span data-slot=\"date-picker-placeholder\" className=\"truncate text-muted-foreground\">\n {placeholder}\n </span>\n )}\n </SwapText>\n </span>\n );\n}\n\n/**\n * The footer of a picker's calendar: Clear on one side and a status line on the\n * other, which confirms a pick (the new line rises in while the old one lifts\n * away).\n */\nfunction PickerFooter({\n status,\n statusKey,\n clearable,\n clearLabel,\n canClear,\n onClear,\n}: {\n status: string;\n statusKey: string;\n clearable: boolean;\n clearLabel: string;\n canClear: boolean;\n onClear: () => void;\n}) {\n return (\n <div\n data-slot=\"date-picker-footer\"\n className=\"flex items-center justify-between gap-2 border-t-(length:--border-width) border-border pt-3 text-xs text-muted-foreground\"\n >\n {clearable ? (\n <AriaButton\n slot={null}\n data-slot=\"date-picker-clear\"\n isDisabled={!canClear}\n onPress={onClear}\n className={pickerFooterButtonVariants()}\n >\n {clearLabel}\n </AriaButton>\n ) : (\n <span />\n )}\n <span aria-live=\"polite\" className=\"grid min-w-0 justify-items-end\">\n <SwapText swapKey={statusKey} className=\"block max-w-full truncate\">\n {status}\n </SwapText>\n </span>\n </div>\n );\n}\n\nexport const DatePicker = forwardRef<HTMLButtonElement, DatePickerProps>(function DatePicker(\n {\n value,\n defaultValue = null,\n onChange,\n typedLabel = \"Type a date\",\n selectedStatusLabel = \"Selected\",\n emptyStatusLabel = \"Choose a day\",\n ...props\n },\n ref,\n) {\n const [current, setCurrent] = useValue(value, defaultValue, onChange);\n const defaultFormat = useDayFormat();\n const dayParts = useDayParts();\n const format = props.formatValue ?? defaultFormat;\n const direction = useDirection(current);\n const closeTimer = useRef<number | undefined>(undefined);\n useEffect(() => () => window.clearTimeout(closeTimer.current), []);\n // A custom format is one string, so it rolls as one part.\n const parts = current\n ? props.formatValue\n ? [{ type: \"value\", value: format(current) }]\n : dayParts(current)\n : null;\n return (\n <PickerShell\n slot=\"date-picker\"\n shown={current ? format(current) : null}\n valueNode={\n <AnimatedValue\n parts={parts}\n placeholder={props.placeholder ?? \"Choose a date\"}\n direction={direction}\n />\n }\n props={props}\n triggerRef={ref}\n >\n {(close) => {\n /** A picked day lets the disc glide onto it and the footer confirm it, then the calendar returns to the field. */\n const pick = (next: DateValue | null) => {\n setCurrent(next);\n window.clearTimeout(closeTimer.current);\n if (!next || prefersReducedMotion()) close();\n else closeTimer.current = window.setTimeout(close, 300);\n };\n return (\n <>\n <TypedDate\n label={typedLabel}\n value={current}\n minValue={props.minValue}\n maxValue={props.maxValue}\n onChange={(next) => {\n // A half-typed date is not a value; only a whole one, or all parts cleared, reports.\n if (next || props.clearable) setCurrent(next);\n }}\n />\n <Calendar\n label={props.label}\n labelHidden\n autoFocus\n value={current}\n minValue={props.minValue}\n maxValue={props.maxValue}\n onChange={(next: DateValue | null) => pick(next)}\n />\n <PickerFooter\n status={current ? `${selectedStatusLabel} ${format(current)}` : emptyStatusLabel}\n statusKey={current ? String(current) : \"none\"}\n clearable={Boolean(props.clearable)}\n clearLabel={props.clearLabel ?? \"Clear\"}\n canClear={current !== null}\n onClear={() => {\n window.clearTimeout(closeTimer.current);\n pick(null);\n }}\n />\n </>\n );\n }}\n </PickerShell>\n );\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { PickerSharedProps } from "./picker-parts.js";
|
|
2
|
+
import { DateValue } from "@internationalized/date";
|
|
3
|
+
//#region src/date-picker/date-range-picker.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* DateRangePicker: a trigger that grows into the panel it opens.
|
|
6
|
+
*
|
|
7
|
+
* The trigger's box springs to the panel's box and back: one surface, whose width,
|
|
8
|
+
* height, corners and offset ride springs while the panel's content arrives just
|
|
9
|
+
* behind it and leaves just ahead of it. The panel holds a rail of presets, the
|
|
10
|
+
* typed start and end, and two months side by side (one month under a scrolling row
|
|
11
|
+
* of presets when there is no room). The highlight stretches across each week as
|
|
12
|
+
* the range is chosen, its ends glide between days, the months slide in the
|
|
13
|
+
* direction you travel, and on Apply the formatted range flies back into the
|
|
14
|
+
* trigger as the surface shrinks around it.
|
|
15
|
+
*
|
|
16
|
+
* Nothing is applied until Apply: the panel edits a draft. Values are `DateValue`
|
|
17
|
+
* objects (ADR 0006); either end may be `null`, as before.
|
|
18
|
+
*
|
|
19
|
+
* The calendar is React Aria's `RangeCalendar`, so keyboard, locale and
|
|
20
|
+
* calendar-system behaviour are its own; the motion is measured from the cells it
|
|
21
|
+
* renders. Every class string is a static literal: Tailwind scans source text.
|
|
22
|
+
*/
|
|
23
|
+
export interface DateRangePickerValue {
|
|
24
|
+
start: DateValue | null;
|
|
25
|
+
end: DateValue | null;
|
|
26
|
+
}
|
|
27
|
+
/** A shortcut in the preset rail. `range` receives the viewer's local today. */
|
|
28
|
+
export interface DateRangePreset {
|
|
29
|
+
label: string;
|
|
30
|
+
range: (today: DateValue) => {
|
|
31
|
+
start: DateValue;
|
|
32
|
+
end: DateValue;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/** Every string the panel shows, so a product can translate them. */
|
|
36
|
+
export interface DateRangePickerMessages {
|
|
37
|
+
/** The preset rail's name. */
|
|
38
|
+
presets: string;
|
|
39
|
+
apply: string;
|
|
40
|
+
cancel: string;
|
|
41
|
+
clear: string;
|
|
42
|
+
previousMonth: string;
|
|
43
|
+
nextMonth: string;
|
|
44
|
+
/** The summary while nothing is chosen. */
|
|
45
|
+
noDates: string;
|
|
46
|
+
/** Under the summary while only the start is chosen. */
|
|
47
|
+
pickEnd: string;
|
|
48
|
+
/** The count under the summary, `1 day` or `7 days`. */
|
|
49
|
+
days: (count: number) => string;
|
|
50
|
+
/** What a screen reader is told while only the start is chosen. */
|
|
51
|
+
startChosen: (start: string) => string;
|
|
52
|
+
}
|
|
53
|
+
/** Shortcuts for the rail: today back to the start of the year. */
|
|
54
|
+
export declare const defaultDateRangePresets: DateRangePreset[];
|
|
55
|
+
/** Props for {@link DateRangePicker}. */
|
|
56
|
+
export interface DateRangePickerProps extends PickerSharedProps {
|
|
57
|
+
/** The applied range (controlled). Either end may be `null`. */
|
|
58
|
+
value?: DateRangePickerValue;
|
|
59
|
+
/** The range applied at first (uncontrolled). */
|
|
60
|
+
defaultValue?: DateRangePickerValue;
|
|
61
|
+
/** Told the range when Apply is pressed; both ends `null` when cleared. */
|
|
62
|
+
onChange?: (value: DateRangePickerValue) => void;
|
|
63
|
+
/** Label of the typed start, and the trigger's word for a range with no end. @default "From" */
|
|
64
|
+
startLabel?: string;
|
|
65
|
+
/** Label of the typed end, and the trigger's word for a range with no start. @default "To" */
|
|
66
|
+
endLabel?: string;
|
|
67
|
+
/** The shortcuts in the rail. @default {@link defaultDateRangePresets} */
|
|
68
|
+
presets?: DateRangePreset[];
|
|
69
|
+
/** Two months side by side, one, or whichever fits. @default "auto" */
|
|
70
|
+
months?: "auto" | 1 | 2;
|
|
71
|
+
/** The element the panel must stay inside (a function, so it is read when it opens). Defaults to the viewport. */
|
|
72
|
+
boundary?: () => HTMLElement | null;
|
|
73
|
+
/** Renames any of the panel's strings. */
|
|
74
|
+
messages?: Partial<DateRangePickerMessages>;
|
|
75
|
+
}
|
|
76
|
+
export declare const DateRangePicker: import("react").ForwardRefExoticComponent<DateRangePickerProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
77
|
+
//#endregion
|
|
78
|
+
//# sourceMappingURL=date-range-picker.d.ts.map
|