@proyecto-viviana/ui 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/CalendarCard.js +2 -3
  2. package/dist/CalendarCard.js.map +1 -1
  3. package/dist/CalendarCard.jsx +7 -8
  4. package/dist/CalendarCard.jsx.map +1 -1
  5. package/dist/Conversation.js +44 -45
  6. package/dist/Conversation.js.map +1 -1
  7. package/dist/Conversation.jsx +49 -50
  8. package/dist/Conversation.jsx.map +1 -1
  9. package/dist/EventCard.js +3 -5
  10. package/dist/EventCard.js.map +1 -1
  11. package/dist/EventCard.jsx +17 -19
  12. package/dist/EventCard.jsx.map +1 -1
  13. package/dist/Logo.js +64 -64
  14. package/dist/Logo.js.map +1 -1
  15. package/dist/Logo.jsx +64 -64
  16. package/dist/Logo.jsx.map +1 -1
  17. package/dist/PageLayout.js +7 -7
  18. package/dist/PageLayout.jsx +7 -7
  19. package/dist/PageLayout.jsx.map +1 -1
  20. package/dist/ProfileCard.js +2 -3
  21. package/dist/ProfileCard.js.map +1 -1
  22. package/dist/ProfileCard.jsx +8 -9
  23. package/dist/ProfileCard.jsx.map +1 -1
  24. package/dist/ProjectCard.js +86 -88
  25. package/dist/ProjectCard.js.map +1 -1
  26. package/dist/ProjectCard.jsx +86 -88
  27. package/dist/ProjectCard.jsx.map +1 -1
  28. package/dist/TimelineItem.js +2 -2
  29. package/dist/TimelineItem.js.map +1 -1
  30. package/dist/TimelineItem.jsx +4 -4
  31. package/dist/TimelineItem.jsx.map +1 -1
  32. package/dist/chip2.js +43 -43
  33. package/dist/chip2.js.map +1 -1
  34. package/dist/chip2.jsx +43 -43
  35. package/dist/chip2.jsx.map +1 -1
  36. package/dist/custom/calendar-card/index.d.ts.map +1 -1
  37. package/dist/custom/chip/index.d.ts.map +1 -1
  38. package/dist/custom/conversation/index.d.ts.map +1 -1
  39. package/dist/custom/event-card/index.d.ts.map +1 -1
  40. package/dist/custom/lateral-nav/index.d.ts.map +1 -1
  41. package/dist/custom/logo/index.d.ts.map +1 -1
  42. package/dist/custom/nav-header/index.d.ts.map +1 -1
  43. package/dist/custom/profile-card/index.d.ts.map +1 -1
  44. package/dist/custom/timeline-item/index.d.ts.map +1 -1
  45. package/dist/styles.css +1 -1
  46. package/dist/vite.d.ts +1 -0
  47. package/dist/vite.d.ts.map +1 -1
  48. package/dist/vite.js +9 -1
  49. package/dist/vite.js.map +1 -1
  50. package/dist/vite.jsx +9 -1
  51. package/dist/vite.jsx.map +1 -1
  52. package/package.json +3 -3
  53. package/src/custom/calendar-card/index.tsx +10 -1
  54. package/src/custom/chip/index.tsx +5 -1
  55. package/src/custom/conversation/index.tsx +23 -6
  56. package/src/custom/event-card/index.tsx +25 -4
  57. package/src/custom/lateral-nav/index.tsx +10 -1
  58. package/src/custom/logo/index.tsx +8 -1
  59. package/src/custom/nav-header/index.tsx +9 -1
  60. package/src/custom/profile-card/index.tsx +11 -2
  61. package/src/custom/project-card/index.tsx +1 -1
  62. package/src/custom/timeline-item/index.tsx +10 -2
  63. package/src/vite.ts +13 -1
package/dist/chip2.js CHANGED
@@ -5,49 +5,49 @@ import { Button } from "@proyecto-viviana/solidaria-components";
5
5
  var _tmpl$ = /*#__PURE__*/ template(`<span>`);
6
6
  const chip = function anonymous(props) {
7
7
  let rules = " ";
8
- rules += " sh13";
9
- rules += " eb13";
10
- rules += " _Ca13";
11
- rules += " qc13";
12
- rules += " qsd13";
13
- rules += " Mg13";
14
- rules += " ZJ13";
15
- rules += " Se13";
16
- rules += " Re13";
17
- rules += " og13";
18
- rules += " ng13";
19
- rules += " kg13";
20
- rules += " jg13";
21
- rules += " _jf13";
22
- rules += " _kc13";
23
- rules += " hc13";
24
- rules += " mc13";
25
- rules += " lc13";
26
- rules += " uk13";
27
- rules += " ucJ9TBTb13";
28
- rules += " ud3Euai13";
29
- rules += " uea13";
30
- rules += " ugb13";
31
- rules += " uhd13";
32
- rules += " uje13";
33
- rules += " u2NhKxcl13";
34
- rules += " uic13";
35
- rules += " -_6BNtrc-b13";
36
- rules += " vx13";
37
- rules += " xb13";
38
- rules += " _xa13";
39
- rules += " _Fd13";
40
- rules += " _FnuYUweb13";
41
- if (props.variant === "outline") rules += " pAZZpyb13";
42
- else if (props.variant === "accent") rules += " pTloWE13";
43
- else if (props.variant === "secondary") rules += " pAZZpyb13";
44
- else if (props.variant === "primary") rules += " pXDQpyb13";
45
- if (props.variant === "outline") rules += " i6nBqyb13";
46
- else rules += " iA13";
47
- if (props.variant === "outline") rules += " g913";
48
- else if (props.variant === "accent") rules += " gj1j4Pd13";
49
- else if (props.variant === "secondary") rules += " g0iWVE13";
50
- else if (props.variant === "primary") rules += " gJJKqyb13";
8
+ rules += " sh151";
9
+ rules += " eb151";
10
+ rules += " _Ca151";
11
+ rules += " qc151";
12
+ rules += " qsd151";
13
+ rules += " Mg151";
14
+ rules += " ZJ151";
15
+ rules += " Se151";
16
+ rules += " Re151";
17
+ rules += " og151";
18
+ rules += " ng151";
19
+ rules += " kg151";
20
+ rules += " jg151";
21
+ rules += " _jf151";
22
+ rules += " _kc151";
23
+ rules += " hc151";
24
+ rules += " mc151";
25
+ rules += " lc151";
26
+ rules += " uk151";
27
+ rules += " ucJ9TBTb151";
28
+ rules += " ud3Euai151";
29
+ rules += " uea151";
30
+ rules += " ugb151";
31
+ rules += " uhd151";
32
+ rules += " uje151";
33
+ rules += " u2NhKxcl151";
34
+ rules += " uic151";
35
+ rules += " -_6BNtrc-b151";
36
+ rules += " vx151";
37
+ rules += " xb151";
38
+ rules += " _xa151";
39
+ rules += " _Fd151";
40
+ rules += " _FnuYUweb151";
41
+ if (props.variant === "outline") rules += " pAZZpyb151";
42
+ else if (props.variant === "accent") rules += " padAQ7151";
43
+ else if (props.variant === "secondary") rules += " pAZZpyb151";
44
+ else if (props.variant === "primary") rules += " pXDQpyb151";
45
+ if (props.variant === "outline") rules += " i6nBqyb151";
46
+ else rules += " iA151";
47
+ if (props.variant === "outline") rules += " g9151";
48
+ else if (props.variant === "accent") rules += " gj1j4Pd151";
49
+ else if (props.variant === "secondary") rules += " g0iWVE151";
50
+ else if (props.variant === "primary") rules += " gJJKqyb151";
51
51
  return rules;
52
52
  };
53
53
  function Chip(props) {
package/dist/chip2.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"chip2.js","names":[],"sources":["../src/custom/chip/index.tsx"],"sourcesContent":["import type { JSX } from \"solid-js\";\nimport { Show } from \"solid-js\";\nimport { Button as HeadlessButton } from \"@proyecto-viviana/solidaria-components\";\n// Styled via the S2 style() macro through viviana's own seam (../../style →\n// src/style.ts). S2 named tokens carry the shape (mirrors Badge's size-S\n// control: minHeight 24, 2px border, ui-sm font, pill radius); Silapse colors\n// ride in as arbitrary `[var(--color-*)]` values.\nimport { style } from \"../../style\" with { type: \"macro\" };\n\nexport type ChipVariant = \"primary\" | \"secondary\" | \"accent\" | \"outline\";\n\nexport interface ChipProps {\n text: string;\n variant?: ChipVariant;\n onClick?: () => void;\n /**\n * Icon to display before the text.\n * Use a function returning JSX for SSR compatibility: `icon={() => <MyIcon />}`\n * Or pass a simple string for text-based icons: `icon=\"★\"`\n */\n icon?: string | (() => JSX.Element);\n class?: string;\n}\n\nconst chip = style<{ variant: ChipVariant }>({\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n columnGap: \"text-to-visual\",\n minHeight: 24,\n width: \"fit\",\n paddingX: 12,\n borderRadius: \"full\",\n borderStyle: \"solid\",\n borderWidth: 2,\n font: \"ui-sm\",\n borderColor: {\n default: \"transparent\",\n variant: { outline: \"[var(--color-primary-600)]\" },\n },\n backgroundColor: {\n variant: {\n primary: \"[var(--color-primary-700)]\",\n secondary: \"[var(--color-bg-100)]\",\n accent: \"[var(--color-accent)]\",\n outline: \"transparent\",\n },\n },\n color: {\n variant: {\n primary: \"[var(--color-primary-100)]\",\n secondary: \"[var(--color-primary-200)]\",\n accent: \"[var(--color-bg-400)]\",\n outline: \"[var(--color-primary-200)]\",\n },\n },\n});\n\nexport function Chip(props: ChipProps) {\n const renderIcon = () => {\n const icon = props.icon;\n if (!icon) return null;\n if (typeof icon === \"string\") return icon;\n return icon();\n };\n\n return (\n <HeadlessButton\n class={`${chip({ variant: props.variant ?? \"primary\" })} ${props.class ?? \"\"}`}\n onPress={() => props.onClick?.()}\n >\n <Show when={props.icon}>\n <span>{renderIcon()}</span>\n </Show>\n {props.text}\n </HeadlessButton>\n );\n}\n"],"mappings":";;;;;AAwBA,MAAM,OAAA,SAAA,UAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCN,SAAgB,KAAK,OAAgB;CACnC,MAAM,mBAAa;EACjB,MAAM,OAAO,MAAM;EACnB,IAAI,CAAC,MAAM,OAAO;EAClB,IAAI,OAAO,SAAS,UAAU,OAAO;EACrC,OAAO,KAAA;CACT;CAEA,OAAA,gBACG,QAAA;EAAA,KAAA,WAAA;GAAA,OACQ,GAAG,KAAK,EAAE,SAAS,MAAM,WAAW,UAAU,CAAA,EAAA,GAAM,MAAM,SAAS;EAAI;EAC9E,eAAe,MAAM,UAAO;EAAA,IAAA,WAAA;GAAA,OAAA,CAAA,gBAE3B,MAAA;IAAA,IAAK,OAAA;KAAA,OAAM,MAAM;IAAI;IAAA,IAAA,WAAA;KAAA,IAAA,OAAA,eAAA,MAAA;KAAA,OAAA,MACb,UAAA;KAAA,OAAA;IAAA;GAAA,CAAA,GAAA,WAER,MAAM,IAAI,CAAA;EAAA;CAAA,CAAA;AAGjB"}
1
+ {"version":3,"file":"chip2.js","names":[],"sources":["../src/custom/chip/index.tsx"],"sourcesContent":["import type { JSX } from \"solid-js\";\nimport { Show } from \"solid-js\";\nimport { Button as HeadlessButton } from \"@proyecto-viviana/solidaria-components\";\n// Styled via the S2 style() macro through viviana's own seam (../../style →\n// src/style.ts). S2 named tokens carry the shape (mirrors Badge's size-S\n// control: minHeight 24, 2px border, ui-sm font, pill radius); Silapse colors\n// ride in as arbitrary `[var(--color-*)]` values.\nimport { style } from \"../../style\" with { type: \"macro\" };\n\nexport type ChipVariant = \"primary\" | \"secondary\" | \"accent\" | \"outline\";\n\nexport interface ChipProps {\n text: string;\n variant?: ChipVariant;\n onClick?: () => void;\n /**\n * Icon to display before the text.\n * Use a function returning JSX for SSR compatibility: `icon={() => <MyIcon />}`\n * Or pass a simple string for text-based icons: `icon=\"★\"`\n */\n icon?: string | (() => JSX.Element);\n class?: string;\n}\n\nconst chip = style<{ variant: ChipVariant }>({\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n columnGap: \"text-to-visual\",\n minHeight: 24,\n width: \"fit\",\n paddingX: 12,\n borderRadius: \"full\",\n borderStyle: \"solid\",\n borderWidth: 2,\n font: \"ui-sm\",\n borderColor: {\n default: \"transparent\",\n variant: { outline: \"[var(--color-primary-600)]\" },\n },\n backgroundColor: {\n variant: {\n primary: \"[var(--color-primary-700)]\",\n secondary: \"[var(--color-bg-100)]\",\n accent: \"[var(--color-accent)]\",\n outline: \"transparent\",\n },\n },\n color: {\n variant: {\n primary: \"[var(--color-primary-100)]\",\n secondary: \"[var(--color-primary-200)]\",\n // WCAG AA fix: accent text on the pink accent fill. The near-white\n // `--color-bg-400` gave only 2.74:1 in light mode (fail); the darkest\n // grey token reaches 5.24:1 light / 6.14:1 dark — the smallest existing-\n // token change that clears the 4.5:1 floor for this ui-sm label.\n accent: \"[var(--color-grey-900)]\",\n outline: \"[var(--color-primary-200)]\",\n },\n },\n});\n\nexport function Chip(props: ChipProps) {\n const renderIcon = () => {\n const icon = props.icon;\n if (!icon) return null;\n if (typeof icon === \"string\") return icon;\n return icon();\n };\n\n return (\n <HeadlessButton\n class={`${chip({ variant: props.variant ?? \"primary\" })} ${props.class ?? \"\"}`}\n onPress={() => props.onClick?.()}\n >\n <Show when={props.icon}>\n <span>{renderIcon()}</span>\n </Show>\n {props.text}\n </HeadlessButton>\n );\n}\n"],"mappings":";;;;;AAwBA,MAAM,OAAA,SAAA,UAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCN,SAAgB,KAAK,OAAgB;CACnC,MAAM,mBAAa;EACjB,MAAM,OAAO,MAAM;EACnB,IAAI,CAAC,MAAM,OAAO;EAClB,IAAI,OAAO,SAAS,UAAU,OAAO;EACrC,OAAO,KAAA;CACT;CAEA,OAAA,gBACG,QAAA;EAAA,KAAA,WAAA;GAAA,OACQ,GAAG,KAAK,EAAE,SAAS,MAAM,WAAW,UAAU,CAAA,EAAA,GAAM,MAAM,SAAS;EAAI;EAC9E,eAAe,MAAM,UAAO;EAAA,IAAA,WAAA;GAAA,OAAA,CAAA,gBAE3B,MAAA;IAAA,IAAK,OAAA;KAAA,OAAM,MAAM;IAAI;IAAA,IAAA,WAAA;KAAA,IAAA,OAAA,eAAA,MAAA;KAAA,OAAA,MACb,UAAA;KAAA,OAAA;IAAA;GAAA,CAAA,GAAA,WAER,MAAM,IAAI,CAAA;EAAA;CAAA,CAAA;AAGjB"}
package/dist/chip2.jsx CHANGED
@@ -3,49 +3,49 @@ import { Button } from "@proyecto-viviana/solidaria-components";
3
3
  //#region src/custom/chip/index.tsx
