@gyramais/gyra-design 0.2.40 → 0.2.42
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/components/Skeleton/Skeleton.d.ts +18 -0
- package/dist/components/Skeleton/index.d.ts +1 -0
- package/dist/components/Skeleton/index.js +7 -0
- package/dist/components/Skeleton/index.js.map +1 -0
- package/dist/components/SyncChip/index.js +1 -1
- package/dist/components/SyncChip/index.js.map +1 -1
- package/dist/emails/balance-sheet-finalized/components/Skeleton/Skeleton.d.ts +18 -0
- package/dist/emails/balance-sheet-finalized/components/Skeleton/index.d.ts +1 -0
- package/dist/emails/balance-sheet-finalized/index.d.ts +1 -0
- package/dist/emails/email/components/Skeleton/Skeleton.d.ts +18 -0
- package/dist/emails/email/components/Skeleton/index.d.ts +1 -0
- package/dist/emails/email/index.d.ts +1 -0
- package/dist/index.css +97 -25
- package/package.json +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./index.css";
|
|
3
|
+
type SkeletonVariant = "text" | "rect" | "circle";
|
|
4
|
+
type SkeletonProps = {
|
|
5
|
+
id?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Formato do bloco. `text` = linha fina; `rect` = bloco; `circle` = avatar. */
|
|
8
|
+
variant?: SkeletonVariant;
|
|
9
|
+
width?: number | string;
|
|
10
|
+
height?: number | string;
|
|
11
|
+
/** Quando > 1 (variant text), empilha N linhas; a ultima sai mais curta. */
|
|
12
|
+
lines?: number;
|
|
13
|
+
/** Override do border-radius. */
|
|
14
|
+
radius?: number | string;
|
|
15
|
+
};
|
|
16
|
+
declare const Skeleton: ({ id, className, variant, width, height, lines, radius, }: SkeletonProps) => React.JSX.Element;
|
|
17
|
+
export { Skeleton };
|
|
18
|
+
export type { SkeletonProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Skeleton";
|
|
@@ -50,6 +50,7 @@ import "./components/MultiSelectPicker/index.css";
|
|
|
50
50
|
import "./components/RuleSearchPicker/index.css";
|
|
51
51
|
import "./components/OperatorPicker/index.css";
|
|
52
52
|
import "./components/ContextMenu/index.css";
|
|
53
|
+
import "./components/Skeleton/index.css";
|
|
53
54
|
import "./components/StatusTag/index.css";
|
|
54
55
|
import "./components/Switch/index.css";
|
|
55
56
|
import "./components/SyncChip/index.css";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./index.css";
|
|
3
|
+
type SkeletonVariant = "text" | "rect" | "circle";
|
|
4
|
+
type SkeletonProps = {
|
|
5
|
+
id?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Formato do bloco. `text` = linha fina; `rect` = bloco; `circle` = avatar. */
|
|
8
|
+
variant?: SkeletonVariant;
|
|
9
|
+
width?: number | string;
|
|
10
|
+
height?: number | string;
|
|
11
|
+
/** Quando > 1 (variant text), empilha N linhas; a ultima sai mais curta. */
|
|
12
|
+
lines?: number;
|
|
13
|
+
/** Override do border-radius. */
|
|
14
|
+
radius?: number | string;
|
|
15
|
+
};
|
|
16
|
+
declare const Skeleton: ({ id, className, variant, width, height, lines, radius, }: SkeletonProps) => React.JSX.Element;
|
|
17
|
+
export { Skeleton };
|
|
18
|
+
export type { SkeletonProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Skeleton";
|
|
@@ -50,6 +50,7 @@ import "./components/MultiSelectPicker/index.css";
|
|
|
50
50
|
import "./components/RuleSearchPicker/index.css";
|
|
51
51
|
import "./components/OperatorPicker/index.css";
|
|
52
52
|
import "./components/ContextMenu/index.css";
|
|
53
|
+
import "./components/Skeleton/index.css";
|
|
53
54
|
import "./components/StatusTag/index.css";
|
|
54
55
|
import "./components/Switch/index.css";
|
|
55
56
|
import "./components/SyncChip/index.css";
|
package/dist/index.css
CHANGED
|
@@ -8004,10 +8004,12 @@ h6 {
|
|
|
8004
8004
|
gap: 2px;
|
|
8005
8005
|
border-radius: 12px;
|
|
8006
8006
|
border-width: 1px;
|
|
8007
|
-
border-color: var(--color-border-subtle);
|
|
8008
8007
|
--tw-bg-opacity: 1;
|
|
8009
8008
|
background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
|
|
8010
8009
|
padding: 4px;
|
|
8010
|
+
/* GYR-1446 — borda um tico mais definida que a subtle (#F0F0F2), que somia
|
|
8011
|
+
sobre card branco. #E5E5EA = separador iOS, define sem pesar. */
|
|
8012
|
+
border-color: #E5E5EA;
|
|
8011
8013
|
box-shadow: 0 1px 2px rgba(0,0,0,0.02);
|
|
8012
8014
|
}
|
|
8013
8015
|
|
|
@@ -8025,7 +8027,7 @@ h6 {
|
|
|
8025
8027
|
padding-bottom: 10px;
|
|
8026
8028
|
font-size: 13.5px;
|
|
8027
8029
|
font-weight: 500;
|
|
8028
|
-
color: var(--color-text-
|
|
8030
|
+
color: var(--color-text-secondary);
|
|
8029
8031
|
font-family: inherit;
|
|
8030
8032
|
transition:
|
|
8031
8033
|
background var(--duration-normal) var(--ease-default),
|
|
@@ -9849,6 +9851,72 @@ h6 {
|
|
|
9849
9851
|
height: 16px;
|
|
9850
9852
|
}
|
|
9851
9853
|
|
|
9854
|
+
/* Skeleton shimmer — silhueta cinza do conteudo que carrega */
|
|
9855
|
+
|
|
9856
|
+
.gyramais-skeleton {
|
|
9857
|
+
position: relative;
|
|
9858
|
+
display: block;
|
|
9859
|
+
overflow: hidden;
|
|
9860
|
+
background-color: var(--color-border-subtle);
|
|
9861
|
+
border-radius: 6px;
|
|
9862
|
+
}
|
|
9863
|
+
.gyramais-skeleton::after {
|
|
9864
|
+
position: absolute;
|
|
9865
|
+
inset: 0px;
|
|
9866
|
+
--tw-content: '';
|
|
9867
|
+
content: var(--tw-content);
|
|
9868
|
+
transform: translateX(-100%);
|
|
9869
|
+
background: linear-gradient(
|
|
9870
|
+
90deg,
|
|
9871
|
+
transparent,
|
|
9872
|
+
rgba(255, 255, 255, 0.55),
|
|
9873
|
+
transparent
|
|
9874
|
+
);
|
|
9875
|
+
animation: gyramais-skeleton-sweep 1.4s ease-in-out infinite;
|
|
9876
|
+
}
|
|
9877
|
+
.gyramais-skeleton-text {
|
|
9878
|
+
height: 12px;
|
|
9879
|
+
width: 100%;
|
|
9880
|
+
}
|
|
9881
|
+
.gyramais-skeleton-rect {
|
|
9882
|
+
height: 64px;
|
|
9883
|
+
width: 100%;
|
|
9884
|
+
}
|
|
9885
|
+
.gyramais-skeleton-circle {
|
|
9886
|
+
border-radius: 9999px;
|
|
9887
|
+
}
|
|
9888
|
+
.gyramais-skeleton-stack {
|
|
9889
|
+
display: flex;
|
|
9890
|
+
width: 100%;
|
|
9891
|
+
flex-direction: column;
|
|
9892
|
+
gap: 8px;
|
|
9893
|
+
}
|
|
9894
|
+
|
|
9895
|
+
@keyframes gyramais-skeleton-sweep {
|
|
9896
|
+
100% {
|
|
9897
|
+
transform: translateX(100%);
|
|
9898
|
+
}
|
|
9899
|
+
}
|
|
9900
|
+
|
|
9901
|
+
/* Sem movimento deslizante pra quem pediu menos animacao: pulso de opacidade */
|
|
9902
|
+
@media (prefers-reduced-motion: reduce) {
|
|
9903
|
+
.gyramais-skeleton::after {
|
|
9904
|
+
animation: none;
|
|
9905
|
+
}
|
|
9906
|
+
.gyramais-skeleton {
|
|
9907
|
+
animation: gyramais-skeleton-pulse 1.6s ease-in-out infinite;
|
|
9908
|
+
}
|
|
9909
|
+
}
|
|
9910
|
+
@keyframes gyramais-skeleton-pulse {
|
|
9911
|
+
0%,
|
|
9912
|
+
100% {
|
|
9913
|
+
opacity: 1;
|
|
9914
|
+
}
|
|
9915
|
+
50% {
|
|
9916
|
+
opacity: 0.55;
|
|
9917
|
+
}
|
|
9918
|
+
}
|
|
9919
|
+
|
|
9852
9920
|
.gyramais-status-tag {
|
|
9853
9921
|
|
|
9854
9922
|
display: inline-flex;
|
|
@@ -9989,23 +10057,27 @@ h6 {
|
|
|
9989
10057
|
color: var(--color-text-primary);
|
|
9990
10058
|
font-feature-settings: "tnum";
|
|
9991
10059
|
}
|
|
9992
|
-
|
|
9993
|
-
|
|
9994
|
-
|
|
9995
|
-
|
|
9996
|
-
|
|
9997
|
-
|
|
9998
|
-
|
|
10060
|
+
/* "Sincronizando" — 3 pontos com pulso escalonado (estilo Apple), no lugar
|
|
10061
|
+
da barra deslizante. Cada ponto anima scale+opacity com delay crescente,
|
|
10062
|
+
dando a onda da esquerda pra direita. Sem framer-motion: keyframes CSS. */
|
|
10063
|
+
.gyramais-sync-chip .gyramais-sync-chip-dots {
|
|
10064
|
+
display: inline-flex;
|
|
10065
|
+
align-items: center;
|
|
10066
|
+
gap: 4px;
|
|
9999
10067
|
}
|
|
10000
|
-
.gyramais-sync-chip .gyramais-sync-chip-
|
|
10001
|
-
|
|
10002
|
-
|
|
10003
|
-
|
|
10004
|
-
border-radius:
|
|
10005
|
-
background-color: var(--
|
|
10006
|
-
|
|
10007
|
-
|
|
10008
|
-
|
|
10068
|
+
.gyramais-sync-chip .gyramais-sync-chip-dots-dot {
|
|
10069
|
+
height: 5px;
|
|
10070
|
+
width: 5px;
|
|
10071
|
+
flex-shrink: 0;
|
|
10072
|
+
border-radius: 9999px;
|
|
10073
|
+
background-color: var(--color-text-tertiary);
|
|
10074
|
+
animation: gyramais-sync-chip-pulse 1.2s ease-in-out infinite;
|
|
10075
|
+
}
|
|
10076
|
+
.gyramais-sync-chip .gyramais-sync-chip-dots-dot:nth-child(2) {
|
|
10077
|
+
animation-delay: 0.15s;
|
|
10078
|
+
}
|
|
10079
|
+
.gyramais-sync-chip .gyramais-sync-chip-dots-dot:nth-child(3) {
|
|
10080
|
+
animation-delay: 0.3s;
|
|
10009
10081
|
}
|
|
10010
10082
|
|
|
10011
10083
|
.gyramais-sync-chip.gyramais-sync-chip-error {
|
|
@@ -10034,15 +10106,15 @@ h6 {
|
|
|
10034
10106
|
background-color: var(--status-danger-text);
|
|
10035
10107
|
}
|
|
10036
10108
|
|
|
10037
|
-
@keyframes gyramais-sync-chip-
|
|
10038
|
-
0
|
|
10039
|
-
|
|
10109
|
+
@keyframes gyramais-sync-chip-pulse {
|
|
10110
|
+
0%,
|
|
10111
|
+
100% {
|
|
10112
|
+
transform: scale(0.5);
|
|
10113
|
+
opacity: 0.3;
|
|
10040
10114
|
}
|
|
10041
10115
|
50% {
|
|
10042
|
-
transform:
|
|
10043
|
-
|
|
10044
|
-
100% {
|
|
10045
|
-
transform: translateX(-32px);
|
|
10116
|
+
transform: scale(1);
|
|
10117
|
+
opacity: 1;
|
|
10046
10118
|
}
|
|
10047
10119
|
}
|
|
10048
10120
|
|