@vinyasa/feedback 1.0.21

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 (111) hide show
  1. package/README.md +134 -0
  2. package/dist/cjs/alert.cjs +286 -0
  3. package/dist/cjs/alert.css +51 -0
  4. package/dist/cjs/banner.cjs +270 -0
  5. package/dist/cjs/banner.css +37 -0
  6. package/dist/cjs/circular-progress.cjs +286 -0
  7. package/dist/cjs/circular-progress.css +30 -0
  8. package/dist/cjs/empty-state.cjs +165 -0
  9. package/dist/cjs/empty-state.css +7 -0
  10. package/dist/cjs/error-boundary.cjs +234 -0
  11. package/dist/cjs/error-boundary.css +7 -0
  12. package/dist/cjs/index.cjs +1763 -0
  13. package/dist/cjs/index.css +448 -0
  14. package/dist/cjs/inline-message.cjs +366 -0
  15. package/dist/cjs/inline-message.css +29 -0
  16. package/dist/cjs/loading-overlay.cjs +451 -0
  17. package/dist/cjs/loading-overlay.css +61 -0
  18. package/dist/cjs/progress-bar.cjs +163 -0
  19. package/dist/cjs/progress-bar.css +15 -0
  20. package/dist/cjs/skeleton.cjs +282 -0
  21. package/dist/cjs/skeleton.css +42 -0
  22. package/dist/cjs/spinner.cjs +329 -0
  23. package/dist/cjs/spinner.css +34 -0
  24. package/dist/cjs/toaster.cjs +377 -0
  25. package/dist/cjs/toaster.css +176 -0
  26. package/dist/esm/147.css +176 -0
  27. package/dist/esm/147.js +164 -0
  28. package/dist/esm/158.css +21 -0
  29. package/dist/esm/158.js +31 -0
  30. package/dist/esm/266.css +30 -0
  31. package/dist/esm/266.js +75 -0
  32. package/dist/esm/277.js +8 -0
  33. package/dist/esm/288.css +7 -0
  34. package/dist/esm/288.js +38 -0
  35. package/dist/esm/474.js +76 -0
  36. package/dist/esm/495.css +39 -0
  37. package/dist/esm/495.js +61 -0
  38. package/dist/esm/516.css +29 -0
  39. package/dist/esm/516.js +66 -0
  40. package/dist/esm/703.css +34 -0
  41. package/dist/esm/703.js +56 -0
  42. package/dist/esm/872.css +15 -0
  43. package/dist/esm/872.js +29 -0
  44. package/dist/esm/880.js +47 -0
  45. package/dist/esm/903.css +51 -0
  46. package/dist/esm/903.js +61 -0
  47. package/dist/esm/953.js +87 -0
  48. package/dist/esm/989.css +37 -0
  49. package/dist/esm/989.js +46 -0
  50. package/dist/esm/alert.d.ts +2 -0
  51. package/dist/esm/alert.js +1 -0
  52. package/dist/esm/banner.d.ts +2 -0
  53. package/dist/esm/banner.js +1 -0
  54. package/dist/esm/circular-progress.d.ts +2 -0
  55. package/dist/esm/circular-progress.js +1 -0
  56. package/dist/esm/components/alert/Alert.css.d.ts +24 -0
  57. package/dist/esm/components/alert/Alert.d.ts +14 -0
  58. package/dist/esm/components/alert/index.d.ts +1 -0
  59. package/dist/esm/components/banner/Banner.css.d.ts +21 -0
  60. package/dist/esm/components/banner/Banner.d.ts +12 -0
  61. package/dist/esm/components/banner/index.d.ts +1 -0
  62. package/dist/esm/components/circular-progress/CircularProgress.css.d.ts +4 -0
  63. package/dist/esm/components/circular-progress/CircularProgress.d.ts +17 -0
  64. package/dist/esm/components/circular-progress/index.d.ts +1 -0
  65. package/dist/esm/components/empty-state/EmptyState.css.d.ts +1 -0
  66. package/dist/esm/components/empty-state/EmptyState.d.ts +15 -0
  67. package/dist/esm/components/empty-state/index.d.ts +1 -0
  68. package/dist/esm/components/error-boundary/ErrorBoundary.d.ts +32 -0
  69. package/dist/esm/components/error-boundary/index.d.ts +1 -0
  70. package/dist/esm/components/inline-message/InlineMessage.css.d.ts +17 -0
  71. package/dist/esm/components/inline-message/InlineMessage.d.ts +10 -0
  72. package/dist/esm/components/inline-message/index.d.ts +1 -0
  73. package/dist/esm/components/loading-overlay/LoadingOverlay.css.d.ts +3 -0
  74. package/dist/esm/components/loading-overlay/LoadingOverlay.d.ts +11 -0
  75. package/dist/esm/components/loading-overlay/index.d.ts +1 -0
  76. package/dist/esm/components/progress-bar/ProgressBar.css.d.ts +2 -0
  77. package/dist/esm/components/progress-bar/ProgressBar.d.ts +12 -0
  78. package/dist/esm/components/progress-bar/index.d.ts +1 -0
  79. package/dist/esm/components/skeleton/Skeleton.css.d.ts +15 -0
  80. package/dist/esm/components/skeleton/Skeleton.d.ts +35 -0
  81. package/dist/esm/components/skeleton/index.d.ts +1 -0
  82. package/dist/esm/components/spinner/Spinner.css.d.ts +16 -0
  83. package/dist/esm/components/spinner/Spinner.d.ts +10 -0
  84. package/dist/esm/components/spinner/index.d.ts +1 -0
  85. package/dist/esm/components/toaster/ToastItemView.d.ts +7 -0
  86. package/dist/esm/components/toaster/Toaster.css.d.ts +59 -0
  87. package/dist/esm/components/toaster/Toaster.d.ts +10 -0
  88. package/dist/esm/components/toaster/index.d.ts +2 -0
  89. package/dist/esm/components/toaster/toastStore.d.ts +25 -0
  90. package/dist/esm/empty-state.d.ts +2 -0
  91. package/dist/esm/empty-state.js +1 -0
  92. package/dist/esm/error-boundary.d.ts +2 -0
  93. package/dist/esm/error-boundary.js +1 -0
  94. package/dist/esm/index.d.ts +12 -0
  95. package/dist/esm/index.js +11 -0
  96. package/dist/esm/inline-message.d.ts +2 -0
  97. package/dist/esm/inline-message.js +1 -0
  98. package/dist/esm/loading-overlay.d.ts +2 -0
  99. package/dist/esm/loading-overlay.js +1 -0
  100. package/dist/esm/polymorphic.d.ts +5 -0
  101. package/dist/esm/progress-bar.d.ts +2 -0
  102. package/dist/esm/progress-bar.js +1 -0
  103. package/dist/esm/skeleton.d.ts +2 -0
  104. package/dist/esm/skeleton.js +1 -0
  105. package/dist/esm/spacing.d.ts +19 -0
  106. package/dist/esm/spinner.d.ts +2 -0
  107. package/dist/esm/spinner.js +1 -0
  108. package/dist/esm/status.d.ts +4 -0
  109. package/dist/esm/toaster.d.ts +2 -0
  110. package/dist/esm/toaster.js +1 -0
  111. package/package.json +147 -0
