@solostylist/ui-kit 1.0.67 → 1.0.69

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/main.d.ts CHANGED
@@ -66,5 +66,7 @@ export { default as SGradientIcon } from './s-gradient-icon/index';
66
66
  export type { GradientIconProps } from './s-gradient-icon/index';
67
67
  export { default as SGlowButton } from './s-glow-button/index';
68
68
  export type { GlowButtonProps } from './s-glow-button/index';
69
+ export { default as SMovingBorder } from './s-moving-border/index';
70
+ export type { SMovingBorderProps } from './s-moving-border/index';
69
71
  export * from './hooks';
70
72
  export * from './utils';
package/dist/main.js CHANGED
@@ -3,15 +3,15 @@ import { default as a } from "./s-button-link/s-button-link.js";
3
3
  import { default as l } from "./s-text-editor/s-text-editor.js";
4
4
  import { default as p } from "./s-checkbox/s-checkbox.js";
5
5
  import { default as S } from "./s-chips/s-chips.js";
6
- import { default as d } from "./s-data-table/s-data-table.js";
6
+ import { default as x } from "./s-data-table/s-data-table.js";
7
7
  import { DialogConfirmProvider as u, default as g, useDialogConfirm as n } from "./s-dialog-confirm/s-dialog-confirm.js";
8
8
  import { DialogMessageProvider as D, default as P, useDialogMessage as T } from "./s-dialog-message/s-dialog-message.js";
9
9
  import { default as b } from "./s-error/s-error.js";
10
10
  import { default as C } from "./s-empty/s-empty.js";
11
- import { default as M } from "./s-dialog/s-dialog.js";
11
+ import { default as L } from "./s-dialog/s-dialog.js";
12
12
  import { default as y } from "./s-file-dropzone/s-file-dropzone.js";
13
- import { default as I } from "./s-file-icon/s-file-icon.js";
14
- import { default as z } from "./s-i18n-provider/s-i18n-provider.js";
13
+ import { default as E } from "./s-file-icon/s-file-icon.js";
14
+ import { default as h } from "./s-i18n-provider/s-i18n-provider.js";
15
15
  import { default as G } from "./s-icon-button/s-icon-button.js";
16
16
  import { default as j } from "./s-label/s-label.js";
17
17
  import { default as A } from "./s-multi-select/s-multi-select.js";
