@a-type/ui 4.0.7 → 4.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/colors.stories.js +2 -2
- package/dist/cjs/components/actions/ActionBar.js +1 -1
- package/dist/cjs/components/actions/ActionBar.js.map +1 -1
- package/dist/cjs/components/actions/ActionButton.js +1 -1
- package/dist/cjs/components/avatar/Avatar.js +2 -2
- package/dist/cjs/components/box/Box.js +5 -5
- package/dist/cjs/components/box/Box.stories.js +1 -1
- package/dist/cjs/components/button/Button.js +2 -2
- package/dist/cjs/components/button/ConfirmedButton.js +1 -1
- package/dist/cjs/components/button/ConfirmedButton.js.map +1 -1
- package/dist/cjs/components/button/classes.js +10 -10
- package/dist/cjs/components/camera/Camera.d.ts +3 -2
- package/dist/cjs/components/camera/Camera.js +44 -13
- package/dist/cjs/components/camera/Camera.js.map +1 -1
- package/dist/cjs/components/camera/Camera.stories.d.ts +1 -1
- package/dist/cjs/components/camera/Camera.stories.js +1 -1
- package/dist/cjs/components/card/Card.js +2 -2
- package/dist/cjs/components/card/Card.stories.js +2 -2
- package/dist/cjs/components/card/Card.stories.js.map +1 -1
- package/dist/cjs/components/checkbox/Checkbox.js +3 -3
- package/dist/cjs/components/chip/Chip.js +1 -1
- package/dist/cjs/components/colorPicker/ColorPicker.js +1 -1
- package/dist/cjs/components/contextMenu/contextMenu.js +1 -1
- package/dist/cjs/components/datePicker/DatePicker.d.ts +1 -1
- package/dist/cjs/components/datePicker/DatePicker.js +2 -2
- package/dist/cjs/components/datePicker/DatePicker.js.map +1 -1
- package/dist/cjs/components/datePicker/DatePicker.stories.d.ts +1 -1
- package/dist/cjs/components/dialog/Dialog.d.ts +4 -4
- package/dist/cjs/components/dialog/Dialog.js +8 -8
- package/dist/cjs/components/dialog/Dialog.js.map +1 -1
- package/dist/cjs/components/dialog/Dialog.stories.d.ts +2 -2
- package/dist/cjs/components/dialog/Dialog.stories.js +3 -3
- package/dist/cjs/components/dropdownMenu/DropdownMenu.js +2 -2
- package/dist/cjs/components/editableText/EditableText.js +1 -1
- package/dist/cjs/components/emojiPicker/EmojiPicker.js +4 -4
- package/dist/cjs/components/emojiPicker/EmojiPicker.js.map +1 -1
- package/dist/cjs/components/forms/CheckboxField.js +1 -1
- package/dist/cjs/components/forms/CheckboxField.js.map +1 -1
- package/dist/cjs/components/forms/EmojiField.js +1 -1
- package/dist/cjs/components/forms/FormikForm.stories.js +1 -1
- package/dist/cjs/components/forms/FormikForm.stories.js.map +1 -1
- package/dist/cjs/components/forms/NumberStepperField.d.ts +1 -2
- package/dist/cjs/components/forms/NumberStepperField.js +1 -1
- package/dist/cjs/components/forms/NumberStepperField.js.map +1 -1
- package/dist/cjs/components/forms/SwitchField.js +1 -1
- package/dist/cjs/components/forms/SwitchField.js.map +1 -1
- package/dist/cjs/components/forms/ToggleGroupField.js +1 -1
- package/dist/cjs/components/forms/ToggleGroupField.js.map +1 -1
- package/dist/cjs/components/horizontalList/HorizontalList.js +2 -2
- package/dist/cjs/components/horizontalList/HorizontalList.stories.js +3 -3
- package/dist/cjs/components/icon/Icon.stories.js +1 -1
- package/dist/cjs/components/imageUploader/ImageUploader.js +6 -6
- package/dist/cjs/components/imageUploader/ImageUploader.stories.js +1 -1
- package/dist/cjs/components/input/Input.js +1 -1
- package/dist/cjs/components/layouts/PageContent.js +1 -1
- package/dist/cjs/components/layouts/PageContent.js.map +1 -1
- package/dist/cjs/components/layouts/PageFixedArea.js +1 -1
- package/dist/cjs/components/layouts/PageNav.js +1 -1
- package/dist/cjs/components/layouts/PageNowPlaying.js +3 -3
- package/dist/cjs/components/layouts/PageRoot.js +1 -1
- package/dist/cjs/components/layouts/layouts.stories.js +2 -2
- package/dist/cjs/components/lightbox/Lightbox.js +1 -1
- package/dist/cjs/components/marquee/marquee.js +1 -1
- package/dist/cjs/components/marquee/marquee.stories.js +1 -1
- package/dist/cjs/components/navBar/NavBar.js +1 -1
- package/dist/cjs/components/note/Note.js +1 -1
- package/dist/cjs/components/numberStepper/NumberStepper.js +3 -3
- package/dist/cjs/components/particles/ParticleLayer.js +1 -1
- package/dist/cjs/components/particles/ParticleLayer.stories.js +2 -2
- package/dist/cjs/components/particles/particlesState.js +2 -4
- package/dist/cjs/components/particles/particlesState.js.map +1 -1
- package/dist/cjs/components/peek/Peek.js +2 -2
- package/dist/cjs/components/popover/Popover.d.ts +2 -4
- package/dist/cjs/components/popover/Popover.js +1 -1
- package/dist/cjs/components/popover/Popover.js.map +1 -1
- package/dist/cjs/components/progress/Progress.d.ts +2 -2
- package/dist/cjs/components/progress/Progress.js +2 -2
- package/dist/cjs/components/progress/Progress.js.map +1 -1
- package/dist/cjs/components/progress/Progress.stories.d.ts +1 -1
- package/dist/cjs/components/pwaInstall/PwaInstall.d.ts +2 -2
- package/dist/cjs/components/pwaInstall/PwaInstall.js +2 -2
- package/dist/cjs/components/pwaInstall/PwaInstall.js.map +1 -1
- package/dist/cjs/components/richEditor/index.js +2 -2
- package/dist/cjs/components/richEditor/index.js.map +1 -1
- package/dist/cjs/components/scrollArea/ScrollArea.stories.js +1 -1
- package/dist/cjs/components/select/Select.js +3 -3
- package/dist/cjs/components/select/Select.js.map +1 -1
- package/dist/cjs/components/select/Select.stories.js +1 -1
- package/dist/cjs/components/select/Select.stories.js.map +1 -1
- package/dist/cjs/components/skeletons/skeletons.js +1 -1
- package/dist/cjs/components/slider/Slider.d.ts +1 -2
- package/dist/cjs/components/slider/Slider.js +1 -2
- package/dist/cjs/components/slider/Slider.js.map +1 -1
- package/dist/cjs/components/slider/Slider.stories.d.ts +1 -1
- package/dist/cjs/components/slider/Slider.stories.js +1 -1
- package/dist/cjs/components/spinner/Spinner.js +2 -2
- package/dist/cjs/components/textArea/TextArea.js +1 -1
- package/dist/cjs/components/toasts/toasts.js +5 -5
- package/dist/cjs/components/tooltip/Tooltip.js +4 -4
- package/dist/cjs/components/viewport/Viewport.js +3 -3
- package/dist/cjs/components/viewport/ViewportContent.js +1 -1
- package/dist/cjs/components/viewport/useViewportGestures.js +2 -1
- package/dist/cjs/components/viewport/useViewportGestures.js.map +1 -1
- package/dist/cjs/hooks/useStorage.js +4 -4
- package/dist/cjs/hooks/useStorage.js.map +1 -1
- package/dist/cjs/hooks/useTitleBarColor.js +1 -1
- package/dist/cjs/hooks/useTitleBarColor.stories.js +1 -1
- package/dist/cjs/hooks/withProps.d.ts +2 -2
- package/dist/cjs/themes.stories.js +1 -1
- package/dist/cjs/uno/logic/color.js +0 -9
- package/dist/cjs/uno/logic/color.js.map +1 -1
- package/dist/cjs/uno/preflights/keyboard.d.ts +1 -0
- package/dist/cjs/uno/preflights/keyboard.js +16 -0
- package/dist/cjs/uno/preflights/keyboard.js.map +1 -0
- package/dist/cjs/uno/rules/color.js +10 -10
- package/dist/cjs/uno/rules/color.js.map +1 -1
- package/dist/cjs/utilities.stories.js +1 -1
- package/dist/css/main.css +2 -2
- package/dist/esm/colors.stories.js +2 -2
- package/dist/esm/components/actions/ActionBar.js +1 -1
- package/dist/esm/components/actions/ActionBar.js.map +1 -1
- package/dist/esm/components/actions/ActionButton.js +1 -1
- package/dist/esm/components/avatar/Avatar.js +2 -2
- package/dist/esm/components/box/Box.js +5 -5
- package/dist/esm/components/box/Box.stories.js +1 -1
- package/dist/esm/components/button/Button.js +2 -2
- package/dist/esm/components/button/ConfirmedButton.js +1 -1
- package/dist/esm/components/button/ConfirmedButton.js.map +1 -1
- package/dist/esm/components/button/classes.js +10 -10
- package/dist/esm/components/camera/Camera.d.ts +3 -2
- package/dist/esm/components/camera/Camera.js +11 -10
- package/dist/esm/components/camera/Camera.js.map +1 -1
- package/dist/esm/components/camera/Camera.stories.d.ts +1 -1
- package/dist/esm/components/camera/Camera.stories.js +1 -1
- package/dist/esm/components/card/Card.js +2 -2
- package/dist/esm/components/card/Card.stories.js +2 -2
- package/dist/esm/components/card/Card.stories.js.map +1 -1
- package/dist/esm/components/checkbox/Checkbox.js +3 -3
- package/dist/esm/components/chip/Chip.js +1 -1
- package/dist/esm/components/colorPicker/ColorPicker.js +1 -1
- package/dist/esm/components/contextMenu/contextMenu.js +1 -1
- package/dist/esm/components/datePicker/DatePicker.d.ts +1 -1
- package/dist/esm/components/datePicker/DatePicker.js +2 -2
- package/dist/esm/components/datePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/datePicker/DatePicker.stories.d.ts +1 -1
- package/dist/esm/components/dialog/Dialog.d.ts +4 -4
- package/dist/esm/components/dialog/Dialog.js +8 -8
- package/dist/esm/components/dialog/Dialog.js.map +1 -1
- package/dist/esm/components/dialog/Dialog.stories.d.ts +2 -2
- package/dist/esm/components/dialog/Dialog.stories.js +3 -3
- package/dist/esm/components/dropdownMenu/DropdownMenu.js +2 -2
- package/dist/esm/components/editableText/EditableText.js +1 -1
- package/dist/esm/components/emojiPicker/EmojiPicker.js +4 -4
- package/dist/esm/components/emojiPicker/EmojiPicker.js.map +1 -1
- package/dist/esm/components/forms/CheckboxField.js +1 -1
- package/dist/esm/components/forms/CheckboxField.js.map +1 -1
- package/dist/esm/components/forms/EmojiField.js +1 -1
- package/dist/esm/components/forms/FormikForm.stories.js +1 -1
- package/dist/esm/components/forms/FormikForm.stories.js.map +1 -1
- package/dist/esm/components/forms/NumberStepperField.d.ts +1 -2
- package/dist/esm/components/forms/NumberStepperField.js +1 -1
- package/dist/esm/components/forms/NumberStepperField.js.map +1 -1
- package/dist/esm/components/forms/SwitchField.js +1 -1
- package/dist/esm/components/forms/SwitchField.js.map +1 -1
- package/dist/esm/components/forms/ToggleGroupField.js +1 -1
- package/dist/esm/components/forms/ToggleGroupField.js.map +1 -1
- package/dist/esm/components/horizontalList/HorizontalList.js +2 -2
- package/dist/esm/components/horizontalList/HorizontalList.stories.js +3 -3
- package/dist/esm/components/icon/Icon.stories.js +1 -1
- package/dist/esm/components/imageUploader/ImageUploader.js +6 -6
- package/dist/esm/components/imageUploader/ImageUploader.stories.js +1 -1
- package/dist/esm/components/input/Input.js +1 -1
- package/dist/esm/components/layouts/PageContent.js +1 -1
- package/dist/esm/components/layouts/PageContent.js.map +1 -1
- package/dist/esm/components/layouts/PageFixedArea.js +1 -1
- package/dist/esm/components/layouts/PageNav.js +1 -1
- package/dist/esm/components/layouts/PageNowPlaying.js +3 -3
- package/dist/esm/components/layouts/PageRoot.js +1 -1
- package/dist/esm/components/layouts/layouts.stories.js +2 -2
- package/dist/esm/components/lightbox/Lightbox.js +1 -1
- package/dist/esm/components/marquee/marquee.js +1 -1
- package/dist/esm/components/marquee/marquee.stories.js +1 -1
- package/dist/esm/components/navBar/NavBar.js +1 -1
- package/dist/esm/components/note/Note.js +1 -1
- package/dist/esm/components/numberStepper/NumberStepper.js +3 -3
- package/dist/esm/components/particles/ParticleLayer.js +1 -1
- package/dist/esm/components/particles/ParticleLayer.stories.js +2 -2
- package/dist/esm/components/particles/particlesState.js +2 -4
- package/dist/esm/components/particles/particlesState.js.map +1 -1
- package/dist/esm/components/peek/Peek.js +2 -2
- package/dist/esm/components/popover/Popover.d.ts +2 -4
- package/dist/esm/components/popover/Popover.js +1 -1
- package/dist/esm/components/popover/Popover.js.map +1 -1
- package/dist/esm/components/progress/Progress.d.ts +2 -2
- package/dist/esm/components/progress/Progress.js +2 -2
- package/dist/esm/components/progress/Progress.js.map +1 -1
- package/dist/esm/components/progress/Progress.stories.d.ts +1 -1
- package/dist/esm/components/pwaInstall/PwaInstall.d.ts +2 -2
- package/dist/esm/components/pwaInstall/PwaInstall.js +2 -2
- package/dist/esm/components/pwaInstall/PwaInstall.js.map +1 -1
- package/dist/esm/components/richEditor/index.js +2 -2
- package/dist/esm/components/richEditor/index.js.map +1 -1
- package/dist/esm/components/scrollArea/ScrollArea.stories.js +1 -1
- package/dist/esm/components/select/Select.js +3 -3
- package/dist/esm/components/select/Select.js.map +1 -1
- package/dist/esm/components/select/Select.stories.js +1 -1
- package/dist/esm/components/select/Select.stories.js.map +1 -1
- package/dist/esm/components/skeletons/skeletons.js +1 -1
- package/dist/esm/components/slider/Slider.d.ts +1 -2
- package/dist/esm/components/slider/Slider.js +1 -2
- package/dist/esm/components/slider/Slider.js.map +1 -1
- package/dist/esm/components/slider/Slider.stories.d.ts +1 -1
- package/dist/esm/components/slider/Slider.stories.js +1 -1
- package/dist/esm/components/spinner/Spinner.js +2 -2
- package/dist/esm/components/textArea/TextArea.js +1 -1
- package/dist/esm/components/toasts/toasts.js +5 -5
- package/dist/esm/components/tooltip/Tooltip.js +4 -4
- package/dist/esm/components/viewport/Viewport.js +3 -3
- package/dist/esm/components/viewport/ViewportContent.js +1 -1
- package/dist/esm/components/viewport/useViewportGestures.js +2 -1
- package/dist/esm/components/viewport/useViewportGestures.js.map +1 -1
- package/dist/esm/hooks/useStorage.js +4 -4
- package/dist/esm/hooks/useStorage.js.map +1 -1
- package/dist/esm/hooks/useTitleBarColor.js +1 -1
- package/dist/esm/hooks/useTitleBarColor.stories.js +1 -1
- package/dist/esm/hooks/withProps.d.ts +2 -2
- package/dist/esm/themes.stories.js +1 -1
- package/dist/esm/uno/logic/color.js +0 -9
- package/dist/esm/uno/logic/color.js.map +1 -1
- package/dist/esm/uno/preflights/keyboard.d.ts +1 -0
- package/dist/esm/uno/preflights/keyboard.js +13 -0
- package/dist/esm/uno/preflights/keyboard.js.map +1 -0
- package/dist/esm/uno/rules/color.js +10 -10
- package/dist/esm/uno/rules/color.js.map +1 -1
- package/dist/esm/utilities.stories.js +1 -1
- package/package.json +18 -2
- package/src/colors.stories.tsx +11 -11
- package/src/components/actions/ActionBar.tsx +3 -3
- package/src/components/actions/ActionButton.tsx +1 -1
- package/src/components/avatar/Avatar.tsx +3 -3
- package/src/components/box/Box.stories.tsx +1 -1
- package/src/components/box/Box.tsx +5 -5
- package/src/components/button/Button.tsx +3 -3
- package/src/components/button/ConfirmedButton.tsx +1 -1
- package/src/components/button/classes.tsx +18 -18
- package/src/components/camera/Camera.stories.tsx +1 -1
- package/src/components/camera/Camera.tsx +26 -13
- package/src/components/card/Card.stories.tsx +2 -8
- package/src/components/card/Card.tsx +5 -5
- package/src/components/checkbox/Checkbox.tsx +5 -5
- package/src/components/chip/Chip.tsx +2 -2
- package/src/components/colorPicker/ColorPicker.tsx +1 -1
- package/src/components/contextMenu/contextMenu.tsx +3 -3
- package/src/components/datePicker/DatePicker.tsx +3 -2
- package/src/components/dialog/Dialog.stories.tsx +3 -3
- package/src/components/dialog/Dialog.tsx +10 -12
- package/src/components/dropdownMenu/DropdownMenu.tsx +5 -5
- package/src/components/editableText/EditableText.tsx +2 -2
- package/src/components/emojiPicker/EmojiPicker.tsx +9 -4
- package/src/components/forms/CheckboxField.tsx +1 -1
- package/src/components/forms/EmojiField.tsx +1 -1
- package/src/components/forms/FormikForm.stories.tsx +1 -1
- package/src/components/forms/NumberStepperField.tsx +0 -2
- package/src/components/forms/SwitchField.tsx +1 -1
- package/src/components/forms/ToggleGroupField.tsx +1 -1
- package/src/components/horizontalList/HorizontalList.stories.tsx +8 -8
- package/src/components/horizontalList/HorizontalList.tsx +5 -5
- package/src/components/icon/Icon.stories.tsx +2 -2
- package/src/components/imageUploader/ImageUploader.stories.tsx +1 -1
- package/src/components/imageUploader/ImageUploader.tsx +6 -6
- package/src/components/input/Input.tsx +5 -5
- package/src/components/layouts/PageContent.tsx +1 -1
- package/src/components/layouts/PageFixedArea.tsx +1 -1
- package/src/components/layouts/PageNav.tsx +3 -3
- package/src/components/layouts/PageNowPlaying.tsx +3 -3
- package/src/components/layouts/PageRoot.tsx +3 -3
- package/src/components/layouts/layouts.stories.tsx +3 -3
- package/src/components/lightbox/Lightbox.tsx +1 -1
- package/src/components/marquee/marquee.stories.tsx +1 -1
- package/src/components/marquee/marquee.tsx +2 -2
- package/src/components/navBar/NavBar.tsx +3 -3
- package/src/components/note/Note.tsx +6 -6
- package/src/components/numberStepper/NumberStepper.tsx +3 -3
- package/src/components/particles/ParticleLayer.stories.tsx +2 -2
- package/src/components/particles/ParticleLayer.tsx +1 -1
- package/src/components/particles/particlesState.ts +2 -4
- package/src/components/peek/Peek.tsx +4 -4
- package/src/components/popover/Popover.tsx +0 -2
- package/src/components/progress/Progress.tsx +2 -2
- package/src/components/pwaInstall/PwaInstall.tsx +4 -4
- package/src/components/richEditor/index.tsx +13 -13
- package/src/components/scrollArea/ScrollArea.stories.tsx +1 -1
- package/src/components/select/Select.stories.tsx +1 -1
- package/src/components/select/Select.tsx +20 -20
- package/src/components/skeletons/skeletons.tsx +1 -1
- package/src/components/slider/Slider.stories.tsx +1 -1
- package/src/components/slider/Slider.tsx +1 -2
- package/src/components/spinner/Spinner.tsx +3 -3
- package/src/components/textArea/TextArea.tsx +1 -1
- package/src/components/toasts/toasts.tsx +13 -13
- package/src/components/tooltip/Tooltip.tsx +6 -6
- package/src/components/viewport/Viewport.tsx +3 -3
- package/src/components/viewport/ViewportContent.tsx +1 -1
- package/src/components/viewport/useViewportGestures.ts +1 -1
- package/src/hooks/useStorage.ts +4 -4
- package/src/hooks/useTitleBarColor.stories.tsx +1 -1
- package/src/hooks/useTitleBarColor.ts +1 -1
- package/src/hooks/withProps.tsx +2 -2
- package/src/themes.stories.tsx +1 -1
- package/src/uno/logic/color.ts +0 -12
- package/src/uno/preflights/keyboard.ts +12 -0
- package/src/uno/rules/color.ts +10 -10
- package/src/utilities.stories.tsx +3 -3
|
@@ -26,12 +26,12 @@ export function Marquee({ className, children, timeout = 5000 }: MarqueeProps) {
|
|
|
26
26
|
return (
|
|
27
27
|
<div
|
|
28
28
|
className={clsx(
|
|
29
|
-
'layer-components:(relative
|
|
29
|
+
'layer-components:(relative h-full w-full overflow-hidden)',
|
|
30
30
|
className,
|
|
31
31
|
)}
|
|
32
32
|
>
|
|
33
33
|
<div
|
|
34
|
-
className="layer-components:(absolute
|
|
34
|
+
className="layer-components:(absolute left-0 top-0 h-full w-full flex flex-row overflow-visible transition-transform duration-300)"
|
|
35
35
|
style={{ transform: `translateX(${offset})` }}
|
|
36
36
|
>
|
|
37
37
|
{children}
|
|
@@ -6,12 +6,12 @@ import { withClassName } from '../../hooks.js';
|
|
|
6
6
|
import { Icon, IconProps } from '../icon/index.js';
|
|
7
7
|
|
|
8
8
|
export const navBarItemClass = classNames(
|
|
9
|
-
'layer-components:(flex flex-col items-center justify-center whitespace-nowrap
|
|
9
|
+
'layer-components:(relative h-full flex flex-col cursor-pointer select-none items-center justify-center gap-6px whitespace-nowrap rounded-sm border-none px-3 py-1 text-sm transition-colors color-black bg-transparent)',
|
|
10
10
|
'layer-components:active:bg-darken-2',
|
|
11
11
|
'layer-components:hover:(bg-main-light)',
|
|
12
12
|
'layer-components:focus-visible:(outline-none ring-2 ring-accent)',
|
|
13
|
-
'layer-components:[&[data-active=true]]:(
|
|
14
|
-
'layer-responsive:md:(flex-row-reverse
|
|
13
|
+
'layer-components:[&[data-active=true]]:(color-black color-lighten-2 bg-main-light/50)',
|
|
14
|
+
'layer-responsive:md:(h-auto flex-row-reverse justify-start gap-2 overflow-visible active:bg-darken-2)',
|
|
15
15
|
);
|
|
16
16
|
|
|
17
17
|
export interface NavBarItemProps extends UseRenderComponentProps<'button'> {
|
|
@@ -16,27 +16,27 @@ export function Note({ className, color, children, ...rest }: NoteProps) {
|
|
|
16
16
|
<div className="layer-components:(flex flex-row)">
|
|
17
17
|
<div
|
|
18
18
|
className={clsx(
|
|
19
|
-
'layer-components:(flex-1
|
|
19
|
+
'layer-components:(relative flex-1 border border-solid p-2 text-sm italic color-black bg-main-wash bg-darken-1 border-main-dark) layer-variants:border-r-0',
|
|
20
20
|
'layer-variants:[&_input,&_textarea]:shadow-none',
|
|
21
21
|
)}
|
|
22
22
|
>
|
|
23
23
|
{children}
|
|
24
24
|
</div>
|
|
25
25
|
<div
|
|
26
|
-
className="layer-components:(flex flex-col items-stretch justify-stretch
|
|
26
|
+
className="layer-components:(flex flex-[0_0_20px] flex-col items-stretch justify-stretch)"
|
|
27
27
|
aria-hidden
|
|
28
28
|
>
|
|
29
29
|
{/* folded corner */}
|
|
30
|
-
<div className="layer-components:(
|
|
30
|
+
<div className="layer-components:(relative h-[20px] w-[20px] flex-[0_0_20px] border-0 border-solid border-main-dark) layer-variants:(border-b-1px border-l-1px)">
|
|
31
31
|
{/* top corner */}
|
|
32
32
|
<div
|
|
33
|
-
className={`layer-components:(border-
|
|
33
|
+
className={`layer-components:(box-content h-0 w-0 transform-origin-br translate--7px rotate--45 border-13px border-solid border-transparent border-r-main-wash border-r-darken-1)`}
|
|
34
34
|
/>
|
|
35
35
|
{/* diagonal line */}
|
|
36
|
-
<div className="layer-components:(absolute w-0.5px
|
|
36
|
+
<div className="layer-components:(absolute left-9px top--3px h-27px w-0.5px transform-origin-cc rotate--45 bg-main-dark)" />
|
|
37
37
|
</div>
|
|
38
38
|
{/* bottom right corner */}
|
|
39
|
-
<div className="layer-components:(bg-main-wash bg-darken-1
|
|
39
|
+
<div className="layer-components:(flex-1 border-0 border-solid bg-main-wash bg-darken-1 border-main-dark) layer-variants:(border-b-1px border-r-1px)" />
|
|
40
40
|
</div>
|
|
41
41
|
</div>
|
|
42
42
|
</div>
|
|
@@ -67,11 +67,11 @@ export function NumberStepper({
|
|
|
67
67
|
return (
|
|
68
68
|
<div
|
|
69
69
|
className={classNames(
|
|
70
|
-
'layer-components:(flex items-center
|
|
70
|
+
'layer-components:(w-min-content flex flex-shrink-0 items-center overflow-hidden border rounded-lg border-solid shadow-sm bg-white border-gray-dark)',
|
|
71
71
|
disabled &&
|
|
72
|
-
'layer-variants:(border-gray-dark/80
|
|
72
|
+
'layer-variants:(shadow-none bg-transparent border-gray-dark/80)',
|
|
73
73
|
{
|
|
74
|
-
'layer-variants:(bg-accent-wash
|
|
74
|
+
'layer-variants:(color-black bg-accent-wash)':
|
|
75
75
|
!!highlightChange && value !== 1,
|
|
76
76
|
},
|
|
77
77
|
className,
|
|
@@ -20,7 +20,7 @@ type Story = StoryObj<typeof ParticleLayer>;
|
|
|
20
20
|
export const Default: Story = {
|
|
21
21
|
render() {
|
|
22
22
|
return (
|
|
23
|
-
<div className="
|
|
23
|
+
<div className="relative h-[100vh] w-full flex flex-col items-center justify-center">
|
|
24
24
|
<ExplodeButton />
|
|
25
25
|
</div>
|
|
26
26
|
);
|
|
@@ -54,7 +54,7 @@ export const HiddenTest: Story = {
|
|
|
54
54
|
return (
|
|
55
55
|
<>
|
|
56
56
|
<div
|
|
57
|
-
className="w-full
|
|
57
|
+
className="relative w-full flex flex-col items-center justify-center p-10"
|
|
58
58
|
style={{ visibility: hide ? 'hidden' : 'visible' }}
|
|
59
59
|
>
|
|
60
60
|
<Icon name="placeholder" ref={targetRef} />
|
|
@@ -108,13 +108,11 @@ export class Particles {
|
|
|
108
108
|
};
|
|
109
109
|
|
|
110
110
|
private renderParticles = (ctx: CanvasRenderingContext2D, delta: number) => {
|
|
111
|
-
let freed = 0;
|
|
112
111
|
for (let i = 0; i < this.particles.length; i++) {
|
|
113
112
|
const particle = this.particles[i];
|
|
114
113
|
if (particle.render(ctx, delta)) {
|
|
115
114
|
particle.dispose();
|
|
116
115
|
this.freeParticles.push(particle);
|
|
117
|
-
freed++;
|
|
118
116
|
}
|
|
119
117
|
}
|
|
120
118
|
};
|
|
@@ -300,7 +298,7 @@ export const createElementBorderInitializer = ({
|
|
|
300
298
|
// randomly spawn particles around the border of the element by 'unwrapping' the selected borders as
|
|
301
299
|
// a single theoretical line, picking a random point on the line, and then converting that point
|
|
302
300
|
// back to a point on the border.
|
|
303
|
-
return (
|
|
301
|
+
return (_index: number) => {
|
|
304
302
|
// check that element is not hidden
|
|
305
303
|
if (
|
|
306
304
|
element instanceof HTMLElement &&
|
|
@@ -472,7 +470,7 @@ export const createWindowBorderInitializer = ({
|
|
|
472
470
|
border?: BorderName;
|
|
473
471
|
lifespan?: number;
|
|
474
472
|
}): ParticleInitializer => {
|
|
475
|
-
return (
|
|
473
|
+
return (_index: number) => {
|
|
476
474
|
const rect = document.body.getBoundingClientRect();
|
|
477
475
|
let x = 0;
|
|
478
476
|
let y = 0;
|
|
@@ -58,7 +58,7 @@ export function Peek({ peekHeight = 120, children, className }: PeekProps) {
|
|
|
58
58
|
<div
|
|
59
59
|
className={classNames(
|
|
60
60
|
'relative',
|
|
61
|
-
'[&[data-state=closed]]:max-h-[var(--peek-height,120px)]
|
|
61
|
+
'overflow-hidden [&[data-state=closed]]:max-h-[var(--peek-height,120px)]',
|
|
62
62
|
hasInteracted.current &&
|
|
63
63
|
'animate-ease-default animate-forwards [&[data-state=closed]]:(animate-keyframes-peek-close animate-duration-300) [&[data-state=open]]:(animate-keyframes-peek-open animate-duration-600 animate-forwards)',
|
|
64
64
|
className,
|
|
@@ -79,10 +79,10 @@ export function Peek({ peekHeight = 120, children, className }: PeekProps) {
|
|
|
79
79
|
<button
|
|
80
80
|
data-state={open ? 'open' : 'closed'}
|
|
81
81
|
className={classNames(
|
|
82
|
-
'
|
|
82
|
+
'absolute bottom-0 z-1 h-80px w-full cursor-pointer border-b border-none border-b-solid bg-transparent border-white',
|
|
83
83
|
'animate-fade-in',
|
|
84
|
-
'focus-visible:(outline-none
|
|
85
|
-
'after:(
|
|
84
|
+
'focus-visible:(outline-none border-b border-b-solid from-transparent to-primary-wash bg-gradient-to-b border-main',
|
|
85
|
+
'after:(absolute inset-0 top-auto h-80px flex flex-col items-center justify-end from-transparent to-white bg-gradient-to-b p-3 text-xs content-["-_tap_to_expand_-"] color-gray-dark)',
|
|
86
86
|
'after:[&[data-state=open]]:content-["-_tap_to_collapse_-"]',
|
|
87
87
|
)}
|
|
88
88
|
onClick={toggle}
|
|
@@ -49,7 +49,6 @@ export const PopoverContent = function PopoverContent({
|
|
|
49
49
|
ref,
|
|
50
50
|
children,
|
|
51
51
|
forceMount,
|
|
52
|
-
disableBlur,
|
|
53
52
|
className,
|
|
54
53
|
radius = 'default',
|
|
55
54
|
padding = 'default',
|
|
@@ -71,7 +70,6 @@ export const PopoverContent = function PopoverContent({
|
|
|
71
70
|
radius?: 'none' | 'default' | 'md';
|
|
72
71
|
padding?: 'none' | 'default';
|
|
73
72
|
forceMount?: boolean;
|
|
74
|
-
disableBlur?: boolean;
|
|
75
73
|
ref?: Ref<HTMLDivElement>;
|
|
76
74
|
}) {
|
|
77
75
|
return (
|
|
@@ -48,6 +48,7 @@ const ProgressBase = function ProgressBase({
|
|
|
48
48
|
<ProgressTrack>
|
|
49
49
|
<ProgressIndicator />
|
|
50
50
|
</ProgressTrack>
|
|
51
|
+
{children}
|
|
51
52
|
</ProgressPrimitive.Root>
|
|
52
53
|
);
|
|
53
54
|
};
|
|
@@ -64,13 +65,12 @@ const ProgressValue = withClassName(
|
|
|
64
65
|
|
|
65
66
|
export const ProgressLabeled = function ProgressLabeled({
|
|
66
67
|
ref,
|
|
67
|
-
children,
|
|
68
68
|
label,
|
|
69
69
|
className,
|
|
70
70
|
color,
|
|
71
71
|
formatValue,
|
|
72
72
|
...props
|
|
73
|
-
}: ProgressRootProps & {
|
|
73
|
+
}: Omit<ProgressRootProps, 'children'> & {
|
|
74
74
|
ref?: React.Ref<HTMLDivElement>;
|
|
75
75
|
label: React.ReactNode;
|
|
76
76
|
color?: PaletteName;
|
|
@@ -28,11 +28,11 @@ import {
|
|
|
28
28
|
} from './useIsInstallReady.js';
|
|
29
29
|
import { useWebManifest } from './useWebManifest.js';
|
|
30
30
|
|
|
31
|
-
export interface PwaInstall extends DialogRootProps {
|
|
31
|
+
export interface PwaInstall extends Omit<DialogRootProps, 'children'> {
|
|
32
32
|
manifestPath?: string;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
export function PwaInstall({
|
|
35
|
+
export function PwaInstall({ manifestPath, ...rest }: PwaInstall) {
|
|
36
36
|
const installed = useIsInstalled();
|
|
37
37
|
const manifest = useWebManifest(manifestPath);
|
|
38
38
|
const { open } = useSnapshot(pwaInstallerState);
|
|
@@ -55,7 +55,7 @@ export function PwaInstall({ children, manifestPath, ...rest }: PwaInstall) {
|
|
|
55
55
|
}}
|
|
56
56
|
>
|
|
57
57
|
<Dialog.Content className="flex flex-col gap-xs" id="pwa-install-dialog">
|
|
58
|
-
<Dialog.Title className="flex flex-row gap-md
|
|
58
|
+
<Dialog.Title className="flex flex-row items-center gap-md">
|
|
59
59
|
{primaryIcon && (
|
|
60
60
|
<img
|
|
61
61
|
src={primaryIcon.src}
|
|
@@ -65,7 +65,7 @@ export function PwaInstall({ children, manifestPath, ...rest }: PwaInstall) {
|
|
|
65
65
|
manifest?.name ??
|
|
66
66
|
'App Icon'
|
|
67
67
|
}
|
|
68
|
-
className="inline-block
|
|
68
|
+
className="inline-block h-1em w-1em rounded"
|
|
69
69
|
/>
|
|
70
70
|
)}
|
|
71
71
|
Install {manifest?.short_name ?? manifest?.name ?? 'App'}
|
|
@@ -2,21 +2,21 @@ import clsx from 'clsx';
|
|
|
2
2
|
|
|
3
3
|
export const tipTapClassName = clsx(
|
|
4
4
|
'layer-components:(w-full leading-relaxed)',
|
|
5
|
-
'layer-components:[&_.ProseMirror:focus]:(outline-none
|
|
5
|
+
'layer-components:[&_.ProseMirror:focus]:shadow-focus layer-components:[&_.ProseMirror:focus]:(outline-none)',
|
|
6
6
|
'layer-components:[&_h1,h2,h3,p]:mt-0',
|
|
7
|
-
'layer-components:[&_h1]:(text-2xl font-semibold
|
|
7
|
+
'layer-components:[&_h1]:(mb-md text-2xl font-semibold)',
|
|
8
8
|
'layer-components:[&_h1]:[&:not(:first-child)]:mt-xl',
|
|
9
|
-
'layer-components:[&_h2]:(text-lg font-bold color-gray-dark color-darken-3
|
|
9
|
+
'layer-components:[&_h2]:(mb-md text-lg font-bold color-gray-dark color-darken-3)',
|
|
10
10
|
'layer-components:[&_h2]:[&:not(:first-child)]:mt-lg',
|
|
11
|
-
'layer-components:[&_h3]:(text-md font-500 color-gray-dark color-darken-2
|
|
11
|
+
'layer-components:[&_h3]:(mb-sm text-md font-500 color-gray-dark color-darken-2)',
|
|
12
12
|
'layer-components:[&_h3]:[&:not(:first-child)]:mt-md',
|
|
13
|
-
'layer-components:[&_h4]:(text-xs color-gray-dark color-darken-1
|
|
13
|
+
'layer-components:[&_h4]:(mb-sm text-xs uppercase color-gray-dark color-darken-1)',
|
|
14
14
|
'layer-components:[&_h4]:[&:not(:first-child)]:mt-md',
|
|
15
15
|
'layer-components:[&_p]:(mb-md mt-0)',
|
|
16
16
|
'layer-components:[&_a]:underline',
|
|
17
|
-
'layer-components:[&_blockquote]:(border-l-4 border-l-solid
|
|
18
|
-
'layer-components:[&_ul]:(list-disc pl-6
|
|
19
|
-
'layer-components:[&_ol]:(list-decimal pl-6
|
|
17
|
+
'layer-components:[&_blockquote]:(mb-md ml-md mt-md border-l-4 border-l-solid pl-4 border-gray)',
|
|
18
|
+
'layer-components:[&_ul]:(mb-md mt-md list-disc pl-6)',
|
|
19
|
+
'layer-components:[&_ol]:(mb-md mt-md list-decimal pl-6)',
|
|
20
20
|
'layer-components:[&_li]:(mb-sm)',
|
|
21
21
|
'layer-components:[&_mark]:(bg-main-wash bg-darken-2)',
|
|
22
22
|
'layer-components:[&_strong]:(font-semibold)',
|
|
@@ -24,12 +24,12 @@ export const tipTapClassName = clsx(
|
|
|
24
24
|
'layer-components:[&_hr]:(my-lg border-gray)',
|
|
25
25
|
'layer-components:[&_a]:(underline)',
|
|
26
26
|
'layer-components:[&_a:hover]:(underline)',
|
|
27
|
-
'layer-components:[&_a:focus]:(outline-none
|
|
28
|
-
'layer-components:[&_a:focus-visible]:(outline-none ring-
|
|
29
|
-
'layer-components:[&_.ProseMirror]:(
|
|
27
|
+
'layer-components:[&_a:focus]:shadow-focus layer-components:[&_a:focus]:(outline-none)',
|
|
28
|
+
'layer-components:[&_a:focus-visible]:(outline-none ring-4 ring-inset ring-gray)',
|
|
29
|
+
'layer-components:[&_.ProseMirror]:shadow-sm-inset layer-components:[&_.ProseMirror]:(border-1 rounded-[20px] border-solid px-4 py-2 bg-white border-gray-dark)',
|
|
30
30
|
);
|
|
31
31
|
|
|
32
32
|
export const tipTapReadonlyClassName = clsx(
|
|
33
|
-
'[&_.ProseMirror]:(
|
|
34
|
-
'[&_.ProseMirror:focus]:(
|
|
33
|
+
'[&_.ProseMirror]:(border-none shadow-none bg-transparent)',
|
|
34
|
+
'[&_.ProseMirror:focus]:(shadow-none outline-none bg-transparent)',
|
|
35
35
|
);
|
|
@@ -48,7 +48,7 @@ export const Default: Story = {
|
|
|
48
48
|
export const ConstraintTest: Story = {
|
|
49
49
|
render({ direction }) {
|
|
50
50
|
return (
|
|
51
|
-
<ScrollArea direction={direction} className="
|
|
51
|
+
<ScrollArea direction={direction} className="h-300px w-300px">
|
|
52
52
|
<ScrollArea.Content>
|
|
53
53
|
<Box gap>
|
|
54
54
|
<Input placeholder="Test input" />
|
|
@@ -39,7 +39,7 @@ export const Default: Story = {
|
|
|
39
39
|
};
|
|
40
40
|
|
|
41
41
|
export const LongListWithItemLabels: Story = {
|
|
42
|
-
render({ defaultValue, value, ...args }) {
|
|
42
|
+
render({ defaultValue: _, value: __, ...args }) {
|
|
43
43
|
return (
|
|
44
44
|
<Box full layout="center center" className="min-h-200px">
|
|
45
45
|
<Select
|
|
@@ -105,11 +105,11 @@ export const SelectIcon = ({
|
|
|
105
105
|
}) => {
|
|
106
106
|
return (
|
|
107
107
|
<BaseSelect.Icon
|
|
108
|
-
className={classNames('color-inherit
|
|
108
|
+
className={classNames('ml-auto color-inherit', className)}
|
|
109
109
|
{...props}
|
|
110
110
|
ref={forwardedRef}
|
|
111
111
|
>
|
|
112
|
-
<Icon name="chevron" className="
|
|
112
|
+
<Icon name="chevron" className="relative top-1px h-[12px] w-[12px]" />
|
|
113
113
|
</BaseSelect.Icon>
|
|
114
114
|
);
|
|
115
115
|
};
|
|
@@ -124,10 +124,10 @@ export const SelectArrow = ({ className, ...props }: SelectArrowProps) => (
|
|
|
124
124
|
);
|
|
125
125
|
|
|
126
126
|
const scrollArrowClass = clsx(
|
|
127
|
-
'layer-components:(
|
|
128
|
-
'layer-components:before:(
|
|
127
|
+
'layer-components:(z-1 h-1rem w-full flex cursor-default select-none items-center justify-center rounded-sm text-center text-xs bg-white)',
|
|
128
|
+
'layer-components:before:(absolute left-0 h-full w-full content-empty)',
|
|
129
129
|
'layer-components:data-[direction=up]:data-[side=none]:before:(-top-full)',
|
|
130
|
-
'layer-components:data-[direction=down]:(bottom-0 data-[side=none]:before
|
|
130
|
+
'layer-components:data-[direction=down]:(bottom-0 data-[side=none]:before:-bottom-full)',
|
|
131
131
|
);
|
|
132
132
|
|
|
133
133
|
const contentStyle = {
|
|
@@ -174,32 +174,32 @@ export const SelectContent = ({
|
|
|
174
174
|
sticky={sticky}
|
|
175
175
|
positionMethod={positionMethod}
|
|
176
176
|
className={classNames(
|
|
177
|
-
'layer-components:(z-1
|
|
177
|
+
'layer-components:(z-1 select-none outline-none)',
|
|
178
178
|
'layer-components:(transform-origin-[--transform-origin])',
|
|
179
179
|
)}
|
|
180
180
|
>
|
|
181
181
|
<SelectArrow
|
|
182
182
|
className={clsx(
|
|
183
|
-
'layer-components:(border-black
|
|
184
|
-
'layer-components:data-[closed]:(
|
|
185
|
-
'layer-components:data-[open]:(
|
|
183
|
+
'layer-components:(transform transition border-black)',
|
|
184
|
+
'layer-components:data-[closed]:(scale-0 opacity-0)',
|
|
185
|
+
'layer-components:data-[open]:(scale-100 opacity-100)',
|
|
186
186
|
)}
|
|
187
187
|
/>
|
|
188
188
|
<BaseSelect.Popup
|
|
189
189
|
className={classNames(
|
|
190
|
-
'layer-components:(overflow-hidden
|
|
190
|
+
'layer-components:(overflow-hidden border border rounded-md border-solid bg-clip-padding shadow-lg transition bg-white border-black)',
|
|
191
191
|
'layer-components:transform-origin-[var(--transform-origin)]',
|
|
192
|
-
'layer-components:data-[starting-style]:data-[side=bottom]:(
|
|
193
|
-
'layer-components:data-[ending-style]:data-[side=bottom]:(
|
|
194
|
-
'layer-components:data-[starting-style]:data-[side=top]:(
|
|
195
|
-
'layer-components:data-[ending-style]:data-[side=top]:(
|
|
196
|
-
'layer-components:data-[starting-style]:data-[side=right]:(
|
|
197
|
-
'layer-components:data-[ending-style]:data-[side=right]:(
|
|
198
|
-
'layer-components:data-[starting-style]:data-[side=left]:(
|
|
199
|
-
'layer-components:data-[ending-style]:data-[side=left]:(
|
|
192
|
+
'layer-components:data-[starting-style]:data-[side=bottom]:(translate-y-4px opacity-0)',
|
|
193
|
+
'layer-components:data-[ending-style]:data-[side=bottom]:(translate-y-4px opacity-0)',
|
|
194
|
+
'layer-components:data-[starting-style]:data-[side=top]:(translate-y--4px opacity-0)',
|
|
195
|
+
'layer-components:data-[ending-style]:data-[side=top]:(translate-y-0 opacity-0)',
|
|
196
|
+
'layer-components:data-[starting-style]:data-[side=right]:(translate-x-4px opacity-0)',
|
|
197
|
+
'layer-components:data-[ending-style]:data-[side=right]:(translate-x-0 opacity-0)',
|
|
198
|
+
'layer-components:data-[starting-style]:data-[side=left]:(translate-x--4px opacity-0)',
|
|
199
|
+
'layer-components:data-[ending-style]:data-[side=left]:(translate-x-0 opacity-0)',
|
|
200
200
|
'important:motion-reduce:animate-none',
|
|
201
|
-
'layer-components:data-[side=none]:(
|
|
202
|
-
'layer-components:(
|
|
201
|
+
'layer-components:data-[side=none]:(min-w-[calc(var(--anchor-width)+2rem)] translate-y-0px)',
|
|
202
|
+
'layer-components:(max-h-[var(--available-height)] min-w-[var(--anchor-width)])',
|
|
203
203
|
className,
|
|
204
204
|
)}
|
|
205
205
|
style={contentStyle}
|
|
@@ -15,7 +15,7 @@ export const TextSkeleton = ({
|
|
|
15
15
|
return (
|
|
16
16
|
<span
|
|
17
17
|
className={classNames(
|
|
18
|
-
'
|
|
18
|
+
'[background-size:400%_400%] inline-block h-full max-w-full w-full shrink-0 animate-skeleton animate-duration-1200 animate-ease-in-out animate-alternate animate-iteration-infinite rounded-md from-transparent via-fg to-transparent bg-gradient-to-r opacity-30',
|
|
19
19
|
className,
|
|
20
20
|
)}
|
|
21
21
|
style={{
|
|
@@ -70,13 +70,12 @@ export const SliderUi = ({
|
|
|
70
70
|
);
|
|
71
71
|
|
|
72
72
|
export interface SliderProps extends SliderRootProps {
|
|
73
|
-
label?: string;
|
|
74
73
|
color?: PaletteName;
|
|
75
74
|
ref?: Ref<HTMLDivElement>;
|
|
76
75
|
}
|
|
77
76
|
|
|
78
77
|
export const Slider = Object.assign(
|
|
79
|
-
function Slider(
|
|
78
|
+
function Slider(props: SliderProps) {
|
|
80
79
|
return (
|
|
81
80
|
<SliderRoot {...props}>
|
|
82
81
|
<SliderUi />
|
|
@@ -25,7 +25,7 @@ export const Spinner = function Spinner({
|
|
|
25
25
|
role="progressbar"
|
|
26
26
|
{...props}
|
|
27
27
|
className={classNames(
|
|
28
|
-
'flex-shrink-0
|
|
28
|
+
'inline-block flex-shrink-0 transform-origin-[50%_50%] animate-spin animate-duration-1400 animate-ease-linear animate-iteration-infinite color-inherit',
|
|
29
29
|
className,
|
|
30
30
|
)}
|
|
31
31
|
style={{ width: size, height: size, ...style }}
|
|
@@ -37,7 +37,7 @@ export const Spinner = function Spinner({
|
|
|
37
37
|
} ${CIRCLE_SIZE} ${CIRCLE_SIZE}`}
|
|
38
38
|
>
|
|
39
39
|
<circle
|
|
40
|
-
className="stroke-
|
|
40
|
+
className="[stroke-dasharray:80_200] [stroke-dashoffset:0] animate-spinner-stroke animate-duration-1400 animate-ease-in-out animate-iteration-infinite stroke-current"
|
|
41
41
|
cx={CIRCLE_SIZE}
|
|
42
42
|
cy={CIRCLE_SIZE}
|
|
43
43
|
r={(CIRCLE_SIZE - thickness) / 2}
|
|
@@ -58,7 +58,7 @@ export const FullScreenSpinner = function FullScreenSpinner({
|
|
|
58
58
|
return (
|
|
59
59
|
<div
|
|
60
60
|
ref={ref}
|
|
61
|
-
className="
|
|
61
|
+
className="w-full flex flex-1 flex-row items-center self-stretch justify-center gap-4"
|
|
62
62
|
>
|
|
63
63
|
<Spinner {...props} />
|
|
64
64
|
</div>
|
|
@@ -88,7 +88,7 @@ export const TextArea = function TextArea({
|
|
|
88
88
|
ref={finalRef}
|
|
89
89
|
className={classNames(
|
|
90
90
|
inputClassName,
|
|
91
|
-
'layer-components:([font-family:inherit]
|
|
91
|
+
'layer-components:([font-family:inherit] resize-none overflow-hidden color-inherit)',
|
|
92
92
|
'layer-variants:(rounded-lg px-4 py-4)',
|
|
93
93
|
{
|
|
94
94
|
'layer-components:[resize:vertical]': !autoSize,
|
|
@@ -51,19 +51,19 @@ function ToastList() {
|
|
|
51
51
|
className={clsx(
|
|
52
52
|
// variable setup
|
|
53
53
|
'[--gap:0.75rem] [--peek:0.75rem] [--scale:calc(max(0,1-(var(--toast-index)*0.1)))]',
|
|
54
|
-
'[--
|
|
54
|
+
'[--height:var(--toast-frontmost-height,var(--toast-height))] [--shrink:calc(1-var(--scale))]',
|
|
55
55
|
'[--offset-y:calc(var(--toast-offset-y)+calc(var(--toast-index)*var(--gap))+var(--toast-swipe-movement-y))]',
|
|
56
56
|
// basic positioning
|
|
57
|
-
'fixed left-0 top-xs
|
|
57
|
+
'fixed left-0 left-auto top-xs z-[calc(100000-var(--toast-index))] mr-0 w-full origin-top',
|
|
58
58
|
'h-[--height]',
|
|
59
|
-
'flex flex-col gap-xs
|
|
59
|
+
'flex flex-col items-center gap-xs',
|
|
60
60
|
// other properties
|
|
61
61
|
'select-none',
|
|
62
62
|
// animation and interaction
|
|
63
63
|
'translate-x-[--toast-swipe-movement-x] translate-y-[calc(var(--toast-swipe-movement-y)+(var(--toast-index)*var(--peek))+(var(--shrink)*var(--height)))] scale-[var(--scale)]',
|
|
64
64
|
'[transition:transform_0.5s_cubic-bezier(0.22,1,0.36,1),opacity_0.5s,height_0.15s]',
|
|
65
65
|
// ::after
|
|
66
|
-
'after:(absolute top-full
|
|
66
|
+
'after:(absolute left-0 top-full h-[calc(var(--gap)+1px)] w-full content-empty)',
|
|
67
67
|
// starting style
|
|
68
68
|
'data-[starting-style]:(-translate-y-150%)',
|
|
69
69
|
// limited
|
|
@@ -73,7 +73,7 @@ function ToastList() {
|
|
|
73
73
|
// ending styles
|
|
74
74
|
'data-[ending-style]:(opacity-0)',
|
|
75
75
|
// natural or close button
|
|
76
|
-
'[&[data-ending-style]:not([data-limited]):not([data-swipe-direction])]:(-translate-y-150%
|
|
76
|
+
'[&[data-ending-style]:not([data-limited]):not([data-swipe-direction])]:(scale-90 opacity-50 -translate-y-150%)',
|
|
77
77
|
// swiping down
|
|
78
78
|
'data-[ending-style]:data-[swipe-direction=down]:(translate-y-[calc(var(--toast-swipe-movement-y)+150%)])',
|
|
79
79
|
'data-[expanded]:data-[ending-style]:data-[swipe-direction=down]:(translate-y-[calc(var(--toast-swipe-movement-y)+150%)])',
|
|
@@ -95,22 +95,22 @@ function ToastList() {
|
|
|
95
95
|
mode === 'dark' ? 'override-light' : 'override-dark',
|
|
96
96
|
)}
|
|
97
97
|
>
|
|
98
|
-
<Toast.Content className="[&[data-behind]:not([data-expanded])]:pointer-events-none
|
|
98
|
+
<Toast.Content className="max-w-sm flex flex-col gap-2px [&[data-behind]:not([data-expanded])]:pointer-events-none">
|
|
99
99
|
<div
|
|
100
100
|
className={clsx(
|
|
101
|
-
'layer-components:(
|
|
101
|
+
'layer-components:(relative b-1 b-black rounded-md b-solid py-sm pl-md pr-sm shadow-md color-black bg-main-wash)',
|
|
102
102
|
'layer-components:(flex flex-row gap-sm)',
|
|
103
|
-
'[[data-behind]:not([data-expanded])_&]:(
|
|
103
|
+
'[[data-behind]:not([data-expanded])_&]:(max-h-[--height] bg-darken-2)',
|
|
104
104
|
)}
|
|
105
105
|
>
|
|
106
106
|
<div
|
|
107
107
|
className={clsx(
|
|
108
|
-
'flex flex-row gap-xs
|
|
109
|
-
'[[data-behind]:not([data-expanded])_&]:(opacity-0) [[data-expanded]_&]:(opacity-100)
|
|
108
|
+
'flex flex-row items-center gap-xs',
|
|
109
|
+
'[transition-duration:250ms] transition-opacity [[data-behind]:not([data-expanded])_&]:(opacity-0) [[data-expanded]_&]:(opacity-100)',
|
|
110
110
|
)}
|
|
111
111
|
>
|
|
112
112
|
<div className="flex flex-col gap-xs">
|
|
113
|
-
<Toast.Title className="text-sm
|
|
113
|
+
<Toast.Title className="m-0 text-sm font-bold leading-tight" />
|
|
114
114
|
<div className="flex gap-sm">
|
|
115
115
|
{toast.data?.loading ? (
|
|
116
116
|
<Spinner size={15} className="relative top-2px" />
|
|
@@ -127,7 +127,7 @@ function ToastList() {
|
|
|
127
127
|
className="relative top-2px"
|
|
128
128
|
/>
|
|
129
129
|
) : null}
|
|
130
|
-
<Toast.Description className="text-sm
|
|
130
|
+
<Toast.Description className="m-0 text-sm" />
|
|
131
131
|
</div>
|
|
132
132
|
</div>
|
|
133
133
|
<Toast.Close
|
|
@@ -142,7 +142,7 @@ function ToastList() {
|
|
|
142
142
|
</div>
|
|
143
143
|
</div>
|
|
144
144
|
{toast.data?.actions && (
|
|
145
|
-
<div className="flex gap-xxs
|
|
145
|
+
<div className="ml-auto flex items-center gap-xxs transition-opacity [[data-behind]:not([data-expanded])_&]:(opacity-0)">
|
|
146
146
|
{toast.data.actions.toReversed().map((action, index: number) => (
|
|
147
147
|
<Toast.Action
|
|
148
148
|
key={index}
|
|
@@ -56,16 +56,16 @@ function Content({
|
|
|
56
56
|
<TooltipPrimitive.Popup
|
|
57
57
|
render={render}
|
|
58
58
|
className={classNames(
|
|
59
|
-
'layer-components:(relative rounded-sm py-xs
|
|
59
|
+
'layer-components:(relative flex select-none rounded-sm px-sm py-xs text-sm leading-tight shadow-sm transition)',
|
|
60
60
|
'layer-components:data-[instant]:transition-none',
|
|
61
|
-
'layer-components:data-[starting-style]:(opacity-0
|
|
62
|
-
'layer-components:data-[ending-style]:(opacity-0
|
|
61
|
+
'layer-components:data-[starting-style]:(scale-95 opacity-0)',
|
|
62
|
+
'layer-components:data-[ending-style]:(scale-95 opacity-0)',
|
|
63
63
|
'layer-components:transform-origin-[var(--transform-origin)]',
|
|
64
64
|
{
|
|
65
|
-
'layer-variants:(bg-black
|
|
66
|
-
'layer-variants:(
|
|
65
|
+
'layer-variants:(color-white bg-black)': color === 'contrast',
|
|
66
|
+
'layer-variants:(border color-black bg-white border-gray)':
|
|
67
67
|
color === 'white' || color === 'neutral',
|
|
68
|
-
'layer-variants:(bg-attention-ink
|
|
68
|
+
'layer-variants:(color-white bg-attention-ink)':
|
|
69
69
|
color === 'attention',
|
|
70
70
|
},
|
|
71
71
|
className,
|
|
@@ -117,7 +117,7 @@ export function ViewportRoot({
|
|
|
117
117
|
>
|
|
118
118
|
<div
|
|
119
119
|
className={clsx(
|
|
120
|
-
'
|
|
120
|
+
'contain-strict relative h-full w-full flex-1 touch-none select-none overflow-hidden',
|
|
121
121
|
'focus-visible:(ring ring-accent)',
|
|
122
122
|
className,
|
|
123
123
|
)}
|
|
@@ -155,8 +155,8 @@ export function ViewportControlContent({
|
|
|
155
155
|
className={clsx(
|
|
156
156
|
'layer-variants:(absolute)',
|
|
157
157
|
{
|
|
158
|
-
'layer-components:(
|
|
159
|
-
'layer-components:(
|
|
158
|
+
'layer-components:(left-sm top-sm)': position === 'top-left',
|
|
159
|
+
'layer-components:(right-sm top-sm)': position === 'top-right',
|
|
160
160
|
'layer-components:(bottom-sm left-sm)': position === 'bottom-left',
|
|
161
161
|
'layer-components:(bottom-sm right-sm)': position === 'bottom-right',
|
|
162
162
|
},
|
|
@@ -90,7 +90,7 @@ export function ViewportContent({
|
|
|
90
90
|
<motion.div
|
|
91
91
|
{...rest}
|
|
92
92
|
className={clsx(
|
|
93
|
-
'layer-components:(absolute
|
|
93
|
+
'layer-components:(absolute transform-origin-center touch-none select-none overflow-visible overscroll-none)',
|
|
94
94
|
className,
|
|
95
95
|
)}
|
|
96
96
|
ref={finalRef}
|
|
@@ -245,7 +245,7 @@ export function useKeyboardControls(viewport: ViewportState) {
|
|
|
245
245
|
animationFrame = requestAnimationFrame(loop);
|
|
246
246
|
|
|
247
247
|
return () => {
|
|
248
|
-
animationFrame
|
|
248
|
+
if (animationFrame) cancelAnimationFrame(animationFrame);
|
|
249
249
|
};
|
|
250
250
|
}, [viewport]);
|
|
251
251
|
|