@pathscale/ui 2.1.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/components/accordion/Accordion.css +3 -3
- package/dist/components/accordion/Accordion.generated.d.ts +8 -8
- package/dist/components/accordion/Accordion.generated.js +9 -14
- package/dist/components/address/Address.css +66 -0
- package/dist/components/address/Address.generated.d.ts +35 -0
- package/dist/components/address/Address.generated.js +106 -0
- package/dist/components/address/Address.interactions.d.ts +48 -0
- package/dist/components/address/Address.interactions.js +25 -0
- package/dist/components/address/Address.recipe.d.ts +60 -0
- package/dist/components/address/Address.recipe.js +101 -0
- package/dist/components/address/index.d.ts +5 -0
- package/dist/components/address/index.js +3 -0
- package/dist/components/alert/Alert.css +125 -72
- package/dist/components/alert/Alert.generated.d.ts +12 -30
- package/dist/components/alert/Alert.generated.js +95 -191
- package/dist/components/alert/Alert.recipe.d.ts +57 -24
- package/dist/components/alert/Alert.recipe.js +90 -49
- package/dist/components/alert/index.d.ts +3 -1
- package/dist/components/alert/index.js +2 -1
- package/dist/components/auth-card/AuthCard.css +44 -0
- package/dist/components/auth-card/AuthCard.generated.d.ts +12 -0
- package/dist/components/auth-card/{AuthCard.js → AuthCard.generated.js} +33 -46
- package/dist/components/auth-card/AuthCard.recipe.d.ts +30 -0
- package/dist/components/auth-card/AuthCard.recipe.js +79 -0
- package/dist/components/auth-card/index.d.ts +2 -1
- package/dist/components/auth-card/index.js +1 -1
- package/dist/components/auth-field-group/AuthFieldGroup.css +19 -0
- package/dist/components/auth-field-group/AuthFieldGroup.generated.d.ts +10 -0
- package/dist/components/auth-field-group/AuthFieldGroup.generated.js +17 -0
- package/dist/components/auth-field-group/AuthFieldGroup.recipe.d.ts +19 -0
- package/dist/components/auth-field-group/AuthFieldGroup.recipe.js +39 -0
- package/dist/components/auth-field-group/index.d.ts +2 -1
- package/dist/components/auth-field-group/index.js +1 -1
- package/dist/components/auth-footer-links/AuthFooterLinks.css +53 -0
- package/dist/components/auth-footer-links/AuthFooterLinks.generated.d.ts +17 -0
- package/dist/components/auth-footer-links/AuthFooterLinks.generated.js +58 -0
- package/dist/components/auth-footer-links/AuthFooterLinks.recipe.d.ts +22 -0
- package/dist/components/auth-footer-links/AuthFooterLinks.recipe.js +47 -0
- package/dist/components/auth-footer-links/index.d.ts +2 -1
- package/dist/components/auth-footer-links/index.js +1 -1
- package/dist/components/auth-message/AuthMessage.css +6 -0
- package/dist/components/auth-message/AuthMessage.generated.d.ts +9 -0
- package/dist/components/auth-message/AuthMessage.generated.js +27 -0
- package/dist/components/auth-message/AuthMessage.recipe.d.ts +9 -0
- package/dist/components/auth-message/AuthMessage.recipe.js +23 -0
- package/dist/components/auth-message/index.d.ts +2 -0
- package/dist/components/auth-message/index.js +1 -0
- package/dist/components/auth-powered-by/AuthPoweredBy.css +61 -0
- package/dist/components/auth-powered-by/AuthPoweredBy.generated.d.ts +14 -0
- package/dist/components/auth-powered-by/AuthPoweredBy.generated.js +41 -0
- package/dist/components/auth-powered-by/AuthPoweredBy.recipe.d.ts +34 -0
- package/dist/components/auth-powered-by/AuthPoweredBy.recipe.js +74 -0
- package/dist/components/auth-powered-by/index.d.ts +2 -1
- package/dist/components/auth-powered-by/index.js +1 -1
- package/dist/components/auth-submit-button/AuthSubmitButton.css +5 -0
- package/dist/components/auth-submit-button/AuthSubmitButton.generated.d.ts +14 -0
- package/dist/components/auth-submit-button/AuthSubmitButton.generated.js +34 -0
- package/dist/components/auth-submit-button/AuthSubmitButton.recipe.d.ts +9 -0
- package/dist/components/auth-submit-button/AuthSubmitButton.recipe.js +23 -0
- package/dist/components/auth-submit-button/index.d.ts +2 -1
- package/dist/components/auth-submit-button/index.js +1 -1
- package/dist/components/avatar/Avatar.css +33 -16
- package/dist/components/avatar/Avatar.generated.d.ts +5 -6
- package/dist/components/avatar/Avatar.generated.js +6 -9
- package/dist/components/avatar/Avatar.recipe.d.ts +9 -6
- package/dist/components/avatar/Avatar.recipe.js +9 -6
- package/dist/components/avatar/AvatarGroup.generated.d.ts +2 -3
- package/dist/components/avatar/AvatarGroup.generated.js +1 -2
- package/dist/components/avatar/index.d.ts +1 -1
- package/dist/components/badge/Badge.css +81 -69
- package/dist/components/badge/Badge.generated.d.ts +4 -4
- package/dist/components/badge/Badge.generated.js +8 -4
- package/dist/components/badge/Badge.recipe.d.ts +20 -9
- package/dist/components/badge/Badge.recipe.js +20 -9
- package/dist/components/{breadcrumbs/Breadcrumbs.css → breadcrumb/Breadcrumb.css} +10 -10
- package/dist/components/breadcrumb/Breadcrumb.generated.d.ts +21 -0
- package/dist/components/{breadcrumbs/Breadcrumbs.generated.js → breadcrumb/Breadcrumb.generated.js} +29 -31
- package/dist/components/breadcrumb/Breadcrumb.recipe.d.ts +18 -0
- package/dist/components/{breadcrumbs/Breadcrumbs.recipe.js → breadcrumb/Breadcrumb.recipe.js} +17 -17
- package/dist/components/breadcrumb/index.d.ts +1 -0
- package/dist/components/breadcrumb/index.js +1 -0
- package/dist/components/button/Button.css +218 -81
- package/dist/components/button/Button.generated.d.ts +12 -16
- package/dist/components/button/Button.generated.js +31 -61
- package/dist/components/button/Button.recipe.d.ts +80 -33
- package/dist/components/button/Button.recipe.js +131 -52
- package/dist/components/button/index.d.ts +3 -2
- package/dist/components/button/index.js +2 -1
- package/dist/components/button-group/ButtonGroup.generated.d.ts +6 -7
- package/dist/components/button-group/ButtonGroup.generated.js +5 -7
- package/dist/components/button-group/context.d.ts +3 -3
- package/dist/components/calendar/Calendar.css +8 -8
- package/dist/components/calendar/Calendar.generated.d.ts +3 -3
- package/dist/components/calendar/Calendar.generated.js +3 -4
- package/dist/components/card/Card.css +170 -64
- package/dist/components/card/Card.generated.d.ts +22 -25
- package/dist/components/card/Card.generated.js +71 -144
- package/dist/components/card/Card.recipe.d.ts +110 -24
- package/dist/components/card/Card.recipe.js +171 -46
- package/dist/components/card/index.d.ts +16 -1
- package/dist/components/card/index.js +11 -1
- package/dist/components/chatbubble/ChatBubble.css +12 -12
- package/dist/components/chatbubble/ChatBubble.generated.d.ts +2 -2
- package/dist/components/chatbubble/ChatBubble.generated.js +1 -2
- package/dist/components/chatbubble/ChatBubble.recipe.d.ts +9 -9
- package/dist/components/chatbubble/ChatBubble.recipe.js +9 -9
- package/dist/components/chatbubble/ChatBubbleAvatar.generated.d.ts +2 -2
- package/dist/components/chatbubble/ChatBubbleAvatar.generated.js +3 -3
- package/dist/components/chatbubble/ChatBubbleFooter.generated.d.ts +2 -2
- package/dist/components/chatbubble/ChatBubbleFooter.generated.js +2 -3
- package/dist/components/chatbubble/ChatBubbleHeader.generated.d.ts +2 -2
- package/dist/components/chatbubble/ChatBubbleHeader.generated.js +2 -3
- package/dist/components/chatbubble/ChatBubbleMessage.generated.d.ts +3 -3
- package/dist/components/chatbubble/ChatBubbleMessage.generated.js +6 -6
- package/dist/components/chatbubble/ChatBubbleTime.generated.d.ts +2 -2
- package/dist/components/chatbubble/ChatBubbleTime.generated.js +2 -3
- package/dist/components/checkbox/Checkbox.css +2 -2
- package/dist/components/checkbox/Checkbox.generated.d.ts +4 -4
- package/dist/components/checkbox/Checkbox.generated.js +6 -6
- package/dist/components/checkbox-group/CheckboxGroup.generated.d.ts +4 -4
- package/dist/components/checkbox-group/CheckboxGroup.generated.js +6 -6
- package/dist/components/chip/Chip.css +76 -52
- package/dist/components/chip/Chip.generated.d.ts +3 -3
- package/dist/components/chip/Chip.generated.js +6 -7
- package/dist/components/chip/Chip.recipe.d.ts +9 -7
- package/dist/components/chip/Chip.recipe.js +9 -7
- package/dist/components/close-button/CloseButton.css +2 -2
- package/dist/components/close-button/CloseButton.generated.d.ts +3 -4
- package/dist/components/close-button/CloseButton.generated.js +3 -4
- package/dist/components/{disclosure/Disclosure.css → collapsible/Collapsible.css} +18 -18
- package/dist/components/collapsible/Collapsible.generated.d.ts +46 -0
- package/dist/components/{disclosure/Disclosure.generated.js → collapsible/Collapsible.generated.js} +59 -86
- package/dist/components/collapsible/Collapsible.recipe.d.ts +28 -0
- package/dist/components/collapsible/Collapsible.recipe.js +77 -0
- package/dist/components/collapsible/index.d.ts +11 -0
- package/dist/components/collapsible/index.js +4 -0
- package/dist/components/color-area/ColorArea.css +5 -5
- package/dist/components/color-area/ColorArea.generated.d.ts +3 -3
- package/dist/components/color-area/ColorArea.generated.js +3 -4
- package/dist/components/color-field/ColorField.css +1 -1
- package/dist/components/color-field/ColorField.generated.d.ts +3 -3
- package/dist/components/color-field/ColorField.generated.js +3 -4
- package/dist/components/color-picker/ColorPicker.generated.d.ts +3 -3
- package/dist/components/color-picker/ColorPicker.generated.js +16 -20
- package/dist/components/color-slider/ColorSlider.css +5 -5
- package/dist/components/color-slider/ColorSlider.generated.d.ts +3 -3
- package/dist/components/color-slider/ColorSlider.generated.js +3 -4
- package/dist/components/color-swatch/ColorSwatch.css +5 -5
- package/dist/components/color-swatch/ColorSwatch.generated.d.ts +3 -3
- package/dist/components/color-swatch/ColorSwatch.generated.js +3 -4
- package/dist/components/color-swatch-picker/ColorSwatchPicker.generated.d.ts +3 -3
- package/dist/components/color-swatch-picker/ColorSwatchPicker.generated.js +3 -4
- package/dist/components/color-wheel-flower/ColorWheelFlower.css +11 -11
- package/dist/components/color-wheel-flower/ColorWheelFlower.generated.d.ts +0 -1
- package/dist/components/color-wheel-flower/ColorWheelFlower.generated.js +5 -6
- package/dist/components/combo-box/ComboBox.css +5 -5
- package/dist/components/combo-box/ComboBox.generated.d.ts +11 -12
- package/dist/components/combo-box/ComboBox.generated.js +17 -23
- package/dist/components/composer/Composer.css +109 -0
- package/dist/components/composer/Composer.generated.d.ts +46 -0
- package/dist/components/composer/Composer.generated.js +153 -0
- package/dist/components/composer/Composer.interactions.d.ts +93 -0
- package/dist/components/composer/Composer.interactions.js +42 -0
- package/dist/components/composer/Composer.recipe.d.ts +80 -0
- package/dist/components/composer/Composer.recipe.js +146 -0
- package/dist/components/composer/index.d.ts +5 -0
- package/dist/components/composer/index.js +3 -0
- package/dist/components/date-field/DateField.generated.d.ts +12 -13
- package/dist/components/date-field/DateField.generated.js +15 -22
- package/dist/components/date-picker/DatePicker.css +1 -1
- package/dist/components/date-picker/DatePicker.generated.d.ts +4 -4
- package/dist/components/date-picker/DatePicker.generated.js +7 -8
- package/dist/components/date-range-picker/DateRangePicker.css +1 -1
- package/dist/components/date-range-picker/DateRangePicker.generated.d.ts +4 -4
- package/dist/components/date-range-picker/DateRangePicker.generated.js +7 -8
- package/dist/components/{modal/Modal.css → dialog/Dialog.css} +73 -73
- package/dist/components/dialog/Dialog.generated.d.ts +84 -0
- package/dist/components/{modal/Modal.generated.js → dialog/Dialog.generated.js} +81 -91
- package/dist/components/dialog/Dialog.recipe.d.ts +104 -0
- package/dist/components/dialog/Dialog.recipe.js +178 -0
- package/dist/components/dialog/index.d.ts +1 -0
- package/dist/components/dialog/index.js +1 -0
- package/dist/components/{floating-dock/FloatingDock.css → dock/Dock.css} +32 -32
- package/dist/components/{floating-dock/FloatingDock.generated.d.ts → dock/Dock.generated.d.ts} +11 -11
- package/dist/components/{floating-dock/FloatingDock.generated.js → dock/Dock.generated.js} +17 -18
- package/dist/components/dock/Dock.recipe.d.ts +31 -0
- package/dist/components/dock/Dock.recipe.js +45 -0
- package/dist/components/dock/index.d.ts +2 -0
- package/dist/components/dock/index.js +1 -0
- package/dist/components/drawer/Drawer.a11y.d.ts +1 -1
- package/dist/components/drawer/Drawer.css +9 -9
- package/dist/components/drawer/Drawer.generated.d.ts +13 -13
- package/dist/components/drawer/Drawer.generated.js +15 -26
- package/dist/components/dropdown/Dropdown.css +8 -8
- package/dist/components/dropdown/Dropdown.generated.d.ts +0 -1
- package/dist/components/dropdown/Dropdown.generated.js +1 -2
- package/dist/components/{empty-state/EmptyState.css → empty/Empty.css} +5 -5
- package/dist/components/empty/Empty.generated.d.ts +33 -0
- package/dist/components/{empty-state/EmptyState.generated.js → empty/Empty.generated.js} +36 -41
- package/dist/components/empty/Empty.recipe.d.ts +20 -0
- package/dist/components/{empty-state/EmptyState.recipe.js → empty/Empty.recipe.js} +21 -21
- package/dist/components/empty/index.d.ts +3 -0
- package/dist/components/empty/index.js +1 -0
- package/dist/components/fieldset/Fieldset.generated.d.ts +5 -5
- package/dist/components/fieldset/Fieldset.generated.js +4 -8
- package/dist/components/flex/Flex.generated.d.ts +2 -2
- package/dist/components/flex/Flex.generated.js +1 -2
- package/dist/components/footer/Footer.generated.d.ts +2 -2
- package/dist/components/footer/Footer.generated.js +1 -2
- package/dist/components/footer/FooterTitle.generated.d.ts +2 -2
- package/dist/components/footer/FooterTitle.generated.js +1 -2
- package/dist/components/form/FieldErrorMessage.generated.d.ts +0 -1
- package/dist/components/form/FieldErrorMessage.generated.js +1 -1
- package/dist/components/form/Form.generated.d.ts +3 -3
- package/dist/components/form/Form.generated.js +2 -4
- package/dist/components/form/FormField.generated.d.ts +0 -1
- package/dist/components/form/FormField.generated.js +9 -5
- package/dist/components/form/FormSubmitButton.generated.d.ts +1 -1
- package/dist/components/form/FormSubmitButton.generated.js +3 -6
- package/dist/components/glow-card/GlowCard.css +1 -1
- package/dist/components/glow-card/GlowCard.generated.d.ts +2 -2
- package/dist/components/glow-card/GlowCard.generated.js +1 -2
- package/dist/components/grid/Grid.generated.d.ts +2 -2
- package/dist/components/grid/Grid.generated.js +1 -2
- package/dist/components/header/Header.generated.d.ts +2 -2
- package/dist/components/header/Header.generated.js +1 -2
- package/dist/components/icon/Icon.css +37 -1
- package/dist/components/icon/Icon.generated.d.ts +17 -7
- package/dist/components/icon/Icon.generated.js +40 -22
- package/dist/components/icon/Icon.interactions.d.ts +8 -0
- package/dist/components/icon/Icon.interactions.js +10 -0
- package/dist/components/icon/Icon.recipe.d.ts +27 -6
- package/dist/components/icon/Icon.recipe.js +36 -8
- package/dist/components/icon/index.d.ts +2 -1
- package/dist/components/icon/index.js +2 -1
- package/dist/components/immersive-landing/ImmersiveLanding.css +12 -12
- package/dist/components/immersive-landing/ImmersiveLanding.generated.js +1 -2
- package/dist/components/immersive-landing/ImmersiveLandingArrows.generated.js +3 -4
- package/dist/components/immersive-landing/ImmersiveLandingNavigation.generated.js +1 -2
- package/dist/components/immersive-landing/ImmersiveLandingPage.generated.js +1 -2
- package/dist/components/immersive-landing/components/CookieConsent.js +3 -3
- package/dist/components/immersive-landing/components/FirefoxPWABanner.js +5 -5
- package/dist/components/immersive-landing/components/PWAInstallPrompt.js +3 -3
- package/dist/components/immersive-landing/types.d.ts +5 -5
- package/dist/components/input/Input.css +1 -1
- package/dist/components/input/Input.generated.d.ts +6 -10
- package/dist/components/input/Input.generated.js +25 -32
- package/dist/components/input-otp/InputOTP.generated.d.ts +7 -7
- package/dist/components/input-otp/InputOTP.generated.js +9 -12
- package/dist/components/join/Join.generated.d.ts +2 -2
- package/dist/components/join/Join.generated.js +1 -2
- package/dist/components/kbd/Kbd.css +2 -2
- package/dist/components/kbd/Kbd.generated.d.ts +4 -4
- package/dist/components/kbd/Kbd.generated.js +3 -6
- package/dist/components/label/Label.generated.d.ts +5 -5
- package/dist/components/label/Label.generated.js +10 -10
- package/dist/components/language-switcher/LanguageSwitcher.css +3 -3
- package/dist/components/language-switcher/LanguageSwitcher.generated.d.ts +2 -2
- package/dist/components/language-switcher/LanguageSwitcher.generated.js +2 -3
- package/dist/components/link/Link.css +2 -2
- package/dist/components/link/Link.generated.d.ts +4 -4
- package/dist/components/link/Link.generated.js +4 -6
- package/dist/components/list-box/ListBox.css +2 -2
- package/dist/components/list-box/ListBox.generated.d.ts +4 -4
- package/dist/components/list-box/ListBox.generated.js +5 -6
- package/dist/components/list-box/ListBoxItem.generated.d.ts +4 -4
- package/dist/components/list-box/ListBoxItem.generated.js +5 -7
- package/dist/components/list-box/ListBoxSection.generated.d.ts +2 -2
- package/dist/components/list-box/ListBoxSection.generated.js +1 -2
- package/dist/components/live-chat/LiveChat.css +8 -8
- package/dist/components/live-chat/LiveChatBubble.generated.d.ts +2 -2
- package/dist/components/live-chat/LiveChatBubble.generated.js +1 -2
- package/dist/components/live-chat/LiveChatPanel.generated.d.ts +2 -2
- package/dist/components/live-chat/LiveChatPanel.generated.js +5 -6
- package/dist/components/menu/Menu.css +2 -2
- package/dist/components/menu/Menu.generated.d.ts +4 -4
- package/dist/components/menu/Menu.generated.js +5 -6
- package/dist/components/menu/MenuItem.generated.d.ts +5 -5
- package/dist/components/menu/MenuItem.generated.js +6 -9
- package/dist/components/menu/MenuSection.generated.d.ts +2 -2
- package/dist/components/menu/MenuSection.generated.js +1 -2
- package/dist/components/metal-border/MetalBorder.generated.d.ts +2 -2
- package/dist/components/metal-border/MetalBorder.generated.js +1 -2
- package/dist/components/meter/Meter.css +34 -18
- package/dist/components/meter/Meter.generated.d.ts +7 -7
- package/dist/components/meter/Meter.generated.js +9 -13
- package/dist/components/meter/Meter.recipe.d.ts +9 -6
- package/dist/components/meter/Meter.recipe.js +9 -6
- package/dist/components/navbar/Navbar.css +13 -13
- package/dist/components/navbar/Navbar.generated.d.ts +2 -3
- package/dist/components/navbar/Navbar.generated.js +1 -2
- package/dist/components/navbar/Navbar.recipe.d.ts +12 -9
- package/dist/components/navbar/Navbar.recipe.js +13 -10
- package/dist/components/navbar/NavbarRow.generated.d.ts +5 -3
- package/dist/components/navbar/NavbarRow.generated.js +4 -4
- package/dist/components/navbar/NavbarSection.generated.d.ts +0 -1
- package/dist/components/navbar/NavbarSection.generated.js +1 -2
- package/dist/components/navbar/NavbarStack.generated.d.ts +2 -3
- package/dist/components/navbar/NavbarStack.generated.js +1 -2
- package/dist/components/noise-background/NoiseBackground.generated.d.ts +2 -2
- package/dist/components/noise-background/NoiseBackground.generated.js +1 -2
- package/dist/components/pagination/Pagination.css +1 -1
- package/dist/components/pagination/Pagination.generated.d.ts +3 -3
- package/dist/components/pagination/Pagination.generated.js +3 -4
- package/dist/components/password-field/PasswordField.css +12 -0
- package/dist/components/password-field/PasswordField.generated.d.ts +29 -0
- package/dist/components/password-field/PasswordField.generated.js +95 -0
- package/dist/components/password-field/{PasswordField.d.ts → PasswordField.interactions.d.ts} +40 -38
- package/dist/components/password-field/PasswordField.interactions.js +48 -0
- package/dist/components/password-field/PasswordField.recipe.d.ts +12 -0
- package/dist/components/password-field/PasswordField.recipe.js +31 -0
- package/dist/components/password-field/index.d.ts +3 -1
- package/dist/components/password-field/index.js +2 -1
- package/dist/components/password-requirements/PasswordRequirements.css +42 -0
- package/dist/components/password-requirements/PasswordRequirements.generated.d.ts +12 -0
- package/dist/components/password-requirements/PasswordRequirements.generated.js +69 -0
- package/dist/components/password-requirements/PasswordRequirements.recipe.d.ts +24 -0
- package/dist/components/password-requirements/PasswordRequirements.recipe.js +63 -0
- package/dist/components/password-requirements/index.d.ts +2 -1
- package/dist/components/password-requirements/index.js +1 -1
- package/dist/components/popover/Popover.css +3 -3
- package/dist/components/popover/Popover.generated.d.ts +8 -8
- package/dist/components/popover/Popover.generated.js +9 -15
- package/dist/components/progress/Progress.css +121 -0
- package/dist/components/progress/Progress.generated.d.ts +20 -0
- package/dist/components/{progress-bar/ProgressBar.generated.js → progress/Progress.generated.js} +12 -13
- package/dist/components/progress/Progress.recipe.d.ts +32 -0
- package/dist/components/progress/Progress.recipe.js +46 -0
- package/dist/components/progress/index.d.ts +2 -0
- package/dist/components/progress/index.js +1 -0
- package/dist/components/radial-progress/RadialProgress.css +99 -0
- package/dist/components/radial-progress/RadialProgress.generated.d.ts +19 -0
- package/dist/components/{progress-circle/ProgressCircle.generated.js → radial-progress/RadialProgress.generated.js} +12 -13
- package/dist/components/radial-progress/RadialProgress.recipe.d.ts +31 -0
- package/dist/components/radial-progress/RadialProgress.recipe.js +45 -0
- package/dist/components/radial-progress/index.d.ts +2 -0
- package/dist/components/radial-progress/index.js +1 -0
- package/dist/components/radio/Radio.css +3 -3
- package/dist/components/radio/Radio.generated.d.ts +4 -4
- package/dist/components/radio/Radio.generated.js +6 -6
- package/dist/components/radio-group/RadioGroup.generated.d.ts +4 -4
- package/dist/components/radio-group/RadioGroup.generated.js +6 -6
- package/dist/components/range-calendar/RangeCalendar.css +1 -1
- package/dist/components/range-calendar/RangeCalendar.generated.d.ts +3 -3
- package/dist/components/range-calendar/RangeCalendar.generated.js +5 -6
- package/dist/components/{scroll-shadow/ScrollShadow.css → scroll-area/ScrollArea.css} +20 -20
- package/dist/components/scroll-area/ScrollArea.generated.d.ts +19 -0
- package/dist/components/{scroll-shadow/ScrollShadow.generated.js → scroll-area/ScrollArea.generated.js} +15 -16
- package/dist/components/scroll-area/ScrollArea.recipe.d.ts +19 -0
- package/dist/components/{scroll-shadow/ScrollShadow.recipe.js → scroll-area/ScrollArea.recipe.js} +6 -6
- package/dist/components/scroll-area/index.d.ts +2 -0
- package/dist/components/scroll-area/index.js +1 -0
- package/dist/components/scroll-area/useScrollArea.d.ts +13 -0
- package/dist/components/{scroll-shadow/useScrollShadow.js → scroll-area/useScrollArea.js} +6 -6
- package/dist/components/select/Select.css +7 -7
- package/dist/components/select/Select.generated.d.ts +11 -11
- package/dist/components/select/Select.generated.js +16 -23
- package/dist/components/separator/Separator.generated.d.ts +2 -2
- package/dist/components/separator/Separator.generated.js +1 -2
- package/dist/components/size-picker/SizePicker.generated.d.ts +2 -2
- package/dist/components/size-picker/SizePicker.generated.js +5 -3
- package/dist/components/skeleton/Skeleton.css +71 -0
- package/dist/components/skeleton/Skeleton.generated.d.ts +13 -4
- package/dist/components/skeleton/Skeleton.generated.js +36 -6
- package/dist/components/skeleton/Skeleton.recipe.d.ts +39 -10
- package/dist/components/skeleton/Skeleton.recipe.js +88 -12
- package/dist/components/skeleton/index.d.ts +3 -2
- package/dist/components/skeleton/index.js +2 -1
- package/dist/components/slider/Slider.css +8 -8
- package/dist/components/slider/Slider.generated.d.ts +2 -3
- package/dist/components/slider/Slider.generated.js +1 -2
- package/dist/components/spinner/Spinner.generated.d.ts +6 -8
- package/dist/components/spinner/Spinner.generated.js +4 -4
- package/dist/components/spinner/Spinner.recipe.d.ts +15 -31
- package/dist/components/spinner/Spinner.recipe.js +67 -32
- package/dist/components/spinner/index.d.ts +3 -2
- package/dist/components/spinner/index.js +2 -1
- package/dist/components/status/index.d.ts +3 -0
- package/dist/components/status/index.js +1 -0
- package/dist/components/status/status.d.ts +167 -0
- package/dist/components/status/status.js +101 -0
- package/dist/components/{toggle/Toggle.css → switch/Switch.css} +83 -63
- package/dist/components/{toggle/Toggle.generated.d.ts → switch/Switch.generated.d.ts} +7 -7
- package/dist/components/{toggle/Toggle.generated.js → switch/Switch.generated.js} +18 -19
- package/dist/components/switch/Switch.recipe.d.ts +43 -0
- package/dist/components/switch/Switch.recipe.js +97 -0
- package/dist/components/{toggle → switch}/index.d.ts +1 -1
- package/dist/components/switch/index.js +1 -0
- package/dist/components/table/ExpandToggle.generated.d.ts +2 -2
- package/dist/components/table/ExpandToggle.generated.js +3 -4
- package/dist/components/table/InlineConfirm.generated.d.ts +3 -3
- package/dist/components/table/InlineConfirm.generated.js +13 -18
- package/dist/components/table/MobileListView.generated.d.ts +2 -2
- package/dist/components/table/MobileListView.generated.js +6 -7
- package/dist/components/table/SortIcon.generated.d.ts +2 -2
- package/dist/components/table/SortIcon.generated.js +2 -3
- package/dist/components/table/Table.css +7 -7
- package/dist/components/table/Table.generated.d.ts +16 -16
- package/dist/components/table/Table.generated.js +15 -30
- package/dist/components/table/VirtualSpacerRow.generated.d.ts +2 -2
- package/dist/components/table/VirtualSpacerRow.generated.js +1 -2
- package/dist/components/tabs/Tabs.css +5 -5
- package/dist/components/tabs/Tabs.generated.d.ts +2 -1
- package/dist/components/tabs/Tabs.generated.js +2 -2
- package/dist/components/text/Text.generated.d.ts +2 -2
- package/dist/components/text/Text.generated.js +1 -2
- package/dist/components/textarea/Textarea.generated.d.ts +16 -7
- package/dist/components/textarea/Textarea.generated.js +47 -7
- package/dist/components/textarea/Textarea.recipe.d.ts +9 -1
- package/dist/components/textarea/Textarea.recipe.js +16 -3
- package/dist/components/textarea/index.d.ts +1 -2
- package/dist/components/textarea/index.js +1 -1
- package/dist/components/theme-color-picker/ThemeColorPicker.generated.d.ts +2 -2
- package/dist/components/theme-color-picker/ThemeColorPicker.generated.js +2 -3
- package/dist/components/time-field/TimeField.generated.d.ts +12 -13
- package/dist/components/time-field/TimeField.generated.js +15 -22
- package/dist/components/toast/Toast.css +4 -4
- package/dist/components/toast/Toast.generated.d.ts +10 -10
- package/dist/components/toast/Toast.generated.js +16 -24
- package/dist/components/toolbar/Toolbar.css +2 -2
- package/dist/components/toolbar/Toolbar.generated.d.ts +2 -2
- package/dist/components/toolbar/Toolbar.generated.js +1 -2
- package/dist/components/tooltip/Tooltip.css +4 -4
- package/dist/components/tooltip/Tooltip.generated.d.ts +6 -6
- package/dist/components/tooltip/Tooltip.generated.js +7 -11
- package/dist/components/types.d.ts +0 -7
- package/dist/components/video-preview/VideoPreview.generated.d.ts +2 -2
- package/dist/components/video-preview/VideoPreview.generated.js +1 -2
- package/dist/components/vocabulary.d.ts +267 -0
- package/dist/components/vocabulary.js +46 -0
- package/dist/index.css +0 -1
- package/dist/index.d.ts +53 -113
- package/dist/index.js +32 -67
- package/dist/lab.d.ts +44 -0
- package/dist/lab.js +24 -0
- package/dist/layouts.manifest.json +77 -218
- package/dist/purge-manifest.json +13075 -17765
- package/dist/styles/themes/dark.css +27 -0
- package/dist/styles/themes/light.css +29 -0
- package/package.json +13 -12
- package/dist/components/auth-card/AuthCard.d.ts +0 -12
- package/dist/components/auth-error-message/AuthErrorMessage.d.ts +0 -7
- package/dist/components/auth-error-message/AuthErrorMessage.js +0 -35
- package/dist/components/auth-error-message/index.d.ts +0 -1
- package/dist/components/auth-error-message/index.js +0 -1
- package/dist/components/auth-field-group/AuthFieldGroup.d.ts +0 -8
- package/dist/components/auth-field-group/AuthFieldGroup.js +0 -33
- package/dist/components/auth-footer-links/AuthFooterLinks.d.ts +0 -15
- package/dist/components/auth-footer-links/AuthFooterLinks.js +0 -74
- package/dist/components/auth-form/AuthForm.d.ts +0 -9
- package/dist/components/auth-form/AuthForm.js +0 -36
- package/dist/components/auth-form/index.d.ts +0 -1
- package/dist/components/auth-form/index.js +0 -1
- package/dist/components/auth-powered-by/AuthPoweredBy.d.ts +0 -11
- package/dist/components/auth-powered-by/AuthPoweredBy.js +0 -59
- package/dist/components/auth-submit-button/AuthSubmitButton.d.ts +0 -11
- package/dist/components/auth-submit-button/AuthSubmitButton.js +0 -51
- package/dist/components/auth-success-message/AuthSuccessMessage.d.ts +0 -7
- package/dist/components/auth-success-message/AuthSuccessMessage.js +0 -36
- package/dist/components/auth-success-message/index.d.ts +0 -1
- package/dist/components/auth-success-message/index.js +0 -1
- package/dist/components/breadcrumbs/Breadcrumbs.generated.d.ts +0 -21
- package/dist/components/breadcrumbs/Breadcrumbs.recipe.d.ts +0 -18
- package/dist/components/breadcrumbs/index.d.ts +0 -1
- package/dist/components/breadcrumbs/index.js +0 -1
- package/dist/components/description/Description.css +0 -10
- package/dist/components/description/Description.generated.d.ts +0 -12
- package/dist/components/description/Description.generated.js +0 -47
- package/dist/components/description/Description.recipe.d.ts +0 -10
- package/dist/components/description/Description.recipe.js +0 -29
- package/dist/components/description/index.d.ts +0 -1
- package/dist/components/description/index.js +0 -1
- package/dist/components/disclosure/Disclosure.generated.d.ts +0 -46
- package/dist/components/disclosure/Disclosure.recipe.d.ts +0 -28
- package/dist/components/disclosure/Disclosure.recipe.js +0 -77
- package/dist/components/disclosure/index.d.ts +0 -11
- package/dist/components/disclosure/index.js +0 -4
- package/dist/components/disclosure-group/DisclosureGroup.css +0 -9
- package/dist/components/disclosure-group/DisclosureGroup.generated.d.ts +0 -26
- package/dist/components/disclosure-group/DisclosureGroup.generated.js +0 -80
- package/dist/components/disclosure-group/DisclosureGroup.recipe.d.ts +0 -10
- package/dist/components/disclosure-group/DisclosureGroup.recipe.js +0 -29
- package/dist/components/disclosure-group/index.d.ts +0 -9
- package/dist/components/disclosure-group/index.js +0 -5
- package/dist/components/disclosure-group/useDisclosureGroupNavigation.d.ts +0 -14
- package/dist/components/disclosure-group/useDisclosureGroupNavigation.js +0 -54
- package/dist/components/empty-state/EmptyState.generated.d.ts +0 -33
- package/dist/components/empty-state/EmptyState.recipe.d.ts +0 -20
- package/dist/components/empty-state/index.d.ts +0 -3
- package/dist/components/empty-state/index.js +0 -1
- package/dist/components/error-message/ErrorMessage.css +0 -20
- package/dist/components/error-message/ErrorMessage.generated.d.ts +0 -12
- package/dist/components/error-message/ErrorMessage.generated.js +0 -47
- package/dist/components/error-message/ErrorMessage.recipe.d.ts +0 -10
- package/dist/components/error-message/ErrorMessage.recipe.js +0 -29
- package/dist/components/error-message/index.d.ts +0 -1
- package/dist/components/error-message/index.js +0 -1
- package/dist/components/field-error/FieldError.css +0 -27
- package/dist/components/field-error/FieldError.generated.d.ts +0 -22
- package/dist/components/field-error/FieldError.generated.js +0 -76
- package/dist/components/field-error/FieldError.recipe.d.ts +0 -10
- package/dist/components/field-error/FieldError.recipe.js +0 -29
- package/dist/components/field-error/index.d.ts +0 -1
- package/dist/components/field-error/index.js +0 -1
- package/dist/components/floating-dock/FloatingDock.recipe.d.ts +0 -31
- package/dist/components/floating-dock/FloatingDock.recipe.js +0 -45
- package/dist/components/floating-dock/index.d.ts +0 -2
- package/dist/components/floating-dock/index.js +0 -1
- package/dist/components/glass-panel/GlassPanel.css +0 -359
- package/dist/components/glass-panel/GlassPanel.generated.d.ts +0 -21
- package/dist/components/glass-panel/GlassPanel.generated.js +0 -116
- package/dist/components/glass-panel/GlassPanel.recipe.d.ts +0 -33
- package/dist/components/glass-panel/GlassPanel.recipe.js +0 -47
- package/dist/components/glass-panel/index.d.ts +0 -1
- package/dist/components/glass-panel/index.js +0 -1
- package/dist/components/input-group/InputGroup.css +0 -172
- package/dist/components/input-group/InputGroup.generated.d.ts +0 -45
- package/dist/components/input-group/InputGroup.generated.js +0 -246
- package/dist/components/input-group/InputGroup.recipe.d.ts +0 -32
- package/dist/components/input-group/InputGroup.recipe.js +0 -71
- package/dist/components/input-group/index.d.ts +0 -1
- package/dist/components/input-group/index.js +0 -1
- package/dist/components/modal/Modal.generated.d.ts +0 -84
- package/dist/components/modal/Modal.recipe.d.ts +0 -104
- package/dist/components/modal/Modal.recipe.js +0 -178
- package/dist/components/modal/index.d.ts +0 -1
- package/dist/components/modal/index.js +0 -1
- package/dist/components/number-field/NumberField.css +0 -198
- package/dist/components/number-field/NumberField.generated.d.ts +0 -49
- package/dist/components/number-field/NumberField.generated.js +0 -372
- package/dist/components/number-field/NumberField.recipe.d.ts +0 -40
- package/dist/components/number-field/NumberField.recipe.js +0 -89
- package/dist/components/number-field/index.d.ts +0 -1
- package/dist/components/number-field/index.js +0 -1
- package/dist/components/password-field/PasswordField.js +0 -168
- package/dist/components/password-requirements/PasswordRequirements.d.ts +0 -12
- package/dist/components/password-requirements/PasswordRequirements.js +0 -79
- package/dist/components/password-rules/index.d.ts +0 -1
- package/dist/components/password-rules/index.js +0 -1
- package/dist/components/progress-bar/ProgressBar.css +0 -104
- package/dist/components/progress-bar/ProgressBar.generated.d.ts +0 -20
- package/dist/components/progress-bar/ProgressBar.recipe.d.ts +0 -29
- package/dist/components/progress-bar/ProgressBar.recipe.js +0 -43
- package/dist/components/progress-bar/index.d.ts +0 -2
- package/dist/components/progress-bar/index.js +0 -1
- package/dist/components/progress-circle/ProgressCircle.css +0 -82
- package/dist/components/progress-circle/ProgressCircle.generated.d.ts +0 -19
- package/dist/components/progress-circle/ProgressCircle.recipe.d.ts +0 -28
- package/dist/components/progress-circle/ProgressCircle.recipe.js +0 -42
- package/dist/components/progress-circle/index.d.ts +0 -2
- package/dist/components/progress-circle/index.js +0 -1
- package/dist/components/scroll-shadow/ScrollShadow.generated.d.ts +0 -19
- package/dist/components/scroll-shadow/ScrollShadow.recipe.d.ts +0 -19
- package/dist/components/scroll-shadow/index.d.ts +0 -2
- package/dist/components/scroll-shadow/index.js +0 -1
- package/dist/components/scroll-shadow/useScrollShadow.d.ts +0 -13
- package/dist/components/search-field/SearchField.css +0 -183
- package/dist/components/search-field/SearchField.generated.d.ts +0 -54
- package/dist/components/search-field/SearchField.generated.js +0 -323
- package/dist/components/search-field/SearchField.recipe.d.ts +0 -38
- package/dist/components/search-field/SearchField.recipe.js +0 -77
- package/dist/components/search-field/index.d.ts +0 -1
- package/dist/components/search-field/index.js +0 -1
- package/dist/components/surface/Surface.css +0 -37
- package/dist/components/surface/Surface.generated.d.ts +0 -13
- package/dist/components/surface/Surface.generated.js +0 -42
- package/dist/components/surface/Surface.recipe.d.ts +0 -16
- package/dist/components/surface/Surface.recipe.js +0 -35
- package/dist/components/surface/index.d.ts +0 -1
- package/dist/components/surface/index.js +0 -1
- package/dist/components/tag/Tag.css +0 -129
- package/dist/components/tag/Tag.generated.d.ts +0 -34
- package/dist/components/tag/Tag.generated.js +0 -254
- package/dist/components/tag/Tag.recipe.d.ts +0 -30
- package/dist/components/tag/Tag.recipe.js +0 -64
- package/dist/components/tag/index.d.ts +0 -1
- package/dist/components/tag/index.js +0 -1
- package/dist/components/tag-group/TagGroup.css +0 -22
- package/dist/components/tag-group/TagGroup.generated.d.ts +0 -33
- package/dist/components/tag-group/TagGroup.generated.js +0 -190
- package/dist/components/tag-group/TagGroup.recipe.d.ts +0 -16
- package/dist/components/tag-group/TagGroup.recipe.js +0 -40
- package/dist/components/tag-group/context.d.ts +0 -15
- package/dist/components/tag-group/context.js +0 -3
- package/dist/components/tag-group/index.d.ts +0 -2
- package/dist/components/tag-group/index.js +0 -1
- package/dist/components/text-area/TextArea.generated.d.ts +0 -20
- package/dist/components/text-area/TextArea.generated.js +0 -68
- package/dist/components/text-area/TextArea.recipe.d.ts +0 -17
- package/dist/components/text-area/TextArea.recipe.js +0 -36
- package/dist/components/text-area/index.d.ts +0 -1
- package/dist/components/text-area/index.js +0 -1
- package/dist/components/text-field/TextField.css +0 -33
- package/dist/components/text-field/TextField.generated.d.ts +0 -35
- package/dist/components/text-field/TextField.generated.js +0 -89
- package/dist/components/text-field/TextField.recipe.d.ts +0 -17
- package/dist/components/text-field/TextField.recipe.js +0 -36
- package/dist/components/text-field/index.d.ts +0 -1
- package/dist/components/text-field/index.js +0 -1
- package/dist/components/toggle/Toggle.recipe.d.ts +0 -40
- package/dist/components/toggle/Toggle.recipe.js +0 -94
- package/dist/components/toggle/index.js +0 -1
- package/dist/styles/icons/generated-icons.css +0 -1
- /package/dist/components/{text-area/TextArea.css → textarea/Textarea.css} +0 -0
|
@@ -26,7 +26,6 @@ const __solidLayoutSlider = (_stable, p)=>{
|
|
|
26
26
|
"size",
|
|
27
27
|
"dataTheme",
|
|
28
28
|
"class",
|
|
29
|
-
"className",
|
|
30
29
|
"style"
|
|
31
30
|
]);
|
|
32
31
|
const min = ()=>local.min ?? 0;
|
|
@@ -111,7 +110,7 @@ const __solidLayoutSlider = (_stable, p)=>{
|
|
|
111
110
|
return (()=>{
|
|
112
111
|
var _el$ = _tmpl$2(), _el$4 = _el$.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$5.nextSibling;
|
|
113
112
|
spread(_el$, mergeProps(()=>({
|
|
114
|
-
class: twMerge(CLASSES.base, CLASSES.size[size()], local.class
|
|
113
|
+
class: twMerge(CLASSES.base, CLASSES.size[size()], local.class)
|
|
115
114
|
}), {
|
|
116
115
|
get ["data-theme"] () {
|
|
117
116
|
return local.dataTheme;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import type { Component as __LayoutComponent } from "solid-js";
|
|
2
2
|
import "./Spinner.css";
|
|
3
3
|
import { type JSX } from "solid-js";
|
|
4
|
-
import type {
|
|
5
|
-
export type
|
|
6
|
-
export type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
color?: SpinnerColor;
|
|
11
|
-
variant?: SpinnerVariant;
|
|
4
|
+
import type { Size, State, UIBaseProps } from "../vocabulary";
|
|
5
|
+
export type SpinnerShape = "spinner" | "dots" | "ring" | "ball" | "bars" | "infinity";
|
|
6
|
+
export type SpinnerProps = Omit<JSX.HTMLAttributes<HTMLSpanElement>, "children"> & UIBaseProps & {
|
|
7
|
+
size?: Size;
|
|
8
|
+
state?: State;
|
|
9
|
+
shape?: SpinnerShape;
|
|
12
10
|
label?: string;
|
|
13
11
|
};
|
|
14
12
|
export declare const SpinnerLayout: __LayoutComponent<SpinnerProps>;
|
|
@@ -3,7 +3,7 @@ import { defineComponent } from "solid-layouts/application-boundary";
|
|
|
3
3
|
import "./Spinner.css";
|
|
4
4
|
import { createUniqueId } from "solid-js";
|
|
5
5
|
import { spinner } from "./Spinner.recipe.js";
|
|
6
|
-
var _tmpl$ = /*#__PURE__*/ template('<svg aria-hidden=true data-slot=spinner-icon fill=none viewBox="0 0 24 24"><defs><linearGradient x1=50% x2=50% y1=5.271% y2=91.793%><stop offset=0% stop-
|
|
6
|
+
var _tmpl$ = /*#__PURE__*/ template('<svg aria-hidden=true data-slot=spinner-icon fill=none viewBox="0 0 24 24"><defs><linearGradient x1=50% x2=50% y1=5.271% y2=91.793%><stop offset=0% stop-state=currentColor></stop><stop offset=100% stop-state=currentColor stop-opacity=0.55></stop></linearGradient><linearGradient x1=50% x2=50% y1=15.24% y2=87.15%><stop offset=0% stop-state=currentColor stop-opacity=0></stop><stop offset=100% stop-state=currentColor stop-opacity=0.55></stop></linearGradient></defs><g fill=none><path d="M8.749.021a1.5 1.5 0 0 1 .497 2.958A7.5 7.5 0 0 0 3 10.375a7.5 7.5 0 0 0 7.5 7.5v3c-5.799 0-10.5-4.7-10.5-10.5C0 5.23 3.726.865 8.749.021"transform="translate(1.5 1.625)"></path><path d="M15.392 2.673a1.5 1.5 0 0 1 2.119-.115A10.48 10.48 0 0 1 21 10.375c0 5.8-4.701 10.5-10.5 10.5v-3a7.5 7.5 0 0 0 5.007-13.084a1.5 1.5 0 0 1-.115-2.118"transform="translate(1.5 1.625)">'), _tmpl$2 = /*#__PURE__*/ template("<span>");
|
|
7
7
|
const SpinnerSVG = ()=>{
|
|
8
8
|
const id = createUniqueId();
|
|
9
9
|
return (()=>{
|
|
@@ -15,9 +15,9 @@ const SpinnerSVG = ()=>{
|
|
|
15
15
|
return _el$;
|
|
16
16
|
})();
|
|
17
17
|
};
|
|
18
|
-
const __solidLayoutSpinnerLayout = (
|
|
18
|
+
const __solidLayoutSpinnerLayout = (_stable, p)=>(()=>{
|
|
19
19
|
var _el$8 = _tmpl$2();
|
|
20
|
-
spread(_el$8, mergeProps(()=>slot.root, {
|
|
20
|
+
spread(_el$8, mergeProps(()=>_stable.slot.root, {
|
|
21
21
|
role: "status",
|
|
22
22
|
get ["aria-label"] () {
|
|
23
23
|
return p.label ?? "Loading";
|
|
@@ -29,7 +29,7 @@ const __solidLayoutSpinnerLayout = ({ slot, children }, p)=>(()=>{
|
|
|
29
29
|
}
|
|
30
30
|
}), false, true);
|
|
31
31
|
insert(_el$8, (()=>{
|
|
32
|
-
var _c$ = memo(()=>"spinner" === p.
|
|
32
|
+
var _c$ = memo(()=>"spinner" === p.shape);
|
|
33
33
|
return ()=>_c$() ? createComponent(SpinnerSVG, {}) : void 0;
|
|
34
34
|
})());
|
|
35
35
|
return _el$8;
|
|
@@ -1,28 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
readonly lg: "spinner--lg";
|
|
8
|
-
readonly xl: "spinner--xl";
|
|
9
|
-
};
|
|
10
|
-
readonly color: {
|
|
11
|
-
readonly current: "spinner--current";
|
|
12
|
-
readonly accent: "spinner--accent";
|
|
13
|
-
readonly success: "spinner--success";
|
|
14
|
-
readonly warning: "spinner--warning";
|
|
15
|
-
readonly danger: "spinner--danger";
|
|
16
|
-
};
|
|
17
|
-
readonly variant: {
|
|
18
|
-
readonly spinner: "spinner--spinner";
|
|
19
|
-
readonly dots: "spinner--dots";
|
|
20
|
-
readonly ring: "spinner--ring";
|
|
21
|
-
readonly ball: "spinner--ball";
|
|
22
|
-
readonly bars: "spinner--bars";
|
|
23
|
-
readonly infinity: "spinner--infinity";
|
|
24
|
-
};
|
|
25
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* `shape` rather than `variant`: the thing that varies here is the animation
|
|
3
|
+
* (bars, dots, a ring), not emphasis, so it must not borrow the word that
|
|
4
|
+
* means solid/soft/outline everywhere else. The fleet passed `bars` at 23 of
|
|
5
|
+
* the 38 sites that used the old `Loading` alias.
|
|
6
|
+
*/
|
|
26
7
|
export declare const spinner: import("solid-layouts").Recipe<{
|
|
27
8
|
readonly component: "spinner";
|
|
28
9
|
readonly element: "span";
|
|
@@ -35,18 +16,21 @@ export declare const spinner: import("solid-layouts").Recipe<{
|
|
|
35
16
|
readonly size: {
|
|
36
17
|
readonly xs: "spinner--xs";
|
|
37
18
|
readonly sm: "spinner--sm";
|
|
38
|
-
readonly md: "";
|
|
19
|
+
readonly md: "spinner--md";
|
|
39
20
|
readonly lg: "spinner--lg";
|
|
40
21
|
readonly xl: "spinner--xl";
|
|
41
22
|
};
|
|
42
|
-
readonly
|
|
43
|
-
readonly
|
|
23
|
+
readonly state: {
|
|
24
|
+
readonly neutral: "spinner--neutral";
|
|
25
|
+
readonly primary: "spinner--primary";
|
|
26
|
+
readonly secondary: "spinner--secondary";
|
|
44
27
|
readonly accent: "spinner--accent";
|
|
45
28
|
readonly success: "spinner--success";
|
|
46
29
|
readonly warning: "spinner--warning";
|
|
47
30
|
readonly danger: "spinner--danger";
|
|
31
|
+
readonly info: "spinner--info";
|
|
48
32
|
};
|
|
49
|
-
readonly
|
|
33
|
+
readonly shape: {
|
|
50
34
|
readonly spinner: "spinner--spinner";
|
|
51
35
|
readonly dots: "spinner--dots";
|
|
52
36
|
readonly ring: "spinner--ring";
|
|
@@ -58,8 +42,8 @@ export declare const spinner: import("solid-layouts").Recipe<{
|
|
|
58
42
|
};
|
|
59
43
|
readonly defaults: {
|
|
60
44
|
readonly size: "md";
|
|
61
|
-
readonly
|
|
62
|
-
readonly
|
|
45
|
+
readonly state: "neutral";
|
|
46
|
+
readonly shape: "spinner";
|
|
63
47
|
readonly label: "Loading";
|
|
64
48
|
};
|
|
65
49
|
}>;
|
|
@@ -1,48 +1,83 @@
|
|
|
1
1
|
import { recipe } from "../../lib/layouts/index.js";
|
|
2
|
-
const CLASSES = {
|
|
3
|
-
base: "spinner",
|
|
4
|
-
size: {
|
|
5
|
-
xs: "spinner--xs",
|
|
6
|
-
sm: "spinner--sm",
|
|
7
|
-
md: "",
|
|
8
|
-
lg: "spinner--lg",
|
|
9
|
-
xl: "spinner--xl"
|
|
10
|
-
},
|
|
11
|
-
color: {
|
|
12
|
-
current: "spinner--current",
|
|
13
|
-
accent: "spinner--accent",
|
|
14
|
-
success: "spinner--success",
|
|
15
|
-
warning: "spinner--warning",
|
|
16
|
-
danger: "spinner--danger"
|
|
17
|
-
},
|
|
18
|
-
variant: {
|
|
19
|
-
spinner: "spinner--spinner",
|
|
20
|
-
dots: "spinner--dots",
|
|
21
|
-
ring: "spinner--ring",
|
|
22
|
-
ball: "spinner--ball",
|
|
23
|
-
bars: "spinner--bars",
|
|
24
|
-
infinity: "spinner--infinity"
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
2
|
const spinner = recipe({
|
|
28
3
|
component: "spinner",
|
|
29
4
|
element: "span",
|
|
30
5
|
slots: {
|
|
31
6
|
root: {
|
|
32
|
-
base:
|
|
7
|
+
base: "spinner"
|
|
33
8
|
}
|
|
34
9
|
},
|
|
35
10
|
props: {
|
|
36
|
-
size:
|
|
37
|
-
|
|
38
|
-
|
|
11
|
+
size: {
|
|
12
|
+
xs: "spinner--xs",
|
|
13
|
+
sm: "spinner--sm",
|
|
14
|
+
md: "spinner--md",
|
|
15
|
+
lg: "spinner--lg",
|
|
16
|
+
xl: "spinner--xl"
|
|
17
|
+
},
|
|
18
|
+
state: {
|
|
19
|
+
neutral: "spinner--neutral",
|
|
20
|
+
primary: "spinner--primary",
|
|
21
|
+
secondary: "spinner--secondary",
|
|
22
|
+
accent: "spinner--accent",
|
|
23
|
+
success: "spinner--success",
|
|
24
|
+
warning: "spinner--warning",
|
|
25
|
+
danger: "spinner--danger",
|
|
26
|
+
info: "spinner--info"
|
|
27
|
+
},
|
|
28
|
+
shape: {
|
|
29
|
+
spinner: "spinner--spinner",
|
|
30
|
+
dots: "spinner--dots",
|
|
31
|
+
ring: "spinner--ring",
|
|
32
|
+
ball: "spinner--ball",
|
|
33
|
+
bars: "spinner--bars",
|
|
34
|
+
infinity: "spinner--infinity"
|
|
35
|
+
},
|
|
39
36
|
label: {}
|
|
40
37
|
},
|
|
41
38
|
defaults: {
|
|
42
39
|
size: "md",
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
state: "neutral",
|
|
41
|
+
shape: "spinner",
|
|
45
42
|
label: "Loading"
|
|
43
|
+
},
|
|
44
|
+
_layouts: {
|
|
45
|
+
slots: {
|
|
46
|
+
root: {
|
|
47
|
+
base: "spinner",
|
|
48
|
+
axes: {
|
|
49
|
+
size: {
|
|
50
|
+
xs: "spinner--xs",
|
|
51
|
+
sm: "spinner--sm",
|
|
52
|
+
md: "spinner--md",
|
|
53
|
+
lg: "spinner--lg",
|
|
54
|
+
xl: "spinner--xl"
|
|
55
|
+
},
|
|
56
|
+
state: {
|
|
57
|
+
neutral: "spinner--neutral",
|
|
58
|
+
primary: "spinner--primary",
|
|
59
|
+
secondary: "spinner--secondary",
|
|
60
|
+
accent: "spinner--accent",
|
|
61
|
+
success: "spinner--success",
|
|
62
|
+
warning: "spinner--warning",
|
|
63
|
+
danger: "spinner--danger",
|
|
64
|
+
info: "spinner--info"
|
|
65
|
+
},
|
|
66
|
+
shape: {
|
|
67
|
+
spinner: "spinner--spinner",
|
|
68
|
+
dots: "spinner--dots",
|
|
69
|
+
ring: "spinner--ring",
|
|
70
|
+
ball: "spinner--ball",
|
|
71
|
+
bars: "spinner--bars",
|
|
72
|
+
infinity: "spinner--infinity"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
stateKeys: [],
|
|
78
|
+
slotIds: {
|
|
79
|
+
root: 0
|
|
80
|
+
}
|
|
46
81
|
}
|
|
47
82
|
});
|
|
48
|
-
export {
|
|
83
|
+
export { spinner };
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { SpinnerLayout as default, SpinnerLayout as Spinner
|
|
2
|
-
export type { SpinnerProps,
|
|
1
|
+
export { SpinnerLayout as default, SpinnerLayout as Spinner } from "./Spinner.generated";
|
|
2
|
+
export type { SpinnerProps, SpinnerShape } from "./Spinner.generated";
|
|
3
|
+
export { spinner } from "./Spinner.recipe";
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export { SpinnerLayout as
|
|
1
|
+
export { SpinnerLayout as Spinner, SpinnerLayout as default } from "./Spinner.generated.js";
|
|
2
|
+
export { spinner } from "./Spinner.recipe.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FLAPPING_THRESHOLD, diffStatus, summarizeStatus } from "./status.js";
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import type { JSX } from "solid-js";
|
|
2
|
+
/**
|
|
3
|
+
* Aggregate status: combining many conditions into one indicator without
|
|
4
|
+
* losing the one fact that matters.
|
|
5
|
+
*
|
|
6
|
+
* A realtime call has at least seven independent conditions — is my internet
|
|
7
|
+
* up, am I on the server, is my mic working, is my camera working, is the
|
|
8
|
+
* other party connected, is their mic working, is their camera working — and
|
|
9
|
+
* the naive answer, "show the worst one", is wrong in the way that costs
|
|
10
|
+
* support time: if the internet is down then six of the seven are also down,
|
|
11
|
+
* and reporting "their camera is off" is true, useless, and sends the user to
|
|
12
|
+
* fix the wrong thing.
|
|
13
|
+
*
|
|
14
|
+
* These conditions are not peers. They form a dependency graph, and the useful
|
|
15
|
+
* report is the **root cause**: the deepest failing item whose own
|
|
16
|
+
* dependencies are all healthy. Everything downstream of it is a symptom.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* `flapping` earns a value rather than a boolean because it is a condition
|
|
20
|
+
* people name and treat specifically — a link that keeps returning just long
|
|
21
|
+
* enough to look fine is not merely "degraded", and the remedy differs: back
|
|
22
|
+
* off rather than retry harder.
|
|
23
|
+
*
|
|
24
|
+
* It ranks between `degraded` and `reconnecting`. Worse than degraded, because
|
|
25
|
+
* nothing can be relied on; better than reconnecting, because it does work
|
|
26
|
+
* sometimes.
|
|
27
|
+
*
|
|
28
|
+
* `reconnecting` is a value for the same reason: it is a condition a user asks
|
|
29
|
+
* about by name — "was I ever connected?" — and it is not `down`, because down
|
|
30
|
+
* is over and this is in progress.
|
|
31
|
+
*
|
|
32
|
+
* `connecting` and `reconnecting` are separate values because a user reads
|
|
33
|
+
* them differently: the first says be patient, the second says something that
|
|
34
|
+
* was working just broke. "Was I ever connected?" is the question, and only
|
|
35
|
+
* `reconnecting` carries evidence that the answer is yes.
|
|
36
|
+
*
|
|
37
|
+
* down > reconnecting > connecting > flapping > degraded > unknown > ok
|
|
38
|
+
*
|
|
39
|
+
* `connecting` outranks `flapping` because a flapping link at least serves
|
|
40
|
+
* some traffic, and outranks nothing above it because a first attempt is
|
|
41
|
+
* expected rather than broken.
|
|
42
|
+
*/
|
|
43
|
+
export type Health = "ok" | "degraded" | "flapping" | "connecting" | "reconnecting" | "down" | "unknown";
|
|
44
|
+
/**
|
|
45
|
+
* How well it is working, given that it *is* working.
|
|
46
|
+
*
|
|
47
|
+
* Orthogonal to `Health` on purpose. nofilter.io proves the need: a call can
|
|
48
|
+
* be `connected` and simultaneously "Quality critical", which is why its chip
|
|
49
|
+
* ends up concatenating two sentences with a separator. Folding quality into
|
|
50
|
+
* health would force a choice between "up" and "bad" when both are true.
|
|
51
|
+
*/
|
|
52
|
+
export type Quality = "good" | "fair" | "poor" | "unknown";
|
|
53
|
+
export interface StatusItem {
|
|
54
|
+
id: string;
|
|
55
|
+
health: Health;
|
|
56
|
+
/**
|
|
57
|
+
* Whose problem is it. Only `local` is actionable by this user, which is
|
|
58
|
+
* what decides whether to offer a fix or an explanation.
|
|
59
|
+
*/
|
|
60
|
+
scope?: "local" | "remote";
|
|
61
|
+
/** Ids this depends on. Internet before server, server before media. */
|
|
62
|
+
dependsOn?: string[];
|
|
63
|
+
label?: JSX.Element;
|
|
64
|
+
detail?: JSX.Element;
|
|
65
|
+
/** Present when the user can do something about it. */
|
|
66
|
+
onRetry?: () => void;
|
|
67
|
+
/** Working, but how well. Independent of `health`. */
|
|
68
|
+
quality?: Quality;
|
|
69
|
+
/**
|
|
70
|
+
* Can this recover on its own?
|
|
71
|
+
*
|
|
72
|
+
* ICE distinguishes `disconnected` — dropped, may come back — from `failed`,
|
|
73
|
+
* which will not. That difference decides whether the UI shows a spinner or
|
|
74
|
+
* a retry button, and collapsing both to `down` loses it.
|
|
75
|
+
*/
|
|
76
|
+
recoverable?: boolean;
|
|
77
|
+
/** Mid-transition: connecting, checking, reconnecting. Drives the pulse. */
|
|
78
|
+
transitioning?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Has this ever been healthy in this session?
|
|
81
|
+
*
|
|
82
|
+
* The difference between "Connecting" and "Reconnecting", which the user
|
|
83
|
+
* reads very differently: the first says be patient, the second says
|
|
84
|
+
* something that was working just broke. Same spinner, different sentence.
|
|
85
|
+
*/
|
|
86
|
+
everHealthy?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* How many times this has flipped recently.
|
|
89
|
+
*
|
|
90
|
+
* Flapping is worse than being cleanly down: the connection keeps coming
|
|
91
|
+
* back just long enough for the app to re-run its reconnect work, and a
|
|
92
|
+
* chip that says "connected" between flaps is lying about the experience.
|
|
93
|
+
*/
|
|
94
|
+
recentChanges?: number;
|
|
95
|
+
}
|
|
96
|
+
/** Flips within the window above which a connection is treated as unstable. */
|
|
97
|
+
export declare const FLAPPING_THRESHOLD = 3;
|
|
98
|
+
export interface StatusSummary {
|
|
99
|
+
/**
|
|
100
|
+
* The worst health among **causes**, not symptoms.
|
|
101
|
+
*
|
|
102
|
+
* Symptoms inherit their severity from what broke them, so counting them
|
|
103
|
+
* would report the consequence and bury the cause: a server that is
|
|
104
|
+
* reconnecting takes its media down with it, and "reconnecting" is both
|
|
105
|
+
* truer and more useful than "down".
|
|
106
|
+
*/
|
|
107
|
+
health: Health;
|
|
108
|
+
/** Worst quality among items that are otherwise healthy. */
|
|
109
|
+
quality: Quality;
|
|
110
|
+
/**
|
|
111
|
+
* What to call the attempt in progress, if any.
|
|
112
|
+
*
|
|
113
|
+
* `connecting` has never worked; `reconnecting` did and stopped. Answers
|
|
114
|
+
* "was I ever connected?", which is the question behind the spinner.
|
|
115
|
+
*/
|
|
116
|
+
attempting?: "connecting" | "reconnecting";
|
|
117
|
+
/** Flipping repeatedly. Not the same as down, and worse to live with. */
|
|
118
|
+
flapping: boolean;
|
|
119
|
+
/** True when the only problems can recover on their own — wait, do not retry. */
|
|
120
|
+
recovering: boolean;
|
|
121
|
+
/**
|
|
122
|
+
* The item to actually tell the user about: the deepest failure whose own
|
|
123
|
+
* dependencies are healthy. Undefined when everything is `ok`.
|
|
124
|
+
*/
|
|
125
|
+
cause?: StatusItem;
|
|
126
|
+
/** Every unhealthy item, worst first — the breakdown behind the summary. */
|
|
127
|
+
failing: StatusItem[];
|
|
128
|
+
/** Failures explained by something upstream. Shown as consequences, not causes. */
|
|
129
|
+
symptoms: StatusItem[];
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Combine many conditions into one.
|
|
133
|
+
*
|
|
134
|
+
* `health` is the worst present, so the indicator never looks better than
|
|
135
|
+
* reality. `cause` is the root: an item is only a cause if everything it
|
|
136
|
+
* depends on is healthy, which is what stops "camera off" being reported when
|
|
137
|
+
* the real answer is "no internet".
|
|
138
|
+
*
|
|
139
|
+
* Cycles and unknown ids are tolerated — a dependency that is not in the list
|
|
140
|
+
* counts as healthy, so a partial set still produces a sane answer.
|
|
141
|
+
*/
|
|
142
|
+
export declare function summarizeStatus(input: StatusItem[]): StatusSummary;
|
|
143
|
+
export interface StatusTransition {
|
|
144
|
+
previous: StatusSummary;
|
|
145
|
+
current: StatusSummary;
|
|
146
|
+
/** Items that just became unhealthy. */
|
|
147
|
+
degraded: StatusItem[];
|
|
148
|
+
/** Items that just became healthy — what "reconnected" is made of. */
|
|
149
|
+
recovered: StatusItem[];
|
|
150
|
+
/** Overall health changed direction. */
|
|
151
|
+
healthChanged: boolean;
|
|
152
|
+
/** Quality moved while health stayed put — nofilter's `quality-restored`/`unstable`. */
|
|
153
|
+
qualityChanged: boolean;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Diff two summaries into the transition between them.
|
|
157
|
+
*
|
|
158
|
+
* Pure, so the caller owns when to run it and how long to show anything. A
|
|
159
|
+
* transient like "quality restored" is `qualityChanged` plus an improvement,
|
|
160
|
+
* displayed for a while by whoever is rendering — the model does not hold a
|
|
161
|
+
* timer, because a timer in a pure function is how you get a status that lies
|
|
162
|
+
* after a tab has been backgrounded.
|
|
163
|
+
*/
|
|
164
|
+
export declare function diffStatus(previous: StatusSummary, current: StatusSummary, items: {
|
|
165
|
+
previous: StatusItem[];
|
|
166
|
+
current: StatusItem[];
|
|
167
|
+
}): StatusTransition;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
const RANK = {
|
|
2
|
+
down: 6,
|
|
3
|
+
reconnecting: 5,
|
|
4
|
+
connecting: 4,
|
|
5
|
+
flapping: 3,
|
|
6
|
+
degraded: 2,
|
|
7
|
+
unknown: 1,
|
|
8
|
+
ok: 0
|
|
9
|
+
};
|
|
10
|
+
const FLAPPING_THRESHOLD = 3;
|
|
11
|
+
const isUnhealthy = (i)=>"ok" !== i.health;
|
|
12
|
+
function summarizeStatus(input) {
|
|
13
|
+
const items = input.map((i)=>{
|
|
14
|
+
if ("flapping" === i.health || "reconnecting" === i.health || "connecting" === i.health) return i;
|
|
15
|
+
if ((i.recentChanges ?? 0) >= FLAPPING_THRESHOLD) return {
|
|
16
|
+
...i,
|
|
17
|
+
health: "flapping"
|
|
18
|
+
};
|
|
19
|
+
if (i.transitioning && isUnhealthy(i)) return {
|
|
20
|
+
...i,
|
|
21
|
+
health: i.everHealthy ? "reconnecting" : "connecting"
|
|
22
|
+
};
|
|
23
|
+
return i;
|
|
24
|
+
});
|
|
25
|
+
const byId = new Map(items.map((i)=>[
|
|
26
|
+
i.id,
|
|
27
|
+
i
|
|
28
|
+
]));
|
|
29
|
+
const unhealthy = items.filter(isUnhealthy).sort((a, b)=>RANK[b.health] - RANK[a.health]);
|
|
30
|
+
const worstQuality = (list)=>{
|
|
31
|
+
const rank = {
|
|
32
|
+
poor: 3,
|
|
33
|
+
fair: 2,
|
|
34
|
+
unknown: 1,
|
|
35
|
+
good: 0
|
|
36
|
+
};
|
|
37
|
+
return list.reduce((worst, i)=>i.quality && rank[i.quality] > rank[worst] ? i.quality : worst, "good");
|
|
38
|
+
};
|
|
39
|
+
const flapping = items.some((i)=>"flapping" === i.health);
|
|
40
|
+
const attempting = (list)=>{
|
|
41
|
+
const trying = list.find((i)=>i.transitioning);
|
|
42
|
+
if (!trying) return;
|
|
43
|
+
return trying.everHealthy ? "reconnecting" : "connecting";
|
|
44
|
+
};
|
|
45
|
+
if (0 === unhealthy.length) return {
|
|
46
|
+
health: "ok",
|
|
47
|
+
quality: flapping ? "poor" : worstQuality(items),
|
|
48
|
+
attempting: attempting(items),
|
|
49
|
+
flapping,
|
|
50
|
+
recovering: false,
|
|
51
|
+
failing: [],
|
|
52
|
+
symptoms: []
|
|
53
|
+
};
|
|
54
|
+
const explainedByUpstream = (item, seen = new Set())=>{
|
|
55
|
+
if (seen.has(item.id)) return false;
|
|
56
|
+
seen.add(item.id);
|
|
57
|
+
return (item.dependsOn ?? []).some((id)=>{
|
|
58
|
+
const dep = byId.get(id);
|
|
59
|
+
return dep ? isUnhealthy(dep) : false;
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
const causes = unhealthy.filter((i)=>!explainedByUpstream(i));
|
|
63
|
+
const symptoms = unhealthy.filter((i)=>explainedByUpstream(i));
|
|
64
|
+
const ranked = [
|
|
65
|
+
...causes
|
|
66
|
+
].sort((a, b)=>{
|
|
67
|
+
const byHealth = RANK[b.health] - RANK[a.health];
|
|
68
|
+
if (0 !== byHealth) return byHealth;
|
|
69
|
+
const actionable = (i)=>("local" === i.scope ? 1 : 0) + (i.onRetry ? 1 : 0);
|
|
70
|
+
return actionable(b) - actionable(a);
|
|
71
|
+
});
|
|
72
|
+
return {
|
|
73
|
+
health: ranked[0]?.health ?? unhealthy[0].health,
|
|
74
|
+
quality: flapping ? "poor" : worstQuality(items.filter((i)=>!isUnhealthy(i))),
|
|
75
|
+
attempting: attempting(unhealthy),
|
|
76
|
+
flapping,
|
|
77
|
+
recovering: unhealthy.every((i)=>false !== i.recoverable) && unhealthy.some((i)=>i.transitioning || i.recoverable),
|
|
78
|
+
cause: ranked[0],
|
|
79
|
+
failing: unhealthy,
|
|
80
|
+
symptoms
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
const QUALITY_RANK = {
|
|
84
|
+
poor: 3,
|
|
85
|
+
fair: 2,
|
|
86
|
+
unknown: 1,
|
|
87
|
+
good: 0
|
|
88
|
+
};
|
|
89
|
+
function diffStatus(previous, current, items) {
|
|
90
|
+
const wasUnhealthy = new Set(items.previous.filter(isUnhealthy).map((i)=>i.id));
|
|
91
|
+
const isNowUnhealthy = new Set(items.current.filter(isUnhealthy).map((i)=>i.id));
|
|
92
|
+
return {
|
|
93
|
+
previous,
|
|
94
|
+
current,
|
|
95
|
+
degraded: items.current.filter((i)=>isNowUnhealthy.has(i.id) && !wasUnhealthy.has(i.id)),
|
|
96
|
+
recovered: items.current.filter((i)=>!isNowUnhealthy.has(i.id) && wasUnhealthy.has(i.id)),
|
|
97
|
+
healthChanged: previous.health !== current.health,
|
|
98
|
+
qualityChanged: QUALITY_RANK[previous.quality] !== QUALITY_RANK[current.quality]
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
export { FLAPPING_THRESHOLD, diffStatus, summarizeStatus };
|