@pathscale/ui 0.0.141 → 0.0.143

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.
Files changed (74) hide show
  1. package/dist/components/accordion/index.d.ts +1 -1
  2. package/dist/components/alert/index.d.ts +1 -1
  3. package/dist/components/background/index.d.ts +1 -1
  4. package/dist/components/badge/index.d.ts +1 -1
  5. package/dist/components/bottom-sheet/BottomSheet.d.ts +1 -1
  6. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +1 -1
  7. package/dist/components/breadcrumbs/index.d.ts +1 -0
  8. package/dist/components/button/index.d.ts +1 -1
  9. package/dist/components/card/index.d.ts +1 -1
  10. package/dist/components/chatbubble/index.d.ts +1 -1
  11. package/dist/components/checkbox/index.d.ts +1 -1
  12. package/dist/components/codemockup/CodeMockup.d.ts +1 -1
  13. package/dist/components/codemockup/index.d.ts +1 -1
  14. package/dist/components/collapse/index.d.ts +1 -1
  15. package/dist/components/confirm-dialog/ConfirmDialog.d.ts +14 -0
  16. package/dist/components/confirm-dialog/index.d.ts +2 -0
  17. package/dist/components/connectionstatus/ConnectionStatus.d.ts +2 -2
  18. package/dist/components/countdown/index.d.ts +1 -1
  19. package/dist/components/diff/index.d.ts +1 -1
  20. package/dist/components/divider/index.d.ts +1 -0
  21. package/dist/components/dropdown/DropdownItem.d.ts +2 -0
  22. package/dist/components/dropdown/DropdownMenu.d.ts +1 -0
  23. package/dist/components/dropdown/DropdownToggle.d.ts +1 -0
  24. package/dist/components/dropdown/index.d.ts +1 -0
  25. package/dist/components/dropdown-select/DropdownSelect.d.ts +22 -0
  26. package/dist/components/dropdown-select/index.d.ts +2 -0
  27. package/dist/components/empty-state/EmptyState.d.ts +11 -0
  28. package/dist/components/empty-state/index.d.ts +2 -0
  29. package/dist/components/fieldset/Fieldset.d.ts +11 -0
  30. package/dist/components/fieldset/index.d.ts +2 -0
  31. package/dist/components/fileinput/index.d.ts +1 -1
  32. package/dist/components/flex/index.d.ts +1 -1
  33. package/dist/components/form-actions/FormActions.d.ts +14 -0
  34. package/dist/components/form-actions/index.d.ts +2 -0
  35. package/dist/components/glow-card/GlowCard.d.ts +5 -0
  36. package/dist/components/glow-card/index.d.ts +2 -0
  37. package/dist/components/grid/index.d.ts +1 -1
  38. package/dist/components/kbd/index.d.ts +1 -1
  39. package/dist/components/link/index.d.ts +1 -1
  40. package/dist/components/loading/index.d.ts +1 -1
  41. package/dist/components/mask/index.d.ts +1 -0
  42. package/dist/components/pagination/Pagination.d.ts +2 -1
  43. package/dist/components/progress/index.d.ts +1 -1
  44. package/dist/components/radialprogress/index.d.ts +1 -1
  45. package/dist/components/radio/index.d.ts +1 -1
  46. package/dist/components/radio-group/RadioGroup.d.ts +25 -0
  47. package/dist/components/radio-group/index.d.ts +2 -0
  48. package/dist/components/range/index.d.ts +1 -1
  49. package/dist/components/range-slider/RangeSlider.d.ts +21 -0
  50. package/dist/components/range-slider/index.d.ts +2 -0
  51. package/dist/components/select/index.d.ts +1 -1
  52. package/dist/components/skeleton/index.d.ts +1 -1
  53. package/dist/components/skip-link/SkipLink.d.ts +7 -0
  54. package/dist/components/skip-link/index.d.ts +2 -0
  55. package/dist/components/stat-card/index.d.ts +1 -1
  56. package/dist/components/stats/index.d.ts +1 -1
  57. package/dist/components/steps/index.d.ts +1 -0
  58. package/dist/components/swap/index.d.ts +1 -1
  59. package/dist/components/switch-field/SwitchField.d.ts +19 -0
  60. package/dist/components/switch-field/index.d.ts +2 -0
  61. package/dist/components/textarea/index.d.ts +1 -1
  62. package/dist/components/timeline/Timeline.d.ts +1 -1
  63. package/dist/components/timeline/index.d.ts +1 -1
  64. package/dist/components/toast/index.d.ts +1 -1
  65. package/dist/components/toastcontainer/ToastContainer.d.ts +2 -1
  66. package/dist/components/toggle/index.d.ts +1 -1
  67. package/dist/components/tooltip/index.d.ts +1 -1
  68. package/dist/components/video-preview/VideoPreview.d.ts +21 -0
  69. package/dist/components/video-preview/index.d.ts +2 -0
  70. package/dist/glow-card/GlowCard.css +65 -0
  71. package/dist/index.css +56 -0
  72. package/dist/index.d.ts +11 -0
  73. package/dist/index.js +1464 -300
  74. package/package.json +4 -3