@@ -0,0 +1,164 @@
1
+ import "./147.css";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useSyncExternalStore } from "react";
4
+ import { XIcon } from "@vinyasa/icons";
5
+ import { createRuntimeFn } from "./953.js";
6
+ import { statusIcons } from "./277.js";
7
+ var body = '_1xil9gel';
8
+ var closeButton = '_1xil9geo';
9
+ var description = '_1xil9gen';
10
+ var enterFromBottom = '_1xil9geh';
11
+ var enterFromTop = '_1xil9geg';
12
+ var exitToBottom = '_1xil9gej';
13
+ var exitToTop = '_1xil9gei';
14
+ var icon = '_1xil9gek';
15
+ var stack = createRuntimeFn({
16
+ defaultClassName: '_1xil9ge0',
17
+ variantClassNames: {
18
+ position: {
19
+ 'top-left': '_1xil9ge1',
20
+ 'top-center': '_1xil9ge2',
21
+ 'top-right': '_1xil9ge3',
22
+ 'bottom-left': '_1xil9ge4',
23
+ 'bottom-center': '_1xil9ge5',
24
+ 'bottom-right': '_1xil9ge6'
25
+ }
26
+ },
27
+ defaultVariants: {
28
+ position: 'bottom-right'
29
+ },
30
+ compoundVariants: []
31
+ });
32
+ var title = '_1xil9gem';
33
+ var toastCard = createRuntimeFn({
34
+ defaultClassName: '_1xil9ge7',
35
+ variantClassNames: {
36
+ status: {
37
+ info: '_1xil9ge8',
38
+ success: '_1xil9ge9',
39
+ warning: '_1xil9gea',
40
+ error: '_1xil9geb'
41
+ }
42
+ },
43
+ defaultVariants: {
44
+ status: 'info'
45
+ },
46
+ compoundVariants: []
47
+ });
48
+ const TOAST_EXIT_DURATION_MS = 150;
49
+ let toasts = [];
50
+ const listeners = new Set();
51
+ let nextId = 0;
52
+ const notify = ()=>{
53
+ for (const listener of listeners)listener();
54
+ };
55
+ const subscribe = (listener)=>{
56
+ listeners.add(listener);
57
+ return ()=>{
58
+ listeners.delete(listener);
59
+ };
60
+ };
61
+ const getSnapshot = ()=>toasts;
62
+ const show = (options)=>{
63
+ const id = String(nextId);
64
+ nextId += 1;
65
+ const item = {
66
+ id,
67
+ status: options.status ?? 'info',
68
+ title: options.title,
69
+ description: options.description,
70
+ duration: options.duration ?? 4000,
71
+ exiting: false
72
+ };
73
+ toasts = [
74
+ ...toasts,
75
+ item
76
+ ];
77
+ notify();
78
+ return id;
79
+ };
80
+ const dismiss = (id)=>{
81
+ const target = toasts.find((item)=>item.id === id);
82
+ if (!target || target.exiting) return;
83
+ toasts = toasts.map((item)=>item.id === id ? {
84
+ ...item,
85
+ exiting: true
86
+ } : item);
87
+ notify();
88
+ setTimeout(()=>{
89
+ toasts = toasts.filter((item)=>item.id !== id);
90
+ notify();
91
+ }, TOAST_EXIT_DURATION_MS);
92
+ };
93
+ const toast = {
94
+ show: show,
95
+ dismiss: dismiss
96
+ };
97
+ const ToastItemView = ({ id, status, title: itemTitle, description: itemDescription, duration, exiting, edge })=>{
98
+ useEffect(()=>{
99
+ if (duration <= 0) return;
100
+ const timer = setTimeout(()=>{
101
+ dismiss(id);
102
+ }, duration);
103
+ return ()=>{
104
+ clearTimeout(timer);
105
+ };
106
+ }, [
107
+ id,
108
+ duration
109
+ ]);
110
+ const Icon = statusIcons[status];
111
+ const animationClass = exiting ? 'top' === edge ? exitToTop : exitToBottom : 'top' === edge ? enterFromTop : enterFromBottom;
112
+ return /*#__PURE__*/ jsxs("div", {
113
+ className: `${toastCard({
114
+ status
115
+ })} ${animationClass}`,
116
+ role: "status",
117
+ children: [
118
+ /*#__PURE__*/ jsx(Icon, {
119
+ className: icon,
120
+ "aria-hidden": "true"
121
+ }),
122
+ /*#__PURE__*/ jsxs("div", {
123
+ className: body,
124
+ children: [
125
+ /*#__PURE__*/ jsx("p", {
126
+ className: title,
127
+ children: itemTitle
128
+ }),
129
+ itemDescription ? /*#__PURE__*/ jsx("p", {
130
+ className: description,
131
+ children: itemDescription
132
+ }) : null
133
+ ]
134
+ }),
135
+ /*#__PURE__*/ jsx("button", {
136
+ type: "button",
137
+ className: closeButton,
138
+ onClick: ()=>{
139
+ dismiss(id);
140
+ },
141
+ "aria-label": "Dismiss",
142
+ children: /*#__PURE__*/ jsx(XIcon, {})
143
+ })
144
+ ]
145
+ });
146
+ };
147
+ const toaster_ToastItemView = ToastItemView;
148
+ const emptySnapshot = [];
149
+ const Toaster = ({ position = 'bottom-right' })=>{
150
+ const items = useSyncExternalStore(subscribe, getSnapshot, ()=>emptySnapshot);
151
+ const edge = position.startsWith('top') ? 'top' : 'bottom';
152
+ return /*#__PURE__*/ jsx("div", {
153
+ className: stack({
154
+ position
155
+ }),
156
+ children: items.map((item)=>/*#__PURE__*/ jsx(toaster_ToastItemView, {
157
+ ...item,
158
+ edge: edge
159
+ }, item.id))
160
+ });
161
+ };
162
+ Toaster.displayName = 'Toaster';
163
+ const toaster_Toaster = Toaster;
164
+ export { toast, toaster_Toaster as Toaster };
@@ -0,0 +1,21 @@
1
+ ._1vw410a0 {
2
+ position: relative;
3
+ }
4
+
5
+ ._1vw410a1 {
6
+ z-index: var(--vinyasa-z-index-overlay);
7
+ justify-content: center;
8
+ align-items: center;
9
+ display: flex;
10
+ position: absolute;
11
+ inset: 0;
12
+ }
13
+
14
+ ._1vw410a2 {
15
+ background-color: var(--vinyasa-secondary);
16
+ opacity: .8;
17
+ border-radius: inherit;
18
+ position: absolute;
19
+ inset: 0;
20
+ }
21
+
@@ -0,0 +1,31 @@
1
+ import "./158.css";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import box from "@vinyasa/layout/box";
4
+ import { forwardRef } from "react";
5
+ import { Spinner as spinner_Spinner } from "./703.js";
6
+ var backdrop = '_1vw410a2';
7
+ var overlay = '_1vw410a1';
8
+ var wrapper = '_1vw410a0';
9
+ const LoadingOverlay = /*#__PURE__*/ forwardRef(({ visible, className, children, ...rest }, ref)=>{
10
+ const classes = className ? `${wrapper} ${className}` : wrapper;
11
+ return /*#__PURE__*/ jsxs(box, {
12
+ ref: ref,
13
+ className: classes,
14
+ ...rest,
15
+ children: [
16
+ children,
17
+ visible ? /*#__PURE__*/ jsxs("div", {
18
+ className: overlay,
19
+ children: [
20
+ /*#__PURE__*/ jsx("div", {
21
+ className: backdrop
22
+ }),
23
+ /*#__PURE__*/ jsx(spinner_Spinner, {})
24
+ ]
25
+ }) : null
26
+ ]
27
+ });
28
+ });
29
+ LoadingOverlay.displayName = 'LoadingOverlay';
30
+ const loading_overlay_LoadingOverlay = LoadingOverlay;
31
+ export { loading_overlay_LoadingOverlay as LoadingOverlay };
@@ -0,0 +1,30 @@
1
+ @keyframes _1af39sp0 {
2
+ from {
3
+ transform: rotate(0);
4
+ }
5
+
6
+ to {
7
+ transform: rotate(360deg);
8
+ }
9
+ }
10
+
11
+ ._1af39sp1 {
12
+ display: block;
13
+ }
14
+
15
+ ._1af39sp2 {
16
+ animation: 1s linear infinite _1af39sp0;
17
+ }
18
+
19
+ ._1af39sp3 {
20
+ stroke: var(--vinyasa-secondary);
21
+ fill: none;
22
+ }
23
+
24
+ ._1af39sp4 {
25
+ stroke: var(--vinyasa-primary);
26
+ fill: none;
27
+ stroke-linecap: round;
28
+ transition: stroke-dashoffset var(--vinyasa-motion-duration-normal) var(--vinyasa-motion-easing-standard);
29
+ }
30
+
@@ -0,0 +1,75 @@
1
+ import "./266.css";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { forwardRef } from "react";
4
+ import { resolveSpacingStyle } from "./474.js";
5
+ var fill = '_1af39sp4';
6
+ var indeterminate = '_1af39sp2';
7
+ var svg = '_1af39sp1';
8
+ var track = '_1af39sp3';
9
+ const CircularProgress = /*#__PURE__*/ forwardRef(({ value, max = 100, size = 32, strokeWidth = 4, m, mt, mr, mb, ml, mx, my, p, pt, pr, pb, pl, px, py, className, style, ...rest }, ref)=>{
10
+ const radius = (size - strokeWidth) / 2;
11
+ const circumference = 2 * Math.PI * radius;
12
+ const isIndeterminate = void 0 === value;
13
+ const percent = isIndeterminate ? 25 : Math.min(100, Math.max(0, value / max * 100));
14
+ const dashOffset = circumference - percent / 100 * circumference;
15
+ const computedStyle = {
16
+ ...resolveSpacingStyle({
17
+ m,
18
+ mt,
19
+ mr,
20
+ mb,
21
+ ml,
22
+ mx,
23
+ my,
24
+ p,
25
+ pt,
26
+ pr,
27
+ pb,
28
+ pl,
29
+ px,
30
+ py
31
+ }),
32
+ ...style
33
+ };
34
+ const classes = [
35
+ svg,
36
+ isIndeterminate ? indeterminate : null,
37
+ className
38
+ ].filter(Boolean).join(' ');
39
+ const center = size / 2;
40
+ return /*#__PURE__*/ jsxs("svg", {
41
+ ref: ref,
42
+ role: "progressbar",
43
+ "aria-valuenow": isIndeterminate ? void 0 : value,
44
+ "aria-valuemin": 0,
45
+ "aria-valuemax": max,
46
+ width: size,
47
+ height: size,
48
+ viewBox: `0 0 ${String(size)} ${String(size)}`,
49
+ className: classes,
50
+ style: computedStyle,
51
+ ...rest,
52
+ children: [
53
+ /*#__PURE__*/ jsx("circle", {
54
+ className: track,
55
+ cx: center,
56
+ cy: center,
57
+ r: radius,
58
+ strokeWidth: strokeWidth
59
+ }),
60
+ /*#__PURE__*/ jsx("circle", {
61
+ className: fill,
62
+ cx: center,
63
+ cy: center,
64
+ r: radius,
65
+ strokeWidth: strokeWidth,
66
+ strokeDasharray: circumference,
67
+ strokeDashoffset: dashOffset,
68
+ transform: `rotate(-90 ${String(center)} ${String(center)})`
69
+ })
70
+ ]
71
+ });
72
+ });
73
+ CircularProgress.displayName = 'CircularProgress';
74
+ const circular_progress_CircularProgress = CircularProgress;
75
+ export { circular_progress_CircularProgress as CircularProgress };
@@ -0,0 +1,8 @@
1
+ import { AlertTriangleIcon, CheckCircleIcon, InfoIcon, XIcon } from "@vinyasa/icons";
2
+ const statusIcons = {
3
+ info: InfoIcon,
4
+ success: CheckCircleIcon,
5
+ warning: AlertTriangleIcon,
6
+ error: XIcon
7
+ };
8
+ export { statusIcons };
@@ -0,0 +1,7 @@
1
+ .dmnndp0 {
2
+ color: var(--vinyasa-text-muted);
3
+ margin-bottom: var(--vinyasa-space2);
4
+ font-size: 3rem;
5
+ display: flex;
6
+ }
7
+
@@ -0,0 +1,38 @@
1
+ import "./288.css";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { Center, Stack } from "@vinyasa/layout";
4
+ import { Heading, Paragraph } from "@vinyasa/typography";
5
+ import { forwardRef } from "react";
6
+ var iconWrapper = 'dmnndp0';
7
+ const EmptyState = /*#__PURE__*/ forwardRef(({ icon, title, description, action, p = 6, ...rest }, ref)=>/*#__PURE__*/ jsx(Center, {
8
+ ref: ref,
9
+ p: p,
10
+ ...rest,
11
+ children: /*#__PURE__*/ jsxs(Stack, {
12
+ gap: 2,
13
+ align: "center",
14
+ style: {
15
+ textAlign: 'center',
16
+ maxWidth: '24rem'
17
+ },
18
+ children: [
19
+ icon ? /*#__PURE__*/ jsx("span", {
20
+ className: iconWrapper,
21
+ children: icon
22
+ }) : null,
23
+ /*#__PURE__*/ jsx(Heading, {
24
+ as: "h3",
25
+ size: "lg",
26
+ children: title
27
+ }),
28
+ description ? /*#__PURE__*/ jsx(Paragraph, {
29
+ color: "muted",
30
+ children: description
31
+ }) : null,
32
+ action
33
+ ]
34
+ })
35
+ }));
36
+ EmptyState.displayName = 'EmptyState';
37
+ const empty_state_EmptyState = EmptyState;
38
+ export { empty_state_EmptyState as EmptyState };
@@ -0,0 +1,76 @@
1
+ import { themeContract } from "@vinyasa/tokens";
2
+ const space = {
3
+ 1: themeContract.space1,
4
+ 2: themeContract.space2,
5
+ 3: themeContract.space3,
6
+ 4: themeContract.space4,
7
+ 5: themeContract.space5,
8
+ 6: themeContract.space6
9
+ };
10
+ const spacingPropertyMap = [
11
+ [
12
+ 'm',
13
+ 'margin'
14
+ ],
15
+ [
16
+ 'mx',
17
+ 'marginInline'
18
+ ],
19
+ [
20
+ 'my',
21
+ 'marginBlock'
22
+ ],
23
+ [
24
+ 'mt',
25
+ 'marginTop'
26
+ ],
27
+ [
28
+ 'mr',
29
+ 'marginRight'
30
+ ],
31
+ [
32
+ 'mb',
33
+ 'marginBottom'
34
+ ],
35
+ [
36
+ 'ml',
37
+ 'marginLeft'
38
+ ],
39
+ [
40
+ 'p',
41
+ 'padding'
42
+ ],
43
+ [
44
+ 'px',
45
+ 'paddingInline'
46
+ ],
47
+ [
48
+ 'py',
49
+ 'paddingBlock'
50
+ ],
51
+ [
52
+ 'pt',
53
+ 'paddingTop'
54
+ ],
55
+ [
56
+ 'pr',
57
+ 'paddingRight'
58
+ ],
59
+ [
60
+ 'pb',
61
+ 'paddingBottom'
62
+ ],
63
+ [
64
+ 'pl',
65
+ 'paddingLeft'
66
+ ]
67
+ ];
68
+ const resolveSpacingStyle = (props)=>{
69
+ const style = {};
70
+ for (const [propKey, cssProperty] of spacingPropertyMap){
71
+ const value = props[propKey];
72
+ if (void 0 !== value) style[cssProperty] = space[value];
73
+ }
74
+ return style;
75
+ };
76
+ export { resolveSpacingStyle };
@@ -0,0 +1,39 @@
1
+ @keyframes i625lp0 {
2
+ 0% {
3
+ background-position: 200% 0;
4
+ }
5
+
6
+ 100% {
7
+ background-position: -200% 0;
8
+ }
9
+ }
10
+
11
+ .i625lp1 {
12
+ background-color: var(--vinyasa-secondary);
13
+ background-image: linear-gradient(90deg, var(--vinyasa-secondary) 25%, var(--vinyasa-border-color-default) 50%, var(--vinyasa-secondary) 75%);
14
+ border-radius: var(--vinyasa-radius-sm);
15
+ background-size: 200% 100%;
16
+ display: block;
17
+ }
18
+
19
+ .i625lp2 {
20
+ border-radius: var(--vinyasa-radius-full);
21
+ }
22
+
23
+ .i625lp3 {
24
+ animation: 1.5s ease-in-out infinite i625lp0;
25
+ }
26
+
27
+ .i625lp4 {
28
+ position: relative;
29
+ }
30
+
31
+ .i625lp5 {
32
+ position: absolute;
33
+ inset: 0;
34
+ }
35
+
36
+ .i625lp6 {
37
+ visibility: hidden;
38
+ }
39
+
@@ -0,0 +1,61 @@
1
+ import "./495.css";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import box from "@vinyasa/layout/box";
4
+ import { forwardRef } from "react";
5
+ import { createRuntimeFn } from "./953.js";
6
+ var hiddenContent = 'i625lp6';
7
+ var overlay = 'i625lp5';
8
+ var skeleton = createRuntimeFn({
9
+ defaultClassName: 'i625lp1',
10
+ variantClassNames: {
11
+ circle: {
12
+ true: 'i625lp2'
13
+ },
14
+ animate: {
15
+ true: 'i625lp3'
16
+ }
17
+ },
18
+ defaultVariants: {
19
+ animate: true
20
+ },
21
+ compoundVariants: []
22
+ });
23
+ var wrapper = 'i625lp4';
24
+ const Skeleton = /*#__PURE__*/ forwardRef(({ circle, animate, width, height, children, visible = true, className, style, ...rest }, ref)=>{
25
+ const skeletonClasses = skeleton({
26
+ circle,
27
+ animate
28
+ });
29
+ if (void 0 !== children) return /*#__PURE__*/ jsxs(box, {
30
+ ref: ref,
31
+ className: `${wrapper} ${className ?? ''}`.trim(),
32
+ style: style,
33
+ ...rest,
34
+ children: [
35
+ /*#__PURE__*/ jsx("div", {
36
+ className: visible ? hiddenContent : void 0,
37
+ "aria-hidden": visible,
38
+ children: children
39
+ }),
40
+ visible ? /*#__PURE__*/ jsx("div", {
41
+ className: `${skeletonClasses} ${overlay}`,
42
+ "aria-hidden": "true"
43
+ }) : null
44
+ ]
45
+ });
46
+ const classes = className ? `${skeletonClasses} ${className}` : skeletonClasses;
47
+ return /*#__PURE__*/ jsx(box, {
48
+ ref: ref,
49
+ "aria-hidden": "true",
50
+ className: classes,
51
+ style: {
52
+ width,
53
+ height,
54
+ ...style
55
+ },
56
+ ...rest
57
+ });
58
+ });
59
+ Skeleton.displayName = 'Skeleton';
60
+ const skeleton_Skeleton = Skeleton;
61
+ export { skeleton_Skeleton as Skeleton };
@@ -0,0 +1,29 @@
1
+ ._14g63aj0 {
2
+ align-items: center;
3
+ gap: var(--vinyasa-space1);
4
+ font-family: var(--vinyasa-font-family-sans);
5
+ font-size: var(--vinyasa-font-size-sm);
6
+ display: inline-flex;
7
+ }
8
+
9
+ ._14g63aj1 {
10
+ color: var(--vinyasa-status-info-text);
11
+ }
12
+
13
+ ._14g63aj2 {
14
+ color: var(--vinyasa-status-success-text);
15
+ }
16
+
17
+ ._14g63aj3 {
18
+ color: var(--vinyasa-status-warning-text);
19
+ }
20
+
21
+ ._14g63aj4 {
22
+ color: var(--vinyasa-status-error-text);
23
+ }
24
+
25
+ ._14g63aj5 {
26
+ flex-shrink: 0;
27
+ margin-top: -.05em;
28
+ }
29
+
@@ -0,0 +1,66 @@
1
+ import "./516.css";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { forwardRef } from "react";
4
+ import { createRuntimeFn } from "./953.js";
5
+ import { statusIcons } from "./277.js";
6
+ import { resolveSpacingStyle } from "./474.js";
7
+ var icon = '_14g63aj5';
8
+ var inlineMessage = createRuntimeFn({
9
+ defaultClassName: '_14g63aj0',
10
+ variantClassNames: {
11
+ status: {
12
+ info: '_14g63aj1',
13
+ success: '_14g63aj2',
14
+ warning: '_14g63aj3',
15
+ error: '_14g63aj4'
16
+ }
17
+ },
18
+ defaultVariants: {
19
+ status: 'info'
20
+ },
21
+ compoundVariants: []
22
+ });
23
+ const InlineMessage = /*#__PURE__*/ forwardRef(({ status = 'info', m, mt, mr, mb, ml, mx, my, p, pt, pr, pb, pl, px, py, className, style, children, ...rest }, ref)=>{
24
+ const Icon = statusIcons[status];
25
+ const classes = className ? `${inlineMessage({
26
+ status
27
+ })} ${className}` : inlineMessage({
28
+ status
29
+ });
30
+ const computedStyle = {
31
+ ...resolveSpacingStyle({
32
+ m,
33
+ mt,
34
+ mr,
35
+ mb,
36
+ ml,
37
+ mx,
38
+ my,
39
+ p,
40
+ pt,
41
+ pr,
42
+ pb,
43
+ pl,
44
+ px,
45
+ py
46
+ }),
47
+ ...style
48
+ };
49
+ return /*#__PURE__*/ jsxs("span", {
50
+ ref: ref,
51
+ role: "alert",
52
+ className: classes,
53
+ style: computedStyle,
54
+ ...rest,
55
+ children: [
56
+ /*#__PURE__*/ jsx(Icon, {
57
+ className: icon,
58
+ "aria-hidden": "true"
59
+ }),
60
+ children
61
+ ]
62
+ });
63
+ });
64
+ InlineMessage.displayName = 'InlineMessage';
65
+ const inline_message_InlineMessage = InlineMessage;
66
+ export { inline_message_InlineMessage as InlineMessage };
@@ -0,0 +1,34 @@
1
+ @keyframes _8naz5u0 {
2
+ from {
3
+ transform: rotate(0);
4
+ }
5
+
6
+ to {
7
+ transform: rotate(360deg);
8
+ }
9
+ }
10
+
11
+ ._8naz5u1 {
12
+ color: var(--vinyasa-primary);
13
+ border: .15em solid;
14
+ border-right-color: #0000;
15
+ border-radius: 9999px;
16
+ animation: .6s linear infinite _8naz5u0;
17
+ display: inline-block;
18
+ }
19
+
20
+ ._8naz5u3 {
21
+ width: 1rem;
22
+ height: 1rem;
23
+ }
24
+
25
+ ._8naz5u4 {
26
+ width: 1.5rem;
27
+ height: 1.5rem;
28
+ }
29
+
30
+ ._8naz5u5 {
31
+ width: 2rem;
32
+ height: 2rem;
33
+ }
34
+