@@ -26,46 +26,48 @@ import { default as ee, SnackbarMessageProvider as oe, useSnackbarMessage as re
26
26
  import { default as ae } from "./s-form/s-form.js";
27
27
  import { SSmartTextField as le } from "./s-smart-text-field/s-smart-text-field.js";
28
28
  import { SCopilotKitProvider as pe } from "./s-copilot-kit-provider/s-copilot-kit-provider.js";
29
- import { SStripeCVC as Se, SStripeExpiry as xe, SStripeNumber as de, StripeTextField as ie } from "./s-stripe/s-stripe.js";
29
+ import { SStripeCVC as Se, SStripeExpiry as de, SStripeNumber as xe, StripeTextField as ie } from "./s-stripe/s-stripe.js";
30
30
  import { default as ge } from "./s-theme-provider/s-theme-provider.js";
31
31
  import { default as ce } from "./s-datetime-picker/s-datetime-picker.js";
32
32
  import { default as Pe } from "./s-date-picker/s-date-picker.js";
33
33
  import { default as ve } from "./s-localization-provider/s-localization-provider.js";
34
34
  import { default as ke } from "./s-gradient-icon/s-gradient-icon.js";
35
- import { default as Le } from "./s-glow-button/s-glow-button.js";
36
- import { useDialog as Fe } from "./hooks/use-dialog.js";
37
- import { usePopover as Ee } from "./hooks/use-popover.js";
38
- import { formatDatePosted as he } from "./utils/dayjs.js";
39
- import { bytesToSize as Be } from "./utils/bytes-to-size.js";
40
- import { LogLevel as Ne, Logger as je, createLogger as we, logger as Ae } from "./utils/logger.js";
41
- import { default as Ve } from "dayjs";
35
+ import { default as Me } from "./s-glow-button/s-glow-button.js";
36
+ import { default as Fe } from "./s-moving-border/s-moving-border.js";
37
+ import { useDialog as Be } from "./hooks/use-dialog.js";
38
+ import { usePopover as Ie } from "./hooks/use-popover.js";
39
+ import { formatDatePosted as ze } from "./utils/dayjs.js";
40
+ import { bytesToSize as Ne } from "./utils/bytes-to-size.js";
41
+ import { LogLevel as we, Logger as Ae, createLogger as Ke, logger as Ve } from "./utils/logger.js";
42
+ import { default as He } from "dayjs";
42
43
  export {
43
44
  u as DialogConfirmProvider,
44
45
  D as DialogMessageProvider,
45
- Ne as LogLevel,
46
- je as Logger,
46
+ we as LogLevel,
47
+ Ae as Logger,
47
48
  r as SAutocomplete,
48
49
  a as SButtonLink,
49
50
  p as SCheckbox,
50
51
  S as SChips,
51
52
  pe as SCopilotKitProvider,
52
- d as SDataTable,
53
+ x as SDataTable,
53
54
  Pe as SDatePicker,
54
55
  ce as SDateTimePicker,
55
- M as SDialog,
56
+ L as SDialog,
56
57
  g as SDialogConfirm,
57
58
  P as SDialogMessage,
58
59
  C as SEmpty,
59
60
  b as SError,
60
61
  y as SFileDropzone,
61
- I as SFileIcon,
62
+ E as SFileIcon,
62
63
  ae as SForm,
63
- Le as SGlowButton,
64
+ Me as SGlowButton,
64
65
  ke as SGradientIcon,
65
- z as SI18nProvider,
66
+ h as SI18nProvider,
66
67
  G as SIconButton,
67
68
  j as SLabel,
68
69
  ve as SLocalizationProvider,
70
+ Fe as SMovingBorder,
69
71
  A as SMultiSelect,
70
72
  V as SNoSsr,
71
73
  O as SPagination,
@@ -74,8 +76,8 @@ export {
74
76
  le as SSmartTextField,
75
77
  ee as SSnackbarMessage,
76
78
  Se as SStripeCVC,
77
- xe as SStripeExpiry,
78
- de as SStripeNumber,
79
+ de as SStripeExpiry,
80
+ xe as SStripeNumber,
79
81
  l as STextEditor,
80
82
  H as STextField,
81
83
  _ as STextTruncation,
@@ -83,14 +85,14 @@ export {
83
85
  Y as STip,
84
86
  oe as SnackbarMessageProvider,
85
87
  ie as StripeTextField,
86
- Be as bytesToSize,
87
- we as createLogger,
88
- Ve as dayjs,
89
- he as formatDatePosted,
90
- Ae as logger,
91
- Fe as useDialog,
88
+ Ne as bytesToSize,
89
+ Ke as createLogger,
90
+ He as dayjs,
91
+ ze as formatDatePosted,
92
+ Ve as logger,
93
+ Be as useDialog,
92
94
  n as useDialogConfirm,
93
95
  T as useDialogMessage,
94
- Ee as usePopover,
96
+ Ie as usePopover,
95
97
  re as useSnackbarMessage
96
98
  };
@@ -1,203 +1,28 @@
1
- import { j as n } from "../jsx-runtime-C5mzlN2N.js";
2
- import { useRef as u, useEffect as A } from "react";
3
- import { Box as c, Button as $ } from "@mui/material";
4
- import { useMotionValue as z, useAnimationFrame as E, useTransform as b, useMotionTemplate as F, motion as B } from "framer-motion";
5
- import '../assets/s-glow-button.css';const w = 120, m = {
6
- background: "#0f172acc",
7
- glowColor: "#38bdf8"
8
- }, y = {
9
- position: "absolute",
10
- left: "50%",
11
- top: "50%",
12
- width: `${w}px`,
13
- height: `${w}px`,
14
- transform: "translate(-50%, -50%)",
15
- opacity: 0.5,
16
- background: `radial-gradient(${m.glowColor} 40%, transparent 60%)`,
17
- filter: "blur(12px)",
18
- pointerEvents: "none"
19
- };
20
- function v({
21
- children: s,
22
- duration: p,
23
- rx: a,
24
- ry: f,
25
- phase: l = 0
26
- }) {
27
- const t = u(null), e = z(0);
28
- E((o) => {
29
- var i;
30
- const r = (i = t.current) == null ? void 0 : i.getTotalLength();
31
- if (r) {
32
- const h = r / p;
33
- e.set((o * h + r * l) % r);
34
- }
35
- });
36
- const d = b(e, (o) => {
37
- var r, i;
38
- return (i = (r = t.current) == null ? void 0 : r.getPointAtLength(o)) == null ? void 0 : i.x;
39
- }), x = b(e, (o) => {
40
- var r, i;
41
- return (i = (r = t.current) == null ? void 0 : r.getPointAtLength(o)) == null ? void 0 : i.y;
42
- }), g = F`translateX(${d}px) translateY(${x}px) translateX(-50%) translateY(-50%)`;
43
- return /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
44
- /* @__PURE__ */ n.jsx(
45
- "svg",
46
- {
47
- xmlns: "http://www.w3.org/2000/svg",
48
- preserveAspectRatio: "none",
49
- width: "100%",
50
- height: "100%",
51
- style: { position: "absolute", inset: 0 },
52
- children: /* @__PURE__ */ n.jsx("rect", { fill: "none", width: "100%", height: "100%", rx: a, ry: f, ref: t })
53
- }
54
- ),
55
- /* @__PURE__ */ n.jsx(
56
- B.div,
57
- {
58
- style: {
59
- position: "absolute",
60
- top: 0,
61
- left: 0,
62
- display: "inline-block",
63
- transform: g
64
- },
65
- children: s
66
- }
67
- )
68
- ] });
69
- }
70
- const X = ({ borderRadius: s = 4, children: p, duration: a = 5e3, ...f }) => {
71
- const l = u(null), t = u(null), e = u(null), d = () => {
72
- t.current && (e.current !== null && (window.cancelAnimationFrame(e.current), e.current = null), t.current.style.left = "50%", t.current.style.top = "50%", t.current.style.opacity = "0.7");
73
- }, x = (o) => {
74
- if (l.current && t.current) {
75
- const r = l.current.getBoundingClientRect(), i = o.clientX - r.left, h = o.clientY - r.top;
76
- e.current !== null && window.cancelAnimationFrame(e.current), e.current = window.requestAnimationFrame(() => {
77
- if (t.current && l.current) {
78
- const { left: j, top: k, right: M, bottom: C } = l.current.getBoundingClientRect();
79
- o.clientX >= j && o.clientX <= M && o.clientY >= k && o.clientY <= C && (t.current.style.left = `${i}px`, t.current.style.top = `${h}px`, t.current.style.opacity = "0.7");
80
- }
81
- });
82
- }
83
- }, g = () => {
84
- e.current !== null && (window.cancelAnimationFrame(e.current), e.current = null), t.current && (t.current.style.opacity = "0", t.current.style.left = "50%", t.current.style.top = "50%");
85
- };
86
- return A(() => () => {
87
- e.current !== null && window.cancelAnimationFrame(e.current);
88
- }, []), /* @__PURE__ */ n.jsxs(
89
- c,
1
+ import { j as t } from "../jsx-runtime-C5mzlN2N.js";
2
+ import { useRef as l } from "react";
3
+ import { Button as i, Box as s } from "@mui/material";
4
+ import u from "../s-moving-border/s-moving-border.js";
5
+ import '../assets/s-glow-button.css';const c = ({ borderRadius: e = 12, children: o, duration: r = 6e3, ...n }) => {
6
+ const a = l(null);
7
+ return /* @__PURE__ */ t.jsx(u, { duration: r, borderRadius: e, height: 60, glowSize: 100, children: /* @__PURE__ */ t.jsx(
8
+ i,
90
9
  {
91
- position: "relative",
92
- overflow: "hidden",
93
- height: "60px",
94
- width: "100%",
95
- padding: 0.125,
96
10
  sx: {
97
- borderRadius: s,
98
- backgroundColor: "transparent"
11
+ height: "100%",
12
+ borderRadius: e,
13
+ background: "var(--s-palette-background-default)",
14
+ "&:hover": {
15
+ backgroundColor: "var(--s-palette-background-paper)"
16
+ }
99
17
  },
100
- children: [
101
- /* @__PURE__ */ n.jsxs(
102
- c,
103
- {
104
- position: "absolute",
105
- top: 0,
106
- left: 0,
107
- right: 0,
108
- bottom: 0,
109
- sx: {
110
- borderRadius: `calc(${s}px * 0.7)`
111
- },
112
- children: [
113
- /* @__PURE__ */ n.jsx(v, { duration: a, rx: "100%", ry: "100%", phase: 0, children: /* @__PURE__ */ n.jsx(c, { sx: { ...y, borderRadius: s } }) }),
114
- /* @__PURE__ */ n.jsx(v, { duration: a, rx: "100%", ry: "100%", phase: 0.5, children: /* @__PURE__ */ n.jsx(c, { sx: { ...y, borderRadius: s } }) })
115
- ]
116
- }
117
- ),
118
- /* @__PURE__ */ n.jsx(
119
- c,
120
- {
121
- sx: {
122
- position: "absolute",
123
- pointerEvents: "none",
124
- left: 0,
125
- top: 0,
126
- width: "100%",
127
- height: "100%",
128
- zIndex: 2
129
- },
130
- children: /* @__PURE__ */ n.jsx(
131
- c,
132
- {
133
- ref: t,
134
- sx: {
135
- position: "absolute",
136
- left: "50%",
137
- top: "50%",
138
- width: 120,
139
- height: 120,
140
- background: `radial-gradient(circle, ${m.glowColor} 0%, transparent 70%)`,
141
- opacity: 0,
142
- filter: "blur(16px)",
143
- borderRadius: "50%",
144
- transform: "translate(-50%, -50%)",
145
- transition: "left 0.15s cubic-bezier(.4,2,.6,1), top 0.15s cubic-bezier(.4,2,.6,1), opacity 0.2s"
146
- }
147
- }
148
- )
149
- }
150
- ),
151
- /* @__PURE__ */ n.jsx(
152
- $,
153
- {
154
- ref: l,
155
- fullWidth: !0,
156
- disableRipple: !0,
157
- onMouseMove: x,
158
- onMouseLeave: g,
159
- onMouseEnter: d,
160
- ...f,
161
- sx: {
162
- position: "relative",
163
- zIndex: 1,
164
- height: "100%",
165
- borderRadius: s,
166
- backgroundColor: m.background,
167
- color: "var(--s-palette-text-main)",
168
- backdropFilter: "blur(20px)",
169
- fontSize: "0.875rem",
170
- textTransform: "none",
171
- fontWeight: 600,
172
- overflow: "hidden",
173
- "&:before": {
174
- content: '""',
175
- position: "absolute",
176
- inset: 0,
177
- zIndex: 0,
178
- borderRadius: s,
179
- padding: "1.25px",
180
- background: "var(--s-palette-gradient-primary)",
181
- WebkitMask: "linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",
182
- WebkitMaskComposite: "xor",
183
- maskComposite: "exclude",
184
- pointerEvents: "none"
185
- },
186
- "& > *": {
187
- position: "relative",
188
- zIndex: 1
189
- },
190
- "&:hover": {
191
- backgroundColor: "var(--s-palette-background-paper)"
192
- }
193
- },
194
- children: /* @__PURE__ */ n.jsx(c, { className: "gradient-text", fontSize: 16, children: p })
195
- }
196
- )
197
- ]
18
+ ref: a,
19
+ fullWidth: !0,
20
+ disableRipple: !0,
21
+ ...n,
22
+ children: /* @__PURE__ */ t.jsx(s, { className: "gradient-text", fontSize: 16, children: o })
198
23
  }
199
- );
24
+ ) });
200
25
  };
201
26
  export {
202
- X as default
27
+ c as default
203
28
  };
@@ -0,0 +1,2 @@
1
+ export { default } from './s-moving-border';
2
+ export type { SMovingBorderProps } from './s-moving-border';
@@ -0,0 +1,4 @@
1
+ import { default as o } from "./s-moving-border.js";
2
+ export {
3
+ o as default
4
+ };
@@ -0,0 +1,5 @@
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+ import { BoxProps } from '@mui/material';
3
+ export interface SMovingBorderProps extends BoxProps {
4
+ duration?: number;
5
+ className?: string;
6
+ glowColor?: string;
7
+ glowSize?: number;
8
+ children: React.ReactNode;
9
+ }
10
+ declare function SMovingBorder({ className, duration, children, glowColor, glowSize, ...props }: SMovingBorderProps): import("react/jsx-runtime").JSX.Element;
11
+ export default SMovingBorder;
@@ -0,0 +1,135 @@
1
+ import { j as t } from "../jsx-runtime-C5mzlN2N.js";
2
+ import { useRef as x, useEffect as w } from "react";
3
+ import { Box as i } from "@mui/material";
4
+ import { useMotionValue as v, useAnimationFrame as y, useTransform as f, useMotionTemplate as L, motion as R } from "framer-motion";
5
+ const E = 250, A = "#38bdf8", d = (o, r) => ({
6
+ position: "absolute",
7
+ left: "50%",
8
+ top: "50%",
9
+ width: `${o}px`,
10
+ height: `${o}px`,
11
+ transform: "translate(-50%, -50%)",
12
+ opacity: 0.5,
13
+ background: `radial-gradient(${r} 40%, transparent 60%)`,
14
+ filter: "blur(12px)",
15
+ pointerEvents: "none"
16
+ });
17
+ function m({
18
+ children: o,
19
+ duration: r,
20
+ rx: u,
21
+ ry: p,
22
+ phase: c = 0
23
+ }) {
24
+ const s = x(null), a = v(0);
25
+ y((l) => {
26
+ var n;
27
+ const e = (n = s.current) == null ? void 0 : n.getTotalLength();
28
+ if (e) {
29
+ const j = e / r;
30
+ a.set((l * j + e * c) % e);
31
+ }
32
+ });
33
+ const h = f(a, (l) => {
34
+ var e, n;
35
+ return (n = (e = s.current) == null ? void 0 : e.getPointAtLength(l)) == null ? void 0 : n.x;
36
+ }), g = f(a, (l) => {
37
+ var e, n;
38
+ return (n = (e = s.current) == null ? void 0 : e.getPointAtLength(l)) == null ? void 0 : n.y;
39
+ }), b = L`translateX(${h}px) translateY(${g}px) translateX(-50%) translateY(-50%)`;
40
+ return /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
41
+ /* @__PURE__ */ t.jsx(
42
+ "svg",
43
+ {
44
+ xmlns: "http://www.w3.org/2000/svg",
45
+ preserveAspectRatio: "none",
46
+ width: "100%",
47
+ height: "100%",
48
+ style: { position: "absolute", inset: 0 },
49
+ children: /* @__PURE__ */ t.jsx("rect", { fill: "none", width: "100%", height: "100%", rx: u, ry: p, ref: s })
50
+ }
51
+ ),
52
+ /* @__PURE__ */ t.jsx(
53
+ R.div,
54
+ {
55
+ style: {
56
+ position: "absolute",
57
+ top: 0,
58
+ left: 0,
59
+ display: "inline-block",
60
+ transform: b
61
+ },
62
+ children: o
63
+ }
64
+ )
65
+ ] });
66
+ }
67
+ function k({
68
+ className: o,
69
+ duration: r = 6e3,
70
+ children: u,
71
+ glowColor: p = A,
72
+ glowSize: c = E,
73
+ ...s
74
+ }) {
75
+ const a = x(null), h = x(null);
76
+ return w(() => () => {
77
+ h.current !== null && window.cancelAnimationFrame(h.current);
78
+ }, []), /* @__PURE__ */ t.jsxs(
79
+ i,
80
+ {
81
+ position: "relative",
82
+ overflow: "hidden",
83
+ height: "100%",
84
+ width: "100%",
85
+ padding: 0.125,
86
+ sx: {
87
+ backgroundColor: "transparent"
88
+ },
89
+ className: o,
90
+ ...s,
91
+ children: [
92
+ /* @__PURE__ */ t.jsxs(i, { position: "absolute", top: 0, left: 0, right: 0, bottom: 0, children: [
93
+ /* @__PURE__ */ t.jsx(m, { duration: r, rx: "100%", ry: "100%", phase: 0, children: /* @__PURE__ */ t.jsx(i, { sx: d(c, p) }) }),
94
+ /* @__PURE__ */ t.jsx(m, { duration: r, rx: "100%", ry: "100%", phase: 0.5, children: /* @__PURE__ */ t.jsx(i, { sx: d(c, p) }) })
95
+ ] }),
96
+ /* @__PURE__ */ t.jsx(
97
+ i,
98
+ {
99
+ sx: {
100
+ position: "absolute",
101
+ pointerEvents: "none",
102
+ left: 0,
103
+ top: 0,
104
+ width: "100%",
105
+ height: "100%",
106
+ zIndex: 2
107
+ },
108
+ children: /* @__PURE__ */ t.jsx(
109
+ i,
110
+ {
111
+ ref: a,
112
+ sx: {
113
+ position: "absolute",
114
+ left: "50%",
115
+ top: "50%",
116
+ width: 120,
117
+ height: 120,
118
+ opacity: 0,
119
+ filter: "blur(16px)",
120
+ borderRadius: "50%",
121
+ transform: "translate(-50%, -50%)",
122
+ transition: "left 0.15s cubic-bezier(.4,2,.6,1), top 0.15s cubic-bezier(.4,2,.6,1), opacity 0.2s"
123
+ }
124
+ }
125
+ )
126
+ }
127
+ ),
128
+ u
129
+ ]
130
+ }
131
+ );
132
+ }
133
+ export {
134
+ k as default
135
+ };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "registry": "https://registry.npmjs.org"
5
5
  },
6
- "version": "1.0.67",
6
+ "version": "1.0.69",
7
7
  "description": "advanced ui kit for solostylist",
8
8
  "private": false,
9
9
  "type": "module",
@@ -19,7 +19,7 @@
19
19
  "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
20
20
  "lint:fix": "eslint --fix . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
21
21
  "preview": "vite preview",
22
- "publish": "npm run build && npm publish --access public",
22
+ "app:publish": "npm run build && npm publish --access public",
23
23
  "format:write": "prettier --write \"**/*.{js,jsx,mjs,ts,tsx,mdx}\" --cache",
24
24
  "format:check": "prettier --check \"**/*.{js,jsx,mjs,ts,tsx,mdx}\" --cache",
25
25
  "prepare": "husky"