@@ -1 +1 @@
1
- export { default } from "./Accordion";
1
+ export { default, type AccordionProps } from "./Accordion";
@@ -1 +1 @@
1
- export { default } from "./Alert";
1
+ export { default, type AlertProps } from "./Alert";
@@ -1 +1 @@
1
- export { default } from "./Background";
1
+ export { default, type BackgroundProps } from "./Background";
@@ -1 +1 @@
1
- export { default } from "./Badge";
1
+ export { default, type BadgeProps } from "./Badge";
@@ -3,7 +3,7 @@ import type { IComponentBaseProps } from "../types";
3
3
  export interface BottomSheetProps extends IComponentBaseProps {
4
4
  isOpen: boolean;
5
5
  onClose: () => void;
6
- children?: any;
6
+ children?: import("solid-js").JSX.Element;
7
7
  closeOnOverlayClick?: boolean;
8
8
  closeOnSwipeDown?: boolean;
9
9
  }
@@ -1,6 +1,6 @@
1
1
  import { type JSX, type Component } from "solid-js";
2
2
  import type { IComponentBaseProps } from "../types";
3
- type BreadcrumbProps = IComponentBaseProps & JSX.HTMLAttributes<HTMLDivElement> & {
3
+ export type BreadcrumbProps = IComponentBaseProps & JSX.HTMLAttributes<HTMLDivElement> & {
4
4
  innerProps?: JSX.HTMLAttributes<HTMLUListElement>;
5
5
  };
6
6
  declare const Breadcrumbs: Component<BreadcrumbProps>;
@@ -1,2 +1,3 @@
1
1
  export { default as Breadcrumbs } from "./Breadcrumbs";
2
+ export type { BreadcrumbProps } from "./Breadcrumbs";
2
3
  export { default as BreadcrumbsItem } from "./BreadcrumbsItem";
@@ -1 +1 @@
1
- export { default } from "./Button";
1
+ export { default, type ButtonProps } from "./Button";
@@ -1 +1 @@
1
- export { default } from "./Card";
1
+ export { default, type CardProps } from "./Card";
@@ -1 +1 @@
1
- export { default } from "./ChatBubble";
1
+ export { default, type ChatBubbleProps } from "./ChatBubble";
@@ -1 +1 @@
1
- export { default } from "./Checkbox";
1
+ export { default, type CheckboxProps } from "./Checkbox";
@@ -1,5 +1,5 @@
1
1
  import { type JSX, type ParentProps } from "solid-js";
2
2
  import type { IComponentBaseProps } from "../types";
3
- type CodeMockupProps = JSX.HTMLAttributes<HTMLDivElement> & IComponentBaseProps;
3
+ export type CodeMockupProps = JSX.HTMLAttributes<HTMLDivElement> & IComponentBaseProps;
4
4
  declare const CodeMockup: (props: ParentProps<CodeMockupProps>) => JSX.Element;
5
5
  export default CodeMockup;
@@ -1,2 +1,2 @@
1
- export { default as CodeMockup } from "./CodeMockup";
1
+ export { default as CodeMockup, type CodeMockupProps } from "./CodeMockup";
2
2
  export { default as CodeMockupLine } from "./CodeMockupLine";
@@ -1,4 +1,4 @@
1
1
  export { default as CollapseContent } from "./CollapseContent";
2
2
  export { CollapseTitle, Summary } from "./CollapseTitle";
3
3
  export { default as CollapseDetails } from "./CollapseDetails";
4
- export { default as Collapse } from "./Collapse";
4
+ export { default as Collapse, type CollapseProps } from "./Collapse";
@@ -0,0 +1,14 @@
1
+ import type { JSX, ParentProps } from "solid-js";
2
+ import type { ComponentColor, IComponentBaseProps } from "../types";
3
+ export type ConfirmDialogProps = ParentProps<IComponentBaseProps & Omit<JSX.HTMLAttributes<HTMLDialogElement>, "children"> & {
4
+ open: boolean;
5
+ onClose: () => void;
6
+ onConfirm: () => void;
7
+ title: string;
8
+ message?: JSX.Element;
9
+ confirmText?: string;
10
+ cancelText?: string;
11
+ confirmColor?: ComponentColor;
12
+ loading?: boolean;
13
+ }>;
14
+ export default function ConfirmDialog(props: ConfirmDialogProps): JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { default as ConfirmDialog } from "./ConfirmDialog";
2
+ export type { ConfirmDialogProps } from "./ConfirmDialog";
@@ -1,4 +1,4 @@
1
- import { type Component } from "solid-js";
1
+ import { type Component, type JSX } from "solid-js";
2
2
  import type { IComponentBaseProps } from "../types";
3
3
  export type ConnectionState = "connecting" | "connected" | "disconnected" | "error";
4
4
  export interface ConnectionStatusProps extends IComponentBaseProps {
@@ -49,7 +49,7 @@ export interface ConnectionStatusProps extends IComponentBaseProps {
49
49
  /**
50
50
  * Custom style
51
51
  */
52
- style?: any;
52
+ style?: JSX.CSSProperties;
53
53
  /**
54
54
  * Data theme
55
55
  */
@@ -1 +1 @@
1
- export { default } from "./Countdown";
1
+ export { default, type CountdownProps } from "./Countdown";
@@ -1 +1 @@
1
- export { default } from "./Diff";
1
+ export { default, type DiffProps } from "./Diff";
@@ -1,2 +1,3 @@
1
1
  import Divider from "./Divider";
2
+ export type { DividerProps } from "./Divider";
2
3
  export default Divider;
@@ -13,7 +13,9 @@ type NoAnchorProps = {
13
13
  closeOnClick?: boolean;
14
14
  };
15
15
  export type DropdownItemProps = (AnchorProps | ButtonProps | NoAnchorProps) & {
16
+ id?: string;
16
17
  "aria-selected"?: boolean;
18
+ role?: JSX.HTMLAttributes<HTMLLIElement>["role"];
17
19
  };
18
20
  declare const DropdownItem: (props: DropdownItemProps) => JSX.Element;
19
21
  export default DropdownItem;
@@ -3,6 +3,7 @@ import type { IComponentBaseProps } from "../types";
3
3
  export type DropdownMenuProps = JSX.HTMLAttributes<HTMLUListElement> & IComponentBaseProps & {
4
4
  id?: string;
5
5
  hideOverflow?: boolean;
6
+ role?: string;
6
7
  "aria-labelledby"?: string;
7
8
  };
8
9
  declare const DropdownMenu: (props: DropdownMenuProps) => JSX.Element;
@@ -10,6 +10,7 @@ export type DropdownToggleProps = Omit<JSX.LabelHTMLAttributes<HTMLLabelElement>
10
10
  "aria-haspopup"?: boolean | "menu" | "listbox" | "dialog" | "grid" | "tree";
11
11
  "aria-expanded"?: boolean;
12
12
  "aria-controls"?: string;
13
+ "aria-activedescendant"?: string;
13
14
  };
14
15
  declare const DropdownToggle: (props: DropdownToggleProps) => JSX.Element;
15
16
  export type SummaryProps = JSX.HTMLAttributes<HTMLElement>;
@@ -1,2 +1,3 @@
1
1
  import Dropdown from "./Dropdown";
2
+ export type { DropdownProps } from "./Dropdown";
2
3
  export default Dropdown;
@@ -0,0 +1,22 @@
1
+ import { type JSX } from "solid-js";
2
+ import type { ComponentSize, IComponentBaseProps } from "../types";
3
+ export type DropdownSelectOption = {
4
+ label: string;
5
+ value: string;
6
+ disabled?: boolean;
7
+ };
8
+ export type DropdownSelectProps = IComponentBaseProps & {
9
+ options: DropdownSelectOption[];
10
+ value?: string;
11
+ onChange?: (value: string) => void;
12
+ label?: string;
13
+ placeholder?: string;
14
+ disabled?: boolean;
15
+ showCheckmark?: boolean;
16
+ size?: ComponentSize;
17
+ "aria-label"?: string;
18
+ labelRenderer?: (value: string, option?: DropdownSelectOption) => JSX.Element;
19
+ optionRenderer?: (option: DropdownSelectOption, selected: boolean, highlighted: boolean) => JSX.Element;
20
+ };
21
+ declare const DropdownSelect: (props: DropdownSelectProps) => JSX.Element;
22
+ export default DropdownSelect;
@@ -0,0 +1,2 @@
1
+ export { default as DropdownSelect } from "./DropdownSelect";
2
+ export type { DropdownSelectProps, DropdownSelectOption } from "./DropdownSelect";
@@ -0,0 +1,11 @@
1
+ import { type JSX, type Component } from "solid-js";
2
+ import type { IComponentBaseProps } from "../types";
3
+ export type EmptyStateProps = IComponentBaseProps & Omit<JSX.HTMLAttributes<HTMLDivElement>, "title"> & {
4
+ icon?: string;
5
+ iconSize?: number;
6
+ image?: JSX.Element;
7
+ title?: JSX.Element;
8
+ description?: JSX.Element;
9
+ };
10
+ declare const EmptyState: Component<EmptyStateProps>;
11
+ export default EmptyState;
@@ -0,0 +1,2 @@
1
+ export { default as EmptyState } from "./EmptyState";
2
+ export type { EmptyStateProps } from "./EmptyState";
@@ -0,0 +1,11 @@
1
+ import { type JSX } from "solid-js";
2
+ import type { IComponentBaseProps, ComponentSize } from "../types";
3
+ export type FieldsetGap = ComponentSize | "none";
4
+ export type FieldsetProps = IComponentBaseProps & JSX.HTMLAttributes<HTMLFieldSetElement> & {
5
+ legend?: JSX.Element | string;
6
+ description?: string;
7
+ disabled?: boolean;
8
+ gap?: FieldsetGap;
9
+ };
10
+ declare const Fieldset: (props: FieldsetProps) => JSX.Element;
11
+ export default Fieldset;
@@ -0,0 +1,2 @@
1
+ export { default as Fieldset } from "./Fieldset";
2
+ export type { FieldsetProps } from "./Fieldset";
@@ -1 +1 @@
1
- export { default } from "./FileInput";
1
+ export { default, type FileInputProps } from "./FileInput";
@@ -1 +1 @@
1
- export { default } from "./Flex";
1
+ export { default, type FlexProps } from "./Flex";
@@ -0,0 +1,14 @@
1
+ import { type JSX } from "solid-js";
2
+ import type { IComponentBaseProps } from "../types";
3
+ export type FormActionsLayout = "single" | "split" | "center";
4
+ export type FormActionsProps = IComponentBaseProps & {
5
+ submitText?: string;
6
+ cancelText?: string;
7
+ isLoading?: boolean;
8
+ isValid?: boolean;
9
+ onCancel?: () => void;
10
+ layout?: FormActionsLayout;
11
+ children?: JSX.Element;
12
+ } & Omit<JSX.HTMLAttributes<HTMLDivElement>, "children">;
13
+ declare const FormActions: (props: FormActionsProps) => JSX.Element;
14
+ export default FormActions;
@@ -0,0 +1,2 @@
1
+ export { default as FormActions } from "./FormActions";
2
+ export type { FormActionsProps } from "./FormActions";
@@ -0,0 +1,5 @@
1
+ import { type JSX } from "solid-js";
2
+ import type { IComponentBaseProps } from "../types";
3
+ import "./GlowCard.css";
4
+ export type GlowCardProps = IComponentBaseProps & JSX.HTMLAttributes<HTMLDivElement>;
5
+ export default function GlowCard(props: GlowCardProps): JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { default as GlowCard } from "./GlowCard";
2
+ export type { GlowCardProps } from "./GlowCard";
@@ -1 +1 @@
1
- export { default } from "./Grid";
1
+ export { default, type GridProps } from "./Grid";
@@ -1 +1 @@
1
- export { default } from "./Kbd";
1
+ export { default, type KbdProps } from "./Kbd";
@@ -1 +1 @@
1
- export { default } from "./Link";
1
+ export { default, type LinkProps } from "./Link";
@@ -1 +1 @@
1
- export { default } from "./Loading";
1
+ export { default, type LoadingProps } from "./Loading";
@@ -1,2 +1,3 @@
1
1
  import Mask from "./Mask";
2
+ export type { MaskProps } from "./Mask";
2
3
  export default Mask;
@@ -1,4 +1,5 @@
1
+ import { type JSX } from "solid-js";
1
2
  import { type JoinProps } from "../join/Join";
2
3
  export type PaginationProps = JoinProps;
3
- declare const Pagination: (props: JoinProps) => import("solid-js").JSX.Element;
4
+ declare const Pagination: (props: PaginationProps) => JSX.Element;
4
5
  export default Pagination;
@@ -1 +1 @@
1
- export { default } from "./Progress";
1
+ export { default, type ProgressProps } from "./Progress";
@@ -1 +1 @@
1
- export { default } from "./RadialProgress";
1
+ export { default, type RadialProgressProps } from "./RadialProgress";
@@ -1 +1 @@
1
- export { default } from "./Radio";
1
+ export { default, type RadioProps } from "./Radio";
@@ -0,0 +1,25 @@
1
+ import { type JSX } from "solid-js";
2
+ import type { ComponentColor, ComponentSize, IComponentBaseProps } from "../types";
3
+ export type RadioGroupOption = {
4
+ value: string;
5
+ label: JSX.Element | string;
6
+ disabled?: boolean;
7
+ };
8
+ type RadioGroupBaseProps = {
9
+ name: string;
10
+ label?: string;
11
+ options: RadioGroupOption[];
12
+ value?: string;
13
+ onChange?: (value: string) => void;
14
+ size?: ComponentSize;
15
+ color?: ComponentColor;
16
+ direction?: "horizontal" | "vertical";
17
+ error?: string;
18
+ dataTheme?: string;
19
+ class?: string;
20
+ className?: string;
21
+ style?: JSX.CSSProperties;
22
+ };
23
+ export type RadioGroupProps = RadioGroupBaseProps & IComponentBaseProps;
24
+ declare const RadioGroup: (props: RadioGroupProps) => JSX.Element;
25
+ export default RadioGroup;
@@ -0,0 +1,2 @@
1
+ export { default as RadioGroup } from "./RadioGroup";
2
+ export type { RadioGroupProps, RadioGroupOption } from "./RadioGroup";
@@ -1 +1 @@
1
- export { default } from "./Range";
1
+ export { default, type RangeProps } from "./Range";
@@ -0,0 +1,21 @@
1
+ import { type JSX } from "solid-js";
2
+ import type { ComponentColor, ComponentSize, IComponentBaseProps } from "../types";
3
+ type SliderFieldBaseProps = {
4
+ label?: string;
5
+ value: number;
6
+ onChange: (value: number) => void;
7
+ min?: number;
8
+ max?: number;
9
+ step?: number;
10
+ disabled?: boolean;
11
+ formatValue?: (value: number) => string;
12
+ color?: ComponentColor;
13
+ size?: ComponentSize;
14
+ dataTheme?: string;
15
+ class?: string;
16
+ className?: string;
17
+ style?: JSX.CSSProperties;
18
+ };
19
+ export type SliderFieldProps = SliderFieldBaseProps & IComponentBaseProps & Omit<JSX.InputHTMLAttributes<HTMLInputElement>, keyof SliderFieldBaseProps>;
20
+ declare const SliderField: (props: SliderFieldProps) => JSX.Element;
21
+ export default SliderField;
@@ -0,0 +1,2 @@
1
+ export { default as SliderField } from "./RangeSlider";
2
+ export type { SliderFieldProps } from "./RangeSlider";
@@ -1 +1 @@
1
- export { default } from "./Select";
1
+ export { default, type SelectProps } from "./Select";
@@ -1 +1 @@
1
- export { default } from "./Skeleton";
1
+ export { default, type SkeletonProps } from "./Skeleton";
@@ -0,0 +1,7 @@
1
+ import { type JSX } from "solid-js";
2
+ import type { IComponentBaseProps } from "../types";
3
+ export type SkipLinkProps = IComponentBaseProps & {
4
+ href?: string;
5
+ children?: JSX.Element;
6
+ } & Omit<JSX.AnchorHTMLAttributes<HTMLAnchorElement>, "href" | "children" | "class" | "className" | "style">;
7
+ export default function SkipLink(props: SkipLinkProps): JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { default as SkipLink } from "./SkipLink";
2
+ export type { SkipLinkProps } from "./SkipLink";
@@ -1 +1 @@
1
- export { default } from "./StatCard";
1
+ export { default, type StatCardProps } from "./StatCard";
@@ -1 +1 @@
1
- export { default } from "./Stats";
1
+ export { default, type StatsProps } from "./Stats";
@@ -1,2 +1,3 @@
1
1
  import Steps from "./Steps";
2
+ export type { StepsProps } from "./Steps";
2
3
  export default Steps;
@@ -1 +1 @@
1
- export { default } from "./Swap";
1
+ export { default, type SwapProps } from "./Swap";
@@ -0,0 +1,19 @@
1
+ import { type JSX } from "solid-js";
2
+ import type { ComponentColor, ComponentSize, IComponentBaseProps } from "../types";
3
+ type SwitchFieldBaseProps = {
4
+ label: string;
5
+ description?: string;
6
+ checked?: boolean;
7
+ onChange?: (checked: boolean) => void;
8
+ disabled?: boolean;
9
+ size?: ComponentSize;
10
+ color?: ComponentColor;
11
+ error?: string;
12
+ dataTheme?: string;
13
+ class?: string;
14
+ className?: string;
15
+ style?: JSX.CSSProperties;
16
+ };
17
+ export type SwitchFieldProps = SwitchFieldBaseProps & IComponentBaseProps;
18
+ declare const SwitchField: (props: SwitchFieldProps) => JSX.Element;
19
+ export default SwitchField;
@@ -0,0 +1,2 @@
1
+ export { default as SwitchField } from "./SwitchField";
2
+ export type { SwitchFieldProps } from "./SwitchField";
@@ -1 +1 @@
1
- export { default } from "./Textarea";
1
+ export { default, type TextareaProps } from "./Textarea";
@@ -1,6 +1,6 @@
1
1
  import { type JSX } from "solid-js";
2
2
  import type { IComponentBaseProps } from "../types";
3
- type TimelineProps = IComponentBaseProps & JSX.HTMLAttributes<HTMLUListElement> & {
3
+ export type TimelineProps = IComponentBaseProps & JSX.HTMLAttributes<HTMLUListElement> & {
4
4
  vertical?: boolean;
5
5
  horizontal?: boolean;
6
6
  responsive?: boolean;
@@ -1,4 +1,4 @@
1
- export { default as Timeline } from "./Timeline";
1
+ export { default as Timeline, type TimelineProps } from "./Timeline";
2
2
  export { default as TimelineItem } from "./TimelineItem";
3
3
  export { default as TimelineStart } from "./TimelineStart";
4
4
  export { default as TimelineMiddle } from "./TimelineMiddle";
@@ -1 +1 @@
1
- export { default } from "./Toast";
1
+ export { default, type ToastProps } from "./Toast";
@@ -1,2 +1,3 @@
1
1
  import { type Component } from "solid-js";
2
- export declare const ToastContainer: Component;
2
+ import type { ToastStackProps } from "./ToastStack";
3
+ export declare const ToastContainer: Component<ToastStackProps>;
@@ -1 +1 @@
1
- export { default } from "./Toggle";
1
+ export { default, type ToggleProps } from "./Toggle";
@@ -1 +1 @@
1
- export { default } from "./Tooltip";
1
+ export { default, type TooltipProps } from "./Tooltip";
@@ -0,0 +1,21 @@
1
+ import { type Accessor, type Component, type JSX } from "solid-js";
2
+ import type { IComponentBaseProps } from "../types";
3
+ type VideoPreviewBaseProps = {
4
+ /**
5
+ * Reactive accessor for the MediaStream to display
6
+ */
7
+ stream: Accessor<MediaStream | null>;
8
+ /**
9
+ * Whether the video should be muted
10
+ * @default true
11
+ */
12
+ muted?: boolean;
13
+ /**
14
+ * Whether to mirror the video (applies scaleX(-1))
15
+ * @default false
16
+ */
17
+ mirror?: boolean;
18
+ };
19
+ export type VideoPreviewProps = VideoPreviewBaseProps & IComponentBaseProps & Omit<JSX.VideoHTMLAttributes<HTMLVideoElement>, keyof VideoPreviewBaseProps>;
20
+ export declare const VideoPreview: Component<VideoPreviewProps>;
21
+ export default VideoPreview;
@@ -0,0 +1,2 @@
1
+ export { default as VideoPreview } from "./VideoPreview";
2
+ export type { VideoPreviewProps } from "./VideoPreview";
@@ -0,0 +1,65 @@
1
+ .glow-card {
2
+ --glow-color-border: oklch(100% 0 0 / 0.3);
3
+ --glow-color-bg: oklch(100% 0 0 / 0.1);
4
+ position: relative;
5
+ border-radius: inherit;
6
+ }
7
+
8
+ .glow-card::before,
9
+ .glow-card::after {
10
+ content: "";
11
+ position: absolute;
12
+ inset: 0;
13
+ border-radius: inherit;
14
+ opacity: 0;
15
+ transition: opacity 0.3s ease;
16
+ pointer-events: none;
17
+ }
18
+
19
+ .glow-card::before {
20
+ background: radial-gradient(
21
+ 250px circle at var(--mouse-x) var(--mouse-y),
22
+ var(--glow-color-border),
23
+ transparent 80%
24
+ );
25
+ z-index: 1;
26
+ inset: -1px;
27
+ -webkit-mask:
28
+ linear-gradient(#fff 0 0) content-box,
29
+ linear-gradient(#fff 0 0);
30
+ mask:
31
+ linear-gradient(#fff 0 0) content-box,
32
+ linear-gradient(#fff 0 0);
33
+ -webkit-mask-composite: xor;
34
+ mask-composite: exclude;
35
+ padding: 1px;
36
+ }
37
+
38
+ .glow-card::after {
39
+ background: radial-gradient(
40
+ 400px circle at var(--mouse-x) var(--mouse-y),
41
+ var(--glow-color-bg),
42
+ transparent 80%
43
+ );
44
+ z-index: 0;
45
+ }
46
+
47
+ .glow-card:hover::before,
48
+ .glow-card:hover::after {
49
+ opacity: 1;
50
+ }
51
+
52
+ [data-theme="light"] .glow-card::before {
53
+ --glow-color-border: oklch(30% 0.15 260 / 0.4);
54
+ }
55
+
56
+ [data-theme="light"] .glow-card::after {
57
+ --glow-color-bg: oklch(30% 0.15 260 / 0.15);
58
+ }
59
+
60
+ @media (prefers-reduced-motion: reduce) {
61
+ .glow-card::before,
62
+ .glow-card::after {
63
+ opacity: 0 !important;
64
+ }
65
+ }
package/dist/index.css ADDED
@@ -0,0 +1,56 @@
1
+ .glow-card {
2
+ --glow-color-border: oklch(100% 0 0 / .3);
3
+ --glow-color-bg: oklch(100% 0 0 / .1);
4
+ border-radius: inherit;
5
+ position: relative;
6
+ }
7
+
8
+ .glow-card:before, .glow-card:after {
9
+ content: "";
10
+ border-radius: inherit;
11
+ opacity: 0;
12
+ pointer-events: none;
13
+ transition: opacity .3s;
14
+ position: absolute;
15
+ inset: 0;
16
+ }
17
+
18
+ .glow-card:before {
19
+ background: radial-gradient(250px circle at var(--mouse-x) var(--mouse-y), var(--glow-color-border), transparent 80%);
20
+ z-index: 1;
21
+ -webkit-mask-composite: xor;
22
+ padding: 1px;
23
+ inset: -1px;
24
+ mask-image: linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
25
+ mask-position: 0 0, 0 0;
26
+ mask-size: auto, auto;
27
+ mask-repeat: repeat, repeat;
28
+ mask-clip: content-box, border-box;
29
+ mask-origin: content-box, border-box;
30
+ mask-composite: exclude;
31
+ mask-mode: match-source, match-source;
32
+ }
33
+
34
+ .glow-card:after {
35
+ background: radial-gradient(400px circle at var(--mouse-x) var(--mouse-y), var(--glow-color-bg), transparent 80%);
36
+ z-index: 0;
37
+ }
38
+
39
+ .glow-card:hover:before, .glow-card:hover:after {
40
+ opacity: 1;
41
+ }
42
+
43
+ [data-theme="light"] .glow-card:before {
44
+ --glow-color-border: oklch(30% .15 260 / .4);
45
+ }
46
+
47
+ [data-theme="light"] .glow-card:after {
48
+ --glow-color-bg: oklch(30% .15 260 / .15);
49
+ }
50
+
51
+ @media (prefers-reduced-motion: reduce) {
52
+ .glow-card:before, .glow-card:after {
53
+ opacity: 0 !important;
54
+ }
55
+ }
56
+