4
4
  const chip = function anonymous(props) {
5
5
  let rules = " ";
6
- rules += " sh13";
7
- rules += " eb13";
8
- rules += " _Ca13";
9
- rules += " qc13";
10
- rules += " qsd13";
11
- rules += " Mg13";
12
- rules += " ZJ13";
13
- rules += " Se13";
14
- rules += " Re13";
15
- rules += " og13";
16
- rules += " ng13";
17
- rules += " kg13";
18
- rules += " jg13";
19
- rules += " _jf13";
20
- rules += " _kc13";
21
- rules += " hc13";
22
- rules += " mc13";
23
- rules += " lc13";
24
- rules += " uk13";
25
- rules += " ucJ9TBTb13";
26
- rules += " ud3Euai13";
27
- rules += " uea13";
28
- rules += " ugb13";
29
- rules += " uhd13";
30
- rules += " uje13";
31
- rules += " u2NhKxcl13";
32
- rules += " uic13";
33
- rules += " -_6BNtrc-b13";
34
- rules += " vx13";
35
- rules += " xb13";
36
- rules += " _xa13";
37
- rules += " _Fd13";
38
- rules += " _FnuYUweb13";
39
- if (props.variant === "outline") rules += " pAZZpyb13";
40
- else if (props.variant === "accent") rules += " pTloWE13";
41
- else if (props.variant === "secondary") rules += " pAZZpyb13";
42
- else if (props.variant === "primary") rules += " pXDQpyb13";
43
- if (props.variant === "outline") rules += " i6nBqyb13";
44
- else rules += " iA13";
45
- if (props.variant === "outline") rules += " g913";
46
- else if (props.variant === "accent") rules += " gj1j4Pd13";
47
- else if (props.variant === "secondary") rules += " g0iWVE13";
48
- else if (props.variant === "primary") rules += " gJJKqyb13";
6
+ rules += " sh151";
7
+ rules += " eb151";
8
+ rules += " _Ca151";
9
+ rules += " qc151";
10
+ rules += " qsd151";
11
+ rules += " Mg151";
12
+ rules += " ZJ151";
13
+ rules += " Se151";
14
+ rules += " Re151";
15
+ rules += " og151";
16
+ rules += " ng151";
17
+ rules += " kg151";
18
+ rules += " jg151";
19
+ rules += " _jf151";
20
+ rules += " _kc151";
21
+ rules += " hc151";
22
+ rules += " mc151";
23
+ rules += " lc151";
24
+ rules += " uk151";
25
+ rules += " ucJ9TBTb151";
26
+ rules += " ud3Euai151";
27
+ rules += " uea151";
28
+ rules += " ugb151";
29
+ rules += " uhd151";
30
+ rules += " uje151";
31
+ rules += " u2NhKxcl151";
32
+ rules += " uic151";
33
+ rules += " -_6BNtrc-b151";
34
+ rules += " vx151";
35
+ rules += " xb151";
36
+ rules += " _xa151";
37
+ rules += " _Fd151";
38
+ rules += " _FnuYUweb151";
39
+ if (props.variant === "outline") rules += " pAZZpyb151";
40
+ else if (props.variant === "accent") rules += " padAQ7151";
41
+ else if (props.variant === "secondary") rules += " pAZZpyb151";
42
+ else if (props.variant === "primary") rules += " pXDQpyb151";
43
+ if (props.variant === "outline") rules += " i6nBqyb151";
44
+ else rules += " iA151";
45
+ if (props.variant === "outline") rules += " g9151";
46
+ else if (props.variant === "accent") rules += " gj1j4Pd151";
47
+ else if (props.variant === "secondary") rules += " g0iWVE151";
48
+ else if (props.variant === "primary") rules += " gJJKqyb151";
49
49
  return rules;
50
50
  };
51
51
  function Chip(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"chip2.jsx","names":[],"sources":["../src/custom/chip/index.tsx"],"sourcesContent":["import type { JSX } from \"solid-js\";\nimport { Show } from \"solid-js\";\nimport { Button as HeadlessButton } from \"@proyecto-viviana/solidaria-components\";\n// Styled via the S2 style() macro through viviana's own seam (../../style →\n// src/style.ts). S2 named tokens carry the shape (mirrors Badge's size-S\n// control: minHeight 24, 2px border, ui-sm font, pill radius); Silapse colors\n// ride in as arbitrary `[var(--color-*)]` values.\nimport { style } from \"../../style\" with { type: \"macro\" };\n\nexport type ChipVariant = \"primary\" | \"secondary\" | \"accent\" | \"outline\";\n\nexport interface ChipProps {\n text: string;\n variant?: ChipVariant;\n onClick?: () => void;\n /**\n * Icon to display before the text.\n * Use a function returning JSX for SSR compatibility: `icon={() => <MyIcon />}`\n * Or pass a simple string for text-based icons: `icon=\"★\"`\n */\n icon?: string | (() => JSX.Element);\n class?: string;\n}\n\nconst chip = style<{ variant: ChipVariant }>({\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n columnGap: \"text-to-visual\",\n minHeight: 24,\n width: \"fit\",\n paddingX: 12,\n borderRadius: \"full\",\n borderStyle: \"solid\",\n borderWidth: 2,\n font: \"ui-sm\",\n borderColor: {\n default: \"transparent\",\n variant: { outline: \"[var(--color-primary-600)]\" },\n },\n backgroundColor: {\n variant: {\n primary: \"[var(--color-primary-700)]\",\n secondary: \"[var(--color-bg-100)]\",\n accent: \"[var(--color-accent)]\",\n outline: \"transparent\",\n },\n },\n color: {\n variant: {\n primary: \"[var(--color-primary-100)]\",\n secondary: \"[var(--color-primary-200)]\",\n accent: \"[var(--color-bg-400)]\",\n outline: \"[var(--color-primary-200)]\",\n },\n },\n});\n\nexport function Chip(props: ChipProps) {\n const renderIcon = () => {\n const icon = props.icon;\n if (!icon) return null;\n if (typeof icon === \"string\") return icon;\n return icon();\n };\n\n return (\n <HeadlessButton\n class={`${chip({ variant: props.variant ?? \"primary\" })} ${props.class ?? \"\"}`}\n onPress={() => props.onClick?.()}\n >\n <Show when={props.icon}>\n <span>{renderIcon()}</span>\n </Show>\n {props.text}\n </HeadlessButton>\n );\n}\n"],"mappings":";;;;CAwBA,IAAA,QAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCN,MAAA,mBAAqC;EACnC,MAAM,OAAA,MAAA;EACJ,IAAA,CAAA,MAAM,OAAO;EACb,IAAI,OAAO,SAAO,UAAA,OAAA;EAClB,OAAI,KAAO;;CAEb,OAAA,CAAA,OAAA,OAAA,GAAA,KAAA,EAAA,SAAA,MAAA,WAAA,UAAA,CAAA,EAAA,GAAA,MAAA,SAAA,MAAA,eAAA,MAAA,UAAA,GAAA;MAEA,CAAA,KACG,MACC,MAAO,MAAG;QAGT,CAAA,MAAK,WAAY,EAAA,EAAM,KAAA;QACtB,KAAC;OACH,MAAO,KAAA"}
