pentatrion-design 1.3.2 → 1.3.3

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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 1.3.3
2
+
3
+ ### Patch Changes
4
+
5
+ - 1503a74: ColorPreview add null value
6
+
1
7
  ## 1.3.2
2
8
 
3
9
  ### Patch Changes
@@ -211,7 +211,7 @@ function NamedColorGrid(t0) {
211
211
  //#endregion
212
212
  //#region src/components/color/ColorPreview.tsx
213
213
  function ColorPreview(t0) {
214
- const $ = c(36);
214
+ const $ = c(42);
215
215
  let className;
216
216
  let label;
217
217
  let ref;
@@ -248,96 +248,108 @@ function ColorPreview(t0) {
248
248
  const color = t2 === void 0 ? "yellow" : t2;
249
249
  const showValue = t3 === void 0 ? false : t3;
250
250
  const palette = t4 === void 0 ? defaultBrandPalette : t4;
251
+ const t = useTranslate();
251
252
  let t5;
252
253
  if ($[10] !== unknownColor) {
253
254
  t5 = typeof unknownColor === "string" ? {
254
255
  type: "raw",
255
256
  hex: unknownColor
256
- } : unknownColor ?? defaultNamedColor;
257
+ } : unknownColor ?? null;
257
258
  $[10] = unknownColor;
258
259
  $[11] = t5;
259
260
  } else t5 = $[11];
260
261
  const value = t5;
261
- const valueToShow = label ?? (showValue ? value.type === "raw" ? value.hex : value.name : null);
262
- const buttonRef = useRef(null);
263
262
  let t6;
264
- if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
265
- t6 = () => buttonRef.current;
266
- $[12] = t6;
267
- } else t6 = $[12];
268
- useImperativeHandle(ref, t6);
263
+ if ($[12] !== label || $[13] !== showValue || $[14] !== t || $[15] !== value) {
264
+ t6 = label ?? (value ? showValue ? value.type === "raw" ? value.hex : value.name : null : t?.("form.values.color.inherit") ?? "Par défault");
265
+ $[12] = label;
266
+ $[13] = showValue;
267
+ $[14] = t;
268
+ $[15] = value;
269
+ $[16] = t6;
270
+ } else t6 = $[16];
271
+ const valueLabel = t6;
272
+ const buttonRef = useRef(null);
273
+ let t7;
274
+ if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
275
+ t7 = () => buttonRef.current;
276
+ $[17] = t7;
277
+ } else t7 = $[17];
278
+ useImperativeHandle(ref, t7);
269
279
  const ripples = useRipple(buttonRef);
270
- const t7 = withRipple && ripples;
271
- const t8 = valueToShow === null && "min-w-12";
272
- let t9;
273
- if ($[13] !== className || $[14] !== t8) {
274
- t9 = clsx("absolute inset-1 flex items-center justify-center rounded-2xl transition-transform group-hover:scale-150", t8, className);
275
- $[13] = className;
276
- $[14] = t8;
277
- $[15] = t9;
278
- } else t9 = $[15];
280
+ const t8 = withRipple && ripples;
281
+ const t9 = valueLabel === null && "min-w-12";
279
282
  let t10;
280
- if ($[16] !== palette || $[17] !== value) {
281
- t10 = getColorValue(value, palette);
282
- $[16] = palette;
283
- $[17] = value;
284
- $[18] = t10;
285
- } else t10 = $[18];
283
+ if ($[18] !== className || $[19] !== t9) {
284
+ t10 = clsx("absolute inset-1 flex items-center justify-center rounded-2xl transition-transform group-hover:scale-150", t9, className);
285
+ $[18] = className;
286
+ $[19] = t9;
287
+ $[20] = t10;
288
+ } else t10 = $[20];
286
289
  let t11;
287
- if ($[19] !== t10) {
288
- t11 = { backgroundColor: t10 };
289
- $[19] = t10;
290
- $[20] = t11;
291
- } else t11 = $[20];
290
+ if ($[21] !== palette || $[22] !== value) {
291
+ t11 = value ? getColorValue(value, palette) : void 0;
292
+ $[21] = palette;
293
+ $[22] = value;
294
+ $[23] = t11;
295
+ } else t11 = $[23];
292
296
  let t12;
