design-zystem 1.0.275 → 1.0.277

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/index.d.mts CHANGED
@@ -513,10 +513,12 @@ declare const colors: {
513
513
  readonly pink_700: "#DB2777";
514
514
  readonly pink_800: "#BE185D";
515
515
  readonly pink_900: "#9D174D";
516
+ readonly fuchsia_300: "#FFB3EC";
516
517
  readonly green: "#12B76A";
517
518
  readonly green_50: "#DCFCE7";
518
519
  readonly green_100: "#12B76A";
519
520
  readonly green_700: "#17803D";
521
+ readonly green_900: "#006123";
520
522
  readonly badge_blue_text: "#1C4ED8";
521
523
  readonly badge_blue_bg: "#DBE9FE";
522
524
  readonly badge_green_text: "#17803D";
@@ -921,6 +923,8 @@ interface BannerToggle {
921
923
  }
922
924
  interface BannerProps {
923
925
  variant?: string;
926
+ filled?: boolean;
927
+ shimmer?: boolean;
924
928
  badge?: string;
925
929
  title?: string;
926
930
  subtitle?: string;
@@ -929,7 +933,7 @@ interface BannerProps {
929
933
  toggle?: BannerToggle;
930
934
  children?: ReactNode;
931
935
  }
932
- declare const Banner: ({ variant, badge, title, subtitle, message, action, toggle, children, }: BannerProps) => react_jsx_runtime.JSX.Element;
936
+ declare const Banner: ({ variant, filled, shimmer, badge, title, subtitle, message, action, toggle, children, }: BannerProps) => react_jsx_runtime.JSX.Element;
933
937
 
934
938
  interface TooltipProps {
935
939
  children?: ReactNode;
package/dist/index.d.ts CHANGED
@@ -513,10 +513,12 @@ declare const colors: {
513
513
  readonly pink_700: "#DB2777";
514
514
  readonly pink_800: "#BE185D";
515
515
  readonly pink_900: "#9D174D";
516
+ readonly fuchsia_300: "#FFB3EC";
516
517
  readonly green: "#12B76A";
517
518
  readonly green_50: "#DCFCE7";
518
519
  readonly green_100: "#12B76A";
519
520
  readonly green_700: "#17803D";
521
+ readonly green_900: "#006123";
520
522
  readonly badge_blue_text: "#1C4ED8";
521
523
  readonly badge_blue_bg: "#DBE9FE";
522
524
  readonly badge_green_text: "#17803D";
@@ -921,6 +923,8 @@ interface BannerToggle {
921
923
  }
922
924
  interface BannerProps {
923
925
  variant?: string;
926
+ filled?: boolean;
927
+ shimmer?: boolean;
924
928
  badge?: string;
925
929
  title?: string;
926
930
  subtitle?: string;
@@ -929,7 +933,7 @@ interface BannerProps {
929
933
  toggle?: BannerToggle;
930
934
  children?: ReactNode;
931
935
  }
932
- declare const Banner: ({ variant, badge, title, subtitle, message, action, toggle, children, }: BannerProps) => react_jsx_runtime.JSX.Element;
936
+ declare const Banner: ({ variant, filled, shimmer, badge, title, subtitle, message, action, toggle, children, }: BannerProps) => react_jsx_runtime.JSX.Element;
933
937
 
934
938
  interface TooltipProps {
935
939
  children?: ReactNode;
package/dist/index.js CHANGED
@@ -323,11 +323,14 @@ var colors = {
323
323
  pink_700: "#DB2777",
324
324
  pink_800: "#BE185D",
325
325
  pink_900: "#9D174D",
326
+ // FUCHSIA
327
+ fuchsia_300: "#FFB3EC",
326
328
  // GREEN
327
329
  green: "#12B76A",
328
330
  green_50: "#DCFCE7",
329
331
  green_100: "#12B76A",
330
332
  green_700: "#17803D",
333
+ green_900: "#006123",
331
334
  // BADGE
332
335
  badge_blue_text: "#1C4ED8",
333
336
  badge_blue_bg: "#DBE9FE",
@@ -5229,8 +5232,18 @@ var PRESET_STYLES = {
5229
5232
  accent: colors.red_950
5230
5233
  }
5231
5234
  };
5232
- var resolveStyle = (variant) => {
5235
+ var resolveStyle = (variant, filled) => {
5233
5236
  const preset = PRESET_STYLES[variant];
5237
+ const base = preset ? preset.accent : variant;
5238
+ if (filled) {
5239
+ return {
5240
+ background: base,
5241
+ borderColor: base,
5242
+ badgeBackground: `${base}24`,
5243
+ badgeColor: base,
5244
+ accent: base
5245
+ };
5246
+ }
5234
5247
  if (preset) return preset;
5235
5248
  return {
5236
5249
  background: `${variant}14`,
@@ -5243,6 +5256,38 @@ var resolveStyle = (variant) => {
5243
5256
  accent: variant
5244
5257
  };
5245
5258
  };
5259
+ var shimmerSweep = import_styled_components45.keyframes`
5260
+ 0% { transform: translateX(-120%) rotate(20deg); }
5261
+ 30%, 100% { transform: translateX(220%) rotate(20deg); }
5262
+ `;
5263
+ var shimmerStyle = import_styled_components45.css`
5264
+ position: relative;
5265
+ overflow: hidden;
5266
+
5267
+ &::after {
5268
+ content: '';
5269
+ position: absolute;
5270
+ top: -40%;
5271
+ left: 0;
5272
+ width: 28%;
5273
+ height: 180%;
5274
+ /* Sans ça le reflet intercepte les clics sur le contenu du bandeau. */
5275
+ pointer-events: none;
5276
+ background: linear-gradient(
5277
+ 100deg,
5278
+ rgba(255, 255, 255, 0) 0%,
5279
+ rgba(255, 255, 255, 0.75) 50%,
5280
+ rgba(255, 255, 255, 0) 100%
5281
+ );
5282
+ animation: ${shimmerSweep} 3s ease-in-out infinite;
5283
+ }
5284
+
5285
+ @media (prefers-reduced-motion: reduce) {
5286
+ &::after {
5287
+ animation: none;
5288
+ }
5289
+ }
5290
+ `;
5246
5291
  var StyledBanner = import_styled_components45.default.div`
5247
5292
  box-sizing: border-box;
5248
5293
  width: 100%;
@@ -5254,6 +5299,7 @@ var StyledBanner = import_styled_components45.default.div`
5254
5299
  border-radius: 6px;
5255
5300
  border: 1px solid ${(p) => p.$borderColor};
5256
5301
  background: ${(p) => p.$background};
5302
+ ${(p) => p.$shimmer && shimmerStyle}
5257
5303
  `;
5258
5304
  var Content2 = import_styled_components45.default.div`
5259
5305
  display: flex;
@@ -5268,6 +5314,8 @@ var Heading = import_styled_components45.default.div`
5268
5314
  `;
5269
5315
  var Banner = ({
5270
5316
  variant = "blue",
5317
+ filled,
5318
+ shimmer,
5271
5319
  badge,
5272
5320
  title,
5273
5321
  subtitle,
@@ -5276,13 +5324,14 @@ var Banner = ({
5276
5324
  toggle,
5277
5325
  children
5278
5326
  }) => {
5279
- const style2 = resolveStyle(variant);
5327
+ const style2 = resolveStyle(variant, filled);
5280
5328
  if (children) {
5281
5329
  return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5282
5330
  StyledBanner,
5283
5331
  {
5284
5332
  $background: style2.background,
5285
5333
  $borderColor: style2.borderColor,
5334
+ $shimmer: shimmer,
5286
5335
  children
5287
5336
  }
5288
5337
  );
@@ -5292,6 +5341,7 @@ var Banner = ({
5292
5341
  {
5293
5342
  $background: style2.background,
5294
5343
  $borderColor: style2.borderColor,
5344
+ $shimmer: shimmer,
5295
5345
  children: [
5296
5346
  /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Content2, { children: message ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Text, { size: "s", children: message }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx_runtime54.Fragment, { children: [
5297
5347
  /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Heading, { children: [
package/dist/index.mjs CHANGED
@@ -184,11 +184,14 @@ var colors = {
184
184
  pink_700: "#DB2777",
185
185
  pink_800: "#BE185D",
186
186
  pink_900: "#9D174D",
187
+ // FUCHSIA
188
+ fuchsia_300: "#FFB3EC",
187
189
  // GREEN
188
190
  green: "#12B76A",
189
191
  green_50: "#DCFCE7",
190
192
  green_100: "#12B76A",
191
193
  green_700: "#17803D",
194
+ green_900: "#006123",
192
195
  // BADGE
193
196
  badge_blue_text: "#1C4ED8",
194
197
  badge_blue_bg: "#DBE9FE",
@@ -5092,7 +5095,7 @@ var Card2 = ({
5092
5095
  );
5093
5096
 
5094
5097
  // src/Components/Banner/Banner.tsx
5095
- import styled45 from "styled-components";
5098
+ import styled45, { css as css3, keyframes as keyframes2 } from "styled-components";
5096
5099
  import { Fragment as Fragment7, jsx as jsx54, jsxs as jsxs28 } from "react/jsx-runtime";
5097
5100
  var PRESET_STYLES = {
5098
5101
  blue: {
@@ -5110,8 +5113,18 @@ var PRESET_STYLES = {
5110
5113
  accent: colors.red_950
5111
5114
  }
5112
5115
  };
5113
- var resolveStyle = (variant) => {
5116
+ var resolveStyle = (variant, filled) => {
5114
5117
  const preset = PRESET_STYLES[variant];
5118
+ const base = preset ? preset.accent : variant;
5119
+ if (filled) {
5120
+ return {
5121
+ background: base,
5122
+ borderColor: base,
5123
+ badgeBackground: `${base}24`,
5124
+ badgeColor: base,
5125
+ accent: base
5126
+ };
5127
+ }
5115
5128
  if (preset) return preset;
5116
5129
  return {
5117
5130
  background: `${variant}14`,
@@ -5124,6 +5137,38 @@ var resolveStyle = (variant) => {
5124
5137
  accent: variant
5125
5138
  };
5126
5139
  };
5140
+ var shimmerSweep = keyframes2`
5141
+ 0% { transform: translateX(-120%) rotate(20deg); }
5142
+ 30%, 100% { transform: translateX(220%) rotate(20deg); }
5143
+ `;
5144
+ var shimmerStyle = css3`
5145
+ position: relative;
5146
+ overflow: hidden;
5147
+
5148
+ &::after {
5149
+ content: '';
5150
+ position: absolute;
5151
+ top: -40%;
5152
+ left: 0;
5153
+ width: 28%;
5154
+ height: 180%;
5155
+ /* Sans ça le reflet intercepte les clics sur le contenu du bandeau. */
5156
+ pointer-events: none;
5157
+ background: linear-gradient(
5158
+ 100deg,
5159
+ rgba(255, 255, 255, 0) 0%,
5160
+ rgba(255, 255, 255, 0.75) 50%,
5161
+ rgba(255, 255, 255, 0) 100%
5162
+ );
5163
+ animation: ${shimmerSweep} 3s ease-in-out infinite;
5164
+ }
5165
+
5166
+ @media (prefers-reduced-motion: reduce) {
5167
+ &::after {
5168
+ animation: none;
5169
+ }
5170
+ }
5171
+ `;
5127
5172
  var StyledBanner = styled45.div`
5128
5173
  box-sizing: border-box;
5129
5174
  width: 100%;
@@ -5135,6 +5180,7 @@ var StyledBanner = styled45.div`
5135
5180
  border-radius: 6px;
5136
5181
  border: 1px solid ${(p) => p.$borderColor};
5137
5182
  background: ${(p) => p.$background};
5183
+ ${(p) => p.$shimmer && shimmerStyle}
5138
5184
  `;
5139
5185
  var Content2 = styled45.div`
5140
5186
  display: flex;
@@ -5149,6 +5195,8 @@ var Heading = styled45.div`
5149
5195
  `;
5150
5196
  var Banner = ({
5151
5197
  variant = "blue",
5198
+ filled,
5199
+ shimmer,
5152
5200
  badge,
5153
5201
  title,
5154
5202
  subtitle,
@@ -5157,13 +5205,14 @@ var Banner = ({
5157
5205
  toggle,
5158
5206
  children
5159
5207
  }) => {
5160
- const style2 = resolveStyle(variant);
5208
+ const style2 = resolveStyle(variant, filled);
5161
5209
  if (children) {
5162
5210
  return /* @__PURE__ */ jsx54(
5163
5211
  StyledBanner,
5164
5212
  {
5165
5213
  $background: style2.background,
5166
5214
  $borderColor: style2.borderColor,
5215
+ $shimmer: shimmer,
5167
5216
  children
5168
5217
  }
5169
5218
  );
@@ -5173,6 +5222,7 @@ var Banner = ({
5173
5222
  {
5174
5223
  $background: style2.background,
5175
5224
  $borderColor: style2.borderColor,
5225
+ $shimmer: shimmer,
5176
5226
  children: [
5177
5227
  /* @__PURE__ */ jsx54(Content2, { children: message ? /* @__PURE__ */ jsx54(Text, { size: "s", children: message }) : /* @__PURE__ */ jsxs28(Fragment7, { children: [
5178
5228
  /* @__PURE__ */ jsxs28(Heading, { children: [
@@ -5709,14 +5759,14 @@ var FileUploadZone = ({
5709
5759
  };
5710
5760
 
5711
5761
  // src/Components/Spinner/Spinner.tsx
5712
- import styled48, { keyframes as keyframes2 } from "styled-components";
5762
+ import styled48, { keyframes as keyframes3 } from "styled-components";
5713
5763
  import { jsx as jsx58 } from "react/jsx-runtime";
5714
5764
  var SIZES3 = {
5715
5765
  s: 20,
5716
5766
  m: 32,
5717
5767
  l: 48
5718
5768
  };
5719
- var spin = keyframes2`
5769
+ var spin = keyframes3`
5720
5770
  0% { transform: rotate(0deg); }
5721
5771
  100% { transform: rotate(360deg); }
5722
5772
  `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "design-zystem",
3
- "version": "1.0.275",
3
+ "version": "1.0.277",
4
4
  "description": "A React design system of importable components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",