@seedgrid/fe-components 2026.3.5 → 2026.3.11-1
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/buttons/SgButton.d.ts +2 -0
- package/dist/buttons/SgButton.d.ts.map +1 -1
- package/dist/buttons/SgButton.js +4 -3
- package/dist/buttons/SgFloatActionButton.d.ts +2 -3
- package/dist/buttons/SgFloatActionButton.d.ts.map +1 -1
- package/dist/buttons/SgFloatActionButton.js +3 -3
- package/dist/buttons/SgSplitButton.d.ts +1 -0
- package/dist/buttons/SgSplitButton.d.ts.map +1 -1
- package/dist/buttons/SgSplitButton.js +2 -2
- package/dist/commons/SgBadge.d.ts +2 -1
- package/dist/commons/SgBadge.d.ts.map +1 -1
- package/dist/commons/SgBadge.js +8 -7
- package/dist/commons/SgBadgeOverlay.d.ts +1 -0
- package/dist/commons/SgBadgeOverlay.d.ts.map +1 -1
- package/dist/commons/SgBadgeOverlay.js +2 -2
- package/dist/commons/SgToastHost.d.ts +17 -0
- package/dist/commons/SgToastHost.d.ts.map +1 -0
- package/dist/commons/SgToastHost.js +45 -0
- package/dist/commons/SgToaster.d.ts +3 -1
- package/dist/commons/SgToaster.d.ts.map +1 -1
- package/dist/commons/SgToaster.js +13 -0
- package/dist/commons/sgToastHostRegistry.d.ts +7 -0
- package/dist/commons/sgToastHostRegistry.d.ts.map +1 -0
- package/dist/commons/sgToastHostRegistry.js +41 -0
- package/dist/digits/segment-digit/SgSegmentDigit.d.ts +15 -0
- package/dist/digits/segment-digit/SgSegmentDigit.d.ts.map +1 -0
- package/dist/digits/segment-digit/SgSegmentDigit.js +96 -0
- package/dist/digits/segment-digit/index.d.ts +3 -0
- package/dist/digits/segment-digit/index.d.ts.map +1 -0
- package/dist/digits/segment-digit/index.js +1 -0
- package/dist/digits/seven-segment-digit/SgSevenSegmentDigit.d.ts +36 -0
- package/dist/digits/seven-segment-digit/SgSevenSegmentDigit.d.ts.map +1 -0
- package/dist/digits/seven-segment-digit/SgSevenSegmentDigit.js +123 -0
- package/dist/digits/seven-segment-digit/index.d.ts +3 -0
- package/dist/digits/seven-segment-digit/index.d.ts.map +1 -0
- package/dist/digits/seven-segment-digit/index.js +1 -0
- package/dist/gadgets/calendar/SgCalendar.d.ts +29 -0
- package/dist/gadgets/calendar/SgCalendar.d.ts.map +1 -0
- package/dist/gadgets/calendar/SgCalendar.js +248 -0
- package/dist/gadgets/calendar/index.d.ts +3 -0
- package/dist/gadgets/calendar/index.d.ts.map +1 -0
- package/dist/gadgets/calendar/index.js +1 -0
- package/dist/gadgets/clock/SgClock.d.ts +6 -2
- package/dist/gadgets/clock/SgClock.d.ts.map +1 -1
- package/dist/gadgets/clock/SgClock.js +84 -125
- package/dist/gadgets/string-animator/SgStringAnimator.d.ts +1 -1
- package/dist/gadgets/string-animator/SgStringAnimator.d.ts.map +1 -1
- package/dist/gadgets/string-animator/SgStringAnimator.js +1 -1
- package/dist/i18n/en-US.d.ts.map +1 -1
- package/dist/i18n/en-US.js +26 -1
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +26 -1
- package/dist/i18n/pt-BR.d.ts.map +1 -1
- package/dist/i18n/pt-BR.js +26 -1
- package/dist/i18n/pt-PT.d.ts.map +1 -1
- package/dist/i18n/pt-PT.js +26 -1
- package/dist/index.d.ts +22 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/inputs/SgCheckboxGroup.d.ts +46 -0
- package/dist/inputs/SgCheckboxGroup.d.ts.map +1 -0
- package/dist/inputs/SgCheckboxGroup.js +158 -0
- package/dist/inputs/SgDatatable.d.ts +104 -0
- package/dist/inputs/SgDatatable.d.ts.map +1 -0
- package/dist/inputs/SgDatatable.js +441 -0
- package/dist/inputs/{SgCurrencyEdit.d.ts → SgInputCurrency.d.ts} +5 -3
- package/dist/inputs/SgInputCurrency.d.ts.map +1 -0
- package/dist/inputs/{SgCurrencyEdit.js → SgInputCurrency.js} +7 -5
- package/dist/inputs/SgOrderList.d.ts +52 -0
- package/dist/inputs/SgOrderList.d.ts.map +1 -0
- package/dist/inputs/SgOrderList.js +316 -0
- package/dist/inputs/SgPickList.d.ts +71 -0
- package/dist/inputs/SgPickList.d.ts.map +1 -0
- package/dist/inputs/SgPickList.js +362 -0
- package/dist/inputs/SgRadioGroup.d.ts +1 -2
- package/dist/inputs/SgRadioGroup.d.ts.map +1 -1
- package/dist/inputs/SgRadioGroup.js +5 -49
- package/dist/inputs/SgRating.d.ts +2 -0
- package/dist/inputs/SgRating.d.ts.map +1 -1
- package/dist/inputs/SgRating.js +2 -2
- package/dist/inputs/SgTextEditor.d.ts +2 -0
- package/dist/inputs/SgTextEditor.d.ts.map +1 -1
- package/dist/inputs/SgTextEditor.js +2 -2
- package/dist/layout/SgCard.d.ts +13 -1
- package/dist/layout/SgCard.d.ts.map +1 -1
- package/dist/layout/SgCard.js +231 -15
- package/dist/layout/SgCarousel.d.ts +2 -0
- package/dist/layout/SgCarousel.d.ts.map +1 -1
- package/dist/layout/SgCarousel.js +2 -2
- package/dist/layout/SgDockLayout.d.ts +1 -0
- package/dist/layout/SgDockLayout.d.ts.map +1 -1
- package/dist/layout/SgDockLayout.js +2 -2
- package/dist/layout/SgDockZone.d.ts +1 -0
- package/dist/layout/SgDockZone.d.ts.map +1 -1
- package/dist/layout/SgDockZone.js +2 -2
- package/dist/layout/SgGroupBox.d.ts +1 -0
- package/dist/layout/SgGroupBox.d.ts.map +1 -1
- package/dist/layout/SgGroupBox.js +3 -2
- package/dist/layout/SgMenu.d.ts +2 -2
- package/dist/layout/SgMenu.d.ts.map +1 -1
- package/dist/layout/SgMenu.js +22 -22
- package/dist/layout/SgPageControl.d.ts +2 -1
- package/dist/layout/SgPageControl.d.ts.map +1 -1
- package/dist/layout/SgPageControl.js +4 -4
- package/dist/layout/SgToolBar.d.ts +2 -0
- package/dist/layout/SgToolBar.d.ts.map +1 -1
- package/dist/layout/SgToolBar.js +4 -3
- package/dist/layout/SgTreeView.d.ts +1 -0
- package/dist/layout/SgTreeView.d.ts.map +1 -1
- package/dist/layout/SgTreeView.js +2 -2
- package/dist/others/SgPlayground.d.ts +2 -0
- package/dist/others/SgPlayground.d.ts.map +1 -1
- package/dist/others/SgPlayground.js +4 -4
- package/dist/overlay/SgConfirmationDialog.d.ts +34 -0
- package/dist/overlay/SgConfirmationDialog.d.ts.map +1 -0
- package/dist/overlay/SgConfirmationDialog.js +81 -0
- package/dist/overlay/SgDialog.d.ts +6 -0
- package/dist/overlay/SgDialog.d.ts.map +1 -1
- package/dist/overlay/SgDialog.js +28 -3
- package/dist/sandbox.cjs +100 -82
- package/dist/wizard/SgWizard.d.ts +2 -0
- package/dist/wizard/SgWizard.d.ts.map +1 -1
- package/dist/wizard/SgWizard.js +2 -2
- package/package.json +1 -1
- package/dist/inputs/SgCurrencyEdit.d.ts.map +0 -1
|
@@ -12,6 +12,10 @@ import { SgFadeDigit } from "../../digits/fade-digit";
|
|
|
12
12
|
import { SgMatrixDigit } from "../../digits/matrix-digit";
|
|
13
13
|
import { SgNeonDigit } from "../../digits/neon-digit";
|
|
14
14
|
import { SgDiscardDigit } from "../../digits/discard-digit";
|
|
15
|
+
import { SgSegmentDigit } from "../../digits/segment-digit";
|
|
16
|
+
import { SgSevenSegmentDigit } from "../../digits/seven-segment-digit";
|
|
17
|
+
import { SgCard } from "../../layout/SgCard";
|
|
18
|
+
import { t, useComponentsI18n } from "../../i18n";
|
|
15
19
|
function cn(...parts) {
|
|
16
20
|
return parts.filter(Boolean).join(" ");
|
|
17
21
|
}
|
|
@@ -88,115 +92,7 @@ function buildRange(min, max) {
|
|
|
88
92
|
out.push(i);
|
|
89
93
|
return out;
|
|
90
94
|
}
|
|
91
|
-
|
|
92
|
-
"0": [
|
|
93
|
-
{ x: 1, y: 0, w: 4, h: 1 },
|
|
94
|
-
{ x: 5, y: 1, w: 1, h: 4 },
|
|
95
|
-
{ x: 5, y: 5, w: 1, h: 4 },
|
|
96
|
-
{ x: 1, y: 9, w: 4, h: 1 },
|
|
97
|
-
{ x: 0, y: 5, w: 1, h: 4 },
|
|
98
|
-
{ x: 0, y: 1, w: 1, h: 4 }
|
|
99
|
-
],
|
|
100
|
-
"1": [
|
|
101
|
-
{ x: 5, y: 1, w: 1, h: 4 },
|
|
102
|
-
{ x: 5, y: 5, w: 1, h: 4 }
|
|
103
|
-
],
|
|
104
|
-
"2": [
|
|
105
|
-
{ x: 1, y: 0, w: 4, h: 1 },
|
|
106
|
-
{ x: 5, y: 1, w: 1, h: 4 },
|
|
107
|
-
{ x: 1, y: 4.5, w: 4, h: 1 },
|
|
108
|
-
{ x: 0, y: 5, w: 1, h: 4 },
|
|
109
|
-
{ x: 1, y: 9, w: 4, h: 1 }
|
|
110
|
-
],
|
|
111
|
-
"3": [
|
|
112
|
-
{ x: 1, y: 0, w: 4, h: 1 },
|
|
113
|
-
{ x: 5, y: 1, w: 1, h: 4 },
|
|
114
|
-
{ x: 1, y: 4.5, w: 4, h: 1 },
|
|
115
|
-
{ x: 5, y: 5, w: 1, h: 4 },
|
|
116
|
-
{ x: 1, y: 9, w: 4, h: 1 }
|
|
117
|
-
],
|
|
118
|
-
"4": [
|
|
119
|
-
{ x: 0, y: 1, w: 1, h: 4 },
|
|
120
|
-
{ x: 5, y: 1, w: 1, h: 4 },
|
|
121
|
-
{ x: 1, y: 4.5, w: 4, h: 1 },
|
|
122
|
-
{ x: 5, y: 5, w: 1, h: 4 }
|
|
123
|
-
],
|
|
124
|
-
"5": [
|
|
125
|
-
{ x: 1, y: 0, w: 4, h: 1 },
|
|
126
|
-
{ x: 0, y: 1, w: 1, h: 4 },
|
|
127
|
-
{ x: 1, y: 4.5, w: 4, h: 1 },
|
|
128
|
-
{ x: 5, y: 5, w: 1, h: 4 },
|
|
129
|
-
{ x: 1, y: 9, w: 4, h: 1 }
|
|
130
|
-
],
|
|
131
|
-
"6": [
|
|
132
|
-
{ x: 1, y: 0, w: 4, h: 1 },
|
|
133
|
-
{ x: 0, y: 1, w: 1, h: 4 },
|
|
134
|
-
{ x: 1, y: 4.5, w: 4, h: 1 },
|
|
135
|
-
{ x: 0, y: 5, w: 1, h: 4 },
|
|
136
|
-
{ x: 5, y: 5, w: 1, h: 4 },
|
|
137
|
-
{ x: 1, y: 9, w: 4, h: 1 }
|
|
138
|
-
],
|
|
139
|
-
"7": [
|
|
140
|
-
{ x: 1, y: 0, w: 4, h: 1 },
|
|
141
|
-
{ x: 5, y: 1, w: 1, h: 4 },
|
|
142
|
-
{ x: 5, y: 5, w: 1, h: 4 }
|
|
143
|
-
],
|
|
144
|
-
"8": [
|
|
145
|
-
{ x: 1, y: 0, w: 4, h: 1 },
|
|
146
|
-
{ x: 5, y: 1, w: 1, h: 4 },
|
|
147
|
-
{ x: 5, y: 5, w: 1, h: 4 },
|
|
148
|
-
{ x: 1, y: 9, w: 4, h: 1 },
|
|
149
|
-
{ x: 0, y: 5, w: 1, h: 4 },
|
|
150
|
-
{ x: 0, y: 1, w: 1, h: 4 },
|
|
151
|
-
{ x: 1, y: 4.5, w: 4, h: 1 }
|
|
152
|
-
],
|
|
153
|
-
"9": [
|
|
154
|
-
{ x: 1, y: 0, w: 4, h: 1 },
|
|
155
|
-
{ x: 5, y: 1, w: 1, h: 4 },
|
|
156
|
-
{ x: 5, y: 5, w: 1, h: 4 },
|
|
157
|
-
{ x: 1, y: 9, w: 4, h: 1 },
|
|
158
|
-
{ x: 0, y: 1, w: 1, h: 4 },
|
|
159
|
-
{ x: 1, y: 4.5, w: 4, h: 1 }
|
|
160
|
-
]
|
|
161
|
-
};
|
|
162
|
-
function round(n) {
|
|
163
|
-
return Math.round(n * 1000) / 1000;
|
|
164
|
-
}
|
|
165
|
-
function renderSegmentDigit(digit, x, y, scale, keyPrefix) {
|
|
166
|
-
const segs = SEGMENTS[digit] ?? [];
|
|
167
|
-
return segs.map((s, idx) => (_jsx("rect", { x: round(x + s.x * scale), y: round(y + s.y * scale), width: round(s.w * scale), height: round(s.h * scale), className: "fill-neutral-800 dark:fill-neutral-200", rx: round(0.3 * scale) }, `${keyPrefix}-${idx}`)));
|
|
168
|
-
}
|
|
169
|
-
function renderSegmentChar(ch, x, y, scale, keyPrefix) {
|
|
170
|
-
if (ch === ":") {
|
|
171
|
-
return (_jsxs("g", { children: [_jsx("rect", { x: round(x + 2.2 * scale), y: round(y + 2 * scale), width: round(1 * scale), height: round(1 * scale), className: "fill-neutral-800 dark:fill-neutral-200" }), _jsx("rect", { x: round(x + 2.2 * scale), y: round(y + 7 * scale), width: round(1 * scale), height: round(1 * scale), className: "fill-neutral-800 dark:fill-neutral-200" })] }, keyPrefix));
|
|
172
|
-
}
|
|
173
|
-
if (!SEGMENTS[ch])
|
|
174
|
-
return null;
|
|
175
|
-
return _jsx("g", { children: renderSegmentDigit(ch, x, y, scale, keyPrefix) }, keyPrefix);
|
|
176
|
-
}
|
|
177
|
-
function renderSegmentText(text, sizePx) {
|
|
178
|
-
const baseScale = sizePx / 16;
|
|
179
|
-
const digitW = 6 * baseScale;
|
|
180
|
-
const digitH = 10 * baseScale;
|
|
181
|
-
const gap = 1.4 * baseScale;
|
|
182
|
-
const colonW = 4 * baseScale;
|
|
183
|
-
let width = 0;
|
|
184
|
-
for (const ch of text) {
|
|
185
|
-
width += ch === ":" ? colonW : digitW;
|
|
186
|
-
width += gap;
|
|
187
|
-
}
|
|
188
|
-
width -= gap;
|
|
189
|
-
const height = digitH;
|
|
190
|
-
let cursor = 0;
|
|
191
|
-
const nodes = [];
|
|
192
|
-
text.split("").forEach((ch, idx) => {
|
|
193
|
-
const w = ch === ":" ? colonW : digitW;
|
|
194
|
-
nodes.push(renderSegmentChar(ch, cursor, 0, baseScale, `seg-${idx}`));
|
|
195
|
-
cursor += w + gap;
|
|
196
|
-
});
|
|
197
|
-
return { width, height, nodes };
|
|
198
|
-
}
|
|
199
|
-
function AnalogClock({ size = 280, initialServerTime, timezone, locale = "pt-BR", showSeconds = true, secondHandMode = "step", themeId = "classic", theme, className, centerOverlay }) {
|
|
95
|
+
function AnalogClock({ size = 280, initialServerTime, timezone, locale = "pt-BR", showSeconds = true, secondHandMode = "step", themeId = "classic", theme, className, style, centerOverlay }) {
|
|
200
96
|
const { nowMs, hasProvider, providerTick } = useClockNowMs(initialServerTime);
|
|
201
97
|
void providerTick;
|
|
202
98
|
useSecondTick(!hasProvider);
|
|
@@ -211,9 +107,9 @@ function AnalogClock({ size = 280, initialServerTime, timezone, locale = "pt-BR"
|
|
|
211
107
|
const hourDeg = (((h % 12) + m / 60 + sec / 3600) / 12) * 360;
|
|
212
108
|
const themeObj = theme ??
|
|
213
109
|
(resolver ? resolveTheme(resolver, themeId, "classic") : getTheme(themeId) ?? getTheme("classic"));
|
|
214
|
-
return (_jsx("div", { className: className, children: _jsxs("svg", { width: size, height: size, viewBox: "0 0 100 100", className: "block", "aria-label": "Analog clock", children: [_jsx("g", { id: "theme", children: themeObj ? _jsx(ThemeLayer, { theme: themeObj, args: { size, dark } }) : null }), _jsxs("g", { id: "hands", children: [_jsx("g", { transform: `rotate(${hourDeg} 50 50)`, children: _jsx("line", { x1: "50", y1: "50", x2: "50", y2: "28", className: "stroke-neutral-800 dark:stroke-neutral-200", strokeWidth: "2.6", strokeLinecap: "round" }) }), _jsx("g", { transform: `rotate(${minDeg} 50 50)`, children: _jsx("line", { x1: "50", y1: "50", x2: "50", y2: "18", className: "stroke-neutral-800 dark:stroke-neutral-200", strokeWidth: "1.7", strokeLinecap: "round" }) }), showSeconds && (_jsx("g", { transform: `rotate(${secDeg} 50 50)`, children: _jsx("line", { x1: "50", y1: "54", x2: "50", y2: "14", className: "stroke-rose-500", strokeWidth: "0.9", strokeLinecap: "round" }) }))] }), _jsx("circle", { cx: "50", cy: "50", r: "2.2", className: "fill-neutral-800 dark:fill-neutral-200" }), showSeconds ? _jsx("circle", { cx: "50", cy: "50", r: "1.1", className: "fill-rose-500" }) : null, centerOverlay ? (_jsx("foreignObject", { x: "35", y: "35", width: "30", height: "30", children: _jsx("div", { className: "flex h-full w-full items-center justify-center", children: centerOverlay }) })) : null] }) }));
|
|
110
|
+
return (_jsx("div", { className: className, style: style, children: _jsxs("svg", { width: size, height: size, viewBox: "0 0 100 100", className: "block", "aria-label": "Analog clock", children: [_jsx("g", { id: "theme", children: themeObj ? _jsx(ThemeLayer, { theme: themeObj, args: { size, dark } }) : null }), _jsxs("g", { id: "hands", children: [_jsx("g", { transform: `rotate(${hourDeg} 50 50)`, children: _jsx("line", { x1: "50", y1: "50", x2: "50", y2: "28", className: "stroke-neutral-800 dark:stroke-neutral-200", strokeWidth: "2.6", strokeLinecap: "round" }) }), _jsx("g", { transform: `rotate(${minDeg} 50 50)`, children: _jsx("line", { x1: "50", y1: "50", x2: "50", y2: "18", className: "stroke-neutral-800 dark:stroke-neutral-200", strokeWidth: "1.7", strokeLinecap: "round" }) }), showSeconds && (_jsx("g", { transform: `rotate(${secDeg} 50 50)`, children: _jsx("line", { x1: "50", y1: "54", x2: "50", y2: "14", className: "stroke-rose-500", strokeWidth: "0.9", strokeLinecap: "round" }) }))] }), _jsx("circle", { cx: "50", cy: "50", r: "2.2", className: "fill-neutral-800 dark:fill-neutral-200" }), showSeconds ? _jsx("circle", { cx: "50", cy: "50", r: "1.1", className: "fill-rose-500" }) : null, centerOverlay ? (_jsx("foreignObject", { x: "35", y: "35", width: "30", height: "30", children: _jsx("div", { className: "flex h-full w-full items-center justify-center", children: centerOverlay }) })) : null] }) }));
|
|
215
111
|
}
|
|
216
|
-
function DigitalClock({ initialServerTime, timezone, locale = "pt-BR", format = "24h", showSeconds = true, size = "md", digitalStyle = "default", className }) {
|
|
112
|
+
function DigitalClock({ initialServerTime, timezone, locale = "pt-BR", format = "24h", showSeconds = true, size = "md", digitalStyle = "default", className, style }) {
|
|
217
113
|
const { nowMs, hasProvider, providerTick } = useClockNowMs(initialServerTime);
|
|
218
114
|
void providerTick;
|
|
219
115
|
useSecondTick(!hasProvider);
|
|
@@ -257,7 +153,7 @@ function DigitalClock({ initialServerTime, timezone, locale = "pt-BR", format =
|
|
|
257
153
|
padding: `0 ${Math.round(sizePx * 0.4)}px`,
|
|
258
154
|
boxShadow: "0 .125em .3125em rgba(0,0,0,.25)",
|
|
259
155
|
}, children: _jsx("span", { style: { fontSize: Math.round(sizePx * 0.9), color: "#edebeb", fontWeight: 700, lineHeight: 1 }, children: value }) }));
|
|
260
|
-
return (_jsxs("div", { className: cn("flex items-center gap-2", className), "aria-label": "Digital clock", children: [_jsx(SgFlipDigit, { value: hh.charAt(0), fontSize: digitFont }), _jsx(SgFlipDigit, { value: hh.charAt(1), fontSize: digitFont }), _jsx(Colon, {}), _jsx(SgFlipDigit, { value: mm.charAt(0), fontSize: digitFont }), _jsx(SgFlipDigit, { value: mm.charAt(1), fontSize: digitFont }), showSeconds ? (_jsxs(_Fragment, { children: [_jsx(Colon, {}), _jsx(SgFlipDigit, { value: ss.charAt(0), fontSize: digitFont }), _jsx(SgFlipDigit, { value: ss.charAt(1), fontSize: digitFont })] })) : null, format === "12h" && dayPeriod ? _jsx(PeriodCell, { value: dayPeriod.toUpperCase() }) : null] }));
|
|
156
|
+
return (_jsxs("div", { className: cn("flex items-center gap-2", className), style: style, "aria-label": "Digital clock", children: [_jsx(SgFlipDigit, { value: hh.charAt(0), fontSize: digitFont }), _jsx(SgFlipDigit, { value: hh.charAt(1), fontSize: digitFont }), _jsx(Colon, {}), _jsx(SgFlipDigit, { value: mm.charAt(0), fontSize: digitFont }), _jsx(SgFlipDigit, { value: mm.charAt(1), fontSize: digitFont }), showSeconds ? (_jsxs(_Fragment, { children: [_jsx(Colon, {}), _jsx(SgFlipDigit, { value: ss.charAt(0), fontSize: digitFont }), _jsx(SgFlipDigit, { value: ss.charAt(1), fontSize: digitFont })] })) : null, format === "12h" && dayPeriod ? _jsx(PeriodCell, { value: dayPeriod.toUpperCase() }) : null] }));
|
|
261
157
|
}
|
|
262
158
|
if (digitalStyle === "roller3d") {
|
|
263
159
|
const hNum = Number.parseInt(hour, 10) || 0;
|
|
@@ -274,7 +170,7 @@ function DigitalClock({ initialServerTime, timezone, locale = "pt-BR", format =
|
|
|
274
170
|
const hh = String(safeHour).padStart(2, "0");
|
|
275
171
|
const mm = String(mNum).padStart(2, "0");
|
|
276
172
|
const ss = String(sNum).padStart(2, "0");
|
|
277
|
-
return (_jsxs("div", { className: cn("flex items-center gap-4", className), style: fontSize, "aria-label": "Digital clock", children: [_jsx(SgRoller3DDigit, { value: hh, items: hourItems, fontSize: digitFont }), _jsx(SgRoller3DDigit, { value: mm, items: minuteItems, fontSize: digitFont }), showSeconds ? _jsx(SgRoller3DDigit, { value: ss, items: secondItems, fontSize: digitFont }) : null, format === "12h" && dayPeriod ? (_jsx(SgRoller3DDigit, { value: dayPeriod.toUpperCase(), items: periodItems, fontSize: digitFont })) : null] }));
|
|
173
|
+
return (_jsxs("div", { className: cn("flex items-center gap-4", className), style: { ...fontSize, ...style }, "aria-label": "Digital clock", children: [_jsx(SgRoller3DDigit, { value: hh, items: hourItems, fontSize: digitFont }), _jsx(SgRoller3DDigit, { value: mm, items: minuteItems, fontSize: digitFont }), showSeconds ? _jsx(SgRoller3DDigit, { value: ss, items: secondItems, fontSize: digitFont }) : null, format === "12h" && dayPeriod ? (_jsx(SgRoller3DDigit, { value: dayPeriod.toUpperCase(), items: periodItems, fontSize: digitFont })) : null] }));
|
|
278
174
|
}
|
|
279
175
|
if (digitalStyle === "fade") {
|
|
280
176
|
const hNum = Number.parseInt(hour, 10) || 0;
|
|
@@ -287,7 +183,7 @@ function DigitalClock({ initialServerTime, timezone, locale = "pt-BR", format =
|
|
|
287
183
|
const digitFont = Math.round(sizePx * 1.35);
|
|
288
184
|
const cardH = Math.round(digitFont * 1.4);
|
|
289
185
|
const Colon = () => (_jsxs("div", { className: "flex flex-col items-center justify-center gap-2", style: { height: cardH }, children: [_jsx("div", { className: "h-2 w-2 rounded-full bg-neutral-500/70" }), _jsx("div", { className: "h-2 w-2 rounded-full bg-neutral-500/70" })] }));
|
|
290
|
-
return (_jsxs("div", { className: cn("flex items-center gap-2", className), "aria-label": "Digital clock", children: [_jsx(SgFadeDigit, { value: hh.charAt(0), fontSize: digitFont }), _jsx(SgFadeDigit, { value: hh.charAt(1), fontSize: digitFont }), _jsx(Colon, {}), _jsx(SgFadeDigit, { value: mm.charAt(0), fontSize: digitFont }), _jsx(SgFadeDigit, { value: mm.charAt(1), fontSize: digitFont }), showSeconds ? (_jsxs(_Fragment, { children: [_jsx(Colon, {}), _jsx(SgFadeDigit, { value: ss.charAt(0), fontSize: digitFont }), _jsx(SgFadeDigit, { value: ss.charAt(1), fontSize: digitFont })] })) : null, format === "12h" && dayPeriod ? (_jsx("span", { className: "text-xs font-semibold text-muted-foreground", children: dayPeriod.toUpperCase() })) : null] }));
|
|
186
|
+
return (_jsxs("div", { className: cn("flex items-center gap-2", className), style: style, "aria-label": "Digital clock", children: [_jsx(SgFadeDigit, { value: hh.charAt(0), fontSize: digitFont }), _jsx(SgFadeDigit, { value: hh.charAt(1), fontSize: digitFont }), _jsx(Colon, {}), _jsx(SgFadeDigit, { value: mm.charAt(0), fontSize: digitFont }), _jsx(SgFadeDigit, { value: mm.charAt(1), fontSize: digitFont }), showSeconds ? (_jsxs(_Fragment, { children: [_jsx(Colon, {}), _jsx(SgFadeDigit, { value: ss.charAt(0), fontSize: digitFont }), _jsx(SgFadeDigit, { value: ss.charAt(1), fontSize: digitFont })] })) : null, format === "12h" && dayPeriod ? (_jsx("span", { className: "text-xs font-semibold text-muted-foreground", children: dayPeriod.toUpperCase() })) : null] }));
|
|
291
187
|
}
|
|
292
188
|
if (digitalStyle === "discard") {
|
|
293
189
|
const hNum = Number.parseInt(hour, 10) || 0;
|
|
@@ -312,27 +208,90 @@ function DigitalClock({ initialServerTime, timezone, locale = "pt-BR", format =
|
|
|
312
208
|
};
|
|
313
209
|
const Colon = () => (_jsx(SgDiscardDigit, { value: ":", fontSize: Math.max(26, Math.round(digitFont * 0.72)), totalNumberPages: 1, transitionMs: 560, animateOnChange: false }));
|
|
314
210
|
const PeriodCell = ({ value }) => (_jsx(SgDiscardDigit, { value: value, fontSize: Math.max(20, Math.round(digitFont * 0.52)), totalNumberPages: 1, transitionMs: 560, animateOnChange: false }));
|
|
315
|
-
return (_jsxs("div", { className: cn("flex items-end gap-2", className), "aria-label": "Digital clock", children: [_jsx(SgDiscardDigit, { value: hh.charAt(0), fontSize: digitFont, totalNumberPages: pagesForDigit(hh.charAt(0)), transitionMs: 560, changeAnimationMode: "incoming" }), _jsx(SgDiscardDigit, { value: hh.charAt(1), fontSize: digitFont, totalNumberPages: pagesForDigit(hh.charAt(1)), transitionMs: 560, changeAnimationMode: "incoming" }), _jsx(Colon, {}), _jsx(SgDiscardDigit, { value: mm.charAt(0), fontSize: digitFont, totalNumberPages: pagesForDigit(mm.charAt(0)), transitionMs: 560, changeAnimationMode: "incoming" }), _jsx(SgDiscardDigit, { value: mm.charAt(1), fontSize: digitFont, totalNumberPages: pagesForDigit(mm.charAt(1)), transitionMs: 560, changeAnimationMode: "incoming" }), showSeconds ? (_jsxs(_Fragment, { children: [_jsx(Colon, {}), _jsx(SgDiscardDigit, { value: ss.charAt(0), fontSize: digitFont, totalNumberPages: pagesForDigit(ss.charAt(0)), transitionMs: 560, changeAnimationMode: "incoming" }), _jsx(SgDiscardDigit, { value: ss.charAt(1), fontSize: digitFont, totalNumberPages: pagesForDigit(ss.charAt(1)), transitionMs: 560, changeAnimationMode: "incoming" })] })) : null, format === "12h" && dayPeriod ? _jsx(PeriodCell, { value: dayPeriod.toUpperCase() }) : null] }));
|
|
211
|
+
return (_jsxs("div", { className: cn("relative z-10 flex items-end gap-2", className), style: style, "aria-label": "Digital clock", children: [_jsx(SgDiscardDigit, { value: hh.charAt(0), fontSize: digitFont, totalNumberPages: pagesForDigit(hh.charAt(0)), transitionMs: 560, changeAnimationMode: "incoming" }), _jsx(SgDiscardDigit, { value: hh.charAt(1), fontSize: digitFont, totalNumberPages: pagesForDigit(hh.charAt(1)), transitionMs: 560, changeAnimationMode: "incoming" }), _jsx(Colon, {}), _jsx(SgDiscardDigit, { value: mm.charAt(0), fontSize: digitFont, totalNumberPages: pagesForDigit(mm.charAt(0)), transitionMs: 560, changeAnimationMode: "incoming" }), _jsx(SgDiscardDigit, { value: mm.charAt(1), fontSize: digitFont, totalNumberPages: pagesForDigit(mm.charAt(1)), transitionMs: 560, changeAnimationMode: "incoming" }), showSeconds ? (_jsxs(_Fragment, { children: [_jsx(Colon, {}), _jsx(SgDiscardDigit, { value: ss.charAt(0), fontSize: digitFont, totalNumberPages: pagesForDigit(ss.charAt(0)), transitionMs: 560, changeAnimationMode: "incoming" }), _jsx(SgDiscardDigit, { value: ss.charAt(1), fontSize: digitFont, totalNumberPages: pagesForDigit(ss.charAt(1)), transitionMs: 560, changeAnimationMode: "incoming" })] })) : null, format === "12h" && dayPeriod ? _jsx(PeriodCell, { value: dayPeriod.toUpperCase() }) : null] }));
|
|
316
212
|
}
|
|
317
213
|
if (digitalStyle === "matrix") {
|
|
318
214
|
const dotSize = Math.max(3, Math.round(sizePx * 0.32));
|
|
319
|
-
return (_jsx("div", { className: cn("flex items-center", className), "aria-label": "Digital clock", children: _jsx(SgMatrixDigit, { value: withPeriod, dotSize: dotSize, gap: Math.max(1, Math.round(dotSize * 0.35)), charGap: Math.max(3, Math.round(dotSize * 0.9)), padding: Math.max(6, Math.round(dotSize * 1.3)), rounded: Math.max(8, Math.round(dotSize * 1.1)) }) }));
|
|
215
|
+
return (_jsx("div", { className: cn("flex items-center", className), style: style, "aria-label": "Digital clock", children: _jsx(SgMatrixDigit, { value: withPeriod, dotSize: dotSize, gap: Math.max(1, Math.round(dotSize * 0.35)), charGap: Math.max(3, Math.round(dotSize * 0.9)), padding: Math.max(6, Math.round(dotSize * 1.3)), rounded: Math.max(8, Math.round(dotSize * 1.1)) }) }));
|
|
320
216
|
}
|
|
321
217
|
if (digitalStyle === "neon") {
|
|
322
218
|
const neonFont = Math.max(18, Math.round(sizePx * 1.35));
|
|
323
|
-
return (_jsx("div", { className: cn("flex items-center", className), "aria-label": "Digital clock", children: _jsx(SgNeonDigit, { value: withPeriod, fontSize: neonFont, padding: Math.max(8, Math.round(sizePx * 0.6)), rounded: Math.max(10, Math.round(sizePx * 0.45)) }) }));
|
|
219
|
+
return (_jsx("div", { className: cn("flex items-center", className), style: style, "aria-label": "Digital clock", children: _jsx(SgNeonDigit, { value: withPeriod, fontSize: neonFont, padding: Math.max(8, Math.round(sizePx * 0.6)), rounded: Math.max(10, Math.round(sizePx * 0.45)) }) }));
|
|
220
|
+
}
|
|
221
|
+
if (digitalStyle === "sevenSegment") {
|
|
222
|
+
const hNum = Number.parseInt(hour, 10) || 0;
|
|
223
|
+
const mNum = Number.parseInt(minute, 10) || 0;
|
|
224
|
+
const sNum = Number.parseInt(second || "0", 10) || 0;
|
|
225
|
+
const safeHour = format === "12h" ? (hNum === 0 ? 12 : hNum) : hNum;
|
|
226
|
+
const hh = String(safeHour).padStart(2, "0");
|
|
227
|
+
const mm = String(mNum).padStart(2, "0");
|
|
228
|
+
const ss = String(sNum).padStart(2, "0");
|
|
229
|
+
const digitSize = typeof size === "number"
|
|
230
|
+
? Math.max(64, Math.round(sizePx * 4))
|
|
231
|
+
: size === "sm"
|
|
232
|
+
? 72
|
|
233
|
+
: size === "lg"
|
|
234
|
+
? 124
|
|
235
|
+
: 96;
|
|
236
|
+
const thickness = Math.max(8, Math.round(digitSize * 0.12));
|
|
237
|
+
const dotSize = Math.max(6, Math.round(digitSize * 0.09));
|
|
238
|
+
const dotGap = Math.max(8, Math.round(digitSize * 0.11));
|
|
239
|
+
const digitGap = Math.max(4, Math.round(digitSize * 0.07));
|
|
240
|
+
const separatorPadding = Math.max(2, Math.round(digitSize * 0.05));
|
|
241
|
+
const Colon = () => (_jsxs("div", { className: "flex flex-col items-center justify-center", style: {
|
|
242
|
+
minHeight: digitSize,
|
|
243
|
+
gap: dotGap,
|
|
244
|
+
paddingLeft: separatorPadding,
|
|
245
|
+
paddingRight: separatorPadding
|
|
246
|
+
}, children: [_jsx("span", { className: "rounded-full bg-red-500/85", style: { width: dotSize, height: dotSize } }), _jsx("span", { className: "rounded-full bg-red-500/85", style: { width: dotSize, height: dotSize } })] }));
|
|
247
|
+
return (_jsxs("div", { className: cn("flex items-center", className), style: { gap: digitGap, ...style }, "aria-label": "Digital clock", children: [_jsx(SgSevenSegmentDigit, { value: hh.charAt(0), size: digitSize, thickness: thickness }), _jsx(SgSevenSegmentDigit, { value: hh.charAt(1), size: digitSize, thickness: thickness }), _jsx(Colon, {}), _jsx(SgSevenSegmentDigit, { value: mm.charAt(0), size: digitSize, thickness: thickness }), _jsx(SgSevenSegmentDigit, { value: mm.charAt(1), size: digitSize, thickness: thickness }), showSeconds ? (_jsxs(_Fragment, { children: [_jsx(Colon, {}), _jsx(SgSevenSegmentDigit, { value: ss.charAt(0), size: digitSize, thickness: thickness }), _jsx(SgSevenSegmentDigit, { value: ss.charAt(1), size: digitSize, thickness: thickness })] })) : null, format === "12h" && dayPeriod ? (_jsx("span", { className: "text-xs font-semibold text-muted-foreground", children: dayPeriod.toUpperCase() })) : null] }));
|
|
324
248
|
}
|
|
325
249
|
if (digitalStyle === "segment") {
|
|
326
|
-
const
|
|
327
|
-
|
|
250
|
+
const hNum = Number.parseInt(hour, 10) || 0;
|
|
251
|
+
const mNum = Number.parseInt(minute, 10) || 0;
|
|
252
|
+
const sNum = Number.parseInt(second || "0", 10) || 0;
|
|
253
|
+
const safeHour = format === "12h" ? (hNum === 0 ? 12 : hNum) : hNum;
|
|
254
|
+
const hh = String(safeHour).padStart(2, "0");
|
|
255
|
+
const mm = String(mNum).padStart(2, "0");
|
|
256
|
+
const ss = String(sNum).padStart(2, "0");
|
|
257
|
+
const digitSize = typeof size === "number"
|
|
258
|
+
? Math.max(12, Math.round(size * 1.2))
|
|
259
|
+
: size === "sm"
|
|
260
|
+
? 18
|
|
261
|
+
: size === "lg"
|
|
262
|
+
? 42
|
|
263
|
+
: 26;
|
|
264
|
+
const gap = Math.max(2, Math.round(digitSize * 0.18));
|
|
265
|
+
return (_jsxs("div", { className: cn("flex items-end", className), style: { gap, ...style }, "aria-label": "Digital clock", children: [_jsx(SgSegmentDigit, { value: hh.charAt(0), size: digitSize }), _jsx(SgSegmentDigit, { value: hh.charAt(1), size: digitSize }), _jsx(SgSegmentDigit, { value: ":", size: digitSize }), _jsx(SgSegmentDigit, { value: mm.charAt(0), size: digitSize }), _jsx(SgSegmentDigit, { value: mm.charAt(1), size: digitSize }), showSeconds ? (_jsxs(_Fragment, { children: [_jsx(SgSegmentDigit, { value: ":", size: digitSize }), _jsx(SgSegmentDigit, { value: ss.charAt(0), size: digitSize }), _jsx(SgSegmentDigit, { value: ss.charAt(1), size: digitSize })] })) : null, format === "12h" && dayPeriod ? (_jsx("span", { className: "text-xs font-semibold text-muted-foreground", children: dayPeriod })) : null] }));
|
|
328
266
|
}
|
|
329
|
-
return (_jsxs("div", { className: cn("font-mono tabular-nums", classSize, className), style: fontSize, children: [text, format === "12h" && dayPeriod ? (_jsx("span", { className: "ml-2 align-top text-xs font-semibold text-muted-foreground", children: dayPeriod })) : null] }));
|
|
267
|
+
return (_jsxs("div", { className: cn("font-mono tabular-nums", classSize, className), style: { ...fontSize, ...style }, children: [text, format === "12h" && dayPeriod ? (_jsx("span", { className: "ml-2 align-top text-xs font-semibold text-muted-foreground", children: dayPeriod })) : null] }));
|
|
330
268
|
}
|
|
331
269
|
export function SgClock(props) {
|
|
332
|
-
const
|
|
333
|
-
|
|
270
|
+
const i18n = useComponentsI18n();
|
|
271
|
+
const { clockStyle = "digital", size = "md", initialServerTime, timezone, locale = "pt-BR", format = "24h", showSeconds = true, digitalStyle = "default", secondHandMode = "step", themeId = "classic", theme, className, style, centerOverlay, cardTitle, cardProps } = props;
|
|
272
|
+
const resolvedCardTitle = cardTitle ?? t(i18n, "components.gadgets.clock.title");
|
|
273
|
+
const resolvedDragPersistKey = React.useMemo(() => {
|
|
274
|
+
const explicitPersistKey = cardProps?.dragPersistKey;
|
|
275
|
+
if (typeof explicitPersistKey === "string" && explicitPersistKey.trim().length > 0) {
|
|
276
|
+
return explicitPersistKey.trim();
|
|
277
|
+
}
|
|
278
|
+
const cardId = cardProps?.id;
|
|
279
|
+
if (typeof cardId === "string" && cardId.trim().length > 0) {
|
|
280
|
+
return `sg-clock:${cardId.trim()}`;
|
|
281
|
+
}
|
|
282
|
+
return "sg-clock";
|
|
283
|
+
}, [cardProps?.dragPersistKey, cardProps?.id]);
|
|
284
|
+
const mergedCardClassName = cn("max-w-full self-start", cardProps?.className);
|
|
285
|
+
const enableDiscardOverflow = clockStyle === "digital" && digitalStyle === "discard";
|
|
286
|
+
const mergedCardBodyClassName = cn("max-w-full", enableDiscardOverflow ? "overflow-visible" : "max-h-full overflow-auto", cardProps?.bodyClassName);
|
|
287
|
+
const mergedCardStyle = {
|
|
288
|
+
width: "fit-content",
|
|
289
|
+
maxWidth: "100%",
|
|
290
|
+
...(cardProps?.style ?? {})
|
|
291
|
+
};
|
|
292
|
+
const clockNode = clockStyle === "analog" ? ((() => {
|
|
334
293
|
const analogSize = typeof size === "number" ? size : size === "sm" ? 140 : size === "lg" ? 320 : 240;
|
|
335
|
-
return (_jsx(AnalogClock, { size: analogSize, initialServerTime: initialServerTime, themeId: themeId, theme: theme, timezone: timezone, locale: locale, showSeconds: showSeconds, secondHandMode: secondHandMode, className: className, centerOverlay: centerOverlay }));
|
|
336
|
-
}
|
|
337
|
-
return (_jsx(
|
|
294
|
+
return (_jsx(AnalogClock, { size: analogSize, initialServerTime: initialServerTime, themeId: themeId, theme: theme, timezone: timezone, locale: locale, showSeconds: showSeconds, secondHandMode: secondHandMode, className: className, style: style, centerOverlay: centerOverlay }));
|
|
295
|
+
})()) : (_jsx(DigitalClock, { timezone: timezone, initialServerTime: initialServerTime, locale: locale, format: format, showSeconds: showSeconds, size: size, digitalStyle: digitalStyle, className: className, style: style }));
|
|
296
|
+
return (_jsx(SgCard, { title: resolvedCardTitle, collapsible: true, defaultOpen: true, collapseToggleAlign: "right", collapseIconSize: 20, draggable: true, bgColor: "#ffffff", bgColorTitle: "#f3f4f6", cardStyle: "outlined", ...cardProps, className: mergedCardClassName, bodyClassName: mergedCardBodyClassName, style: mergedCardStyle, dragPersistKey: resolvedDragPersistKey, children: clockNode }));
|
|
338
297
|
}
|
|
@@ -21,7 +21,7 @@ export type SgStringAnimatorProps = {
|
|
|
21
21
|
* - "matrix": pontos em matriz LED (SgMatrixDigit)
|
|
22
22
|
* @default "roller3d"
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
stringAnimatorStyle?: SgStringAnimatorStyle;
|
|
25
25
|
/**
|
|
26
26
|
* Velocidade de 1 (muito lento) a 100 (muito rapido).
|
|
27
27
|
* Controla o intervalo de tempo entre a troca de cada caractere.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SgStringAnimator.d.ts","sourceRoot":"","sources":["../../../src/gadgets/string-animator/SgStringAnimator.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,eAAO,MAAM,kCAAkC,EAAE,MAAM,EAQtD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,UAAU,GACV,MAAM,GACN,MAAM,GACN,MAAM,GACN,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG;IAChC,yDAAyD;IACzD,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,
|
|
1
|
+
{"version":3,"file":"SgStringAnimator.d.ts","sourceRoot":"","sources":["../../../src/gadgets/string-animator/SgStringAnimator.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,eAAO,MAAM,kCAAkC,EAAE,MAAM,EAQtD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,UAAU,GACV,MAAM,GACN,MAAM,GACN,MAAM,GACN,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG;IAChC,yDAAyD;IACzD,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAWF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB,mGA2L5B,CAAC"}
|
|
@@ -48,7 +48,7 @@ const GAP_BY_STYLE = {
|
|
|
48
48
|
* <SgStringAnimator sourceString="LUCIANO" targetString={target} style="fade" autoStart />
|
|
49
49
|
* <button onClick={() => setTarget("MARTA")}>Trocar</button>
|
|
50
50
|
*/
|
|
51
|
-
export const SgStringAnimator = React.forwardRef(function SgStringAnimator({ sourceString, targetString, style = "roller3d", velocity = 50, emptyChar = " ", alignTo = "left", autoStart = false, fontSize = 32, charset = SG_STRING_ANIMATOR_DEFAULT_CHARSET, color, backgroundColor, className, }, ref) {
|
|
51
|
+
export const SgStringAnimator = React.forwardRef(function SgStringAnimator({ sourceString, targetString, stringAnimatorStyle: style = "roller3d", velocity = 50, emptyChar = " ", alignTo = "left", autoStart = false, fontSize = 32, charset = SG_STRING_ANIMATOR_DEFAULT_CHARSET, color, backgroundColor, className, }, ref) {
|
|
52
52
|
// Normalize emptyChar to a single character
|
|
53
53
|
const safeEmpty = emptyChar.charAt(0) || " ";
|
|
54
54
|
// Clamp velocity 1-100 and compute step delay:
|
package/dist/i18n/en-US.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en-US.d.ts","sourceRoot":"","sources":["../../src/i18n/en-US.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"en-US.d.ts","sourceRoot":"","sources":["../../src/i18n/en-US.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4GhC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/dist/i18n/en-US.js
CHANGED
|
@@ -80,6 +80,31 @@ const enUS = {
|
|
|
80
80
|
"components.actions.confirm": "Confirm",
|
|
81
81
|
"components.rating.required": "Please provide a rating",
|
|
82
82
|
"components.rating.cancel": "Cancel rating",
|
|
83
|
-
"components.radiogroup.cancel": "No option"
|
|
83
|
+
"components.radiogroup.cancel": "No option",
|
|
84
|
+
"components.checkboxgroup.checkAll": "Select all",
|
|
85
|
+
"components.orderlist.moveTop": "Move to top",
|
|
86
|
+
"components.orderlist.moveUp": "Move up",
|
|
87
|
+
"components.orderlist.moveDown": "Move down",
|
|
88
|
+
"components.orderlist.moveBottom": "Move to bottom",
|
|
89
|
+
"components.orderlist.empty": "No items available.",
|
|
90
|
+
"components.picklist.moveToTarget": "Move selected to target",
|
|
91
|
+
"components.picklist.moveAllToTarget": "Move all to target",
|
|
92
|
+
"components.picklist.moveToSource": "Move selected to source",
|
|
93
|
+
"components.picklist.moveAllToSource": "Move all to source",
|
|
94
|
+
"components.picklist.sourceHeader": "Source",
|
|
95
|
+
"components.picklist.targetHeader": "Target",
|
|
96
|
+
"components.picklist.sourceFilterPlaceholder": "Search source",
|
|
97
|
+
"components.picklist.targetFilterPlaceholder": "Search target",
|
|
98
|
+
"components.picklist.empty": "No items available.",
|
|
99
|
+
"components.gadgets.clock.title": "Clock",
|
|
100
|
+
"components.gadgets.calendar.title": "Calendar",
|
|
101
|
+
"components.datatable.empty": "No records found.",
|
|
102
|
+
"components.datatable.loading": "Loading data...",
|
|
103
|
+
"components.datatable.globalFilterPlaceholder": "Search in all columns",
|
|
104
|
+
"components.datatable.clearFilters": "Clear filters",
|
|
105
|
+
"components.datatable.prev": "Prev",
|
|
106
|
+
"components.datatable.next": "Next",
|
|
107
|
+
"components.datatable.rowsPerPage": "Rows per page",
|
|
108
|
+
"components.datatable.pageReport": "{first} - {last} of {total}"
|
|
84
109
|
};
|
|
85
110
|
export default enUS;
|
package/dist/i18n/es.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../src/i18n/es.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../src/i18n/es.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4G9B,CAAC;AAEF,eAAe,EAAE,CAAC"}
|
package/dist/i18n/es.js
CHANGED
|
@@ -80,6 +80,31 @@ const es = {
|
|
|
80
80
|
"components.actions.confirm": "Confirmar",
|
|
81
81
|
"components.rating.required": "Por favor, proporcione una calificación",
|
|
82
82
|
"components.rating.cancel": "Cancelar calificación",
|
|
83
|
-
"components.radiogroup.cancel": "Ninguna opción"
|
|
83
|
+
"components.radiogroup.cancel": "Ninguna opción",
|
|
84
|
+
"components.checkboxgroup.checkAll": "Seleccionar todos",
|
|
85
|
+
"components.orderlist.moveTop": "Mover al inicio",
|
|
86
|
+
"components.orderlist.moveUp": "Mover hacia arriba",
|
|
87
|
+
"components.orderlist.moveDown": "Mover hacia abajo",
|
|
88
|
+
"components.orderlist.moveBottom": "Mover al final",
|
|
89
|
+
"components.orderlist.empty": "No hay elementos disponibles.",
|
|
90
|
+
"components.picklist.moveToTarget": "Mover seleccionados al destino",
|
|
91
|
+
"components.picklist.moveAllToTarget": "Mover todos al destino",
|
|
92
|
+
"components.picklist.moveToSource": "Mover seleccionados al origen",
|
|
93
|
+
"components.picklist.moveAllToSource": "Mover todos al origen",
|
|
94
|
+
"components.picklist.sourceHeader": "Origen",
|
|
95
|
+
"components.picklist.targetHeader": "Destino",
|
|
96
|
+
"components.picklist.sourceFilterPlaceholder": "Buscar en origen",
|
|
97
|
+
"components.picklist.targetFilterPlaceholder": "Buscar en destino",
|
|
98
|
+
"components.picklist.empty": "No hay elementos disponibles.",
|
|
99
|
+
"components.gadgets.clock.title": "Reloj",
|
|
100
|
+
"components.gadgets.calendar.title": "Calendario",
|
|
101
|
+
"components.datatable.empty": "No se encontraron registros.",
|
|
102
|
+
"components.datatable.loading": "Cargando datos...",
|
|
103
|
+
"components.datatable.globalFilterPlaceholder": "Buscar en todas las columnas",
|
|
104
|
+
"components.datatable.clearFilters": "Limpiar filtros",
|
|
105
|
+
"components.datatable.prev": "Anterior",
|
|
106
|
+
"components.datatable.next": "Siguiente",
|
|
107
|
+
"components.datatable.rowsPerPage": "Filas por pagina",
|
|
108
|
+
"components.datatable.pageReport": "{first} - {last} de {total}"
|
|
84
109
|
};
|
|
85
110
|
export default es;
|
package/dist/i18n/pt-BR.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pt-BR.d.ts","sourceRoot":"","sources":["../../src/i18n/pt-BR.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"pt-BR.d.ts","sourceRoot":"","sources":["../../src/i18n/pt-BR.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4GhC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/dist/i18n/pt-BR.js
CHANGED
|
@@ -80,6 +80,31 @@ const ptBR = {
|
|
|
80
80
|
"components.actions.confirm": "Confirmar",
|
|
81
81
|
"components.rating.required": "Por favor, forneça uma avaliação",
|
|
82
82
|
"components.rating.cancel": "Cancelar avaliação",
|
|
83
|
-
"components.radiogroup.cancel": "Nenhuma opção"
|
|
83
|
+
"components.radiogroup.cancel": "Nenhuma opção",
|
|
84
|
+
"components.checkboxgroup.checkAll": "Selecionar todos",
|
|
85
|
+
"components.orderlist.moveTop": "Mover para o topo",
|
|
86
|
+
"components.orderlist.moveUp": "Mover para cima",
|
|
87
|
+
"components.orderlist.moveDown": "Mover para baixo",
|
|
88
|
+
"components.orderlist.moveBottom": "Mover para o fim",
|
|
89
|
+
"components.orderlist.empty": "Nenhum item disponivel.",
|
|
90
|
+
"components.picklist.moveToTarget": "Mover selecionado para destino",
|
|
91
|
+
"components.picklist.moveAllToTarget": "Mover todos para destino",
|
|
92
|
+
"components.picklist.moveToSource": "Mover selecionado para origem",
|
|
93
|
+
"components.picklist.moveAllToSource": "Mover todos para origem",
|
|
94
|
+
"components.picklist.sourceHeader": "Origem",
|
|
95
|
+
"components.picklist.targetHeader": "Destino",
|
|
96
|
+
"components.picklist.sourceFilterPlaceholder": "Buscar na origem",
|
|
97
|
+
"components.picklist.targetFilterPlaceholder": "Buscar no destino",
|
|
98
|
+
"components.picklist.empty": "Nenhum item disponivel.",
|
|
99
|
+
"components.gadgets.clock.title": "Rel\u00f3gio",
|
|
100
|
+
"components.gadgets.calendar.title": "Calend\u00e1rio",
|
|
101
|
+
"components.datatable.empty": "Nenhum registro encontrado.",
|
|
102
|
+
"components.datatable.loading": "Carregando dados...",
|
|
103
|
+
"components.datatable.globalFilterPlaceholder": "Buscar em todas as colunas",
|
|
104
|
+
"components.datatable.clearFilters": "Limpar filtros",
|
|
105
|
+
"components.datatable.prev": "Anterior",
|
|
106
|
+
"components.datatable.next": "Proximo",
|
|
107
|
+
"components.datatable.rowsPerPage": "Linhas por pagina",
|
|
108
|
+
"components.datatable.pageReport": "{first} - {last} de {total}"
|
|
84
109
|
};
|
|
85
110
|
export default ptBR;
|
package/dist/i18n/pt-PT.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pt-PT.d.ts","sourceRoot":"","sources":["../../src/i18n/pt-PT.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"pt-PT.d.ts","sourceRoot":"","sources":["../../src/i18n/pt-PT.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4GhC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/dist/i18n/pt-PT.js
CHANGED
|
@@ -80,6 +80,31 @@ const ptPT = {
|
|
|
80
80
|
"components.actions.confirm": "Confirmar",
|
|
81
81
|
"components.rating.required": "Por favor, forneça uma avaliação",
|
|
82
82
|
"components.rating.cancel": "Cancelar avaliação",
|
|
83
|
-
"components.radiogroup.cancel": "Nenhuma opção"
|
|
83
|
+
"components.radiogroup.cancel": "Nenhuma opção",
|
|
84
|
+
"components.checkboxgroup.checkAll": "Selecionar todos",
|
|
85
|
+
"components.orderlist.moveTop": "Mover para o topo",
|
|
86
|
+
"components.orderlist.moveUp": "Mover para cima",
|
|
87
|
+
"components.orderlist.moveDown": "Mover para baixo",
|
|
88
|
+
"components.orderlist.moveBottom": "Mover para o fim",
|
|
89
|
+
"components.orderlist.empty": "Nenhum item disponivel.",
|
|
90
|
+
"components.picklist.moveToTarget": "Mover selecionado para destino",
|
|
91
|
+
"components.picklist.moveAllToTarget": "Mover todos para destino",
|
|
92
|
+
"components.picklist.moveToSource": "Mover selecionado para origem",
|
|
93
|
+
"components.picklist.moveAllToSource": "Mover todos para origem",
|
|
94
|
+
"components.picklist.sourceHeader": "Origem",
|
|
95
|
+
"components.picklist.targetHeader": "Destino",
|
|
96
|
+
"components.picklist.sourceFilterPlaceholder": "Pesquisar na origem",
|
|
97
|
+
"components.picklist.targetFilterPlaceholder": "Pesquisar no destino",
|
|
98
|
+
"components.picklist.empty": "Nenhum item disponivel.",
|
|
99
|
+
"components.gadgets.clock.title": "Rel\u00f3gio",
|
|
100
|
+
"components.gadgets.calendar.title": "Calend\u00e1rio",
|
|
101
|
+
"components.datatable.empty": "Nenhum registo encontrado.",
|
|
102
|
+
"components.datatable.loading": "A carregar dados...",
|
|
103
|
+
"components.datatable.globalFilterPlaceholder": "Pesquisar em todas as colunas",
|
|
104
|
+
"components.datatable.clearFilters": "Limpar filtros",
|
|
105
|
+
"components.datatable.prev": "Anterior",
|
|
106
|
+
"components.datatable.next": "Seguinte",
|
|
107
|
+
"components.datatable.rowsPerPage": "Linhas por pagina",
|
|
108
|
+
"components.datatable.pageReport": "{first} - {last} de {total}"
|
|
84
109
|
};
|
|
85
110
|
export default ptPT;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ export { SgInputText } from "./inputs/SgInputText";
|
|
|
2
2
|
export type { SgInputTextProps } from "./inputs/SgInputText";
|
|
3
3
|
export { SgInputNumber } from "./inputs/SgInputNumber";
|
|
4
4
|
export type { SgInputNumberProps } from "./inputs/SgInputNumber";
|
|
5
|
-
export { SgCurrencyEdit } from "./inputs/
|
|
6
|
-
export type { SgCurrencyEditProps } from "./inputs/
|
|
5
|
+
export { SgInputCurrency, SgCurrencyEdit } from "./inputs/SgInputCurrency";
|
|
6
|
+
export type { SgInputCurrencyProps, SgCurrencyEditProps } from "./inputs/SgInputCurrency";
|
|
7
7
|
export { SgInputTextArea } from "./inputs/SgInputTextArea";
|
|
8
8
|
export type { SgInputTextAreaProps } from "./inputs/SgInputTextArea";
|
|
9
9
|
export { SgInputSelect } from "./inputs/SgInputSelect";
|
|
@@ -40,20 +40,32 @@ export { SgRating } from "./inputs/SgRating";
|
|
|
40
40
|
export type { SgRatingProps, SgRatingSize } from "./inputs/SgRating";
|
|
41
41
|
export { SgRadioGroup } from "./inputs/SgRadioGroup";
|
|
42
42
|
export type { SgRadioGroupProps, SgRadioGroupOption, SgRadioGroupOrientation, SgRadioGroupSelectionStyle } from "./inputs/SgRadioGroup";
|
|
43
|
+
export { SgCheckboxGroup } from "./inputs/SgCheckboxGroup";
|
|
44
|
+
export type { SgCheckboxGroupProps, SgCheckboxGroupOption, SgCheckboxGroupOrientation, SgCheckboxGroupSelectionStyle, SgCheckboxGroupRef } from "./inputs/SgCheckboxGroup";
|
|
45
|
+
export { SgOrderList } from "./inputs/SgOrderList";
|
|
46
|
+
export type { SgOrderListProps, SgOrderListItem, SgOrderListSelectionMode, SgOrderListControlsPosition, SgOrderListRef } from "./inputs/SgOrderList";
|
|
47
|
+
export { SgPickList } from "./inputs/SgPickList";
|
|
48
|
+
export type { SgPickListProps, SgPickListItem, SgPickListListName, SgPickListSelectionMode, SgPickListFilterMatchMode, SgPickListChangeType, SgPickListValue, SgPickListChangeEvent, SgPickListRef } from "./inputs/SgPickList";
|
|
49
|
+
export { SgDatatable } from "./inputs/SgDatatable";
|
|
50
|
+
export type { SgDatatableProps, SgDatatableRow, SgDatatableColumn, SgDatatableColumnAlign, SgDatatableCellMeta, SgDatatableFilterEvent, SgDatatableFilterMatchMode, SgDatatablePageEvent, SgDatatableRef, SgDatatableSelection, SgDatatableSelectionMode, SgDatatableSortEvent, SgDatatableSortOrder } from "./inputs/SgDatatable";
|
|
43
51
|
export { SgButton } from "./buttons/SgButton";
|
|
44
52
|
export type { SgButtonProps, SgButtonCustomColors } from "./buttons/SgButton";
|
|
45
53
|
export { SgSplitButton } from "./buttons/SgSplitButton";
|
|
46
54
|
export type { SgSplitButtonProps, SgSplitButtonItem } from "./buttons/SgSplitButton";
|
|
47
55
|
export { SgFloatActionButton } from "./buttons/SgFloatActionButton";
|
|
48
|
-
export type { SgFloatActionButtonProps, SgFABAction, FABPosition, FABSeverity,
|
|
56
|
+
export type { SgFloatActionButtonProps, SgFABAction, FABPosition, FABSeverity, FABSize, FABShape, FABElevation, FABAnimation, FABAnimationTrigger, FABLayoutType } from "./buttons/SgFloatActionButton";
|
|
49
57
|
export { SgDockMenu } from "./menus/SgDockMenu";
|
|
50
58
|
export type { SgDockMenuProps, SgDockMenuItem, SgDockMenuPosition, SgDockMenuOrientation } from "./menus/SgDockMenu";
|
|
51
59
|
export { SgToaster } from "./commons/SgToaster";
|
|
52
60
|
export type { SgToasterProps, SgToasterPosition, SgToasterTypeColors, SgToasterCustomColors } from "./commons/SgToaster";
|
|
61
|
+
export { SgToastHost } from "./commons/SgToastHost";
|
|
62
|
+
export type { SgToastHostProps } from "./commons/SgToastHost";
|
|
53
63
|
export { SgPopup } from "./overlay/SgPopup";
|
|
54
64
|
export type { SgPopupProps, SgPopupAction, SgPopupPlacement, SgPopupPreferPlacement, SgPopupAlign, SgPopupSeverity } from "./overlay/SgPopup";
|
|
55
65
|
export { SgDialog } from "./overlay/SgDialog";
|
|
56
66
|
export type { SgDialogProps, SgDialogSize, SgDialogSeverity, SgDialogAnimation } from "./overlay/SgDialog";
|
|
67
|
+
export { SgConfirmationDialog } from "./overlay/SgConfirmationDialog";
|
|
68
|
+
export type { SgConfirmationDialogProps, SgConfirmationDialogButtonConfig } from "./overlay/SgConfirmationDialog";
|
|
57
69
|
export { SgBadge } from "./commons/SgBadge";
|
|
58
70
|
export { SgBadgeOverlay } from "./commons/SgBadgeOverlay";
|
|
59
71
|
export { SgSkeleton } from "./commons/SgSkeleton";
|
|
@@ -80,7 +92,7 @@ export type { SgGridProps, SgGridColumns } from "./layout/SgGrid";
|
|
|
80
92
|
export { SgStack } from "./layout/SgStack";
|
|
81
93
|
export type { SgStackProps } from "./layout/SgStack";
|
|
82
94
|
export { SgCard } from "./layout/SgCard";
|
|
83
|
-
export type { SgCardProps, SgCardVariant, SgCardSize } from "./layout/SgCard";
|
|
95
|
+
export type { SgCardProps, SgCardVariant, SgCardSize, SgCardPosition } from "./layout/SgCard";
|
|
84
96
|
export { SgAccordion } from "./layout/SgAccordion";
|
|
85
97
|
export type { SgAccordionProps, SgAccordionItem, SgAccordionOrientation } from "./layout/SgAccordion";
|
|
86
98
|
export { SgCarousel } from "./layout/SgCarousel";
|
|
@@ -107,8 +119,10 @@ export { SgTreeView, sgTreeFromJson, sgTreeFromJsonWithChecked } from "./layout/
|
|
|
107
119
|
export type { SgTreeViewProps, SgTreeViewRef, SgTreeNode, SgTreeNodeJson, SgTreeIconRegistry, SgTreeConfirmBar, SgSize, SgDensity, SgTone } from "./layout/SgTreeView";
|
|
108
120
|
export { SgTimeProvider, useSgTime } from "./gadgets/clock/SgTimeProvider";
|
|
109
121
|
export { SgClock } from "./gadgets/clock/SgClock";
|
|
122
|
+
export { SgCalendar } from "./gadgets/calendar";
|
|
110
123
|
export type { SgTimeContextValue } from "./gadgets/clock/SgTimeProvider";
|
|
111
124
|
export type { SgClockProps, SgClockDigitalStyle } from "./gadgets/clock/SgClock";
|
|
125
|
+
export type { SgCalendarProps, SgCalendarWeekdayFormat } from "./gadgets/calendar";
|
|
112
126
|
export { SgFlipDigit } from "./digits/flip-digit";
|
|
113
127
|
export type { SgFlipDigitProps } from "./digits/flip-digit";
|
|
114
128
|
export { SgFadeDigit } from "./digits/fade-digit";
|
|
@@ -121,6 +135,10 @@ export { SgNeonDigit } from "./digits/neon-digit";
|
|
|
121
135
|
export type { SgNeonDigitProps } from "./digits/neon-digit";
|
|
122
136
|
export { SgDiscardDigit } from "./digits/discard-digit";
|
|
123
137
|
export type { SgDiscardDigitProps, SgDiscardDigitHandle } from "./digits/discard-digit";
|
|
138
|
+
export { SgSegmentDigit } from "./digits/segment-digit";
|
|
139
|
+
export type { SgSegmentDigitProps } from "./digits/segment-digit";
|
|
140
|
+
export { SgSevenSegmentDigit } from "./digits/seven-segment-digit";
|
|
141
|
+
export type { SgSevenSegmentDigitProps, SgSevenSegmentDigitPalette } from "./digits/seven-segment-digit";
|
|
124
142
|
export { SgStringAnimator, SG_STRING_ANIMATOR_DEFAULT_CHARSET } from "./gadgets/string-animator";
|
|
125
143
|
export type { SgStringAnimatorProps, SgStringAnimatorRef, SgStringAnimatorStyle, SgStringAnimatorAlign, } from "./gadgets/string-animator";
|
|
126
144
|
export { SgQRCode } from "./gadgets/qr-code";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|