293
- if ($[21] !== t11 || $[22] !== t9) {
294
- t12 = /* @__PURE__ */ jsx("span", {
295
- className: t9,
296
- style: t11
297
- });
298
- $[21] = t11;
299
- $[22] = t9;
300
- $[23] = t12;
301
- } else t12 = $[23];
302
- const t13 = valueToShow === null && "min-w-12";
303
- let t14;
304
- if ($[24] !== className || $[25] !== t13) {
305
- t14 = clsx("relative flex h-full items-center justify-center px-2", t13, className);
306
- $[24] = className;
307
- $[25] = t13;
308
- $[26] = t14;
309
- } else t14 = $[26];
310
- let t15;
311
- if ($[27] !== t14 || $[28] !== valueToShow) {
312
- t15 = /* @__PURE__ */ jsx("span", {
313
- className: t14,
314
- children: valueToShow
297
+ if ($[24] !== t11) {
298
+ t12 = { backgroundColor: t11 };
299
+ $[24] = t11;
300
+ $[25] = t12;
301
+ } else t12 = $[25];
302
+ let t13;
303
+ if ($[26] !== t10 || $[27] !== t12) {
304
+ t13 = /* @__PURE__ */ jsx("span", {
305
+ className: t10,
306
+ style: t12
315
307
  });
316
- $[27] = t14;
317
- $[28] = valueToShow;
318
- $[29] = t15;
319
- } else t15 = $[29];
308
+ $[26] = t10;
309
+ $[27] = t12;
310
+ $[28] = t13;
311
+ } else t13 = $[28];
312
+ const t14 = valueLabel === null && "min-w-12";
313
+ const t15 = !value && "border border-dashed border-gray-3";
320
314
  let t16;
321
- if ($[30] !== color || $[31] !== rest || $[32] !== t12 || $[33] !== t15 || $[34] !== t7) {
322
- t16 = /* @__PURE__ */ jsxs("button", {
315
+ if ($[29] !== className || $[30] !== t14 || $[31] !== t15) {
316
+ t16 = clsx("relative flex h-full items-center justify-center px-2 rounded-2xl", t14, className, t15);
317
+ $[29] = className;
318
+ $[30] = t14;
319
+ $[31] = t15;
320
+ $[32] = t16;
321
+ } else t16 = $[32];
322
+ let t17;
323
+ if ($[33] !== t16 || $[34] !== valueLabel) {
324
+ t17 = /* @__PURE__ */ jsx("span", {
325
+ className: t16,
326
+ children: valueLabel
327
+ });
328
+ $[33] = t16;
329
+ $[34] = valueLabel;
330
+ $[35] = t17;
331
+ } else t17 = $[35];
332
+ let t18;
333
+ if ($[36] !== color || $[37] !== rest || $[38] !== t13 || $[39] !== t17 || $[40] !== t8) {
334
+ t18 = /* @__PURE__ */ jsxs("button", {
323
335
  ref: buttonRef,
324
336
  "data-color": color,
325
337
  className: "p8n-input-text group relative flex h-8 cursor-pointer overflow-clip rounded-2xl p-1 -outline-offset-1 active:translate-y-px",
326
338
  ...rest,
327
339
  children: [
328
- t7,
329
- t12,
330
- t15
340
+ t8,
341
+ t13,
342
+ t17
331
343
  ]
332
344
  });
333
- $[30] = color;
334
- $[31] = rest;
335
- $[32] = t12;
336
- $[33] = t15;
337
- $[34] = t7;
338
- $[35] = t16;
339
- } else t16 = $[35];
340
- return t16;
345
+ $[36] = color;
346
+ $[37] = rest;
347
+ $[38] = t13;
348
+ $[39] = t17;
349
+ $[40] = t8;
350
+ $[41] = t18;
351
+ } else t18 = $[41];
352
+ return t18;
341
353
  }
342
354
  //#endregion
343
355
  //#region src/lib/color.ts
@@ -1175,4 +1187,4 @@ function ColorPicker(t0) {
1175
1187
  //#endregion
1176
1188
  export { rawColorSchema as _, NamedColorGrid as a, isColorAvailable as c, colorNames as d, colorSchema as f, namedColorSchema as g, defaultNamedColor as h, ColorPreview as i, isGrayScale as l, defaultFallbackColor as m, HarmonyColorGrid as n, applyColorVariant as o, defaultBrandPalette as p, RawColorGrid as r, getColorValue as s, ColorPicker as t, brandPaletteSchema as u };
1177
1189
 
1178
- //# sourceMappingURL=color-Bhhbmy0k.mjs.map
1190
+ //# sourceMappingURL=color-CoLi_qPR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-CoLi_qPR.mjs","names":["z","colorNames","const","ColorName","namedColorSchema","object","type","literal","name","enum","variant","number","NamedColor","infer","defaultNamedColor","defaultFallbackColor","rawColorSchema","hex","string","RawColor","colorSchema","union","Color","ColorInput","input","brandPaletteSchema","primary","secondary","_default","nullable","tertiary","gray","BrandPalette","defaultBrandPalette","Color","ColorName","defaultBrandPalette","defaultFallbackColor","getColorValue","color","palette","fallbackColor","type","hex","base","name","applyColorVariant","variant","isGrayScale","normalized","replace","isShort","length","step","r","parseInt","slice","repeat","g","b","isColorAvailable","colorName","Math","abs","clsx","Color","defaultBrandPalette","BrandPalette","NamedColor","colorNames","applyColorVariant","getColorValue","isColorAvailable","useTranslate","Props","palette","value","onChange","variants","colorLabels","Record","primary","secondary","tertiary","gray","variantMagnitude","getVariantSteps","Array","isArray","min","max","from","length","_","i","Math","round","colorButtonStyle","base","selected","NamedColorGrid","t0","$","_c","t1","t2","undefined","t","t3","name","variant","t4","filter","map","name_0","steps","c","type","v","backgroundColor","t5","t6","variant_0","c_0","t7","t8","ComponentProps","RefObject","useImperativeHandle","useRef","clsx","useRipple","Color","defaultBrandPalette","BrandPalette","getColorValue","ThemeColor","useTranslate","ColorPreviewProps","Omit","withRipple","value","color","label","palette","showValue","className","ref","HTMLButtonElement","ColorPreview","t0","$","_c","rest","t1","t2","t3","t4","unknownColor","undefined","t","t5","type","hex","t6","name","valueLabel","buttonRef","t7","Symbol","for","current","ripples","t8","t9","t10","t11","t12","backgroundColor","t13","t14","t15","t16","t17","t18","rawColorsHex","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose","neutral","slate","gray","zinc","stone","mauve","olive","mist","taupe","const","rawColorsHex","colorByGroups","Object","entries","filter","name","colorGroup","includes","map","colors","clsx","colorByGroups","RawColor","Props","value","onChange","RawColorGrid","t0","$","_c","t1","hex","map","t2","name","colors","t3","colorNumber","colorCode","parseInt","backgroundColor","type","clsx","colord","extend","harmoniesPlugin","HarmonyType","RawColor","colorButtonStyle","useTranslate","harmonyLabels","Record","complementary","analogous","triadic","rectangle","tetradic","harmonyTypes","Object","keys","Props","refColor","value","onChange","HarmonyColorGrid","t0","$","_c","t","t1","t2","hex","baseColor","map","harmonyType","harmonies","harmonyColor","index","toHex","base","selected","backgroundColor","type","t3","Modal","ModalContent","ModalFooter","useState","Field","FieldProps","NamedColorGrid","Button","ColorPreview","Color","BrandPalette","RawColor","Tabs","HexColorInput","HexColorPicker","inputConfig","clsx","useTranslate","RawColorGrid","HarmonyColorGrid","Props","Omit","palette","value","refColor","onChange","allowInherit","variants","ColorPicker","t0","$","_c","rest","t1","undefined","t","isOpen","setIsOpen","tempValue","setTempValue","tabId","setTabId","type","t2","handleSubmit","t3","handleInherit","t4","id","title","content","t5","t6","t7","t8","t9","t10","t11","hex","t12","Symbol","for","t13","t14","container","t15","t16","hex_0","t17","input","t18","t19","t20","tabs","t21","t22","t23","t24","modalKeepOpen","t25","t26","t27","t28","t29","t30","t31","t32","t33","t34","t35","t36"],"sources":["../src/components/color/config.ts","../src/components/color/util.ts","../src/components/color/NamedColorGrid.tsx","../src/components/color/ColorPreview.tsx","../src/lib/colors.generated.ts","../src/lib/color.ts","../src/components/color/RawColorGrid.tsx","../src/components/color/HarmonyColorGrid.tsx","../src/components/color/ColorPicker.tsx"],"sourcesContent":["import { z } from \"zod/v4-mini\";\n\nexport const colorNames = [\"primary\", \"secondary\", \"tertiary\", \"gray\"] as const;\nexport type ColorName = (typeof colorNames)[number];\n\nexport const namedColorSchema = z.object({\n type: z.literal(\"named\"),\n name: z.enum(colorNames),\n variant: z.number(), // -100, 100\n});\nexport type NamedColor = z.infer<typeof namedColorSchema>;\n\nexport const defaultNamedColor: NamedColor = { name: \"gray\", variant: -100, type: \"named\" };\nexport const defaultFallbackColor = \"#000000\";\n\nexport const rawColorSchema = z.object({\n type: z.literal(\"raw\"),\n hex: z.string(),\n});\nexport type RawColor = z.infer<typeof rawColorSchema>;\n\nexport const colorSchema = z.union([namedColorSchema, rawColorSchema]);\nexport type Color = z.infer<typeof colorSchema>;\n\nexport type ColorInput = z.input<typeof colorSchema>;\n\nexport const brandPaletteSchema = z.object({\n primary: z.string(),\n secondary: z._default(z.nullable(z.string()), null),\n tertiary: z._default(z.nullable(z.string()), null),\n gray: z.string(),\n});\nexport type BrandPalette = z.infer<typeof brandPaletteSchema>;\n\nexport const defaultBrandPalette: BrandPalette = {\n primary: \"#ffca0a\",\n secondary: null,\n tertiary: null,\n gray: \"#808080\",\n};\n","import { Color, ColorName, defaultBrandPalette, defaultFallbackColor } from \"./config\";\n\nexport function getColorValue(\n color: Color | null,\n palette = defaultBrandPalette,\n fallbackColor = defaultFallbackColor,\n): string {\n if (!color) {\n return fallbackColor;\n }\n\n if (color.type === \"raw\") {\n return color.hex;\n }\n\n const base = color.name === \"gray\" ? \"#808080\" : (palette[color.name] ?? \"#808080\");\n\n return applyColorVariant(base ?? \"#808080\", color.variant);\n}\n\n/**\n * Détermine si une couleur hexadécimale (#rgb, #rgba, #rrggbb, #rrggbbaa)\n * est un niveau de gris, c'est-à-dire que ses composantes R, G et B sont égales.\n */\nexport function isGrayScale(hex: string): boolean {\n const normalized = hex.replace(\"#\", \"\");\n const isShort = normalized.length === 3 || normalized.length === 4;\n const step = isShort ? 1 : 2;\n\n const r = parseInt(normalized.slice(0, step).repeat(isShort ? 2 : 1), 16);\n const g = parseInt(normalized.slice(step, step * 2).repeat(isShort ? 2 : 1), 16);\n const b = parseInt(normalized.slice(step * 2, step * 3).repeat(isShort ? 2 : 1), 16);\n\n return r === g && g === b;\n}\n\nexport function isColorAvailable(colorName: ColorName, palette = defaultBrandPalette): boolean {\n if (colorName === \"gray\") {\n return true;\n }\n return !!palette[colorName];\n}\n\n/**\n * Dérive une variante claire/sombre d'une couleur de palette : mix vers `white`\n * pour variant > 0, vers un gris neutre foncé (`--color-gray-7`, pas `black` —\n * mélanger vers du noir pur désature/salit la teinte) pour variant < 0.\n * `black`/`white` dérogent : ce sont déjà les bornes de la rampe, seul un mix\n * vers `black` a du sens pour elles (plage -100..0 imposée côté ColorPicker).\n */\nexport function applyColorVariant(base: string, variant: number): string {\n if (variant === 0) {\n return base;\n }\n\n return variant > 0\n ? `color-mix(in oklab, ${base} ${100 - variant}%, white)`\n : `color-mix(in oklab, ${base} ${100 - Math.abs(variant)}%, ${isGrayScale(base) ? \"black\" : \"var(--color-gray-7)\"})`;\n}\n","import clsx from \"clsx\";\nimport { Color, defaultBrandPalette, BrandPalette, NamedColor, colorNames } from \"./config\";\nimport { applyColorVariant, getColorValue, isColorAvailable } from \"./util\";\nimport { useTranslate } from \"../i18n\";\n\ninterface Props {\n palette?: BrandPalette;\n value: NamedColor | null;\n onChange: (value: NamedColor) => void;\n variants?: number | number[];\n}\n\nconst colorLabels: Record<(typeof colorNames)[number], string> = {\n primary: \"Principale\",\n secondary: \"Secondaire\",\n tertiary: \"Tertiaire\",\n gray: \"Niveau de gris\",\n};\n// bornes à -80/80 plutôt que -100/100 : à 100% la base disparaît complètement\n// du color-mix, le swatch ne reproduit plus que du blanc/gris pur, redondant\n// avec les entrées white/black déjà présentes dans la grille.\nconst variantMagnitude = 80;\n\nfunction getVariantSteps(variants: number | number[]): number[] {\n if (Array.isArray(variants)) {\n return variants;\n }\n const min = -variantMagnitude;\n const max = variantMagnitude;\n if (variants <= 1) {\n return [0];\n }\n return Array.from({ length: variants }, (_, i) =>\n Math.round(min + (i * (max - min)) / (variants - 1)),\n );\n}\n\nexport const colorButtonStyle = {\n base: \"cursor-pointer hover:z-20 hover:scale-125 hover:rounded hover:shadow active:scale-125 first-of-type:rounded-l-md last-of-type:rounded-r-md\",\n selected: \"outline-yellow-5 z-10 rounded outline-2 -outline-offset-1\",\n};\n\nexport function NamedColorGrid({\n palette = defaultBrandPalette,\n value,\n onChange,\n variants = 9,\n}: Props) {\n const t = useTranslate();\n\n return (\n <div className=\"flex flex-col gap-3 p-2\">\n {colorNames\n .filter((name) => isColorAvailable(name, palette))\n .map((name) => {\n // une seule vignette pour black : color-mix(black, black) est un no-op,\n // toute une rampe serait visuellement identique\n const steps = getVariantSteps(variants);\n\n return (\n <div key={name}>\n <div className=\"text-body-xs truncate\">\n {t?.(`form.values.colorNames.${name}`) ?? colorLabels[name]}\n </div>\n <div className=\"flex\">\n {steps.map((variant) => {\n const c: Color = { type: \"named\", name, variant };\n const v = getColorValue(c, palette);\n return (\n <button\n key={variant}\n type=\"button\"\n title={`${c.name} (${variant}%)`}\n className={clsx(\n \"h-8 flex-1\",\n colorButtonStyle.base,\n value?.name === name &&\n value?.variant === variant &&\n colorButtonStyle.selected,\n )}\n style={{ backgroundColor: v }}\n onClick={() => onChange(c)}\n />\n );\n })}\n </div>\n </div>\n );\n })}\n\n <div>\n <div className=\"text-body-xs truncate\">\n {t?.(\"form.values.colorNames.blackAndWhite\") ?? \"Noir & Blanc\"}\n </div>\n <div className=\"flex\">\n {[-100, 100].map((variant) => {\n const c = applyColorVariant(\"#808080\", variant);\n return (\n <button\n key={variant}\n type=\"button\"\n title={`gray (${variant}%)`}\n className={clsx(\n \"h-8 flex-1 hover:scale-x-105!\",\n colorButtonStyle.base,\n value?.name === \"gray\" && value?.variant === variant && colorButtonStyle.selected,\n variant === 100 && \"border border-gray-2\",\n )}\n style={{ backgroundColor: c }}\n onClick={() => onChange({ type: \"named\", name: \"gray\", variant })}\n />\n );\n })}\n </div>\n </div>\n </div>\n );\n}\n","import { ComponentProps, RefObject, useImperativeHandle, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { useRipple } from \"pentatrion-design/hooks\";\nimport { Color, defaultBrandPalette, BrandPalette } from \"./config\";\nimport { getColorValue } from \"./util\";\nimport { ThemeColor } from \"../../types\";\nimport { useTranslate } from \"../i18n\";\n\nexport interface ColorPreviewProps extends Omit<ComponentProps<\"button\">, \"color\" | \"value\"> {\n withRipple?: boolean;\n\n value?: Color | null | string;\n color?: ThemeColor;\n label?: string;\n palette?: BrandPalette;\n showValue?: boolean;\n className?: string;\n ref?: RefObject<HTMLButtonElement>;\n}\n\nexport function ColorPreview({\n value: unknownColor,\n withRipple = true,\n color = \"yellow\",\n label,\n showValue = false,\n palette = defaultBrandPalette,\n className,\n ref,\n ...rest\n}: ColorPreviewProps) {\n const t = useTranslate();\n const value: Color | null =\n typeof unknownColor === \"string\" ? { type: \"raw\", hex: unknownColor } : (unknownColor ?? null);\n\n const valueLabel =\n label ??\n (value\n ? showValue\n ? value.type === \"raw\"\n ? value.hex\n : value.name\n : null\n : (t?.(\"form.values.color.inherit\") ?? \"Par défault\"));\n\n const buttonRef = useRef<HTMLButtonElement>(null!);\n\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n ref,\n () => buttonRef.current,\n );\n\n const ripples = useRipple(buttonRef);\n\n return (\n <button\n ref={buttonRef}\n data-color={color}\n className=\"p8n-input-text group relative flex h-8 cursor-pointer overflow-clip rounded-2xl p-1 -outline-offset-1 active:translate-y-px\"\n {...rest}\n >\n {withRipple && ripples}\n <span\n className={clsx(\n \"absolute inset-1 flex items-center justify-center rounded-2xl transition-transform group-hover:scale-150\",\n valueLabel === null && \"min-w-12\",\n className,\n )}\n style={{ backgroundColor: value ? getColorValue(value, palette) : undefined }}\n ></span>\n <span\n className={clsx(\n \"relative flex h-full items-center justify-center px-2 rounded-2xl\",\n valueLabel === null && \"min-w-12\",\n className,\n !value && \"border border-dashed border-gray-3\",\n )}\n >\n {valueLabel}\n </span>\n </button>\n );\n}\n","// généré par scripts/generate-colors.ts à partir de tailwindcss/colors (oklch -> hex via culori)\nexport const rawColorsHex = {\n red: {\n \"50\": \"#fef2f2\",\n \"100\": \"#ffe2e2\",\n \"200\": \"#ffc9c9\",\n \"300\": \"#ffa2a2\",\n \"400\": \"#ff6467\",\n \"500\": \"#fb2c36\",\n \"600\": \"#e7000b\",\n \"700\": \"#c10007\",\n \"800\": \"#9f0712\",\n \"900\": \"#82181a\",\n \"950\": \"#460809\",\n },\n orange: {\n \"50\": \"#fff7ed\",\n \"100\": \"#ffedd4\",\n \"200\": \"#ffd6a7\",\n \"300\": \"#ffb86a\",\n \"400\": \"#ff8904\",\n \"500\": \"#ff6900\",\n \"600\": \"#f54900\",\n \"700\": \"#ca3500\",\n \"800\": \"#9f2d00\",\n \"900\": \"#7e2a0c\",\n \"950\": \"#441306\",\n },\n amber: {\n \"50\": \"#fffbeb\",\n \"100\": \"#fef3c6\",\n \"200\": \"#fee685\",\n \"300\": \"#ffd230\",\n \"400\": \"#ffb900\",\n \"500\": \"#fe9a00\",\n \"600\": \"#e17100\",\n \"700\": \"#bb4d00\",\n \"800\": \"#973c00\",\n \"900\": \"#7b3306\",\n \"950\": \"#461901\",\n },\n yellow: {\n \"50\": \"#fefce8\",\n \"100\": \"#fef9c2\",\n \"200\": \"#fff085\",\n \"300\": \"#ffdf20\",\n \"400\": \"#fdc700\",\n \"500\": \"#f0b100\",\n \"600\": \"#d08700\",\n \"700\": \"#a65f00\",\n \"800\": \"#894b00\",\n \"900\": \"#733e0a\",\n \"950\": \"#432004\",\n },\n lime: {\n \"50\": \"#f7fee7\",\n \"100\": \"#ecfcca\",\n \"200\": \"#d8f999\",\n \"300\": \"#bbf451\",\n \"400\": \"#9ae600\",\n \"500\": \"#7ccf00\",\n \"600\": \"#5ea500\",\n \"700\": \"#497d00\",\n \"800\": \"#3c6300\",\n \"900\": \"#35530e\",\n \"950\": \"#192e03\",\n },\n green: {\n \"50\": \"#f0fdf4\",\n \"100\": \"#dcfce7\",\n \"200\": \"#b9f8cf\",\n \"300\": \"#7bf1a8\",\n \"400\": \"#05df72\",\n \"500\": \"#00c950\",\n \"600\": \"#00a63e\",\n \"700\": \"#008236\",\n \"800\": \"#016630\",\n \"900\": \"#0d542b\",\n \"950\": \"#032e15\",\n },\n emerald: {\n \"50\": \"#ecfdf5\",\n \"100\": \"#d0fae5\",\n \"200\": \"#a4f4cf\",\n \"300\": \"#5ee9b5\",\n \"400\": \"#00d492\",\n \"500\": \"#00bc7d\",\n \"600\": \"#009966\",\n \"700\": \"#007a55\",\n \"800\": \"#006045\",\n \"900\": \"#004f3b\",\n \"950\": \"#002c22\",\n },\n teal: {\n \"50\": \"#f0fdfa\",\n \"100\": \"#cbfbf1\",\n \"200\": \"#96f7e4\",\n \"300\": \"#46ecd5\",\n \"400\": \"#00d5be\",\n \"500\": \"#00bba7\",\n \"600\": \"#009689\",\n \"700\": \"#00786f\",\n \"800\": \"#005f5a\",\n \"900\": \"#0b4f4a\",\n \"950\": \"#022f2e\",\n },\n cyan: {\n \"50\": \"#ecfeff\",\n \"100\": \"#cefafe\",\n \"200\": \"#a2f4fd\",\n \"300\": \"#53eafd\",\n \"400\": \"#00d3f2\",\n \"500\": \"#00b8db\",\n \"600\": \"#0092b8\",\n \"700\": \"#007595\",\n \"800\": \"#005f78\",\n \"900\": \"#104e64\",\n \"950\": \"#053345\",\n },\n sky: {\n \"50\": \"#f0f9ff\",\n \"100\": \"#dff2fe\",\n \"200\": \"#b8e6fe\",\n \"300\": \"#74d4ff\",\n \"400\": \"#00bcff\",\n \"500\": \"#00a6f4\",\n \"600\": \"#0084d1\",\n \"700\": \"#0069a8\",\n \"800\": \"#00598a\",\n \"900\": \"#024a70\",\n \"950\": \"#052f4a\",\n },\n blue: {\n \"50\": \"#eff6ff\",\n \"100\": \"#dbeafe\",\n \"200\": \"#bedbff\",\n \"300\": \"#8ec5ff\",\n \"400\": \"#51a2ff\",\n \"500\": \"#2b7fff\",\n \"600\": \"#155dfc\",\n \"700\": \"#1447e6\",\n \"800\": \"#193cb8\",\n \"900\": \"#1c398e\",\n \"950\": \"#162456\",\n },\n indigo: {\n \"50\": \"#eef2ff\",\n \"100\": \"#e0e7ff\",\n \"200\": \"#c6d2ff\",\n \"300\": \"#a3b3ff\",\n \"400\": \"#7c86ff\",\n \"500\": \"#615fff\",\n \"600\": \"#4f39f6\",\n \"700\": \"#432dd7\",\n \"800\": \"#372aac\",\n \"900\": \"#312c85\",\n \"950\": \"#1e1a4d\",\n },\n violet: {\n \"50\": \"#f5f3ff\",\n \"100\": \"#ede9fe\",\n \"200\": \"#ddd6ff\",\n \"300\": \"#c4b4ff\",\n \"400\": \"#a684ff\",\n \"500\": \"#8e51ff\",\n \"600\": \"#7f22fe\",\n \"700\": \"#7008e7\",\n \"800\": \"#5d0ec0\",\n \"900\": \"#4d179a\",\n \"950\": \"#2f0d68\",\n },\n purple: {\n \"50\": \"#faf5ff\",\n \"100\": \"#f3e8ff\",\n \"200\": \"#e9d4ff\",\n \"300\": \"#dab2ff\",\n \"400\": \"#c27aff\",\n \"500\": \"#ad46ff\",\n \"600\": \"#9810fa\",\n \"700\": \"#8200db\",\n \"800\": \"#6e11b0\",\n \"900\": \"#59168b\",\n \"950\": \"#3c0366\",\n },\n fuchsia: {\n \"50\": \"#fdf4ff\",\n \"100\": \"#fae8ff\",\n \"200\": \"#f6cfff\",\n \"300\": \"#f4a8ff\",\n \"400\": \"#ed6aff\",\n \"500\": \"#e12afb\",\n \"600\": \"#c800de\",\n \"700\": \"#a800b7\",\n \"800\": \"#8a0194\",\n \"900\": \"#721378\",\n \"950\": \"#4b004f\",\n },\n pink: {\n \"50\": \"#fdf2f8\",\n \"100\": \"#fce7f3\",\n \"200\": \"#fccee8\",\n \"300\": \"#fda5d5\",\n \"400\": \"#fb64b6\",\n \"500\": \"#f6339a\",\n \"600\": \"#e60076\",\n \"700\": \"#c6005c\",\n \"800\": \"#a3004c\",\n \"900\": \"#861043\",\n \"950\": \"#510424\",\n },\n rose: {\n \"50\": \"#fff1f2\",\n \"100\": \"#ffe4e6\",\n \"200\": \"#ffccd3\",\n \"300\": \"#ffa1ad\",\n \"400\": \"#ff637e\",\n \"500\": \"#ff2056\",\n \"600\": \"#ec003f\",\n \"700\": \"#c70036\",\n \"800\": \"#a50036\",\n \"900\": \"#8b0836\",\n \"950\": \"#4d0218\",\n },\n neutral: {\n \"50\": \"#fafafa\",\n \"100\": \"#f5f5f5\",\n \"200\": \"#e5e5e5\",\n \"300\": \"#d4d4d4\",\n \"400\": \"#a1a1a1\",\n \"500\": \"#737373\",\n \"600\": \"#525252\",\n \"700\": \"#404040\",\n \"800\": \"#262626\",\n \"900\": \"#171717\",\n \"950\": \"#0a0a0a\",\n },\n slate: {\n \"50\": \"#f8fafc\",\n \"100\": \"#f1f5f9\",\n \"200\": \"#e2e8f0\",\n \"300\": \"#cad5e2\",\n \"400\": \"#90a1b9\",\n \"500\": \"#62748e\",\n \"600\": \"#45556c\",\n \"700\": \"#314158\",\n \"800\": \"#1d293d\",\n \"900\": \"#0f172b\",\n \"950\": \"#020618\",\n },\n gray: {\n \"50\": \"#f9fafb\",\n \"100\": \"#f3f4f6\",\n \"200\": \"#e5e7eb\",\n \"300\": \"#d1d5dc\",\n \"400\": \"#99a1af\",\n \"500\": \"#6a7282\",\n \"600\": \"#4a5565\",\n \"700\": \"#364153\",\n \"800\": \"#1e2939\",\n \"900\": \"#101828\",\n \"950\": \"#030712\",\n },\n zinc: {\n \"50\": \"#fafafa\",\n \"100\": \"#f4f4f5\",\n \"200\": \"#e4e4e7\",\n \"300\": \"#d4d4d8\",\n \"400\": \"#9f9fa9\",\n \"500\": \"#71717b\",\n \"600\": \"#52525c\",\n \"700\": \"#3f3f46\",\n \"800\": \"#27272a\",\n \"900\": \"#18181b\",\n \"950\": \"#09090b\",\n },\n\n stone: {\n \"50\": \"#fafaf9\",\n \"100\": \"#f5f5f4\",\n \"200\": \"#e7e5e4\",\n \"300\": \"#d6d3d1\",\n \"400\": \"#a6a09b\",\n \"500\": \"#79716b\",\n \"600\": \"#57534d\",\n \"700\": \"#44403b\",\n \"800\": \"#292524\",\n \"900\": \"#1c1917\",\n \"950\": \"#0c0a09\",\n },\n mauve: {\n \"50\": \"#fafafa\",\n \"100\": \"#f3f1f3\",\n \"200\": \"#e7e4e7\",\n \"300\": \"#d7d0d7\",\n \"400\": \"#a89ea9\",\n \"500\": \"#79697b\",\n \"600\": \"#594c5b\",\n \"700\": \"#463947\",\n \"800\": \"#2a212c\",\n \"900\": \"#1d161e\",\n \"950\": \"#0c090c\",\n },\n olive: {\n \"50\": \"#fbfbf9\",\n \"100\": \"#f4f4f0\",\n \"200\": \"#e8e8e3\",\n \"300\": \"#d8d8d0\",\n \"400\": \"#abab9c\",\n \"500\": \"#7c7c67\",\n \"600\": \"#5b5b4b\",\n \"700\": \"#474739\",\n \"800\": \"#2b2b22\",\n \"900\": \"#1d1d16\",\n \"950\": \"#0c0c09\",\n },\n mist: {\n \"50\": \"#f9fbfb\",\n \"100\": \"#f1f3f3\",\n \"200\": \"#e3e7e8\",\n \"300\": \"#d0d6d8\",\n \"400\": \"#9ca8ab\",\n \"500\": \"#67787c\",\n \"600\": \"#4b585b\",\n \"700\": \"#394447\",\n \"800\": \"#22292b\",\n \"900\": \"#161b1d\",\n \"950\": \"#090b0c\",\n },\n taupe: {\n \"50\": \"#fbfaf9\",\n \"100\": \"#f3f1f1\",\n \"200\": \"#e8e4e3\",\n \"300\": \"#d8d2d0\",\n \"400\": \"#aba09c\",\n \"500\": \"#7c6d67\",\n \"600\": \"#5b4f4b\",\n \"700\": \"#473c39\",\n \"800\": \"#2b2422\",\n \"900\": \"#1d1816\",\n \"950\": \"#0c0a09\",\n },\n} as const;\n","import { rawColorsHex } from \"./colors.generated\";\n\nexport const colorByGroups = Object.entries(rawColorsHex)\n .filter(\n ([name, colorGroup]) =>\n // blueGray === slate\n // coolGray === gray\n // neutral === trueGray\n // stone === warmGray\n // ski === lightBlue\n typeof colorGroup !== \"string\" &&\n ![\"blueGray\", \"coolGray\", \"trueGray\", \"warmGray\", \"lightBlue\"].includes(name),\n )\n .map(([name, colorGroup]) => ({\n name,\n colors: Object.entries(colorGroup) as [string, string][],\n }));\n","import clsx from \"clsx\";\nimport { colorByGroups } from \"../../lib/color\";\nimport { RawColor } from \"./config\";\n\ninterface Props {\n value: RawColor | null;\n onChange: (value: RawColor) => void;\n}\n\nexport function RawColorGrid({ value, onChange }: Props) {\n return (\n <div className=\"grid-cols-repeat-fill-50 grid gap-1 text-center text-sm p-2\">\n {colorByGroups.map(({ name, colors }) => (\n <div key={name}>\n <div className=\"text-body-xs truncate\">{name}</div>\n <div className=\"grid shadow\">\n {colors.map(([colorNumber, colorCode]) => (\n <button\n key={colorNumber}\n className={clsx(\n \"cursor-pointer first-of-type:rounded-t-md last-of-type:rounded-b-md\",\n parseInt(colorNumber) > 600 ? \"text-white\" : \"text-black\",\n \"hover:z-20 hover:scale-125 hover:rounded hover:shadow active:scale-125\",\n value?.hex === colorCode &&\n \"outline-yellow-5 z-10 rounded outline-2 -outline-offset-1\",\n )}\n style={{ backgroundColor: colorCode }}\n onClick={() => onChange({ type: \"raw\", hex: colorCode })}\n >\n {colorNumber}\n </button>\n ))}\n </div>\n </div>\n ))}\n </div>\n );\n}\n","import clsx from \"clsx\";\nimport { colord, extend } from \"colord\";\nimport harmoniesPlugin, { type HarmonyType } from \"colord/plugins/harmonies\";\nimport { RawColor } from \"./config\";\nimport { colorButtonStyle } from \"./NamedColorGrid\";\nimport { useTranslate } from \"../i18n\";\n\nextend([harmoniesPlugin]);\n\nconst harmonyLabels: Record<HarmonyType, string> = {\n complementary: \"Complémentaire\",\n analogous: \"Analogue\",\n triadic: \"Triadique\",\n \"split-complementary\": \"Complémentaire divisée\",\n rectangle: \"Rectangle\",\n tetradic: \"Tétradique\",\n \"double-split-complementary\": \"Double complémentaire divisée\",\n};\n\nconst harmonyTypes = Object.keys(harmonyLabels) as HarmonyType[];\n\ninterface Props {\n refColor: RawColor;\n value: RawColor | null;\n onChange: (value: RawColor) => void;\n}\n\nexport function HarmonyColorGrid({ refColor, value, onChange }: Props) {\n const t = useTranslate();\n const baseColor = colord(refColor.hex);\n\n return (\n <div className=\"flex flex-col gap-3 p-2\">\n {harmonyTypes.map((harmonyType) => (\n <div key={harmonyType}>\n <div className=\"text-body-xs truncate\">\n {t?.(`form.values.colorHarmony.${harmonyType}`) ?? harmonyLabels[harmonyType]}\n </div>\n <div className=\"flex\">\n {baseColor.harmonies(harmonyType).map((harmonyColor, index) => {\n const hex = harmonyColor.toHex();\n return (\n <button\n key={index}\n type=\"button\"\n title={hex}\n className={clsx(\n \"h-8 flex-1 hover:scale-x-105!\",\n colorButtonStyle.base,\n value?.hex === hex && colorButtonStyle.selected,\n )}\n style={{ backgroundColor: hex }}\n onClick={() => onChange({ type: \"raw\", hex })}\n />\n );\n })}\n </div>\n </div>\n ))}\n </div>\n );\n}\n","import { Modal, ModalContent, ModalFooter } from \"pentatrion-design/modal\";\nimport { useState } from \"react\";\nimport { Field, FieldProps } from \"pentatrion-design/fields/field\";\nimport { NamedColorGrid } from \"./NamedColorGrid\";\nimport { Button } from \"pentatrion-design/button\";\nimport { ColorPreview } from \"./ColorPreview\";\nimport { Color, BrandPalette, RawColor } from \"./config\";\nimport { Tabs } from \"pentatrion-design/tabs\";\nimport { HexColorInput, HexColorPicker } from \"react-colorful\";\nimport { inputConfig } from \"pentatrion-design/fields/text\";\nimport clsx from \"clsx\";\nimport { useTranslate } from \"../i18n\";\nimport { RawColorGrid } from \"./RawColorGrid\";\nimport { HarmonyColorGrid } from \"./HarmonyColorGrid\";\n\ninterface Props extends Omit<FieldProps, \"children\" | \"group\"> {\n palette?: BrandPalette;\n value: Color | null;\n refColor?: RawColor;\n onChange: (value: Color | null) => void;\n allowInherit?: boolean;\n variants?: number | number[];\n}\n\nexport function ColorPicker({\n palette,\n value,\n refColor,\n onChange,\n variants,\n allowInherit = false,\n ...rest\n}: Props) {\n const t = useTranslate();\n\n const [isOpen, setIsOpen] = useState(false);\n const [tempValue, setTempValue] = useState<null | Color>(null);\n const [tabId, setTabId] = useState<string | number>(\n value?.type === \"raw\" ? \"custom\" : palette ? \"palette\" : \"swatches\",\n );\n\n function handleSubmit() {\n onChange(tempValue);\n setIsOpen(false);\n }\n\n function handleInherit() {\n onChange(null);\n setIsOpen(false);\n }\n\n const tabs = [\n ...(palette\n ? [\n {\n id: \"palette\",\n title: t?.(\"common.brandPalette\") ?? \"Couleurs du thème\",\n content: (\n <NamedColorGrid\n palette={palette}\n value={tempValue?.type === \"named\" ? tempValue : null}\n onChange={setTempValue}\n variants={variants}\n />\n ),\n },\n ]\n : []),\n ...(refColor\n ? [\n {\n id: \"harmony\",\n title: t?.(\"common.harmonyColors\") ?? \"Harmonies\",\n content: (\n <HarmonyColorGrid\n refColor={refColor}\n value={tempValue?.type === \"raw\" ? tempValue : null}\n onChange={setTempValue}\n />\n ),\n },\n ]\n : []),\n {\n id: \"swatches\",\n title: t?.(\"common.colorSwatches\") ?? \"Nuancier\",\n content: (\n <RawColorGrid\n value={tempValue?.type === \"raw\" ? tempValue : null}\n onChange={setTempValue}\n />\n ),\n },\n {\n id: \"custom\",\n title: t?.(\"common.colorCustom\") ?? \"Sur mesure\",\n content: (\n <div className=\"p-2 flex flex-col gap-2 react-colorful-container\">\n <HexColorPicker\n color={tempValue?.type === \"raw\" ? tempValue.hex : undefined}\n onChange={(hex) => {\n setTempValue({ type: \"raw\", hex });\n }}\n />\n <div\n data-color=\"yellow\"\n data-variant=\"normal\"\n className={clsx(inputConfig.container, \"px-2\")}\n >\n <HexColorInput\n className={inputConfig.input}\n prefixed={true}\n color={tempValue?.type === \"raw\" ? tempValue.hex : undefined}\n onChange={(hex) => setTempValue({ type: \"raw\", hex })}\n />\n </div>\n </div>\n ),\n },\n ];\n\n return (\n <>\n <Field {...rest}>\n <ColorPreview\n type=\"button\"\n palette={palette}\n value={value}\n onClick={() => {\n setIsOpen(true);\n setTempValue(value);\n }}\n />\n </Field>\n <Modal\n open={isOpen}\n /* There is not Modal trigger, onOpen is called only by\n * FloatingOverlay to close the modal */\n onOpen={(modalKeepOpen) => !modalKeepOpen && setIsOpen(false)}\n >\n <ModalContent className=\"max-w-140\" zClassName=\"z-modal-overlay\">\n <div>\n <Tabs\n tabs={tabs}\n value={tabId}\n onChange={setTabId}\n contentClassName=\"h-[320px] overflow-auto\"\n className=\"rounded-t-2xl\"\n action={\n <Button icon variant=\"text\" color=\"gray\" onClick={() => setIsOpen(false)}>\n <i className=\"fe-cancel\"></i>\n </Button>\n }\n />\n </div>\n\n <ModalFooter className=\"mt-2\">\n <div className=\"flex justify-between\">\n <Button type=\"button\" variant=\"text\" color=\"gray\" onClick={() => setIsOpen(false)}>\n {t?.(\"button.cancel\") ?? \"Annuler\"}\n </Button>\n {allowInherit && (\n <Button icon type=\"button\" variant=\"outlined\" color=\"gray\" onClick={handleInherit}>\n <i className=\"fe-settings\"></i>\n <span>{t?.(\"form.values.color.inherit\") ?? \"Par défault\"}</span>\n </Button>\n )}\n <Button type=\"button\" color=\"yellow\" onClick={handleSubmit}>\n {t?.(\"button.validate\") ?? \"Valider\"}\n </Button>\n </div>\n </ModalFooter>\n </ModalContent>\n </Modal>\n </>\n );\n}\n"],"mappings":"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AO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,OAAO;EACL,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,SAAS;EACP,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,KAAK;EACH,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,QAAQ;EACN,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,QAAQ;EACN,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,QAAQ;EACN,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,SAAS;EACP,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,SAAS;EACP,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,OAAO;EACL,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CAEAC,OAAO;EACL,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,OAAO;EACL,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,OAAO;EACL,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EAC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"}
@@ -1,2 +1,2 @@
1
- import { _ as rawColorSchema, a as NamedColorGrid, c as isColorAvailable, d as colorNames, f as colorSchema, g as namedColorSchema, h as defaultNamedColor, i as ColorPreview, l as isGrayScale, m as defaultFallbackColor, n as HarmonyColorGrid, o as applyColorVariant, p as defaultBrandPalette, r as RawColorGrid, s as getColorValue, t as ColorPicker, u as brandPaletteSchema } from "../../color-Bhhbmy0k.mjs";
1
+ import { _ as rawColorSchema, a as NamedColorGrid, c as isColorAvailable, d as colorNames, f as colorSchema, g as namedColorSchema, h as defaultNamedColor, i as ColorPreview, l as isGrayScale, m as defaultFallbackColor, n as HarmonyColorGrid, o as applyColorVariant, p as defaultBrandPalette, r as RawColorGrid, s as getColorValue, t as ColorPicker, u as brandPaletteSchema } from "../../color-CoLi_qPR.mjs";
2
2
  export { ColorPicker, ColorPreview, HarmonyColorGrid, NamedColorGrid, RawColorGrid, applyColorVariant, brandPaletteSchema, colorNames, colorSchema, defaultBrandPalette, defaultFallbackColor, defaultNamedColor, getColorValue, isColorAvailable, isGrayScale, namedColorSchema, rawColorSchema };
@@ -1,4 +1,4 @@
1
- import { t as ColorPicker } from "../../../color-Bhhbmy0k.mjs";
1
+ import { t as ColorPicker } from "../../../color-CoLi_qPR.mjs";
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  import { useControl, useField } from "@conform-to/react/future";
4
4
  //#region src/components/fields/color/HexColorField.tsx
@@ -48,7 +48,7 @@ interface Props$1 extends Omit<FieldProps, "children" | "group"> {
48
48
  declare function RadiosButtonIconField({ name, options, iconClassName, id: forcedId, ...rest }: Props$1): import("react").JSX.Element;
49
49
  //#endregion
50
50
  //#region src/components/fields/radio/RadioWithLegendField.d.ts
51
- type RadioWithLegendOption<T extends string | null = string> = {
51
+ type RadioWithLegendOption<T extends string | null = string | null> = {
52
52
  label: string;
53
53
  value: T;
54
54
  children: ReactNode;
@@ -501,7 +501,7 @@ function RadiosWithLegendField(t0) {
501
501
  if ($[14] !== field.defaultValue || $[15] !== field.name || $[16] !== labelClassName) {
502
502
  t5 = (option) => /* @__PURE__ */ jsx(RadioWithLegend, {
503
503
  name: field.name,
504
- value: option.value,
504
+ value: option.value ?? "",
505
505
  defaultChecked: field.defaultValue === option.value,
506
506
  label: option.label,
507
507
  labelClassName,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["ComponentPropsWithRef","RefObject","ThemeColor","clsx","ButtonProps","buttonVariants","RadioProps","color","variant","width","ref","HTMLInputElement","Radio","t0","$","_c","children","className","rest","t1","t2","disabled","undefined","t3","Symbol","for","t4","t5","t6","t7","RadioWithLegendProps","label","labelClassName","RadioWithLegend","t8","t9","RadioButtonProps","Omit","size","icon","RadioButton","t10","FieldName","useField","Field","FieldProps","SelectOption","clsx","buttonGroupVariants","Radio","Props","Omit","name","options","asButton","direction","RadiosField","t0","$","_c","className","forcedId","rest","id","field","t1","errors","t2","t3","t4","defaultValue","t5","option","value","label","map","t6","FieldName","useField","Field","FieldProps","RadioButton","clsx","buttonGroupVariants","RadioButtonIconOption","value","icon","label","Props","Omit","name","options","iconClassName","RadiosButtonIconField","t0","$","_c","forcedId","rest","id","field","t1","errors","t2","t3","Symbol","for","t4","defaultValue","t5","option","map","t6","useField","FieldName","Field","FieldProps","RadioWithLegend","clsx","ReactNode","RadioWithLegendOption","label","value","T","children","Props","Omit","name","options","labelClassName","RadiosWithLegendField","t0","$","_c","className","forcedId","rest","id","field","t1","errors","t2","t3","t4","defaultValue","t5","option","map","t6"],"sources":["../../../../src/components/fields/radio/Radio.tsx","../../../../src/components/fields/radio/RadiosField.tsx","../../../../src/components/fields/radio/RadiosButtonIconField.tsx","../../../../src/components/fields/radio/RadioWithLegendField.tsx"],"sourcesContent":["import { ComponentPropsWithRef, RefObject } from \"react\";\nimport { type ThemeColor } from \"../../../types\";\nimport clsx from \"clsx\";\nimport { ButtonProps, buttonVariants } from \"../../button\";\n\nexport interface RadioProps extends ComponentPropsWithRef<\"input\"> {\n color?: ThemeColor;\n variant?: \"contained\" | \"light\" | \"outlined\" | \"text\" | \"ghost\";\n width?: \"fit\" | \"full\" | \"custom\";\n ref?: RefObject<HTMLInputElement>;\n}\n\nexport function Radio({\n disabled = false,\n color = \"yellow\",\n children,\n className,\n ref,\n ...rest\n}: RadioProps) {\n return (\n <label aria-disabled={disabled} className={clsx(\"flex cursor-pointer items-center\")}>\n <input\n data-color={color}\n ref={ref}\n type=\"radio\"\n className={clsx(\n \"p8n-input-radio\",\n \"my-1 mr-2 inline-block h-6 w-6 shrink-0 cursor-pointer appearance-none rounded-full bg-origin-border p-0 -outline-offset-1 select-none\",\n className,\n )}\n {...(disabled ? { disabled } : {})}\n {...rest}\n />\n {children}\n </label>\n );\n}\n\nexport interface RadioWithLegendProps extends RadioProps {\n label: string;\n labelClassName?: string;\n}\n\nexport function RadioWithLegend({\n disabled = false,\n color = \"yellow\",\n children,\n label,\n labelClassName,\n className,\n ref,\n ...rest\n}: RadioWithLegendProps) {\n /**\n * Add [data-radio=\"legend\"] into parent of children\n */\n return (\n <label aria-disabled={disabled} className={clsx(\"flex cursor-pointer flex-col\")}>\n {children}\n <span className=\"flex items-center\">\n <input\n data-color={color}\n ref={ref}\n type=\"radio\"\n className={clsx(\n \"p8n-input-radio\",\n \"my-1 mr-2 inline-block h-6 w-6 shrink-0 cursor-pointer appearance-none rounded-full bg-origin-border p-0 -outline-offset-1 select-none\",\n className,\n )}\n {...(disabled ? { disabled } : {})}\n {...rest}\n />\n <span className={labelClassName}>{label}</span>\n </span>\n </label>\n );\n}\n\nexport interface RadioButtonProps extends Omit<RadioProps, \"size\" | \"color\"> {\n color?: ButtonProps[\"color\"];\n size?: \"small\" | \"medium\" | \"large\" | \"custom\" | \"input\";\n icon?: boolean;\n}\nexport function RadioButton({\n disabled = false,\n color = \"yellow\",\n children,\n className,\n variant = \"light\",\n width = \"fit\",\n size = \"medium\",\n icon = false,\n\n ref,\n ...rest\n}: RadioButtonProps) {\n return (\n <label\n aria-disabled={disabled}\n className={clsx(className, buttonVariants({ variant, width, size, icon }))}\n data-color={color}\n >\n <input\n ref={ref}\n type=\"radio\"\n className=\"h-0 w-0 translate-x-[-9999px] overflow-hidden\"\n {...(disabled ? { disabled } : {})}\n {...rest}\n />\n {children}\n </label>\n );\n}\n","import { FieldName, useField } from \"@conform-to/react/future\";\nimport { Field, FieldProps } from \"../field/Field\";\nimport { SelectOption } from \"../select/types\";\nimport clsx from \"clsx\";\nimport { buttonGroupVariants } from \"../../button\";\nimport { Radio } from \"./Radio\";\n\ninterface Props extends Omit<FieldProps, \"children\" | \"group\"> {\n name: FieldName<string | number | undefined | null>;\n options: readonly SelectOption[];\n asButton?: boolean;\n direction?: \"horizontal\" | \"vertical\";\n}\n\nexport function RadiosField({\n name,\n options,\n className,\n asButton,\n direction,\n id: forcedId,\n ...rest\n}: Props) {\n const field = useField(name);\n const id = forcedId ?? field.id;\n\n return (\n <Field id={id} group errors={field.errors} data-testid={field.name} {...rest}>\n <div\n className={clsx(\n className,\n asButton\n ? buttonGroupVariants()\n : !className &&\n direction === \"horizontal\" &&\n \"sm:grid-cols-repeat-fill-160 grid grid-cols-2 gap-x-2 lg:gap-x-4\",\n )}\n >\n {options.map((option) => (\n <Radio\n key={option.value}\n name={field.name}\n value={option.value}\n defaultChecked={field.defaultValue === option.value}\n >\n {option.label}\n </Radio>\n ))}\n </div>\n </Field>\n );\n}\n","import { FieldName, useField } from \"@conform-to/react/future\";\nimport { Field, type FieldProps } from \"../field/Field\";\nimport { RadioButton } from \"./Radio\";\nimport clsx from \"clsx\";\nimport { buttonGroupVariants } from \"../../button\";\n\nexport type RadioButtonIconOption = { value: string; icon: string; label: string };\n\ninterface Props extends Omit<FieldProps, \"children\" | \"group\"> {\n name: FieldName<string | number | null | undefined>;\n options: RadioButtonIconOption[];\n iconClassName?: string;\n}\n\nexport function RadiosButtonIconField({\n name,\n options,\n iconClassName,\n id: forcedId,\n ...rest\n}: Props) {\n const field = useField(name);\n const id = forcedId ?? field.id;\n\n return (\n <Field id={id} group errors={field.errors} data-testid={field.name} {...rest}>\n <div className={clsx(buttonGroupVariants())}>\n {options.map((option) => (\n <RadioButton\n key={option.value}\n className={clsx(\"flex-col items-center justify-center p-1\")}\n size=\"custom\"\n width=\"custom\"\n color=\"gray\"\n name={field.name}\n value={option.value}\n defaultChecked={field.defaultValue === option.value}\n >\n <i className={clsx(option.icon, iconClassName)}></i>\n <span className=\"text-body-2xs max-w-full truncate\">{option.label}</span>\n </RadioButton>\n ))}\n </div>\n </Field>\n );\n}\n","import { useField, type FieldName } from \"@conform-to/react/future\";\nimport { Field, type FieldProps } from \"../field/Field\";\nimport { RadioWithLegend } from \"./Radio\";\nimport clsx from \"clsx\";\nimport type { ReactNode } from \"react\";\n\nexport type RadioWithLegendOption<T extends string | null = string> = {\n label: string;\n value: T;\n children: ReactNode;\n};\n\ninterface Props extends Omit<FieldProps, \"errors\" | \"children\" | \"group\"> {\n name: FieldName<string | number | null | undefined>;\n options: readonly RadioWithLegendOption[];\n labelClassName?: string;\n}\n\nexport function RadiosWithLegendField({\n name,\n options,\n className,\n labelClassName,\n id: forcedId,\n ...rest\n}: Props) {\n const field = useField(name);\n const id = forcedId ?? field.id;\n\n return (\n <Field id={id} group errors={field.errors} data-testid={field.name} {...rest}>\n <div className={clsx(className)}>\n {options.map((option) => (\n <RadioWithLegend\n key={option.value}\n name={field.name}\n value={option.value}\n defaultChecked={field.defaultValue === option.value}\n label={option.label}\n labelClassName={labelClassName}\n >\n {option.children}\n </RadioWithLegend>\n ))}\n </div>\n </Field>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["ComponentPropsWithRef","RefObject","ThemeColor","clsx","ButtonProps","buttonVariants","RadioProps","color","variant","width","ref","HTMLInputElement","Radio","t0","$","_c","children","className","rest","t1","t2","disabled","undefined","t3","Symbol","for","t4","t5","t6","t7","RadioWithLegendProps","label","labelClassName","RadioWithLegend","t8","t9","RadioButtonProps","Omit","size","icon","RadioButton","t10","FieldName","useField","Field","FieldProps","SelectOption","clsx","buttonGroupVariants","Radio","Props","Omit","name","options","asButton","direction","RadiosField","t0","$","_c","className","forcedId","rest","id","field","t1","errors","t2","t3","t4","defaultValue","t5","option","value","label","map","t6","FieldName","useField","Field","FieldProps","RadioButton","clsx","buttonGroupVariants","RadioButtonIconOption","value","icon","label","Props","Omit","name","options","iconClassName","RadiosButtonIconField","t0","$","_c","forcedId","rest","id","field","t1","errors","t2","t3","Symbol","for","t4","defaultValue","t5","option","map","t6","useField","FieldName","Field","FieldProps","RadioWithLegend","clsx","ReactNode","RadioWithLegendOption","label","value","T","children","Props","Omit","name","options","labelClassName","RadiosWithLegendField","t0","$","_c","className","forcedId","rest","id","field","t1","errors","t2","t3","t4","defaultValue","t5","option","map","t6"],"sources":["../../../../src/components/fields/radio/Radio.tsx","../../../../src/components/fields/radio/RadiosField.tsx","../../../../src/components/fields/radio/RadiosButtonIconField.tsx","../../../../src/components/fields/radio/RadioWithLegendField.tsx"],"sourcesContent":["import { ComponentPropsWithRef, RefObject } from \"react\";\nimport { type ThemeColor } from \"../../../types\";\nimport clsx from \"clsx\";\nimport { ButtonProps, buttonVariants } from \"../../button\";\n\nexport interface RadioProps extends ComponentPropsWithRef<\"input\"> {\n color?: ThemeColor;\n variant?: \"contained\" | \"light\" | \"outlined\" | \"text\" | \"ghost\";\n width?: \"fit\" | \"full\" | \"custom\";\n ref?: RefObject<HTMLInputElement>;\n}\n\nexport function Radio({\n disabled = false,\n color = \"yellow\",\n children,\n className,\n ref,\n ...rest\n}: RadioProps) {\n return (\n <label aria-disabled={disabled} className={clsx(\"flex cursor-pointer items-center\")}>\n <input\n data-color={color}\n ref={ref}\n type=\"radio\"\n className={clsx(\n \"p8n-input-radio\",\n \"my-1 mr-2 inline-block h-6 w-6 shrink-0 cursor-pointer appearance-none rounded-full bg-origin-border p-0 -outline-offset-1 select-none\",\n className,\n )}\n {...(disabled ? { disabled } : {})}\n {...rest}\n />\n {children}\n </label>\n );\n}\n\nexport interface RadioWithLegendProps extends RadioProps {\n label: string;\n labelClassName?: string;\n}\n\nexport function RadioWithLegend({\n disabled = false,\n color = \"yellow\",\n children,\n label,\n labelClassName,\n className,\n ref,\n ...rest\n}: RadioWithLegendProps) {\n /**\n * Add [data-radio=\"legend\"] into parent of children\n */\n return (\n <label aria-disabled={disabled} className={clsx(\"flex cursor-pointer flex-col\")}>\n {children}\n <span className=\"flex items-center\">\n <input\n data-color={color}\n ref={ref}\n type=\"radio\"\n className={clsx(\n \"p8n-input-radio\",\n \"my-1 mr-2 inline-block h-6 w-6 shrink-0 cursor-pointer appearance-none rounded-full bg-origin-border p-0 -outline-offset-1 select-none\",\n className,\n )}\n {...(disabled ? { disabled } : {})}\n {...rest}\n />\n <span className={labelClassName}>{label}</span>\n </span>\n </label>\n );\n}\n\nexport interface RadioButtonProps extends Omit<RadioProps, \"size\" | \"color\"> {\n color?: ButtonProps[\"color\"];\n size?: \"small\" | \"medium\" | \"large\" | \"custom\" | \"input\";\n icon?: boolean;\n}\nexport function RadioButton({\n disabled = false,\n color = \"yellow\",\n children,\n className,\n variant = \"light\",\n width = \"fit\",\n size = \"medium\",\n icon = false,\n\n ref,\n ...rest\n}: RadioButtonProps) {\n return (\n <label\n aria-disabled={disabled}\n className={clsx(className, buttonVariants({ variant, width, size, icon }))}\n data-color={color}\n >\n <input\n ref={ref}\n type=\"radio\"\n className=\"h-0 w-0 translate-x-[-9999px] overflow-hidden\"\n {...(disabled ? { disabled } : {})}\n {...rest}\n />\n {children}\n </label>\n );\n}\n","import { FieldName, useField } from \"@conform-to/react/future\";\nimport { Field, FieldProps } from \"../field/Field\";\nimport { SelectOption } from \"../select/types\";\nimport clsx from \"clsx\";\nimport { buttonGroupVariants } from \"../../button\";\nimport { Radio } from \"./Radio\";\n\ninterface Props extends Omit<FieldProps, \"children\" | \"group\"> {\n name: FieldName<string | number | undefined | null>;\n options: readonly SelectOption[];\n asButton?: boolean;\n direction?: \"horizontal\" | \"vertical\";\n}\n\nexport function RadiosField({\n name,\n options,\n className,\n asButton,\n direction,\n id: forcedId,\n ...rest\n}: Props) {\n const field = useField(name);\n const id = forcedId ?? field.id;\n\n return (\n <Field id={id} group errors={field.errors} data-testid={field.name} {...rest}>\n <div\n className={clsx(\n className,\n asButton\n ? buttonGroupVariants()\n : !className &&\n direction === \"horizontal\" &&\n \"sm:grid-cols-repeat-fill-160 grid grid-cols-2 gap-x-2 lg:gap-x-4\",\n )}\n >\n {options.map((option) => (\n <Radio\n key={option.value}\n name={field.name}\n value={option.value}\n defaultChecked={field.defaultValue === option.value}\n >\n {option.label}\n </Radio>\n ))}\n </div>\n </Field>\n );\n}\n","import { FieldName, useField } from \"@conform-to/react/future\";\nimport { Field, type FieldProps } from \"../field/Field\";\nimport { RadioButton } from \"./Radio\";\nimport clsx from \"clsx\";\nimport { buttonGroupVariants } from \"../../button\";\n\nexport type RadioButtonIconOption = { value: string; icon: string; label: string };\n\ninterface Props extends Omit<FieldProps, \"children\" | \"group\"> {\n name: FieldName<string | number | null | undefined>;\n options: RadioButtonIconOption[];\n iconClassName?: string;\n}\n\nexport function RadiosButtonIconField({\n name,\n options,\n iconClassName,\n id: forcedId,\n ...rest\n}: Props) {\n const field = useField(name);\n const id = forcedId ?? field.id;\n\n return (\n <Field id={id} group errors={field.errors} data-testid={field.name} {...rest}>\n <div className={clsx(buttonGroupVariants())}>\n {options.map((option) => (\n <RadioButton\n key={option.value}\n className={clsx(\"flex-col items-center justify-center p-1\")}\n size=\"custom\"\n width=\"custom\"\n color=\"gray\"\n name={field.name}\n value={option.value}\n defaultChecked={field.defaultValue === option.value}\n >\n <i className={clsx(option.icon, iconClassName)}></i>\n <span className=\"text-body-2xs max-w-full truncate\">{option.label}</span>\n </RadioButton>\n ))}\n </div>\n </Field>\n );\n}\n","import { useField, type FieldName } from \"@conform-to/react/future\";\nimport { Field, type FieldProps } from \"../field/Field\";\nimport { RadioWithLegend } from \"./Radio\";\nimport clsx from \"clsx\";\nimport type { ReactNode } from \"react\";\n\nexport type RadioWithLegendOption<T extends string | null = string | null> = {\n label: string;\n value: T;\n children: ReactNode;\n};\n\ninterface Props extends Omit<FieldProps, \"errors\" | \"children\" | \"group\"> {\n name: FieldName<string | number | null | undefined>;\n options: readonly RadioWithLegendOption[];\n labelClassName?: string;\n}\n\nexport function RadiosWithLegendField({\n name,\n options,\n className,\n labelClassName,\n id: forcedId,\n ...rest\n}: Props) {\n const field = useField(name);\n const id = forcedId ?? field.id;\n\n return (\n <Field id={id} group errors={field.errors} data-testid={field.name} {...rest}>\n <div className={clsx(className)}>\n {options.map((option) => (\n <RadioWithLegend\n key={option.value}\n name={field.name}\n value={option.value ?? \"\"}\n defaultChecked={field.defaultValue === option.value}\n label={option.label}\n labelClassName={labelClassName}\n >\n {option.children}\n </RadioWithLegend>\n ))}\n </div>\n </Field>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index--vYAkVqX.d.mts","names":[],"sources":["../src/components/color/config.ts","../src/components/color/ColorPicker.tsx","../src/components/color/ColorPreview.tsx","../src/components/color/NamedColorGrid.tsx","../src/components/color/util.ts","../src/components/color/RawColorGrid.tsx","../src/components/color/HarmonyColorGrid.tsx"],"mappings":";;;;;;cAEa;KACD,oBAAoB;cAEnB,kBAAgB,EAAA;;;;;;;;;GAI3B,EAAA,KAAA;KACU,aAAa,EAAE,aAAa;cAE3B,mBAAmB;cACnB;cAEA,gBAAc,EAAA;;;GAGzB,EAAA,KAAA;KACU,WAAW,EAAE,aAAa;cAEzB,aAAW,EAAA,uBAAA,EAAA;;;;;;;;;;;;GAA8C,EAAA,KAAA;KAC1D,QAAQ,EAAE,aAAa;KAEvB,aAAa,EAAE,aAAa;cAE3B,oBAAkB,EAAA;;;;;GAK7B,EAAA,KAAA;KACU,eAAe,EAAE,aAAa;cAE7B,qBAAqB;;;UCnBxB,gBAAc,KAAK;EAC3B,UAAU;EACV,OAAO;EACP,WAAW;EACX,WAAW,OAAO;EAClB;EACA;;iBAGc,cACd,SACA,OACA,UACA,UACA,UACA,iBACG,QACF,0BAAK,IAAA;;;UCzBS,0BAA0B,KAAK;EAC9C;EAEA,QAAQ;EACR,QAAQ;EACR;EACA,UAAU;EACV;EACA;EACA,MAAM,UAAU;;iBAGF,eACd,OAAO,cACP,YACA,OACA,OACA,WACA,SACA,WACA,QACG,QACF,oCAAiB,IAAA;;;UCxBV;EACR,UAAU;EACV,OAAO;EACP,WAAW,OAAO;EAClB;;iBAiCc,iBACd,SACA,OACA,UACA,YACC,0BAAK,IAAA;;;iBC7CQ,cACd,OAAO,cACP;;;;;GACA;;;;;iBAmBc,YAAY;iBAYZ,iBAAiB,WAAW,WAAW;;;;;;;;;;;;;iBAcvC,kBAAkB,cAAc;;;UC9CtC;EACR,OAAO;EACP,WAAW,OAAO;;iBAGJ,eAAe,OAAO,YAAY,0BAAK,IAAA;;;UCY7C;EACR,UAAU;EACV,OAAO;EACP,WAAW,OAAO;;iBAGJ,mBAAmB,UAAU,OAAO,YAAY,wBAAK,IAAA"}
1
+ {"version":3,"file":"index--vYAkVqX.d.mts","names":[],"sources":["../src/components/color/config.ts","../src/components/color/ColorPicker.tsx","../src/components/color/ColorPreview.tsx","../src/components/color/NamedColorGrid.tsx","../src/components/color/util.ts","../src/components/color/RawColorGrid.tsx","../src/components/color/HarmonyColorGrid.tsx"],"mappings":";;;;;;cAEa;KACD,oBAAoB;cAEnB,kBAAgB,EAAA;;;;;;;;;GAI3B,EAAA,KAAA;KACU,aAAa,EAAE,aAAa;cAE3B,mBAAmB;cACnB;cAEA,gBAAc,EAAA;;;GAGzB,EAAA,KAAA;KACU,WAAW,EAAE,aAAa;cAEzB,aAAW,EAAA,uBAAA,EAAA;;;;;;;;;;;;GAA8C,EAAA,KAAA;KAC1D,QAAQ,EAAE,aAAa;KAEvB,aAAa,EAAE,aAAa;cAE3B,oBAAkB,EAAA;;;;;GAK7B,EAAA,KAAA;KACU,eAAe,EAAE,aAAa;cAE7B,qBAAqB;;;UCnBxB,gBAAc,KAAK;EAC3B,UAAU;EACV,OAAO;EACP,WAAW;EACX,WAAW,OAAO;EAClB;EACA;;iBAGc,cACd,SACA,OACA,UACA,UACA,UACA,iBACG,QACF,0BAAK,IAAA;;;UCxBS,0BAA0B,KAAK;EAC9C;EAEA,QAAQ;EACR,QAAQ;EACR;EACA,UAAU;EACV;EACA;EACA,MAAM,UAAU;;iBAGF,eACd,OAAO,cACP,YACA,OACA,OACA,WACA,SACA,WACA,QACG,QACF,oCAAiB,IAAA;;;UCzBV;EACR,UAAU;EACV,OAAO;EACP,WAAW,OAAO;EAClB;;iBAiCc,iBACd,SACA,OACA,UACA,YACC,0BAAK,IAAA;;;iBC7CQ,cACd,OAAO,cACP;;;;;GACA;;;;;iBAmBc,YAAY;iBAYZ,iBAAiB,WAAW,WAAW;;;;;;;;;;;;;iBAcvC,kBAAkB,cAAc;;;UC9CtC;EACR,OAAO;EACP,WAAW,OAAO;;iBAGJ,eAAe,OAAO,YAAY,0BAAK,IAAA;;;UCY7C;EACR,UAAU;EACV,OAAO;EACP,WAAW,OAAO;;iBAGJ,mBAAmB,UAAU,OAAO,YAAY,wBAAK,IAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pentatrion-design",
3
- "version": "1.3.2",
3
+ "version": "1.3.3",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Hugues Tavernier",
@@ -1,9 +1,10 @@
1
1
  import { ComponentProps, RefObject, useImperativeHandle, useRef } from "react";
2
2
  import clsx from "clsx";
3
3
  import { useRipple } from "pentatrion-design/hooks";
4
- import { Color, defaultBrandPalette, defaultNamedColor, BrandPalette } from "./config";
4
+ import { Color, defaultBrandPalette, BrandPalette } from "./config";
5
5
  import { getColorValue } from "./util";
6
6
  import { ThemeColor } from "../../types";
7
+ import { useTranslate } from "../i18n";
7
8
 
8
9
  export interface ColorPreviewProps extends Omit<ComponentProps<"button">, "color" | "value"> {
9
10
  withRipple?: boolean;
@@ -28,12 +29,19 @@ export function ColorPreview({
28
29
  ref,
29
30
  ...rest
30
31
  }: ColorPreviewProps) {
31
- const value: Color =
32
- typeof unknownColor === "string"
33
- ? { type: "raw", hex: unknownColor }
34
- : (unknownColor ?? defaultNamedColor);
32
+ const t = useTranslate();
33
+ const value: Color | null =
34
+ typeof unknownColor === "string" ? { type: "raw", hex: unknownColor } : (unknownColor ?? null);
35
35
 
36
- const valueToShow = label ?? (showValue ? (value.type === "raw" ? value.hex : value.name) : null);
36
+ const valueLabel =
37
+ label ??
38
+ (value
39
+ ? showValue
40
+ ? value.type === "raw"
41
+ ? value.hex
42
+ : value.name
43
+ : null
44
+ : (t?.("form.values.color.inherit") ?? "Par défault"));
37
45
 
38
46
  const buttonRef = useRef<HTMLButtonElement>(null!);
39
47
 
@@ -55,19 +63,20 @@ export function ColorPreview({
55
63
  <span
56
64
  className={clsx(
57
65
  "absolute inset-1 flex items-center justify-center rounded-2xl transition-transform group-hover:scale-150",
58
- valueToShow === null && "min-w-12",
66
+ valueLabel === null && "min-w-12",
59
67
  className,
60
68
  )}
61
- style={{ backgroundColor: getColorValue(value, palette) }}
69
+ style={{ backgroundColor: value ? getColorValue(value, palette) : undefined }}
62
70
  ></span>
63
71
  <span
64
72
  className={clsx(
65
- "relative flex h-full items-center justify-center px-2",
66
- valueToShow === null && "min-w-12",
73
+ "relative flex h-full items-center justify-center px-2 rounded-2xl",
74
+ valueLabel === null && "min-w-12",
67
75
  className,
76
+ !value && "border border-dashed border-gray-3",
68
77
  )}
69
78
  >
70
- {valueToShow}
79
+ {valueLabel}
71
80
  </span>
72
81
  </button>
73
82
  );
@@ -4,7 +4,7 @@ import { RadioWithLegend } from "./Radio";
4
4
  import clsx from "clsx";
5
5
  import type { ReactNode } from "react";
6
6
 
7
- export type RadioWithLegendOption<T extends string | null = string> = {
7
+ export type RadioWithLegendOption<T extends string | null = string | null> = {
8
8
  label: string;
9
9
  value: T;
10
10
  children: ReactNode;
@@ -34,7 +34,7 @@ export function RadiosWithLegendField({
34
34
  <RadioWithLegend
35
35
  key={option.value}
36
36
  name={field.name}
37
- value={option.value}
37
+ value={option.value ?? ""}
38
38
  defaultChecked={field.defaultValue === option.value}
39
39
  label={option.label}
40
40
  labelClassName={labelClassName}
@@ -12,7 +12,12 @@ import { WysiwygField } from "./WysiwygField";
12
12
  import { Button } from "../../button";
13
13
  import { Meta } from "@storybook/react-vite";
14
14
  import { configureCoercion } from "@conform-to/zod/v4/future";
15
- import { parseStringifiedWysiwygValue, serializeWysiwygValue, wysiwygSchema, WysiwygValue } from "./types";
15
+ import {
16
+ parseStringifiedWysiwygValue,
17
+ serializeWysiwygValue,
18
+ wysiwygSchema,
19
+ WysiwygValue,
20
+ } from "./types";
16
21
  import { editorStateRichText } from "./_fixtures";
17
22
 
18
23
  const meta = {
@@ -192,8 +192,8 @@
192
192
 
193
193
  --default-transition-duration: 0.2s;
194
194
 
195
- --breakpoint-4sm: 22.5rem;
196
- --breakpoint-3sm: 26rem;
195
+ --breakpoint-4sm: 22.5rem; /* 360px */
196
+ --breakpoint-3sm: 26rem; /* 416px */
197
197
  /* 480px mobile landscape */
198
198
  --breakpoint-2sm: 30rem;
199
199
  /* 1920px */
@@ -1 +0,0 @@
1
- {"version":3,"file":"color-Bhhbmy0k.mjs","names":["z","colorNames","const","ColorName","namedColorSchema","object","type","literal","name","enum","variant","number","NamedColor","infer","defaultNamedColor","defaultFallbackColor","rawColorSchema","hex","string","RawColor","colorSchema","union","Color","ColorInput","input","brandPaletteSchema","primary","secondary","_default","nullable","tertiary","gray","BrandPalette","defaultBrandPalette","Color","ColorName","defaultBrandPalette","defaultFallbackColor","getColorValue","color","palette","fallbackColor","type","hex","base","name","applyColorVariant","variant","isGrayScale","normalized","replace","isShort","length","step","r","parseInt","slice","repeat","g","b","isColorAvailable","colorName","Math","abs","clsx","Color","defaultBrandPalette","BrandPalette","NamedColor","colorNames","applyColorVariant","getColorValue","isColorAvailable","useTranslate","Props","palette","value","onChange","variants","colorLabels","Record","primary","secondary","tertiary","gray","variantMagnitude","getVariantSteps","Array","isArray","min","max","from","length","_","i","Math","round","colorButtonStyle","base","selected","NamedColorGrid","t0","$","_c","t1","t2","undefined","t","t3","name","variant","t4","filter","map","name_0","steps","c","type","v","backgroundColor","t5","t6","variant_0","c_0","t7","t8","ComponentProps","RefObject","useImperativeHandle","useRef","clsx","useRipple","Color","defaultBrandPalette","defaultNamedColor","BrandPalette","getColorValue","ThemeColor","ColorPreviewProps","Omit","withRipple","value","color","label","palette","showValue","className","ref","HTMLButtonElement","ColorPreview","t0","$","_c","rest","t1","t2","t3","t4","unknownColor","undefined","t5","type","hex","valueToShow","name","buttonRef","t6","Symbol","for","current","ripples","t7","t8","t9","t10","t11","backgroundColor","t12","t13","t14","t15","t16","rawColorsHex","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose","neutral","slate","gray","zinc","stone","mauve","olive","mist","taupe","const","rawColorsHex","colorByGroups","Object","entries","filter","name","colorGroup","includes","map","colors","clsx","colorByGroups","RawColor","Props","value","onChange","RawColorGrid","t0","$","_c","t1","hex","map","t2","name","colors","t3","colorNumber","colorCode","parseInt","backgroundColor","type","clsx","colord","extend","harmoniesPlugin","HarmonyType","RawColor","colorButtonStyle","useTranslate","harmonyLabels","Record","complementary","analogous","triadic","rectangle","tetradic","harmonyTypes","Object","keys","Props","refColor","value","onChange","HarmonyColorGrid","t0","$","_c","t","t1","t2","hex","baseColor","map","harmonyType","harmonies","harmonyColor","index","toHex","base","selected","backgroundColor","type","t3","Modal","ModalContent","ModalFooter","useState","Field","FieldProps","NamedColorGrid","Button","ColorPreview","Color","BrandPalette","RawColor","Tabs","HexColorInput","HexColorPicker","inputConfig","clsx","useTranslate","RawColorGrid","HarmonyColorGrid","Props","Omit","palette","value","refColor","onChange","allowInherit","variants","ColorPicker","t0","$","_c","rest","t1","undefined","t","isOpen","setIsOpen","tempValue","setTempValue","tabId","setTabId","type","t2","handleSubmit","t3","handleInherit","t4","id","title","content","t5","t6","t7","t8","t9","t10","t11","hex","t12","Symbol","for","t13","t14","container","t15","t16","hex_0","t17","input","t18","t19","t20","tabs","t21","t22","t23","t24","modalKeepOpen","t25","t26","t27","t28","t29","t30","t31","t32","t33","t34","t35","t36"],"sources":["../src/components/color/config.ts","../src/components/color/util.ts","../src/components/color/NamedColorGrid.tsx","../src/components/color/ColorPreview.tsx","../src/lib/colors.generated.ts","../src/lib/color.ts","../src/components/color/RawColorGrid.tsx","../src/components/color/HarmonyColorGrid.tsx","../src/components/color/ColorPicker.tsx"],"sourcesContent":["import { z } from \"zod/v4-mini\";\n\nexport const colorNames = [\"primary\", \"secondary\", \"tertiary\", \"gray\"] as const;\nexport type ColorName = (typeof colorNames)[number];\n\nexport const namedColorSchema = z.object({\n type: z.literal(\"named\"),\n name: z.enum(colorNames),\n variant: z.number(), // -100, 100\n});\nexport type NamedColor = z.infer<typeof namedColorSchema>;\n\nexport const defaultNamedColor: NamedColor = { name: \"gray\", variant: -100, type: \"named\" };\nexport const defaultFallbackColor = \"#000000\";\n\nexport const rawColorSchema = z.object({\n type: z.literal(\"raw\"),\n hex: z.string(),\n});\nexport type RawColor = z.infer<typeof rawColorSchema>;\n\nexport const colorSchema = z.union([namedColorSchema, rawColorSchema]);\nexport type Color = z.infer<typeof colorSchema>;\n\nexport type ColorInput = z.input<typeof colorSchema>;\n\nexport const brandPaletteSchema = z.object({\n primary: z.string(),\n secondary: z._default(z.nullable(z.string()), null),\n tertiary: z._default(z.nullable(z.string()), null),\n gray: z.string(),\n});\nexport type BrandPalette = z.infer<typeof brandPaletteSchema>;\n\nexport const defaultBrandPalette: BrandPalette = {\n primary: \"#ffca0a\",\n secondary: null,\n tertiary: null,\n gray: \"#808080\",\n};\n","import { Color, ColorName, defaultBrandPalette, defaultFallbackColor } from \"./config\";\n\nexport function getColorValue(\n color: Color | null,\n palette = defaultBrandPalette,\n fallbackColor = defaultFallbackColor,\n): string {\n if (!color) {\n return fallbackColor;\n }\n\n if (color.type === \"raw\") {\n return color.hex;\n }\n\n const base = color.name === \"gray\" ? \"#808080\" : (palette[color.name] ?? \"#808080\");\n\n return applyColorVariant(base ?? \"#808080\", color.variant);\n}\n\n/**\n * Détermine si une couleur hexadécimale (#rgb, #rgba, #rrggbb, #rrggbbaa)\n * est un niveau de gris, c'est-à-dire que ses composantes R, G et B sont égales.\n */\nexport function isGrayScale(hex: string): boolean {\n const normalized = hex.replace(\"#\", \"\");\n const isShort = normalized.length === 3 || normalized.length === 4;\n const step = isShort ? 1 : 2;\n\n const r = parseInt(normalized.slice(0, step).repeat(isShort ? 2 : 1), 16);\n const g = parseInt(normalized.slice(step, step * 2).repeat(isShort ? 2 : 1), 16);\n const b = parseInt(normalized.slice(step * 2, step * 3).repeat(isShort ? 2 : 1), 16);\n\n return r === g && g === b;\n}\n\nexport function isColorAvailable(colorName: ColorName, palette = defaultBrandPalette): boolean {\n if (colorName === \"gray\") {\n return true;\n }\n return !!palette[colorName];\n}\n\n/**\n * Dérive une variante claire/sombre d'une couleur de palette : mix vers `white`\n * pour variant > 0, vers un gris neutre foncé (`--color-gray-7`, pas `black` —\n * mélanger vers du noir pur désature/salit la teinte) pour variant < 0.\n * `black`/`white` dérogent : ce sont déjà les bornes de la rampe, seul un mix\n * vers `black` a du sens pour elles (plage -100..0 imposée côté ColorPicker).\n */\nexport function applyColorVariant(base: string, variant: number): string {\n if (variant === 0) {\n return base;\n }\n\n return variant > 0\n ? `color-mix(in oklab, ${base} ${100 - variant}%, white)`\n : `color-mix(in oklab, ${base} ${100 - Math.abs(variant)}%, ${isGrayScale(base) ? \"black\" : \"var(--color-gray-7)\"})`;\n}\n","import clsx from \"clsx\";\nimport { Color, defaultBrandPalette, BrandPalette, NamedColor, colorNames } from \"./config\";\nimport { applyColorVariant, getColorValue, isColorAvailable } from \"./util\";\nimport { useTranslate } from \"../i18n\";\n\ninterface Props {\n palette?: BrandPalette;\n value: NamedColor | null;\n onChange: (value: NamedColor) => void;\n variants?: number | number[];\n}\n\nconst colorLabels: Record<(typeof colorNames)[number], string> = {\n primary: \"Principale\",\n secondary: \"Secondaire\",\n tertiary: \"Tertiaire\",\n gray: \"Niveau de gris\",\n};\n// bornes à -80/80 plutôt que -100/100 : à 100% la base disparaît complètement\n// du color-mix, le swatch ne reproduit plus que du blanc/gris pur, redondant\n// avec les entrées white/black déjà présentes dans la grille.\nconst variantMagnitude = 80;\n\nfunction getVariantSteps(variants: number | number[]): number[] {\n if (Array.isArray(variants)) {\n return variants;\n }\n const min = -variantMagnitude;\n const max = variantMagnitude;\n if (variants <= 1) {\n return [0];\n }\n return Array.from({ length: variants }, (_, i) =>\n Math.round(min + (i * (max - min)) / (variants - 1)),\n );\n}\n\nexport const colorButtonStyle = {\n base: \"cursor-pointer hover:z-20 hover:scale-125 hover:rounded hover:shadow active:scale-125 first-of-type:rounded-l-md last-of-type:rounded-r-md\",\n selected: \"outline-yellow-5 z-10 rounded outline-2 -outline-offset-1\",\n};\n\nexport function NamedColorGrid({\n palette = defaultBrandPalette,\n value,\n onChange,\n variants = 9,\n}: Props) {\n const t = useTranslate();\n\n return (\n <div className=\"flex flex-col gap-3 p-2\">\n {colorNames\n .filter((name) => isColorAvailable(name, palette))\n .map((name) => {\n // une seule vignette pour black : color-mix(black, black) est un no-op,\n // toute une rampe serait visuellement identique\n const steps = getVariantSteps(variants);\n\n return (\n <div key={name}>\n <div className=\"text-body-xs truncate\">\n {t?.(`form.values.colorNames.${name}`) ?? colorLabels[name]}\n </div>\n <div className=\"flex\">\n {steps.map((variant) => {\n const c: Color = { type: \"named\", name, variant };\n const v = getColorValue(c, palette);\n return (\n <button\n key={variant}\n type=\"button\"\n title={`${c.name} (${variant}%)`}\n className={clsx(\n \"h-8 flex-1\",\n colorButtonStyle.base,\n value?.name === name &&\n value?.variant === variant &&\n colorButtonStyle.selected,\n )}\n style={{ backgroundColor: v }}\n onClick={() => onChange(c)}\n />\n );\n })}\n </div>\n </div>\n );\n })}\n\n <div>\n <div className=\"text-body-xs truncate\">\n {t?.(\"form.values.colorNames.blackAndWhite\") ?? \"Noir & Blanc\"}\n </div>\n <div className=\"flex\">\n {[-100, 100].map((variant) => {\n const c = applyColorVariant(\"#808080\", variant);\n return (\n <button\n key={variant}\n type=\"button\"\n title={`gray (${variant}%)`}\n className={clsx(\n \"h-8 flex-1 hover:scale-x-105!\",\n colorButtonStyle.base,\n value?.name === \"gray\" && value?.variant === variant && colorButtonStyle.selected,\n variant === 100 && \"border border-gray-2\",\n )}\n style={{ backgroundColor: c }}\n onClick={() => onChange({ type: \"named\", name: \"gray\", variant })}\n />\n );\n })}\n </div>\n </div>\n </div>\n );\n}\n","import { ComponentProps, RefObject, useImperativeHandle, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { useRipple } from \"pentatrion-design/hooks\";\nimport { Color, defaultBrandPalette, defaultNamedColor, BrandPalette } from \"./config\";\nimport { getColorValue } from \"./util\";\nimport { ThemeColor } from \"../../types\";\n\nexport interface ColorPreviewProps extends Omit<ComponentProps<\"button\">, \"color\" | \"value\"> {\n withRipple?: boolean;\n\n value?: Color | null | string;\n color?: ThemeColor;\n label?: string;\n palette?: BrandPalette;\n showValue?: boolean;\n className?: string;\n ref?: RefObject<HTMLButtonElement>;\n}\n\nexport function ColorPreview({\n value: unknownColor,\n withRipple = true,\n color = \"yellow\",\n label,\n showValue = false,\n palette = defaultBrandPalette,\n className,\n ref,\n ...rest\n}: ColorPreviewProps) {\n const value: Color =\n typeof unknownColor === \"string\"\n ? { type: \"raw\", hex: unknownColor }\n : (unknownColor ?? defaultNamedColor);\n\n const valueToShow = label ?? (showValue ? (value.type === \"raw\" ? value.hex : value.name) : null);\n\n const buttonRef = useRef<HTMLButtonElement>(null!);\n\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n ref,\n () => buttonRef.current,\n );\n\n const ripples = useRipple(buttonRef);\n\n return (\n <button\n ref={buttonRef}\n data-color={color}\n className=\"p8n-input-text group relative flex h-8 cursor-pointer overflow-clip rounded-2xl p-1 -outline-offset-1 active:translate-y-px\"\n {...rest}\n >\n {withRipple && ripples}\n <span\n className={clsx(\n \"absolute inset-1 flex items-center justify-center rounded-2xl transition-transform group-hover:scale-150\",\n valueToShow === null && \"min-w-12\",\n className,\n )}\n style={{ backgroundColor: getColorValue(value, palette) }}\n ></span>\n <span\n className={clsx(\n \"relative flex h-full items-center justify-center px-2\",\n valueToShow === null && \"min-w-12\",\n className,\n )}\n >\n {valueToShow}\n </span>\n </button>\n );\n}\n","// généré par scripts/generate-colors.ts à partir de tailwindcss/colors (oklch -> hex via culori)\nexport const rawColorsHex = {\n red: {\n \"50\": \"#fef2f2\",\n \"100\": \"#ffe2e2\",\n \"200\": \"#ffc9c9\",\n \"300\": \"#ffa2a2\",\n \"400\": \"#ff6467\",\n \"500\": \"#fb2c36\",\n \"600\": \"#e7000b\",\n \"700\": \"#c10007\",\n \"800\": \"#9f0712\",\n \"900\": \"#82181a\",\n \"950\": \"#460809\",\n },\n orange: {\n \"50\": \"#fff7ed\",\n \"100\": \"#ffedd4\",\n \"200\": \"#ffd6a7\",\n \"300\": \"#ffb86a\",\n \"400\": \"#ff8904\",\n \"500\": \"#ff6900\",\n \"600\": \"#f54900\",\n \"700\": \"#ca3500\",\n \"800\": \"#9f2d00\",\n \"900\": \"#7e2a0c\",\n \"950\": \"#441306\",\n },\n amber: {\n \"50\": \"#fffbeb\",\n \"100\": \"#fef3c6\",\n \"200\": \"#fee685\",\n \"300\": \"#ffd230\",\n \"400\": \"#ffb900\",\n \"500\": \"#fe9a00\",\n \"600\": \"#e17100\",\n \"700\": \"#bb4d00\",\n \"800\": \"#973c00\",\n \"900\": \"#7b3306\",\n \"950\": \"#461901\",\n },\n yellow: {\n \"50\": \"#fefce8\",\n \"100\": \"#fef9c2\",\n \"200\": \"#fff085\",\n \"300\": \"#ffdf20\",\n \"400\": \"#fdc700\",\n \"500\": \"#f0b100\",\n \"600\": \"#d08700\",\n \"700\": \"#a65f00\",\n \"800\": \"#894b00\",\n \"900\": \"#733e0a\",\n \"950\": \"#432004\",\n },\n lime: {\n \"50\": \"#f7fee7\",\n \"100\": \"#ecfcca\",\n \"200\": \"#d8f999\",\n \"300\": \"#bbf451\",\n \"400\": \"#9ae600\",\n \"500\": \"#7ccf00\",\n \"600\": \"#5ea500\",\n \"700\": \"#497d00\",\n \"800\": \"#3c6300\",\n \"900\": \"#35530e\",\n \"950\": \"#192e03\",\n },\n green: {\n \"50\": \"#f0fdf4\",\n \"100\": \"#dcfce7\",\n \"200\": \"#b9f8cf\",\n \"300\": \"#7bf1a8\",\n \"400\": \"#05df72\",\n \"500\": \"#00c950\",\n \"600\": \"#00a63e\",\n \"700\": \"#008236\",\n \"800\": \"#016630\",\n \"900\": \"#0d542b\",\n \"950\": \"#032e15\",\n },\n emerald: {\n \"50\": \"#ecfdf5\",\n \"100\": \"#d0fae5\",\n \"200\": \"#a4f4cf\",\n \"300\": \"#5ee9b5\",\n \"400\": \"#00d492\",\n \"500\": \"#00bc7d\",\n \"600\": \"#009966\",\n \"700\": \"#007a55\",\n \"800\": \"#006045\",\n \"900\": \"#004f3b\",\n \"950\": \"#002c22\",\n },\n teal: {\n \"50\": \"#f0fdfa\",\n \"100\": \"#cbfbf1\",\n \"200\": \"#96f7e4\",\n \"300\": \"#46ecd5\",\n \"400\": \"#00d5be\",\n \"500\": \"#00bba7\",\n \"600\": \"#009689\",\n \"700\": \"#00786f\",\n \"800\": \"#005f5a\",\n \"900\": \"#0b4f4a\",\n \"950\": \"#022f2e\",\n },\n cyan: {\n \"50\": \"#ecfeff\",\n \"100\": \"#cefafe\",\n \"200\": \"#a2f4fd\",\n \"300\": \"#53eafd\",\n \"400\": \"#00d3f2\",\n \"500\": \"#00b8db\",\n \"600\": \"#0092b8\",\n \"700\": \"#007595\",\n \"800\": \"#005f78\",\n \"900\": \"#104e64\",\n \"950\": \"#053345\",\n },\n sky: {\n \"50\": \"#f0f9ff\",\n \"100\": \"#dff2fe\",\n \"200\": \"#b8e6fe\",\n \"300\": \"#74d4ff\",\n \"400\": \"#00bcff\",\n \"500\": \"#00a6f4\",\n \"600\": \"#0084d1\",\n \"700\": \"#0069a8\",\n \"800\": \"#00598a\",\n \"900\": \"#024a70\",\n \"950\": \"#052f4a\",\n },\n blue: {\n \"50\": \"#eff6ff\",\n \"100\": \"#dbeafe\",\n \"200\": \"#bedbff\",\n \"300\": \"#8ec5ff\",\n \"400\": \"#51a2ff\",\n \"500\": \"#2b7fff\",\n \"600\": \"#155dfc\",\n \"700\": \"#1447e6\",\n \"800\": \"#193cb8\",\n \"900\": \"#1c398e\",\n \"950\": \"#162456\",\n },\n indigo: {\n \"50\": \"#eef2ff\",\n \"100\": \"#e0e7ff\",\n \"200\": \"#c6d2ff\",\n \"300\": \"#a3b3ff\",\n \"400\": \"#7c86ff\",\n \"500\": \"#615fff\",\n \"600\": \"#4f39f6\",\n \"700\": \"#432dd7\",\n \"800\": \"#372aac\",\n \"900\": \"#312c85\",\n \"950\": \"#1e1a4d\",\n },\n violet: {\n \"50\": \"#f5f3ff\",\n \"100\": \"#ede9fe\",\n \"200\": \"#ddd6ff\",\n \"300\": \"#c4b4ff\",\n \"400\": \"#a684ff\",\n \"500\": \"#8e51ff\",\n \"600\": \"#7f22fe\",\n \"700\": \"#7008e7\",\n \"800\": \"#5d0ec0\",\n \"900\": \"#4d179a\",\n \"950\": \"#2f0d68\",\n },\n purple: {\n \"50\": \"#faf5ff\",\n \"100\": \"#f3e8ff\",\n \"200\": \"#e9d4ff\",\n \"300\": \"#dab2ff\",\n \"400\": \"#c27aff\",\n \"500\": \"#ad46ff\",\n \"600\": \"#9810fa\",\n \"700\": \"#8200db\",\n \"800\": \"#6e11b0\",\n \"900\": \"#59168b\",\n \"950\": \"#3c0366\",\n },\n fuchsia: {\n \"50\": \"#fdf4ff\",\n \"100\": \"#fae8ff\",\n \"200\": \"#f6cfff\",\n \"300\": \"#f4a8ff\",\n \"400\": \"#ed6aff\",\n \"500\": \"#e12afb\",\n \"600\": \"#c800de\",\n \"700\": \"#a800b7\",\n \"800\": \"#8a0194\",\n \"900\": \"#721378\",\n \"950\": \"#4b004f\",\n },\n pink: {\n \"50\": \"#fdf2f8\",\n \"100\": \"#fce7f3\",\n \"200\": \"#fccee8\",\n \"300\": \"#fda5d5\",\n \"400\": \"#fb64b6\",\n \"500\": \"#f6339a\",\n \"600\": \"#e60076\",\n \"700\": \"#c6005c\",\n \"800\": \"#a3004c\",\n \"900\": \"#861043\",\n \"950\": \"#510424\",\n },\n rose: {\n \"50\": \"#fff1f2\",\n \"100\": \"#ffe4e6\",\n \"200\": \"#ffccd3\",\n \"300\": \"#ffa1ad\",\n \"400\": \"#ff637e\",\n \"500\": \"#ff2056\",\n \"600\": \"#ec003f\",\n \"700\": \"#c70036\",\n \"800\": \"#a50036\",\n \"900\": \"#8b0836\",\n \"950\": \"#4d0218\",\n },\n neutral: {\n \"50\": \"#fafafa\",\n \"100\": \"#f5f5f5\",\n \"200\": \"#e5e5e5\",\n \"300\": \"#d4d4d4\",\n \"400\": \"#a1a1a1\",\n \"500\": \"#737373\",\n \"600\": \"#525252\",\n \"700\": \"#404040\",\n \"800\": \"#262626\",\n \"900\": \"#171717\",\n \"950\": \"#0a0a0a\",\n },\n slate: {\n \"50\": \"#f8fafc\",\n \"100\": \"#f1f5f9\",\n \"200\": \"#e2e8f0\",\n \"300\": \"#cad5e2\",\n \"400\": \"#90a1b9\",\n \"500\": \"#62748e\",\n \"600\": \"#45556c\",\n \"700\": \"#314158\",\n \"800\": \"#1d293d\",\n \"900\": \"#0f172b\",\n \"950\": \"#020618\",\n },\n gray: {\n \"50\": \"#f9fafb\",\n \"100\": \"#f3f4f6\",\n \"200\": \"#e5e7eb\",\n \"300\": \"#d1d5dc\",\n \"400\": \"#99a1af\",\n \"500\": \"#6a7282\",\n \"600\": \"#4a5565\",\n \"700\": \"#364153\",\n \"800\": \"#1e2939\",\n \"900\": \"#101828\",\n \"950\": \"#030712\",\n },\n zinc: {\n \"50\": \"#fafafa\",\n \"100\": \"#f4f4f5\",\n \"200\": \"#e4e4e7\",\n \"300\": \"#d4d4d8\",\n \"400\": \"#9f9fa9\",\n \"500\": \"#71717b\",\n \"600\": \"#52525c\",\n \"700\": \"#3f3f46\",\n \"800\": \"#27272a\",\n \"900\": \"#18181b\",\n \"950\": \"#09090b\",\n },\n\n stone: {\n \"50\": \"#fafaf9\",\n \"100\": \"#f5f5f4\",\n \"200\": \"#e7e5e4\",\n \"300\": \"#d6d3d1\",\n \"400\": \"#a6a09b\",\n \"500\": \"#79716b\",\n \"600\": \"#57534d\",\n \"700\": \"#44403b\",\n \"800\": \"#292524\",\n \"900\": \"#1c1917\",\n \"950\": \"#0c0a09\",\n },\n mauve: {\n \"50\": \"#fafafa\",\n \"100\": \"#f3f1f3\",\n \"200\": \"#e7e4e7\",\n \"300\": \"#d7d0d7\",\n \"400\": \"#a89ea9\",\n \"500\": \"#79697b\",\n \"600\": \"#594c5b\",\n \"700\": \"#463947\",\n \"800\": \"#2a212c\",\n \"900\": \"#1d161e\",\n \"950\": \"#0c090c\",\n },\n olive: {\n \"50\": \"#fbfbf9\",\n \"100\": \"#f4f4f0\",\n \"200\": \"#e8e8e3\",\n \"300\": \"#d8d8d0\",\n \"400\": \"#abab9c\",\n \"500\": \"#7c7c67\",\n \"600\": \"#5b5b4b\",\n \"700\": \"#474739\",\n \"800\": \"#2b2b22\",\n \"900\": \"#1d1d16\",\n \"950\": \"#0c0c09\",\n },\n mist: {\n \"50\": \"#f9fbfb\",\n \"100\": \"#f1f3f3\",\n \"200\": \"#e3e7e8\",\n \"300\": \"#d0d6d8\",\n \"400\": \"#9ca8ab\",\n \"500\": \"#67787c\",\n \"600\": \"#4b585b\",\n \"700\": \"#394447\",\n \"800\": \"#22292b\",\n \"900\": \"#161b1d\",\n \"950\": \"#090b0c\",\n },\n taupe: {\n \"50\": \"#fbfaf9\",\n \"100\": \"#f3f1f1\",\n \"200\": \"#e8e4e3\",\n \"300\": \"#d8d2d0\",\n \"400\": \"#aba09c\",\n \"500\": \"#7c6d67\",\n \"600\": \"#5b4f4b\",\n \"700\": \"#473c39\",\n \"800\": \"#2b2422\",\n \"900\": \"#1d1816\",\n \"950\": \"#0c0a09\",\n },\n} as const;\n","import { rawColorsHex } from \"./colors.generated\";\n\nexport const colorByGroups = Object.entries(rawColorsHex)\n .filter(\n ([name, colorGroup]) =>\n // blueGray === slate\n // coolGray === gray\n // neutral === trueGray\n // stone === warmGray\n // ski === lightBlue\n typeof colorGroup !== \"string\" &&\n ![\"blueGray\", \"coolGray\", \"trueGray\", \"warmGray\", \"lightBlue\"].includes(name),\n )\n .map(([name, colorGroup]) => ({\n name,\n colors: Object.entries(colorGroup) as [string, string][],\n }));\n","import clsx from \"clsx\";\nimport { colorByGroups } from \"../../lib/color\";\nimport { RawColor } from \"./config\";\n\ninterface Props {\n value: RawColor | null;\n onChange: (value: RawColor) => void;\n}\n\nexport function RawColorGrid({ value, onChange }: Props) {\n return (\n <div className=\"grid-cols-repeat-fill-50 grid gap-1 text-center text-sm p-2\">\n {colorByGroups.map(({ name, colors }) => (\n <div key={name}>\n <div className=\"text-body-xs truncate\">{name}</div>\n <div className=\"grid shadow\">\n {colors.map(([colorNumber, colorCode]) => (\n <button\n key={colorNumber}\n className={clsx(\n \"cursor-pointer first-of-type:rounded-t-md last-of-type:rounded-b-md\",\n parseInt(colorNumber) > 600 ? \"text-white\" : \"text-black\",\n \"hover:z-20 hover:scale-125 hover:rounded hover:shadow active:scale-125\",\n value?.hex === colorCode &&\n \"outline-yellow-5 z-10 rounded outline-2 -outline-offset-1\",\n )}\n style={{ backgroundColor: colorCode }}\n onClick={() => onChange({ type: \"raw\", hex: colorCode })}\n >\n {colorNumber}\n </button>\n ))}\n </div>\n </div>\n ))}\n </div>\n );\n}\n","import clsx from \"clsx\";\nimport { colord, extend } from \"colord\";\nimport harmoniesPlugin, { type HarmonyType } from \"colord/plugins/harmonies\";\nimport { RawColor } from \"./config\";\nimport { colorButtonStyle } from \"./NamedColorGrid\";\nimport { useTranslate } from \"../i18n\";\n\nextend([harmoniesPlugin]);\n\nconst harmonyLabels: Record<HarmonyType, string> = {\n complementary: \"Complémentaire\",\n analogous: \"Analogue\",\n triadic: \"Triadique\",\n \"split-complementary\": \"Complémentaire divisée\",\n rectangle: \"Rectangle\",\n tetradic: \"Tétradique\",\n \"double-split-complementary\": \"Double complémentaire divisée\",\n};\n\nconst harmonyTypes = Object.keys(harmonyLabels) as HarmonyType[];\n\ninterface Props {\n refColor: RawColor;\n value: RawColor | null;\n onChange: (value: RawColor) => void;\n}\n\nexport function HarmonyColorGrid({ refColor, value, onChange }: Props) {\n const t = useTranslate();\n const baseColor = colord(refColor.hex);\n\n return (\n <div className=\"flex flex-col gap-3 p-2\">\n {harmonyTypes.map((harmonyType) => (\n <div key={harmonyType}>\n <div className=\"text-body-xs truncate\">\n {t?.(`form.values.colorHarmony.${harmonyType}`) ?? harmonyLabels[harmonyType]}\n </div>\n <div className=\"flex\">\n {baseColor.harmonies(harmonyType).map((harmonyColor, index) => {\n const hex = harmonyColor.toHex();\n return (\n <button\n key={index}\n type=\"button\"\n title={hex}\n className={clsx(\n \"h-8 flex-1 hover:scale-x-105!\",\n colorButtonStyle.base,\n value?.hex === hex && colorButtonStyle.selected,\n )}\n style={{ backgroundColor: hex }}\n onClick={() => onChange({ type: \"raw\", hex })}\n />\n );\n })}\n </div>\n </div>\n ))}\n </div>\n );\n}\n","import { Modal, ModalContent, ModalFooter } from \"pentatrion-design/modal\";\nimport { useState } from \"react\";\nimport { Field, FieldProps } from \"pentatrion-design/fields/field\";\nimport { NamedColorGrid } from \"./NamedColorGrid\";\nimport { Button } from \"pentatrion-design/button\";\nimport { ColorPreview } from \"./ColorPreview\";\nimport { Color, BrandPalette, RawColor } from \"./config\";\nimport { Tabs } from \"pentatrion-design/tabs\";\nimport { HexColorInput, HexColorPicker } from \"react-colorful\";\nimport { inputConfig } from \"pentatrion-design/fields/text\";\nimport clsx from \"clsx\";\nimport { useTranslate } from \"../i18n\";\nimport { RawColorGrid } from \"./RawColorGrid\";\nimport { HarmonyColorGrid } from \"./HarmonyColorGrid\";\n\ninterface Props extends Omit<FieldProps, \"children\" | \"group\"> {\n palette?: BrandPalette;\n value: Color | null;\n refColor?: RawColor;\n onChange: (value: Color | null) => void;\n allowInherit?: boolean;\n variants?: number | number[];\n}\n\nexport function ColorPicker({\n palette,\n value,\n refColor,\n onChange,\n variants,\n allowInherit = false,\n ...rest\n}: Props) {\n const t = useTranslate();\n\n const [isOpen, setIsOpen] = useState(false);\n const [tempValue, setTempValue] = useState<null | Color>(null);\n const [tabId, setTabId] = useState<string | number>(\n value?.type === \"raw\" ? \"custom\" : palette ? \"palette\" : \"swatches\",\n );\n\n function handleSubmit() {\n onChange(tempValue);\n setIsOpen(false);\n }\n\n function handleInherit() {\n onChange(null);\n setIsOpen(false);\n }\n\n const tabs = [\n ...(palette\n ? [\n {\n id: \"palette\",\n title: t?.(\"common.brandPalette\") ?? \"Couleurs du thème\",\n content: (\n <NamedColorGrid\n palette={palette}\n value={tempValue?.type === \"named\" ? tempValue : null}\n onChange={setTempValue}\n variants={variants}\n />\n ),\n },\n ]\n : []),\n ...(refColor\n ? [\n {\n id: \"harmony\",\n title: t?.(\"common.harmonyColors\") ?? \"Harmonies\",\n content: (\n <HarmonyColorGrid\n refColor={refColor}\n value={tempValue?.type === \"raw\" ? tempValue : null}\n onChange={setTempValue}\n />\n ),\n },\n ]\n : []),\n {\n id: \"swatches\",\n title: t?.(\"common.colorSwatches\") ?? \"Nuancier\",\n content: (\n <RawColorGrid\n value={tempValue?.type === \"raw\" ? tempValue : null}\n onChange={setTempValue}\n />\n ),\n },\n {\n id: \"custom\",\n title: t?.(\"common.colorCustom\") ?? \"Sur mesure\",\n content: (\n <div className=\"p-2 flex flex-col gap-2 react-colorful-container\">\n <HexColorPicker\n color={tempValue?.type === \"raw\" ? tempValue.hex : undefined}\n onChange={(hex) => {\n setTempValue({ type: \"raw\", hex });\n }}\n />\n <div\n data-color=\"yellow\"\n data-variant=\"normal\"\n className={clsx(inputConfig.container, \"px-2\")}\n >\n <HexColorInput\n className={inputConfig.input}\n prefixed={true}\n color={tempValue?.type === \"raw\" ? tempValue.hex : undefined}\n onChange={(hex) => setTempValue({ type: \"raw\", hex })}\n />\n </div>\n </div>\n ),\n },\n ];\n\n return (\n <>\n <Field {...rest}>\n <ColorPreview\n type=\"button\"\n palette={palette}\n value={value}\n onClick={() => {\n setIsOpen(true);\n setTempValue(value);\n }}\n />\n </Field>\n <Modal\n open={isOpen}\n /* There is not Modal trigger, onOpen is called only by\n * FloatingOverlay to close the modal */\n onOpen={(modalKeepOpen) => !modalKeepOpen && setIsOpen(false)}\n >\n <ModalContent className=\"max-w-140\" zClassName=\"z-modal-overlay\">\n <div>\n <Tabs\n tabs={tabs}\n value={tabId}\n onChange={setTabId}\n contentClassName=\"h-[320px] overflow-auto\"\n className=\"rounded-t-2xl\"\n action={\n <Button icon variant=\"text\" color=\"gray\" onClick={() => setIsOpen(false)}>\n <i className=\"fe-cancel\"></i>\n </Button>\n }\n />\n </div>\n\n <ModalFooter className=\"mt-2\">\n <div className=\"flex justify-between\">\n <Button type=\"button\" variant=\"text\" color=\"gray\" onClick={() => setIsOpen(false)}>\n {t?.(\"button.cancel\") ?? \"Annuler\"}\n </Button>\n {allowInherit && (\n <Button icon type=\"button\" variant=\"outlined\" color=\"gray\" onClick={handleInherit}>\n <i className=\"fe-settings\"></i>\n <span>{t?.(\"form.values.color.inherit\") ?? \"Par défault\"}</span>\n </Button>\n )}\n <Button type=\"button\" color=\"yellow\" onClick={handleSubmit}>\n {t?.(\"button.validate\") ?? \"Valider\"}\n </Button>\n </div>\n </ModalFooter>\n </ModalContent>\n </Modal>\n </>\n );\n}\n"],"mappings":"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P,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,KAAK;EACH,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,QAAQ;EACN,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,QAAQ;EACN,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,QAAQ;EACN,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,SAAS;EACP,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,SAAS;EACP,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,OAAO;EACL,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CAEAC,OAAO;EACL,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,OAAO;EACL,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,OAAO;EACL,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;CACAC,OAAO;EACL,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT;AClV0CE,CAAY,CAAC,CACtDI,QACE,CAACC,MAAMC,gBAMN,OAAOA,eAAe,YACtB,CAAC;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"}