1
+ {"version":3,"file":"chip2.jsx","names":[],"sources":["../src/custom/chip/index.tsx"],"sourcesContent":["import type { JSX } from \"solid-js\";\nimport { Show } from \"solid-js\";\nimport { Button as HeadlessButton } from \"@proyecto-viviana/solidaria-components\";\n// Styled via the S2 style() macro through viviana's own seam (../../style →\n// src/style.ts). S2 named tokens carry the shape (mirrors Badge's size-S\n// control: minHeight 24, 2px border, ui-sm font, pill radius); Silapse colors\n// ride in as arbitrary `[var(--color-*)]` values.\nimport { style } from \"../../style\" with { type: \"macro\" };\n\nexport type ChipVariant = \"primary\" | \"secondary\" | \"accent\" | \"outline\";\n\nexport interface ChipProps {\n text: string;\n variant?: ChipVariant;\n onClick?: () => void;\n /**\n * Icon to display before the text.\n * Use a function returning JSX for SSR compatibility: `icon={() => <MyIcon />}`\n * Or pass a simple string for text-based icons: `icon=\"★\"`\n */\n icon?: string | (() => JSX.Element);\n class?: string;\n}\n\nconst chip = style<{ variant: ChipVariant }>({\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n columnGap: \"text-to-visual\",\n minHeight: 24,\n width: \"fit\",\n paddingX: 12,\n borderRadius: \"full\",\n borderStyle: \"solid\",\n borderWidth: 2,\n font: \"ui-sm\",\n borderColor: {\n default: \"transparent\",\n variant: { outline: \"[var(--color-primary-600)]\" },\n },\n backgroundColor: {\n variant: {\n primary: \"[var(--color-primary-700)]\",\n secondary: \"[var(--color-bg-100)]\",\n accent: \"[var(--color-accent)]\",\n outline: \"transparent\",\n },\n },\n color: {\n variant: {\n primary: \"[var(--color-primary-100)]\",\n secondary: \"[var(--color-primary-200)]\",\n // WCAG AA fix: accent text on the pink accent fill. The near-white\n // `--color-bg-400` gave only 2.74:1 in light mode (fail); the darkest\n // grey token reaches 5.24:1 light / 6.14:1 dark — the smallest existing-\n // token change that clears the 4.5:1 floor for this ui-sm label.\n accent: \"[var(--color-grey-900)]\",\n outline: \"[var(--color-primary-200)]\",\n },\n },\n});\n\nexport function Chip(props: ChipProps) {\n const renderIcon = () => {\n const icon = props.icon;\n if (!icon) return null;\n if (typeof icon === \"string\") return icon;\n return icon();\n };\n\n return (\n <HeadlessButton\n class={`${chip({ variant: props.variant ?? \"primary\" })} ${props.class ?? \"\"}`}\n onPress={() => props.onClick?.()}\n >\n <Show when={props.icon}>\n <span>{renderIcon()}</span>\n </Show>\n {props.text}\n </HeadlessButton>\n );\n}\n"],"mappings":";;;AAwBA,MAAM,OAAA,SAAA,UAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCN,SAAgB,KAAK,OAAgB;CACnC,MAAM,mBAAa;EACjB,MAAM,OAAO,MAAM;EACnB,IAAI,CAAC,MAAM,OAAO;EAClB,IAAI,OAAO,SAAS,UAAU,OAAO;EACrC,OAAO,KAAA;CACT;CAEA,OAAO,CACJ,OACC,OAAO,GAAG,KAAK,EAAE,SAAS,MAAM,WAAW,UAAU,CAAA,EAAG,GAAG,MAAM,SAAS,MAC1E,eAAe,MAAM,UAAO,GAC7B;MACC,CAAC,KAAK,MAAM,MAAM,MAAM;QACtB,CAAC,MAAM,WAAA,EAAA,EAAe,KAAK;MAC7B,EAAE,KAAK;OACN,MAAM,KAAK;IACd,EAAE;AAEN"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/calendar-card/index.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA4DD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,kCAwCpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/calendar-card/index.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,kCAwCpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/chip/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AASpC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEzE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAoCD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,eAmBpC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/chip/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AASpC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEzE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAwCD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,eAmBpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/conversation/index.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,kCAwBlE;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiCD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,kCAahE;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,kCAcpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/conversation/index.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA4ED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,kCAwBlE;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAyCD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,kCAahE;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,kCAcpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/event-card/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AASpC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+ED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,eA2D9C;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+CD,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,eActD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/event-card/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AASpC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAoGD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,eA2D9C;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+CD,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,eActD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/lateral-nav/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAOpC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,eAO1C;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAYD,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,eAS1C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAC5D,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqBD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,eAuBhD;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAeD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,eAMhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/lateral-nav/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAOpC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,eAO1C;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqBD,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,eAS1C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAC5D,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqBD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,eAuBhD;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAeD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,eAMhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/logo/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAMpC,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA2BD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAWlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/logo/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAMpC,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkCD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAWlD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/nav-header/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAQpC,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkDD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,eA8B9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/nav-header/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAQpC,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0DD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,eA8B9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/profile-card/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAQpC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAwDD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,eAqClD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/profile-card/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAQpC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,eAqClD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/timeline-item/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAQpC,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEnF,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,eAuCpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/timeline-item/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAQpC,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEnF,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA2ED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,eAuCpD"}
package/dist/styles.css CHANGED
@@ -6,4 +6,4 @@
6
6
  @import "@proyecto-viviana/solid-spectrum/styles.css";
7
7
 
8
8
  /* viviana custom components — extracted S2 macro CSS (inlined) */
9
- @layer _.a{.LQAax0d13{max-width:calc(31.25rem * var(--s2-scale))}.ZKniM13{width:calc(5rem * var(--s2-scale))}.FKniM13{height:calc(5rem * var(--s2-scale))}.ij1j4Pd13{border-color:var(--color-accent)}._wb13{flex-wrap:wrap}._Ce13{justify-content:space-between}.Zm13{width:calc(1.25rem * var(--s2-scale))}.Fn13{height:calc(1.25rem * var(--s2-scale))}._Cg13{justify-content:start}._Cb13{justify-content:end}.Ua13{row-gap:.125rem}.qa13{column-gap:.125rem}.LbmOfn13{max-width:70%}.gg0eWE13{background-color:var(--color-bg-300)}.pcoywsd13{color:var(--color-text-muted)}.pg0eWE13{color:var(--color-bg-300)}._Pc13{position:relative}._Pa13{position:absolute}.WJ13{top:8px}._zI13{inset-inline-end:8px}.ZC13{width:calc(2rem * var(--s2-scale))}.Fx13{height:calc(2rem * var(--s2-scale))}.fu4qurc13{aspect-ratio:16/9}.-_6BNtrc-g13{--fs:pow(1.125, 4)}.Tt13{padding-top:8px}.Qt13{padding-bottom:8px}.St13{padding-inline-start:8px}.Rt13{padding-inline-end:8px}._Wd13{text-align:start}.ry13{cursor:pointer}._je13{border-style:none}.ZF13{width:calc(3rem * var(--s2-scale))}.Fz13{height:calc(3rem * var(--s2-scale))}._va13{flex-shrink:0}.ob13{border-start-start-radius:.5rem}.nb13{border-start-end-radius:.5rem}.kb13{border-end-start-radius:.5rem}.jb13{border-end-end-radius:.5rem}._Hb13{object-fit:cover}.xc13{font-weight:500}.ea13{align-items:baseline}.uk13{font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif;font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif;font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif;font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif}.-_6BNtrc-KaY1Ce13{--fs:pow(1.125, 5)}.xf13{font-weight:900}._Fd13{line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px);line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px);line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px);line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px)}.po13{color:light-dark(#131313,#f2f2f2)}.Mc13{min-height:100vh}.g318zje13{background-color:var(--color-background)}.pO550xe13{color:var(--color-text)}.Tr13{padding-top:64px}._nLeasBb13{box-shadow:0 4px 12px light-dark(#00000014,#0000003d),0 2px 6px light-dark(#0000000a,#0000001f),0 0 2px light-dark(#0000001f,#0000005c)}.ed13{align-items:start}.Ub13{row-gap:.25rem}.qb13{column-gap:.25rem}._ub13{flex-grow:1}.Na13{min-width:0}.Ul13{row-gap:1rem}.ql13{column-gap:1rem}.oc13{border-start-start-radius:.625rem}.nc13{border-start-end-radius:.625rem}.kc13{border-end-start-radius:.625rem}.jc13{border-end-end-radius:.625rem}.izfTM513{border-color:var(--color-border)}._Xa13{text-decoration:none}.Te13{padding-top:12px}.Tf13{padding-top:16px}.Qe13{padding-bottom:12px}.Qf13{padding-bottom:16px}.Sf13{padding-inline-start:16px}.Rf13{padding-inline-end:16px}._Ib13{opacity:1}._IqmMfn13{opacity:.5}.fa13{aspect-ratio:1}._Ha13{object-fit:contain}.oa13{border-start-start-radius:.25rem}.na13{border-start-end-radius:.25rem}.ka13{border-end-start-radius:.25rem}.ja13{border-end-end-radius:.25rem}.Za13{width:100%}.pt13{color:light-dark(#292929,#dbdbdb)}.uk13{font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif;font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif;font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif}.-_6BNtrc-d13{--fs:pow(1.125, 1)}._Fd13{line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px);line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px);line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px)}._ta13{flex-direction:column}.Ui13{row-gap:1.25rem}.qi13{column-gap:1.25rem}.Tg13{padding-top:20px}.Qg13{padding-bottom:20px}.Sg13{padding-inline-start:20px}.Rg13{padding-inline-end:20px}.oe13{border-start-start-radius:1rem}.ne13{border-start-end-radius:1rem}.ke13{border-end-start-radius:1rem}.je13{border-end-end-radius:1rem}._kb13{border-top-width:1px}.hb13{border-bottom-width:1px}.mb13{border-inline-start-width:1px}.lb13{border-inline-end-width:1px}.iJJKqyb13{border-color:var(--color-primary-700)}.gDE5VE13{background-color:var(--color-bg-200)}.Ug13{row-gap:.75rem}.qg13{column-gap:.75rem}._Wa13{text-align:center}.-_6BNtrc-c13{--fs:pow(1.125, 0)}.sh13{display:inline-flex}.eb13{align-items:center}._Ca13{justify-content:center}.qc13{column-gap:.428571em}.Mg13{min-height:calc(1.5rem * var(--s2-scale))}.ZJ13{width:fit-content}.Se13{padding-inline-start:12px}.Re13{padding-inline-end:12px}.og13{border-start-start-radius:9999px}.ng13{border-start-end-radius:9999px}.kg13{border-end-start-radius:9999px}.jg13{border-end-end-radius:9999px}._jf13{border-style:solid}._kc13{border-top-width:2px}.hc13{border-bottom-width:2px}.mc13{border-inline-start-width:2px}.lc13{border-inline-end-width:2px}.pTloWE13{color:var(--color-bg-400)}.pAZZpyb13{color:var(--color-primary-200)}.iA13{border-color:#0000}.i6nBqyb13{border-color:var(--color-primary-600)}.gJJKqyb13{background-color:var(--color-primary-700)}.g0iWVE13{background-color:var(--color-bg-100)}.gj1j4Pd13{background-color:var(--color-accent)}.g913{background-color:#0000}.-_6BNtrc-f13{--fs:pow(1.125, 3)}.xe13{font-weight:800}.pXDQpyb13{color:var(--color-primary-100)}.xd13{font-weight:700}.pj1j4Pd13{color:var(--color-accent)}.uk13{font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif}.-_6BNtrc-b13{--fs:pow(1.125, -1)}.vx13{font-size:round(var(--s2-font-size-base,14) * var(--fs) / 16 * 1rem, 1px)}.xb13{font-weight:400}._xa13{font-synthesis-weight:none}._Fd13{line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px)}.pxeCuqc13{color:var(--color-text-secondary)}._Nc13{overflow-x:hidden}.Pc13{overflow-y:hidden}._Yb13{text-overflow:ellipsis}._7c13{white-space:nowrap}.sd13{display:flex}.Ue13{row-gap:.5rem}.qe13{column-gap:.5rem}}@layer _.b{.xfd13:lang(ja,ko,zh,zh-Hant,zh-Hans){font-weight:700}._xfa13:lang(ja,ko,zh,zh-Hant,zh-Hans){font-synthesis-weight:none}.xX0cczbd13:lang(ja,ko,zh){font-weight:700}.xX0cczbc13:lang(ja,ko,zh){font-weight:500}._xX0cczba13:lang(ja,ko,zh){font-synthesis-weight:none}.ucJ9TBTb13:lang(ar){font-family:adobe-clean-arabic,myriad-arabic,ui-sans-serif,system-ui,sans-serif}._FnuYUweb13:lang(ja,ko,zh,zh-Hant,zh-Hans,zh-CN,zh-SG){line-height:1.5}}@layer _.c{.xfX0cczbc13:lang(ja,ko,zh):lang(ja,ko,zh,zh-Hant,zh-Hans){font-weight:500}._xfX0cczba13:lang(ja,ko,zh):lang(ja,ko,zh,zh-Hant,zh-Hans){font-synthesis-weight:none}.xfe13:lang(ja,ko,zh,zh-Hant,zh-Hans){font-weight:800}._xfa13:lang(ja,ko,zh,zh-Hant,zh-Hans){font-synthesis-weight:none}.ud3Euai13:lang(he){font-family:adobe-clean-hebrew,myriad-hebrew,ui-sans-serif,system-ui,sans-serif}}@layer _.d{.xfX0cczbd13:lang(ja,ko,zh):lang(ja,ko,zh,zh-Hant,zh-Hans){font-weight:700}._xfX0cczba13:lang(ja,ko,zh):lang(ja,ko,zh,zh-Hant,zh-Hans){font-synthesis-weight:none}.uea13:lang(ja){font-family:adobe-clean-han-japanese,Hiragino Kaku Gothic ProN,ヒラギノ角ゴ ProN W3,Osaka,YuGothic,Yu Gothic,メイリオ,Meiryo,MS Pゴシック,MS PGothic,sans-serif}}@layer _.e{.ugb13:lang(ko){font-family:adobe-clean-han-korean,source-han-korean,Malgun Gothic,Apple Gothic,sans-serif}}@layer _.f{.uhd13:lang(zh){font-family:adobe-clean-han-traditional,source-han-traditional,MingLiu,Heiti TC Light,sans-serif}}@layer _.g{.uje13:lang(zh-hant){font-family:adobe-clean-han-traditional,source-han-traditional,MingLiu,Microsoft JhengHei UI,Microsoft JhengHei,Heiti TC Light,sans-serif}}@layer _.h{.u2NhKxcl13:lang(zh-HK){font-family:adobe-clean-han-hong-kong,source-han-hong-kong,MingLiu,Microsoft JhengHei UI,Microsoft JhengHei,Heiti TC Light,sans-serif}}@layer _.i{.uic13:lang(zh-Hans,zh-CN,zh-SG){font-family:adobe-clean-han-simplified-c,source-han-simplified-c,SimSun,Heiti SC Light,sans-serif}}@layer _.b.s{@media not ((hover:hover) and (pointer:fine)){.qsd13{column-gap:.470588em}}}
9
+ @layer _.a{.LQAax0d151{max-width:calc(31.25rem * var(--s2-scale))}.ZKniM151{width:calc(5rem * var(--s2-scale))}.FKniM151{height:calc(5rem * var(--s2-scale))}.ij1j4Pd151{border-color:var(--color-accent)}._wb151{flex-wrap:wrap}._Ce151{justify-content:space-between}.Zm151{width:calc(1.25rem * var(--s2-scale))}.Fn151{height:calc(1.25rem * var(--s2-scale))}._Cg151{justify-content:start}._Cb151{justify-content:end}.Ua151{row-gap:.125rem}.qa151{column-gap:.125rem}.LbmOfn151{max-width:70%}.gg0eWE151{background-color:var(--color-bg-300)}._Pc151{position:relative}._Pa151{position:absolute}.WJ151{top:8px}._zI151{inset-inline-end:8px}.ZC151{width:calc(2rem * var(--s2-scale))}.Fx151{height:calc(2rem * var(--s2-scale))}.fu4qurc151{aspect-ratio:16/9}.-_6BNtrc-g151{--fs:pow(1.125, 4)}.Tt151{padding-top:8px}.Qt151{padding-bottom:8px}.St151{padding-inline-start:8px}.Rt151{padding-inline-end:8px}._Wd151{text-align:start}.ry151{cursor:pointer}._je151{border-style:none}.ZF151{width:calc(3rem * var(--s2-scale))}.Fz151{height:calc(3rem * var(--s2-scale))}._va151{flex-shrink:0}.ob151{border-start-start-radius:.5rem}.nb151{border-start-end-radius:.5rem}.kb151{border-end-start-radius:.5rem}.jb151{border-end-end-radius:.5rem}._Hb151{object-fit:cover}.xc151{font-weight:500}.pxeCuqc151{color:var(--color-text-secondary)}.ea151{align-items:baseline}.uk151{font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif;font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif;font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif;font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif}.-_6BNtrc-KaY1Ce151{--fs:pow(1.125, 5)}.xf151{font-weight:900}._Fd151{line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px);line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px);line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px);line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px)}.po151{color:light-dark(#131313,#f2f2f2)}.pH0v9Fe151{color:var(--color-accent-500)}.Mc151{min-height:100vh}.g318zje151{background-color:var(--color-background)}.Tr151{padding-top:64px}._nLeasBb151{box-shadow:0 4px 12px light-dark(#00000014,#0000003d),0 2px 6px light-dark(#0000000a,#0000001f),0 0 2px light-dark(#0000001f,#0000005c)}.ed151{align-items:start}.Ub151{row-gap:.25rem}.qb151{column-gap:.25rem}._ub151{flex-grow:1}.Na151{min-width:0}.Ul151{row-gap:1rem}.ql151{column-gap:1rem}.oc151{border-start-start-radius:.625rem}.nc151{border-start-end-radius:.625rem}.kc151{border-end-start-radius:.625rem}.jc151{border-end-end-radius:.625rem}.izfTM5151{border-color:var(--color-border)}._Xa151{text-decoration:none}.Te151{padding-top:12px}.Tf151{padding-top:16px}.Qe151{padding-bottom:12px}.Qf151{padding-bottom:16px}.Sf151{padding-inline-start:16px}.Rf151{padding-inline-end:16px}._Ib151{opacity:1}._IqmMfn151{opacity:.5}.fa151{aspect-ratio:1}._Ha151{object-fit:contain}.oa151{border-start-start-radius:.25rem}.na151{border-start-end-radius:.25rem}.ka151{border-end-start-radius:.25rem}.ja151{border-end-end-radius:.25rem}.Za151{width:100%}.uk151{font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif;font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif;font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif}.-_6BNtrc-d151{--fs:pow(1.125, 1)}._Fd151{line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px);line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px);line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px)}._ta151{flex-direction:column}.Ui151{row-gap:1.25rem}.qi151{column-gap:1.25rem}.Tg151{padding-top:20px}.Qg151{padding-bottom:20px}.Sg151{padding-inline-start:20px}.Rg151{padding-inline-end:20px}.oe151{border-start-start-radius:1rem}.ne151{border-start-end-radius:1rem}.ke151{border-end-start-radius:1rem}.je151{border-end-end-radius:1rem}._kb151{border-top-width:1px}.hb151{border-bottom-width:1px}.mb151{border-inline-start-width:1px}.lb151{border-inline-end-width:1px}.iJJKqyb151{border-color:var(--color-primary-700)}.gDE5VE151{background-color:var(--color-bg-200)}.Ug151{row-gap:.75rem}.qg151{column-gap:.75rem}._Wa151{text-align:center}.-_6BNtrc-c151{--fs:pow(1.125, 0)}.sh151{display:inline-flex}.eb151{align-items:center}._Ca151{justify-content:center}.qc151{column-gap:.428571em}.Mg151{min-height:calc(1.5rem * var(--s2-scale))}.ZJ151{width:fit-content}.Se151{padding-inline-start:12px}.Re151{padding-inline-end:12px}.og151{border-start-start-radius:9999px}.ng151{border-start-end-radius:9999px}.kg151{border-end-start-radius:9999px}.jg151{border-end-end-radius:9999px}._jf151{border-style:solid}._kc151{border-top-width:2px}.hc151{border-bottom-width:2px}.mc151{border-inline-start-width:2px}.lc151{border-inline-end-width:2px}.padAQ7151{color:var(--color-grey-900)}.pAZZpyb151{color:var(--color-primary-200)}.iA151{border-color:#0000}.i6nBqyb151{border-color:var(--color-primary-600)}.gJJKqyb151{background-color:var(--color-primary-700)}.g0iWVE151{background-color:var(--color-bg-100)}.gj1j4Pd151{background-color:var(--color-accent)}.g9151{background-color:#0000}.-_6BNtrc-f151{--fs:pow(1.125, 3)}.xe151{font-weight:800}.pXDQpyb151{color:var(--color-primary-100)}._Nc151{overflow-x:hidden}.Pc151{overflow-y:hidden}._Yb151{text-overflow:ellipsis}._7c151{white-space:nowrap}.xd151{font-weight:700}.uk151{font-family:var(--s2-font-family-sans,adobe-clean-spectrum-vf), adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif}.-_6BNtrc-b151{--fs:pow(1.125, -1)}.vx151{font-size:round(var(--s2-font-size-base,14) * var(--fs) / 16 * 1rem, 1px)}.xb151{font-weight:400}._xa151{font-synthesis-weight:none}._Fd151{line-height:round(1em * (1.15 + (1 - ((min(32, var(--s2-font-size-base,14) * var(--fs)) - 10)) / 22) * .15), 2px)}.pO550xe151{color:var(--color-text)}.sd151{display:flex}.Ue151{row-gap:.5rem}.qe151{column-gap:.5rem}}@layer _.b{.xfd151:lang(ja,ko,zh,zh-Hant,zh-Hans){font-weight:700}._xfa151:lang(ja,ko,zh,zh-Hant,zh-Hans){font-synthesis-weight:none}.xX0cczbd151:lang(ja,ko,zh){font-weight:700}.xX0cczbc151:lang(ja,ko,zh){font-weight:500}._xX0cczba151:lang(ja,ko,zh){font-synthesis-weight:none}.ucJ9TBTb151:lang(ar){font-family:adobe-clean-arabic,myriad-arabic,ui-sans-serif,system-ui,sans-serif}._FnuYUweb151:lang(ja,ko,zh,zh-Hant,zh-Hans,zh-CN,zh-SG){line-height:1.5}}@layer _.c{.xfX0cczbc151:lang(ja,ko,zh):lang(ja,ko,zh,zh-Hant,zh-Hans){font-weight:500}._xfX0cczba151:lang(ja,ko,zh):lang(ja,ko,zh,zh-Hant,zh-Hans){font-synthesis-weight:none}.xfe151:lang(ja,ko,zh,zh-Hant,zh-Hans){font-weight:800}._xfa151:lang(ja,ko,zh,zh-Hant,zh-Hans){font-synthesis-weight:none}.ud3Euai151:lang(he){font-family:adobe-clean-hebrew,myriad-hebrew,ui-sans-serif,system-ui,sans-serif}}@layer _.d{.xfX0cczbd151:lang(ja,ko,zh):lang(ja,ko,zh,zh-Hant,zh-Hans){font-weight:700}._xfX0cczba151:lang(ja,ko,zh):lang(ja,ko,zh,zh-Hant,zh-Hans){font-synthesis-weight:none}.uea151:lang(ja){font-family:adobe-clean-han-japanese,Hiragino Kaku Gothic ProN,ヒラギノ角ゴ ProN W3,Osaka,YuGothic,Yu Gothic,メイリオ,Meiryo,MS Pゴシック,MS PGothic,sans-serif}}@layer _.e{.ugb151:lang(ko){font-family:adobe-clean-han-korean,source-han-korean,Malgun Gothic,Apple Gothic,sans-serif}}@layer _.f{.uhd151:lang(zh){font-family:adobe-clean-han-traditional,source-han-traditional,MingLiu,Heiti TC Light,sans-serif}}@layer _.g{.uje151:lang(zh-hant){font-family:adobe-clean-han-traditional,source-han-traditional,MingLiu,Microsoft JhengHei UI,Microsoft JhengHei,Heiti TC Light,sans-serif}}@layer _.h{.u2NhKxcl151:lang(zh-HK){font-family:adobe-clean-han-hong-kong,source-han-hong-kong,MingLiu,Microsoft JhengHei UI,Microsoft JhengHei,Heiti TC Light,sans-serif}}@layer _.i{.uic151:lang(zh-Hans,zh-CN,zh-SG){font-family:adobe-clean-han-simplified-c,source-han-simplified-c,SimSun,Heiti SC Light,sans-serif}}@layer _.b.s{@media not ((hover:hover) and (pointer:fine)){.qsd151{column-gap:.470588em}}}
package/dist/vite.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  interface MacroPlugin {
2
2
  name?: string;
3
+ transformInclude?: (id: string) => boolean | void;
3
4
  transform?: (this: unknown, code: string, id: string) => unknown;
4
5
  resolveId?: (this: unknown, id: string, importer?: string, options?: object) => unknown;
5
6
  loadInclude?: (id: string) => boolean | void;
@@ -1 +1 @@
1
- {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AA8CA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACjE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IACxF,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA2BD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,WAAW,CAmE3C"}
1
+ {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AA8CA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IAClD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACjE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IACxF,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAmCD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,WAAW,CAsE3C"}
package/dist/vite.js CHANGED
@@ -2,6 +2,11 @@ import macros from "unplugin-parcel-macros";
2
2
  //#region src/vite.ts
3
3
  const macroCssIdPattern = /^macro-[a-f0-9]+\.css$/;
4
4
  const macroCssImportPattern = /import\s+["']macro-[a-f0-9]+\.css["'];\n?/g;
5
+ function getMacroSourceFilePath(id) {
6
+ const queryIndex = id.indexOf("?");
7
+ if (queryIndex === -1 || !/^\?tsr-split=[^&#]+(?:#.*)?$/.test(id.slice(queryIndex))) return id;
8
+ return id.slice(0, queryIndex);
9
+ }
5
10
  function getMacroCssFileName(id) {
6
11
  const fileName = id.split("/").pop();
7
12
  return fileName && macroCssIdPattern.test(fileName) ? fileName : null;
@@ -32,8 +37,11 @@ function vivianaMacros() {
32
37
  };
33
38
  return {
34
39
  ...plugin,
40
+ transformInclude(id) {
41
+ return plugin.transformInclude?.(getMacroSourceFilePath(id)) ?? false;
42
+ },
35
43
  async transform(code, id) {
36
- const result = await plugin.transform?.call(this, code, id);
44
+ const result = await plugin.transform?.call(this, code, getMacroSourceFilePath(id));
37
45
  const transformedCode = typeof result === "string" ? result : result && typeof result === "object" && "code" in result ? String(result.code) : "";
38
46
  for (const match of transformedCode.matchAll(/import\s+["'](macro-[a-f0-9]+\.css)["'];/g)) {
39
47
  const content = await plugin.load?.call(this, match[1]);
package/dist/vite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vite.js","names":[],"sources":["../src/vite.ts"],"sourcesContent":["// The supported Vite macro preset for apps that author their own `style()` calls\n// against `@proyecto-viviana/ui/style`.\n//\n// Consuming the *pre-built* components needs no macro plugin — their style()\n// calls are already expanded in the published build. But an app that writes its\n// own macro calls must run the S2 style() macro at its own build. The bare\n// `unplugin-parcel-macros` plugin isn't enough under rolldown-vite: the macro\n// emits `import \"macro-<hash>.css\"` statements plus matching virtual CSS modules,\n// and rolldown doesn't honor the plugin's resolveId/load for those virtual ids\n// (\"failed to resolve import macro-….css\"). So we wrap it: cache each macro CSS\n// body as it's transformed, resolve/serve those ids ourselves (with a `.css`\n// extension so Vite's CSS pipeline bundles them), then strip the now-redundant JS\n// import. This is the single source of truth for that wrapper — apps import it\n// instead of copying it into their config.\n//\n// `unplugin-parcel-macros` is a peerDependency: every app that authors style()\n// already installs it, and it must be the app's instance (it runs at the app's\n// build), so we never bundle it.\n//\n// Usage (a dual-target app build, e.g. TanStack Start / solid-start):\n//\n// import { defineConfig } from \"vite\";\n// import solid from \"vite-plugin-solid\";\n// import { vivianaMacros } from \"@proyecto-viviana/ui/vite\";\n//\n// export default defineConfig({\n// plugins: [vivianaMacros(), solid({ ssr: true })],\n// // Keep our Solid packages out of the optimizer and bundle them into SSR:\n// optimizeDeps: { exclude: [\"@proyecto-viviana/ui\", \"@proyecto-viviana/solid-spectrum\"] },\n// ssr: { noExternal: [\"@proyecto-viviana/ui\", \"@proyecto-viviana/solid-spectrum\"] },\n// });\n//\n// Plugin order: place `vivianaMacros()` before `vite-plugin-solid` (the macro\n// must expand style() before Solid compiles JSX), and before framework plugins\n// (TanStack Start / Cloudflare) that wrap the build. The macro plugin only\n// touches macro CSS resolution/loading and import stripping; the\n// `optimizeDeps.exclude` / `ssr.noExternal` of our Solid packages stays\n// app-owned (it depends on whether the app links sources or pre-built dists).\nimport macros from \"unplugin-parcel-macros\";\n\n// A minimal structural view of the rolldown plugin that\n// `unplugin-parcel-macros` returns — only the hooks we wrap. Kept local (and\n// self-contained, with no rolldown/vite type imports) so the emitted\n// `dist/vite.d.ts` is portable: consumers don't need rolldown's types resolvable\n// to use the helper, and tsc can name the return type. `macros.rolldown()` is\n// typed `Plugin | Plugin[]`; we always get the single-plugin form.\ninterface MacroPlugin {\n name?: string;\n transform?: (this: unknown, code: string, id: string) => unknown;\n resolveId?: (this: unknown, id: string, importer?: string, options?: object) => unknown;\n loadInclude?: (id: string) => boolean | void;\n load?: (this: unknown, id: string) => unknown;\n [key: string]: unknown;\n}\n\nconst macroCssIdPattern = /^macro-[a-f0-9]+\\.css$/;\nconst macroCssImportPattern = /import\\s+[\"']macro-[a-f0-9]+\\.css[\"'];\\n?/g;\n\nfunction getMacroCssFileName(id: string) {\n const fileName = id.split(\"/\").pop();\n return fileName && macroCssIdPattern.test(fileName) ? fileName : null;\n}\n\nfunction removeMacroCssImports(code: string) {\n return code.replace(macroCssImportPattern, \"\");\n}\n\nfunction getMacroCssContent(content: unknown) {\n if (typeof content === \"string\") {\n return content;\n }\n\n if (content && typeof content === \"object\" && \"code\" in content) {\n const code = (content as { code: unknown }).code;\n return typeof code === \"string\" ? code : null;\n }\n\n return null;\n}\n\n/**\n * Returns the S2 style() macro plugin wrapped so its emitted CSS resolves and\n * loads correctly under rolldown-vite. Place it before `vite-plugin-solid`.\n */\nexport function vivianaMacros(): MacroPlugin {\n const plugin = macros.rolldown() as unknown as MacroPlugin;\n const macroCssCache = new Map<string, string>();\n\n const cacheMacroCss = (id: string, content: unknown) => {\n const fileName = getMacroCssFileName(id);\n const css = getMacroCssContent(content);\n if (fileName && css != null) {\n macroCssCache.set(fileName, css);\n }\n return css;\n };\n\n return {\n ...plugin,\n async transform(this: unknown, code: string, id: string) {\n const result = await plugin.transform?.call(this, code, id);\n const transformedCode =\n typeof result === \"string\"\n ? result\n : result && typeof result === \"object\" && \"code\" in result\n ? String(result.code)\n : \"\";\n\n for (const match of transformedCode.matchAll(/import\\s+[\"'](macro-[a-f0-9]+\\.css)[\"'];/g)) {\n const content = await plugin.load?.call(this, match[1]);\n cacheMacroCss(match[1], content);\n }\n\n return result;\n },\n async resolveId(this: unknown, id: string, importer?: string, options?: object) {\n const resolved = await plugin.resolveId?.call(this, id, importer, options);\n if (resolved) {\n return resolved;\n }\n const fileName = getMacroCssFileName(id);\n if (fileName && macroCssCache.has(fileName)) {\n return fileName;\n }\n return resolved;\n },\n loadInclude(id: string) {\n const fileName = getMacroCssFileName(id);\n return (\n (fileName != null && macroCssCache.has(fileName)) || (plugin.loadInclude?.(id) ?? false)\n );\n },\n async load(this: unknown, id: string) {\n if (plugin.loadInclude?.(id)) {\n const content = await plugin.load?.call(this, id);\n const css = cacheMacroCss(id, content);\n if (css != null) {\n return css;\n }\n return content;\n }\n const fileName = getMacroCssFileName(id);\n if (fileName) {\n return macroCssCache.get(fileName);\n }\n return null;\n },\n renderChunk(code: string) {\n return removeMacroCssImports(code);\n },\n };\n}\n"],"mappings":";;AAuDA,MAAM,oBAAoB;AAC1B,MAAM,wBAAwB;AAE9B,SAAS,oBAAoB,IAAY;CACvC,MAAM,WAAW,GAAG,MAAM,GAAG,EAAE,IAAI;CACnC,OAAO,YAAY,kBAAkB,KAAK,QAAQ,IAAI,WAAW;AACnE;AAEA,SAAS,sBAAsB,MAAc;CAC3C,OAAO,KAAK,QAAQ,uBAAuB,EAAE;AAC/C;AAEA,SAAS,mBAAmB,SAAkB;CAC5C,IAAI,OAAO,YAAY,UACrB,OAAO;CAGT,IAAI,WAAW,OAAO,YAAY,YAAY,UAAU,SAAS;EAC/D,MAAM,OAAQ,QAA8B;EAC5C,OAAO,OAAO,SAAS,WAAW,OAAO;CAC3C;CAEA,OAAO;AACT;;;;;AAMA,SAAgB,gBAA6B;CAC3C,MAAM,SAAS,OAAO,SAAS;CAC/B,MAAM,gCAAgB,IAAI,IAAoB;CAE9C,MAAM,iBAAiB,IAAY,YAAqB;EACtD,MAAM,WAAW,oBAAoB,EAAE;EACvC,MAAM,MAAM,mBAAmB,OAAO;EACtC,IAAI,YAAY,OAAO,MACrB,cAAc,IAAI,UAAU,GAAG;EAEjC,OAAO;CACT;CAEA,OAAO;EACL,GAAG;EACH,MAAM,UAAyB,MAAc,IAAY;GACvD,MAAM,SAAS,MAAM,OAAO,WAAW,KAAK,MAAM,MAAM,EAAE;GAC1D,MAAM,kBACJ,OAAO,WAAW,WACd,SACA,UAAU,OAAO,WAAW,YAAY,UAAU,SAChD,OAAO,OAAO,IAAI,IAClB;GAER,KAAK,MAAM,SAAS,gBAAgB,SAAS,2CAA2C,GAAG;IACzF,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,MAAM,MAAM,EAAE;IACtD,cAAc,MAAM,IAAI,OAAO;GACjC;GAEA,OAAO;EACT;EACA,MAAM,UAAyB,IAAY,UAAmB,SAAkB;GAC9E,MAAM,WAAW,MAAM,OAAO,WAAW,KAAK,MAAM,IAAI,UAAU,OAAO;GACzE,IAAI,UACF,OAAO;GAET,MAAM,WAAW,oBAAoB,EAAE;GACvC,IAAI,YAAY,cAAc,IAAI,QAAQ,GACxC,OAAO;GAET,OAAO;EACT;EACA,YAAY,IAAY;GACtB,MAAM,WAAW,oBAAoB,EAAE;GACvC,OACG,YAAY,QAAQ,cAAc,IAAI,QAAQ,MAAO,OAAO,cAAc,EAAE,KAAK;EAEtF;EACA,MAAM,KAAoB,IAAY;GACpC,IAAI,OAAO,cAAc,EAAE,GAAG;IAC5B,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,MAAM,EAAE;IAChD,MAAM,MAAM,cAAc,IAAI,OAAO;IACrC,IAAI,OAAO,MACT,OAAO;IAET,OAAO;GACT;GACA,MAAM,WAAW,oBAAoB,EAAE;GACvC,IAAI,UACF,OAAO,cAAc,IAAI,QAAQ;GAEnC,OAAO;EACT;EACA,YAAY,MAAc;GACxB,OAAO,sBAAsB,IAAI;EACnC;CACF;AACF"}
1
+ {"version":3,"file":"vite.js","names":[],"sources":["../src/vite.ts"],"sourcesContent":["// The supported Vite macro preset for apps that author their own `style()` calls\n// against `@proyecto-viviana/ui/style`.\n//\n// Consuming the *pre-built* components needs no macro plugin — their style()\n// calls are already expanded in the published build. But an app that writes its\n// own macro calls must run the S2 style() macro at its own build. The bare\n// `unplugin-parcel-macros` plugin isn't enough under rolldown-vite: the macro\n// emits `import \"macro-<hash>.css\"` statements plus matching virtual CSS modules,\n// and rolldown doesn't honor the plugin's resolveId/load for those virtual ids\n// (\"failed to resolve import macro-….css\"). So we wrap it: cache each macro CSS\n// body as it's transformed, resolve/serve those ids ourselves (with a `.css`\n// extension so Vite's CSS pipeline bundles them), then strip the now-redundant JS\n// import. This is the single source of truth for that wrapper — apps import it\n// instead of copying it into their config.\n//\n// `unplugin-parcel-macros` is a peerDependency: every app that authors style()\n// already installs it, and it must be the app's instance (it runs at the app's\n// build), so we never bundle it.\n//\n// Usage (a dual-target app build, e.g. TanStack Start / solid-start):\n//\n// import { defineConfig } from \"vite\";\n// import solid from \"vite-plugin-solid\";\n// import { vivianaMacros } from \"@proyecto-viviana/ui/vite\";\n//\n// export default defineConfig({\n// plugins: [vivianaMacros(), solid({ ssr: true })],\n// // Keep our Solid packages out of the optimizer and bundle them into SSR:\n// optimizeDeps: { exclude: [\"@proyecto-viviana/ui\", \"@proyecto-viviana/solid-spectrum\"] },\n// ssr: { noExternal: [\"@proyecto-viviana/ui\", \"@proyecto-viviana/solid-spectrum\"] },\n// });\n//\n// Plugin order: place `vivianaMacros()` before `vite-plugin-solid` (the macro\n// must expand style() before Solid compiles JSX), and before framework plugins\n// (TanStack Start / Cloudflare) that wrap the build. The macro plugin only\n// touches macro CSS resolution/loading and import stripping; the\n// `optimizeDeps.exclude` / `ssr.noExternal` of our Solid packages stays\n// app-owned (it depends on whether the app links sources or pre-built dists).\nimport macros from \"unplugin-parcel-macros\";\n\n// A minimal structural view of the rolldown plugin that\n// `unplugin-parcel-macros` returns — only the hooks we wrap. Kept local (and\n// self-contained, with no rolldown/vite type imports) so the emitted\n// `dist/vite.d.ts` is portable: consumers don't need rolldown's types resolvable\n// to use the helper, and tsc can name the return type. `macros.rolldown()` is\n// typed `Plugin | Plugin[]`; we always get the single-plugin form.\ninterface MacroPlugin {\n name?: string;\n transformInclude?: (id: string) => boolean | void;\n transform?: (this: unknown, code: string, id: string) => unknown;\n resolveId?: (this: unknown, id: string, importer?: string, options?: object) => unknown;\n loadInclude?: (id: string) => boolean | void;\n load?: (this: unknown, id: string) => unknown;\n [key: string]: unknown;\n}\n\nconst macroCssIdPattern = /^macro-[a-f0-9]+\\.css$/;\nconst macroCssImportPattern = /import\\s+[\"']macro-[a-f0-9]+\\.css[\"'];\\n?/g;\n\nfunction getMacroSourceFilePath(id: string) {\n const queryIndex = id.indexOf(\"?\");\n if (queryIndex === -1 || !/^\\?tsr-split=[^&#]+(?:#.*)?$/.test(id.slice(queryIndex))) {\n return id;\n }\n return id.slice(0, queryIndex);\n}\n\nfunction getMacroCssFileName(id: string) {\n const fileName = id.split(\"/\").pop();\n return fileName && macroCssIdPattern.test(fileName) ? fileName : null;\n}\n\nfunction removeMacroCssImports(code: string) {\n return code.replace(macroCssImportPattern, \"\");\n}\n\nfunction getMacroCssContent(content: unknown) {\n if (typeof content === \"string\") {\n return content;\n }\n\n if (content && typeof content === \"object\" && \"code\" in content) {\n const code = (content as { code: unknown }).code;\n return typeof code === \"string\" ? code : null;\n }\n\n return null;\n}\n\n/**\n * Returns the S2 style() macro plugin wrapped so its emitted CSS resolves and\n * loads correctly under rolldown-vite. Place it before `vite-plugin-solid`.\n */\nexport function vivianaMacros(): MacroPlugin {\n const plugin = macros.rolldown() as unknown as MacroPlugin;\n const macroCssCache = new Map<string, string>();\n\n const cacheMacroCss = (id: string, content: unknown) => {\n const fileName = getMacroCssFileName(id);\n const css = getMacroCssContent(content);\n if (fileName && css != null) {\n macroCssCache.set(fileName, css);\n }\n return css;\n };\n\n return {\n ...plugin,\n transformInclude(id: string) {\n return plugin.transformInclude?.(getMacroSourceFilePath(id)) ?? false;\n },\n async transform(this: unknown, code: string, id: string) {\n const result = await plugin.transform?.call(this, code, getMacroSourceFilePath(id));\n const transformedCode =\n typeof result === \"string\"\n ? result\n : result && typeof result === \"object\" && \"code\" in result\n ? String(result.code)\n : \"\";\n\n for (const match of transformedCode.matchAll(/import\\s+[\"'](macro-[a-f0-9]+\\.css)[\"'];/g)) {\n const content = await plugin.load?.call(this, match[1]);\n cacheMacroCss(match[1], content);\n }\n\n return result;\n },\n async resolveId(this: unknown, id: string, importer?: string, options?: object) {\n const resolved = await plugin.resolveId?.call(this, id, importer, options);\n if (resolved) {\n return resolved;\n }\n const fileName = getMacroCssFileName(id);\n if (fileName && macroCssCache.has(fileName)) {\n return fileName;\n }\n return resolved;\n },\n loadInclude(id: string) {\n const fileName = getMacroCssFileName(id);\n return (\n (fileName != null && macroCssCache.has(fileName)) || (plugin.loadInclude?.(id) ?? false)\n );\n },\n async load(this: unknown, id: string) {\n if (plugin.loadInclude?.(id)) {\n const content = await plugin.load?.call(this, id);\n const css = cacheMacroCss(id, content);\n if (css != null) {\n return css;\n }\n return content;\n }\n const fileName = getMacroCssFileName(id);\n if (fileName) {\n return macroCssCache.get(fileName);\n }\n return null;\n },\n renderChunk(code: string) {\n return removeMacroCssImports(code);\n },\n };\n}\n"],"mappings":";;AAwDA,MAAM,oBAAoB;AAC1B,MAAM,wBAAwB;AAE9B,SAAS,uBAAuB,IAAY;CAC1C,MAAM,aAAa,GAAG,QAAQ,GAAG;CACjC,IAAI,eAAe,MAAM,CAAC,+BAA+B,KAAK,GAAG,MAAM,UAAU,CAAC,GAChF,OAAO;CAET,OAAO,GAAG,MAAM,GAAG,UAAU;AAC/B;AAEA,SAAS,oBAAoB,IAAY;CACvC,MAAM,WAAW,GAAG,MAAM,GAAG,EAAE,IAAI;CACnC,OAAO,YAAY,kBAAkB,KAAK,QAAQ,IAAI,WAAW;AACnE;AAEA,SAAS,sBAAsB,MAAc;CAC3C,OAAO,KAAK,QAAQ,uBAAuB,EAAE;AAC/C;AAEA,SAAS,mBAAmB,SAAkB;CAC5C,IAAI,OAAO,YAAY,UACrB,OAAO;CAGT,IAAI,WAAW,OAAO,YAAY,YAAY,UAAU,SAAS;EAC/D,MAAM,OAAQ,QAA8B;EAC5C,OAAO,OAAO,SAAS,WAAW,OAAO;CAC3C;CAEA,OAAO;AACT;;;;;AAMA,SAAgB,gBAA6B;CAC3C,MAAM,SAAS,OAAO,SAAS;CAC/B,MAAM,gCAAgB,IAAI,IAAoB;CAE9C,MAAM,iBAAiB,IAAY,YAAqB;EACtD,MAAM,WAAW,oBAAoB,EAAE;EACvC,MAAM,MAAM,mBAAmB,OAAO;EACtC,IAAI,YAAY,OAAO,MACrB,cAAc,IAAI,UAAU,GAAG;EAEjC,OAAO;CACT;CAEA,OAAO;EACL,GAAG;EACH,iBAAiB,IAAY;GAC3B,OAAO,OAAO,mBAAmB,uBAAuB,EAAE,CAAC,KAAK;EAClE;EACA,MAAM,UAAyB,MAAc,IAAY;GACvD,MAAM,SAAS,MAAM,OAAO,WAAW,KAAK,MAAM,MAAM,uBAAuB,EAAE,CAAC;GAClF,MAAM,kBACJ,OAAO,WAAW,WACd,SACA,UAAU,OAAO,WAAW,YAAY,UAAU,SAChD,OAAO,OAAO,IAAI,IAClB;GAER,KAAK,MAAM,SAAS,gBAAgB,SAAS,2CAA2C,GAAG;IACzF,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,MAAM,MAAM,EAAE;IACtD,cAAc,MAAM,IAAI,OAAO;GACjC;GAEA,OAAO;EACT;EACA,MAAM,UAAyB,IAAY,UAAmB,SAAkB;GAC9E,MAAM,WAAW,MAAM,OAAO,WAAW,KAAK,MAAM,IAAI,UAAU,OAAO;GACzE,IAAI,UACF,OAAO;GAET,MAAM,WAAW,oBAAoB,EAAE;GACvC,IAAI,YAAY,cAAc,IAAI,QAAQ,GACxC,OAAO;GAET,OAAO;EACT;EACA,YAAY,IAAY;GACtB,MAAM,WAAW,oBAAoB,EAAE;GACvC,OACG,YAAY,QAAQ,cAAc,IAAI,QAAQ,MAAO,OAAO,cAAc,EAAE,KAAK;EAEtF;EACA,MAAM,KAAoB,IAAY;GACpC,IAAI,OAAO,cAAc,EAAE,GAAG;IAC5B,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,MAAM,EAAE;IAChD,MAAM,MAAM,cAAc,IAAI,OAAO;IACrC,IAAI,OAAO,MACT,OAAO;IAET,OAAO;GACT;GACA,MAAM,WAAW,oBAAoB,EAAE;GACvC,IAAI,UACF,OAAO,cAAc,IAAI,QAAQ;GAEnC,OAAO;EACT;EACA,YAAY,MAAc;GACxB,OAAO,sBAAsB,IAAI;EACnC;CACF;AACF"}
package/dist/vite.jsx CHANGED
@@ -2,6 +2,11 @@ import macros from "unplugin-parcel-macros";
2
2
  //#region src/vite.ts
3
3
  const macroCssIdPattern = /^macro-[a-f0-9]+\.css$/;
4
4
  const macroCssImportPattern = /import\s+["']macro-[a-f0-9]+\.css["'];\n?/g;
5
+ function getMacroSourceFilePath(id) {
6
+ const queryIndex = id.indexOf("?");
7
+ if (queryIndex === -1 || !/^\?tsr-split=[^&#]+(?:#.*)?$/.test(id.slice(queryIndex))) return id;
8
+ return id.slice(0, queryIndex);
9
+ }
5
10
  function getMacroCssFileName(id) {
6
11
  const fileName = id.split("/").pop();
7
12
  return fileName && macroCssIdPattern.test(fileName) ? fileName : null;
@@ -32,8 +37,11 @@ function vivianaMacros() {
32
37
  };
33
38
  return {
34
39
  ...plugin,
40
+ transformInclude(id) {
41
+ return plugin.transformInclude?.(getMacroSourceFilePath(id)) ?? false;
42
+ },
35
43
  async transform(code, id) {
36
- const result = await plugin.transform?.call(this, code, id);
44
+ const result = await plugin.transform?.call(this, code, getMacroSourceFilePath(id));
37
45
  const transformedCode = typeof result === "string" ? result : result && typeof result === "object" && "code" in result ? String(result.code) : "";
38
46
  for (const match of transformedCode.matchAll(/import\s+["'](macro-[a-f0-9]+\.css)["'];/g)) {
39
47
  const content = await plugin.load?.call(this, match[1]);
package/dist/vite.jsx.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vite.jsx","names":[],"sources":["../src/vite.ts"],"sourcesContent":["// The supported Vite macro preset for apps that author their own `style()` calls\n// against `@proyecto-viviana/ui/style`.\n//\n// Consuming the *pre-built* components needs no macro plugin — their style()\n// calls are already expanded in the published build. But an app that writes its\n// own macro calls must run the S2 style() macro at its own build. The bare\n// `unplugin-parcel-macros` plugin isn't enough under rolldown-vite: the macro\n// emits `import \"macro-<hash>.css\"` statements plus matching virtual CSS modules,\n// and rolldown doesn't honor the plugin's resolveId/load for those virtual ids\n// (\"failed to resolve import macro-….css\"). So we wrap it: cache each macro CSS\n// body as it's transformed, resolve/serve those ids ourselves (with a `.css`\n// extension so Vite's CSS pipeline bundles them), then strip the now-redundant JS\n// import. This is the single source of truth for that wrapper — apps import it\n// instead of copying it into their config.\n//\n// `unplugin-parcel-macros` is a peerDependency: every app that authors style()\n// already installs it, and it must be the app's instance (it runs at the app's\n// build), so we never bundle it.\n//\n// Usage (a dual-target app build, e.g. TanStack Start / solid-start):\n//\n// import { defineConfig } from \"vite\";\n// import solid from \"vite-plugin-solid\";\n// import { vivianaMacros } from \"@proyecto-viviana/ui/vite\";\n//\n// export default defineConfig({\n// plugins: [vivianaMacros(), solid({ ssr: true })],\n// // Keep our Solid packages out of the optimizer and bundle them into SSR:\n// optimizeDeps: { exclude: [\"@proyecto-viviana/ui\", \"@proyecto-viviana/solid-spectrum\"] },\n// ssr: { noExternal: [\"@proyecto-viviana/ui\", \"@proyecto-viviana/solid-spectrum\"] },\n// });\n//\n// Plugin order: place `vivianaMacros()` before `vite-plugin-solid` (the macro\n// must expand style() before Solid compiles JSX), and before framework plugins\n// (TanStack Start / Cloudflare) that wrap the build. The macro plugin only\n// touches macro CSS resolution/loading and import stripping; the\n// `optimizeDeps.exclude` / `ssr.noExternal` of our Solid packages stays\n// app-owned (it depends on whether the app links sources or pre-built dists).\nimport macros from \"unplugin-parcel-macros\";\n\n// A minimal structural view of the rolldown plugin that\n// `unplugin-parcel-macros` returns — only the hooks we wrap. Kept local (and\n// self-contained, with no rolldown/vite type imports) so the emitted\n// `dist/vite.d.ts` is portable: consumers don't need rolldown's types resolvable\n// to use the helper, and tsc can name the return type. `macros.rolldown()` is\n// typed `Plugin | Plugin[]`; we always get the single-plugin form.\ninterface MacroPlugin {\n name?: string;\n transform?: (this: unknown, code: string, id: string) => unknown;\n resolveId?: (this: unknown, id: string, importer?: string, options?: object) => unknown;\n loadInclude?: (id: string) => boolean | void;\n load?: (this: unknown, id: string) => unknown;\n [key: string]: unknown;\n}\n\nconst macroCssIdPattern = /^macro-[a-f0-9]+\\.css$/;\nconst macroCssImportPattern = /import\\s+[\"']macro-[a-f0-9]+\\.css[\"'];\\n?/g;\n\nfunction getMacroCssFileName(id: string) {\n const fileName = id.split(\"/\").pop();\n return fileName && macroCssIdPattern.test(fileName) ? fileName : null;\n}\n\nfunction removeMacroCssImports(code: string) {\n return code.replace(macroCssImportPattern, \"\");\n}\n\nfunction getMacroCssContent(content: unknown) {\n if (typeof content === \"string\") {\n return content;\n }\n\n if (content && typeof content === \"object\" && \"code\" in content) {\n const code = (content as { code: unknown }).code;\n return typeof code === \"string\" ? code : null;\n }\n\n return null;\n}\n\n/**\n * Returns the S2 style() macro plugin wrapped so its emitted CSS resolves and\n * loads correctly under rolldown-vite. Place it before `vite-plugin-solid`.\n */\nexport function vivianaMacros(): MacroPlugin {\n const plugin = macros.rolldown() as unknown as MacroPlugin;\n const macroCssCache = new Map<string, string>();\n\n const cacheMacroCss = (id: string, content: unknown) => {\n const fileName = getMacroCssFileName(id);\n const css = getMacroCssContent(content);\n if (fileName && css != null) {\n macroCssCache.set(fileName, css);\n }\n return css;\n };\n\n return {\n ...plugin,\n async transform(this: unknown, code: string, id: string) {\n const result = await plugin.transform?.call(this, code, id);\n const transformedCode =\n typeof result === \"string\"\n ? result\n : result && typeof result === \"object\" && \"code\" in result\n ? String(result.code)\n : \"\";\n\n for (const match of transformedCode.matchAll(/import\\s+[\"'](macro-[a-f0-9]+\\.css)[\"'];/g)) {\n const content = await plugin.load?.call(this, match[1]);\n cacheMacroCss(match[1], content);\n }\n\n return result;\n },\n async resolveId(this: unknown, id: string, importer?: string, options?: object) {\n const resolved = await plugin.resolveId?.call(this, id, importer, options);\n if (resolved) {\n return resolved;\n }\n const fileName = getMacroCssFileName(id);\n if (fileName && macroCssCache.has(fileName)) {\n return fileName;\n }\n return resolved;\n },\n loadInclude(id: string) {\n const fileName = getMacroCssFileName(id);\n return (\n (fileName != null && macroCssCache.has(fileName)) || (plugin.loadInclude?.(id) ?? false)\n );\n },\n async load(this: unknown, id: string) {\n if (plugin.loadInclude?.(id)) {\n const content = await plugin.load?.call(this, id);\n const css = cacheMacroCss(id, content);\n if (css != null) {\n return css;\n }\n return content;\n }\n const fileName = getMacroCssFileName(id);\n if (fileName) {\n return macroCssCache.get(fileName);\n }\n return null;\n },\n renderChunk(code: string) {\n return removeMacroCssImports(code);\n },\n };\n}\n"],"mappings":";;AAuDA,MAAM,oBAAoB;AAC1B,MAAM,wBAAwB;AAE9B,SAAS,oBAAoB,IAAY;CACvC,MAAM,WAAW,GAAG,MAAM,GAAG,EAAE,IAAI;CACnC,OAAO,YAAY,kBAAkB,KAAK,QAAQ,IAAI,WAAW;AACnE;AAEA,SAAS,sBAAsB,MAAc;CAC3C,OAAO,KAAK,QAAQ,uBAAuB,EAAE;AAC/C;AAEA,SAAS,mBAAmB,SAAkB;CAC5C,IAAI,OAAO,YAAY,UACrB,OAAO;CAGT,IAAI,WAAW,OAAO,YAAY,YAAY,UAAU,SAAS;EAC/D,MAAM,OAAQ,QAA8B;EAC5C,OAAO,OAAO,SAAS,WAAW,OAAO;CAC3C;CAEA,OAAO;AACT;;;;;AAMA,SAAgB,gBAA6B;CAC3C,MAAM,SAAS,OAAO,SAAS;CAC/B,MAAM,gCAAgB,IAAI,IAAoB;CAE9C,MAAM,iBAAiB,IAAY,YAAqB;EACtD,MAAM,WAAW,oBAAoB,EAAE;EACvC,MAAM,MAAM,mBAAmB,OAAO;EACtC,IAAI,YAAY,OAAO,MACrB,cAAc,IAAI,UAAU,GAAG;EAEjC,OAAO;CACT;CAEA,OAAO;EACL,GAAG;EACH,MAAM,UAAyB,MAAc,IAAY;GACvD,MAAM,SAAS,MAAM,OAAO,WAAW,KAAK,MAAM,MAAM,EAAE;GAC1D,MAAM,kBACJ,OAAO,WAAW,WACd,SACA,UAAU,OAAO,WAAW,YAAY,UAAU,SAChD,OAAO,OAAO,IAAI,IAClB;GAER,KAAK,MAAM,SAAS,gBAAgB,SAAS,2CAA2C,GAAG;IACzF,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,MAAM,MAAM,EAAE;IACtD,cAAc,MAAM,IAAI,OAAO;GACjC;GAEA,OAAO;EACT;EACA,MAAM,UAAyB,IAAY,UAAmB,SAAkB;GAC9E,MAAM,WAAW,MAAM,OAAO,WAAW,KAAK,MAAM,IAAI,UAAU,OAAO;GACzE,IAAI,UACF,OAAO;GAET,MAAM,WAAW,oBAAoB,EAAE;GACvC,IAAI,YAAY,cAAc,IAAI,QAAQ,GACxC,OAAO;GAET,OAAO;EACT;EACA,YAAY,IAAY;GACtB,MAAM,WAAW,oBAAoB,EAAE;GACvC,OACG,YAAY,QAAQ,cAAc,IAAI,QAAQ,MAAO,OAAO,cAAc,EAAE,KAAK;EAEtF;EACA,MAAM,KAAoB,IAAY;GACpC,IAAI,OAAO,cAAc,EAAE,GAAG;IAC5B,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,MAAM,EAAE;IAChD,MAAM,MAAM,cAAc,IAAI,OAAO;IACrC,IAAI,OAAO,MACT,OAAO;IAET,OAAO;GACT;GACA,MAAM,WAAW,oBAAoB,EAAE;GACvC,IAAI,UACF,OAAO,cAAc,IAAI,QAAQ;GAEnC,OAAO;EACT;EACA,YAAY,MAAc;GACxB,OAAO,sBAAsB,IAAI;EACnC;CACF;AACF"}
1
+ {"version":3,"file":"vite.jsx","names":[],"sources":["../src/vite.ts"],"sourcesContent":["// The supported Vite macro preset for apps that author their own `style()` calls\n// against `@proyecto-viviana/ui/style`.\n//\n// Consuming the *pre-built* components needs no macro plugin — their style()\n// calls are already expanded in the published build. But an app that writes its\n// own macro calls must run the S2 style() macro at its own build. The bare\n// `unplugin-parcel-macros` plugin isn't enough under rolldown-vite: the macro\n// emits `import \"macro-<hash>.css\"` statements plus matching virtual CSS modules,\n// and rolldown doesn't honor the plugin's resolveId/load for those virtual ids\n// (\"failed to resolve import macro-….css\"). So we wrap it: cache each macro CSS\n// body as it's transformed, resolve/serve those ids ourselves (with a `.css`\n// extension so Vite's CSS pipeline bundles them), then strip the now-redundant JS\n// import. This is the single source of truth for that wrapper — apps import it\n// instead of copying it into their config.\n//\n// `unplugin-parcel-macros` is a peerDependency: every app that authors style()\n// already installs it, and it must be the app's instance (it runs at the app's\n// build), so we never bundle it.\n//\n// Usage (a dual-target app build, e.g. TanStack Start / solid-start):\n//\n// import { defineConfig } from \"vite\";\n// import solid from \"vite-plugin-solid\";\n// import { vivianaMacros } from \"@proyecto-viviana/ui/vite\";\n//\n// export default defineConfig({\n// plugins: [vivianaMacros(), solid({ ssr: true })],\n// // Keep our Solid packages out of the optimizer and bundle them into SSR:\n// optimizeDeps: { exclude: [\"@proyecto-viviana/ui\", \"@proyecto-viviana/solid-spectrum\"] },\n// ssr: { noExternal: [\"@proyecto-viviana/ui\", \"@proyecto-viviana/solid-spectrum\"] },\n// });\n//\n// Plugin order: place `vivianaMacros()` before `vite-plugin-solid` (the macro\n// must expand style() before Solid compiles JSX), and before framework plugins\n// (TanStack Start / Cloudflare) that wrap the build. The macro plugin only\n// touches macro CSS resolution/loading and import stripping; the\n// `optimizeDeps.exclude` / `ssr.noExternal` of our Solid packages stays\n// app-owned (it depends on whether the app links sources or pre-built dists).\nimport macros from \"unplugin-parcel-macros\";\n\n// A minimal structural view of the rolldown plugin that\n// `unplugin-parcel-macros` returns — only the hooks we wrap. Kept local (and\n// self-contained, with no rolldown/vite type imports) so the emitted\n// `dist/vite.d.ts` is portable: consumers don't need rolldown's types resolvable\n// to use the helper, and tsc can name the return type. `macros.rolldown()` is\n// typed `Plugin | Plugin[]`; we always get the single-plugin form.\ninterface MacroPlugin {\n name?: string;\n transformInclude?: (id: string) => boolean | void;\n transform?: (this: unknown, code: string, id: string) => unknown;\n resolveId?: (this: unknown, id: string, importer?: string, options?: object) => unknown;\n loadInclude?: (id: string) => boolean | void;\n load?: (this: unknown, id: string) => unknown;\n [key: string]: unknown;\n}\n\nconst macroCssIdPattern = /^macro-[a-f0-9]+\\.css$/;\nconst macroCssImportPattern = /import\\s+[\"']macro-[a-f0-9]+\\.css[\"'];\\n?/g;\n\nfunction getMacroSourceFilePath(id: string) {\n const queryIndex = id.indexOf(\"?\");\n if (queryIndex === -1 || !/^\\?tsr-split=[^&#]+(?:#.*)?$/.test(id.slice(queryIndex))) {\n return id;\n }\n return id.slice(0, queryIndex);\n}\n\nfunction getMacroCssFileName(id: string) {\n const fileName = id.split(\"/\").pop();\n return fileName && macroCssIdPattern.test(fileName) ? fileName : null;\n}\n\nfunction removeMacroCssImports(code: string) {\n return code.replace(macroCssImportPattern, \"\");\n}\n\nfunction getMacroCssContent(content: unknown) {\n if (typeof content === \"string\") {\n return content;\n }\n\n if (content && typeof content === \"object\" && \"code\" in content) {\n const code = (content as { code: unknown }).code;\n return typeof code === \"string\" ? code : null;\n }\n\n return null;\n}\n\n/**\n * Returns the S2 style() macro plugin wrapped so its emitted CSS resolves and\n * loads correctly under rolldown-vite. Place it before `vite-plugin-solid`.\n */\nexport function vivianaMacros(): MacroPlugin {\n const plugin = macros.rolldown() as unknown as MacroPlugin;\n const macroCssCache = new Map<string, string>();\n\n const cacheMacroCss = (id: string, content: unknown) => {\n const fileName = getMacroCssFileName(id);\n const css = getMacroCssContent(content);\n if (fileName && css != null) {\n macroCssCache.set(fileName, css);\n }\n return css;\n };\n\n return {\n ...plugin,\n transformInclude(id: string) {\n return plugin.transformInclude?.(getMacroSourceFilePath(id)) ?? false;\n },\n async transform(this: unknown, code: string, id: string) {\n const result = await plugin.transform?.call(this, code, getMacroSourceFilePath(id));\n const transformedCode =\n typeof result === \"string\"\n ? result\n : result && typeof result === \"object\" && \"code\" in result\n ? String(result.code)\n : \"\";\n\n for (const match of transformedCode.matchAll(/import\\s+[\"'](macro-[a-f0-9]+\\.css)[\"'];/g)) {\n const content = await plugin.load?.call(this, match[1]);\n cacheMacroCss(match[1], content);\n }\n\n return result;\n },\n async resolveId(this: unknown, id: string, importer?: string, options?: object) {\n const resolved = await plugin.resolveId?.call(this, id, importer, options);\n if (resolved) {\n return resolved;\n }\n const fileName = getMacroCssFileName(id);\n if (fileName && macroCssCache.has(fileName)) {\n return fileName;\n }\n return resolved;\n },\n loadInclude(id: string) {\n const fileName = getMacroCssFileName(id);\n return (\n (fileName != null && macroCssCache.has(fileName)) || (plugin.loadInclude?.(id) ?? false)\n );\n },\n async load(this: unknown, id: string) {\n if (plugin.loadInclude?.(id)) {\n const content = await plugin.load?.call(this, id);\n const css = cacheMacroCss(id, content);\n if (css != null) {\n return css;\n }\n return content;\n }\n const fileName = getMacroCssFileName(id);\n if (fileName) {\n return macroCssCache.get(fileName);\n }\n return null;\n },\n renderChunk(code: string) {\n return removeMacroCssImports(code);\n },\n };\n}\n"],"mappings":";;AAwDA,MAAM,oBAAoB;AAC1B,MAAM,wBAAwB;AAE9B,SAAS,uBAAuB,IAAY;CAC1C,MAAM,aAAa,GAAG,QAAQ,GAAG;CACjC,IAAI,eAAe,MAAM,CAAC,+BAA+B,KAAK,GAAG,MAAM,UAAU,CAAC,GAChF,OAAO;CAET,OAAO,GAAG,MAAM,GAAG,UAAU;AAC/B;AAEA,SAAS,oBAAoB,IAAY;CACvC,MAAM,WAAW,GAAG,MAAM,GAAG,EAAE,IAAI;CACnC,OAAO,YAAY,kBAAkB,KAAK,QAAQ,IAAI,WAAW;AACnE;AAEA,SAAS,sBAAsB,MAAc;CAC3C,OAAO,KAAK,QAAQ,uBAAuB,EAAE;AAC/C;AAEA,SAAS,mBAAmB,SAAkB;CAC5C,IAAI,OAAO,YAAY,UACrB,OAAO;CAGT,IAAI,WAAW,OAAO,YAAY,YAAY,UAAU,SAAS;EAC/D,MAAM,OAAQ,QAA8B;EAC5C,OAAO,OAAO,SAAS,WAAW,OAAO;CAC3C;CAEA,OAAO;AACT;;;;;AAMA,SAAgB,gBAA6B;CAC3C,MAAM,SAAS,OAAO,SAAS;CAC/B,MAAM,gCAAgB,IAAI,IAAoB;CAE9C,MAAM,iBAAiB,IAAY,YAAqB;EACtD,MAAM,WAAW,oBAAoB,EAAE;EACvC,MAAM,MAAM,mBAAmB,OAAO;EACtC,IAAI,YAAY,OAAO,MACrB,cAAc,IAAI,UAAU,GAAG;EAEjC,OAAO;CACT;CAEA,OAAO;EACL,GAAG;EACH,iBAAiB,IAAY;GAC3B,OAAO,OAAO,mBAAmB,uBAAuB,EAAE,CAAC,KAAK;EAClE;EACA,MAAM,UAAyB,MAAc,IAAY;GACvD,MAAM,SAAS,MAAM,OAAO,WAAW,KAAK,MAAM,MAAM,uBAAuB,EAAE,CAAC;GAClF,MAAM,kBACJ,OAAO,WAAW,WACd,SACA,UAAU,OAAO,WAAW,YAAY,UAAU,SAChD,OAAO,OAAO,IAAI,IAClB;GAER,KAAK,MAAM,SAAS,gBAAgB,SAAS,2CAA2C,GAAG;IACzF,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,MAAM,MAAM,EAAE;IACtD,cAAc,MAAM,IAAI,OAAO;GACjC;GAEA,OAAO;EACT;EACA,MAAM,UAAyB,IAAY,UAAmB,SAAkB;GAC9E,MAAM,WAAW,MAAM,OAAO,WAAW,KAAK,MAAM,IAAI,UAAU,OAAO;GACzE,IAAI,UACF,OAAO;GAET,MAAM,WAAW,oBAAoB,EAAE;GACvC,IAAI,YAAY,cAAc,IAAI,QAAQ,GACxC,OAAO;GAET,OAAO;EACT;EACA,YAAY,IAAY;GACtB,MAAM,WAAW,oBAAoB,EAAE;GACvC,OACG,YAAY,QAAQ,cAAc,IAAI,QAAQ,MAAO,OAAO,cAAc,EAAE,KAAK;EAEtF;EACA,MAAM,KAAoB,IAAY;GACpC,IAAI,OAAO,cAAc,EAAE,GAAG;IAC5B,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,MAAM,EAAE;IAChD,MAAM,MAAM,cAAc,IAAI,OAAO;IACrC,IAAI,OAAO,MACT,OAAO;IAET,OAAO;GACT;GACA,MAAM,WAAW,oBAAoB,EAAE;GACvC,IAAI,UACF,OAAO,cAAc,IAAI,QAAQ;GAEnC,OAAO;EACT;EACA,YAAY,MAAc;GACxB,OAAO,sBAAsB,IAAI;EACnC;CACF;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proyecto-viviana/ui",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Viviana design system. Starts by re-exporting @proyecto-viviana/solid-spectrum (same components + tokens + style macro); diverges (viviana tokens, then components) over time.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -299,8 +299,8 @@
299
299
  "access": "public"
300
300
  },
301
301
  "dependencies": {
302
- "@proyecto-viviana/solid-spectrum": "0.6.0",
303
- "@proyecto-viviana/solidaria-components": "0.4.0"
302
+ "@proyecto-viviana/solid-spectrum": "0.6.1",
303
+ "@proyecto-viviana/solidaria-components": "0.4.1"
304
304
  },
305
305
  "devDependencies": {
306
306
  "solid-js": "^1.9.0",
@@ -63,7 +63,16 @@ const followers = style({
63
63
 
64
64
  const followerName = style({
65
65
  fontWeight: "bold",
66
- color: "[var(--color-accent)]",
66
+ // WCAG AA fix: the follower names sit on the `--color-bg-300` card. They are
67
+ // small text (`ui-sm`, inherited), so the 4.5:1 normal-text floor applies.
68
+ // `--color-accent` (#df5c9a) is a fixed pink in both themes and read only
69
+ // 2.42:1 on the light-blue card (5.08:1 dark); no pink ramp step clears 4.5:1
70
+ // on both the dark-grey and light-blue card (`--color-accent-500` is 4.39:1
71
+ // dark — a hair under). The names keep their emphasis via `fontWeight: bold`
72
+ // against the secondary-grey connectors and take the flipping `--color-text`,
73
+ // which clears 4.5:1 both ways (17.40:1 dark / 9.63:1 light). The card's pink
74
+ // accent moment stays on the thumbnail border (bears no text).
75
+ color: "[var(--color-text)]",
67
76
  });
68
77
 
69
78
  const tags = style({
@@ -50,7 +50,11 @@ const chip = style<{ variant: ChipVariant }>({
50
50
  variant: {
51
51
  primary: "[var(--color-primary-100)]",
52
52
  secondary: "[var(--color-primary-200)]",
53
- accent: "[var(--color-bg-400)]",
53
+ // WCAG AA fix: accent text on the pink accent fill. The near-white
54
+ // `--color-bg-400` gave only 2.74:1 in light mode (fail); the darkest
55
+ // grey token reaches 5.24:1 light / 6.14:1 dark — the smallest existing-
56
+ // token change that clears the 4.5:1 floor for this ui-sm label.
57
+ accent: "[var(--color-grey-900)]",
54
58
  outline: "[var(--color-primary-200)]",
55
59
  },
56
60
  },