@lindle/linoardo 1.0.35 → 1.0.36

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 (61) hide show
  1. package/dist/{ExpansionPanelItem-Dom3SgrW.d.ts → ExpansionPanelItem-BZHk28zn.d.ts} +1 -1
  2. package/dist/{ExpansionPanelItem-CZMtq3TL.d.cts → ExpansionPanelItem-Dln5DHGW.d.cts} +1 -1
  3. package/dist/badge.d.cts +1 -1
  4. package/dist/badge.d.ts +1 -1
  5. package/dist/block.d.cts +1 -1
  6. package/dist/block.d.ts +1 -1
  7. package/dist/button.d.cts +1 -1
  8. package/dist/button.d.ts +1 -1
  9. package/dist/card.cjs +27 -53
  10. package/dist/card.cjs.map +1 -1
  11. package/dist/card.d.cts +3 -1
  12. package/dist/card.d.ts +3 -1
  13. package/dist/card.js +1 -1
  14. package/dist/chip.d.cts +4 -4
  15. package/dist/chip.d.ts +4 -4
  16. package/dist/{chunk-GSYVZCP3.js → chunk-5NWM6RVD.js} +29 -55
  17. package/dist/chunk-5NWM6RVD.js.map +1 -0
  18. package/dist/{chunk-EYZVXAPY.js → chunk-YRY7DJK2.js} +22 -6
  19. package/dist/chunk-YRY7DJK2.js.map +1 -0
  20. package/dist/expansion-panel/item.d.cts +2 -2
  21. package/dist/expansion-panel/item.d.ts +2 -2
  22. package/dist/expansion-panel.d.cts +3 -3
  23. package/dist/expansion-panel.d.ts +3 -3
  24. package/dist/{global.types-E2uVLemv.d.cts → global.types-DJiKqSJa.d.cts} +2 -1
  25. package/dist/{global.types-E2uVLemv.d.ts → global.types-DJiKqSJa.d.ts} +2 -1
  26. package/dist/hero.d.cts +1 -1
  27. package/dist/hero.d.ts +1 -1
  28. package/dist/icon.d.cts +1 -1
  29. package/dist/icon.d.ts +1 -1
  30. package/dist/{index-BzLTSsBv.d.ts → index-BoPiZNIB.d.ts} +1 -1
  31. package/dist/{index-BlOhr2-m.d.cts → index-Ddkv_t7Y.d.cts} +1 -1
  32. package/dist/index.cjs +48 -58
  33. package/dist/index.cjs.map +1 -1
  34. package/dist/index.d.cts +4 -4
  35. package/dist/index.d.ts +4 -4
  36. package/dist/index.js +2 -2
  37. package/dist/input.d.cts +2 -2
  38. package/dist/input.d.ts +2 -2
  39. package/dist/list/item.d.cts +2 -2
  40. package/dist/list/item.d.ts +2 -2
  41. package/dist/list.d.cts +3 -3
  42. package/dist/list.d.ts +3 -3
  43. package/dist/notification.d.cts +1 -1
  44. package/dist/notification.d.ts +1 -1
  45. package/dist/profileCard.cjs +20 -4
  46. package/dist/profileCard.cjs.map +1 -1
  47. package/dist/profileCard.d.cts +2 -1
  48. package/dist/profileCard.d.ts +2 -1
  49. package/dist/profileCard.js +1 -1
  50. package/dist/select.d.cts +2 -2
  51. package/dist/select.d.ts +2 -2
  52. package/dist/slider.d.cts +1 -1
  53. package/dist/slider.d.ts +1 -1
  54. package/dist/styles.css +0 -20
  55. package/dist/switch.d.cts +1 -1
  56. package/dist/switch.d.ts +1 -1
  57. package/dist/{types-BJC99riF.d.cts → types-B3b-GFjA.d.cts} +1 -1
  58. package/dist/{types-CTq2JZpg.d.ts → types-CBIsqeyE.d.ts} +1 -1
  59. package/package.json +1 -1
  60. package/dist/chunk-EYZVXAPY.js.map +0 -1
  61. package/dist/chunk-GSYVZCP3.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { P as Palette } from './global.types-E2uVLemv.js';
2
+ import { P as Palette } from './global.types-DJiKqSJa.js';
3
3
 
4
4
  type ExpansionPanelValue = react.Key;
5
5
  type ExpansionPanelVariant = 'elevated' | 'outlined' | 'tonal' | 'plain';
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { P as Palette } from './global.types-E2uVLemv.cjs';
2
+ import { P as Palette } from './global.types-DJiKqSJa.cjs';
3
3
 
4
4
  type ExpansionPanelValue = react.Key;
5
5
  type ExpansionPanelVariant = 'elevated' | 'outlined' | 'tonal' | 'plain';
package/dist/badge.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { P as Palette } from './global.types-E2uVLemv.cjs';
2
+ import { P as Palette } from './global.types-DJiKqSJa.cjs';
3
3
 
4
4
  type BadgePlacement = 'top-end' | 'top-start' | 'bottom-end' | 'bottom-start' | 'center';
5
5
  type IconDefinition = string | [library: string, icon: string];
package/dist/badge.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { P as Palette } from './global.types-E2uVLemv.js';
2
+ import { P as Palette } from './global.types-DJiKqSJa.js';
3
3
 
4
4
  type BadgePlacement = 'top-end' | 'top-start' | 'bottom-end' | 'bottom-start' | 'center';
5
5
  type IconDefinition = string | [library: string, icon: string];
package/dist/block.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { G as GlobalVariant } from './global.types-E2uVLemv.cjs';
2
+ import { G as GlobalVariant } from './global.types-DJiKqSJa.cjs';
3
3
 
4
4
  type BlockBlur = 'none' | 'sm' | 'base' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
5
5
  type BlockProps = react.HTMLAttributes<HTMLDivElement> & {
package/dist/block.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { G as GlobalVariant } from './global.types-E2uVLemv.js';
2
+ import { G as GlobalVariant } from './global.types-DJiKqSJa.js';
3
3
 
4
4
  type BlockBlur = 'none' | 'sm' | 'base' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
5
5
  type BlockProps = react.HTMLAttributes<HTMLDivElement> & {
package/dist/button.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { G as GlobalVariant, P as Palette, a as GlobalSize, b as PropIcon } from './global.types-E2uVLemv.cjs';
2
+ import { G as GlobalVariant, P as Palette, a as GlobalSize, c as PropIcon } from './global.types-DJiKqSJa.cjs';
3
3
 
4
4
  type ButtonVariant = GlobalVariant;
5
5
  type ButtonOwnProps = {
package/dist/button.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { G as GlobalVariant, P as Palette, a as GlobalSize, b as PropIcon } from './global.types-E2uVLemv.js';
2
+ import { G as GlobalVariant, P as Palette, a as GlobalSize, c as PropIcon } from './global.types-DJiKqSJa.js';
3
3
 
4
4
  type ButtonVariant = GlobalVariant;
5
5
  type ButtonOwnProps = {
package/dist/card.cjs CHANGED
@@ -17,28 +17,33 @@ var overflowClasses = {
17
17
  };
18
18
  var cardBase = "card-base relative w-full bg-white text-gray-900 transition-colors dark:bg-slate-900 dark:text-slate-100";
19
19
  var variantClasses = {
20
- solid: "rounded-2xl border border-gray-200 bg-white shadow-lg shadow-gray-200/55 dark:border-slate-800 dark:bg-slate-900 dark:shadow-black/30",
21
- outline: "rounded-2xl border-2 border-black bg-white shadow-none dark:border-black dark:bg-slate-900",
22
- text: "rounded-2xl border border-transparent bg-transparent shadow-none dark:border-transparent dark:bg-transparent",
23
- ghost: "rounded-2xl border border-transparent bg-gray-50 shadow-none dark:border-transparent dark:bg-slate-800",
24
- filled: "rounded-2xl border border-gray-200 bg-gray-50 shadow-sm dark:border-slate-800 dark:bg-slate-800 dark:shadow-black/20",
25
- underlined: "rounded-2xl border border-transparent border-b border-b-gray-200 shadow-none dark:border-transparent dark:border-b-slate-700 dark:bg-transparent",
26
- rounded: "rounded-3xl border border-gray-200 bg-white shadow-md dark:border-slate-800 dark:bg-slate-900 dark:shadow-black/25",
27
- sharp: "rounded-none border border-gray-200 bg-white shadow-md dark:border-slate-800 dark:bg-slate-900 dark:shadow-black/25"
20
+ solid: "rounded-2xl border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900",
21
+ outline: "rounded-2xl border-2 border-black bg-white dark:border-black dark:bg-slate-900",
22
+ ghost: "rounded-2xl border border-transparent bg-gray-50 dark:border-transparent dark:bg-slate-800",
23
+ text: "rounded-2xl border border-transparent bg-transparent dark:border-transparent dark:bg-transparent",
24
+ filled: "rounded-2xl border border-gray-200 bg-gray-50 dark:border-slate-800 dark:bg-slate-800",
25
+ underlined: " border border-transparent border-b border-b-gray-200 dark:border-transparent dark:border-b-slate-700 dark:bg-transparent",
26
+ rounded: "rounded-3xl border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900",
27
+ sharp: "rounded-none border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900"
28
28
  };
29
- var CardRoot = react.forwardRef(function Card({
30
- className,
31
- children,
32
- variant = "solid",
33
- padding = "md",
34
- overflow = "hidden",
35
- interactive = false,
36
- dividers = true,
37
- ...rest
38
- }, ref) {
29
+ var elevationClasses = {
30
+ 0: "shadow-none",
31
+ 1: "shadow-sm",
32
+ 2: "shadow",
33
+ 3: "shadow-md",
34
+ 4: "shadow-lg",
35
+ 5: "shadow-xl",
36
+ 6: "shadow-2xl",
37
+ 7: "shadow-2xl",
38
+ 8: "shadow-2xl",
39
+ 9: "shadow-2xl",
40
+ 10: "shadow-2xl"
41
+ };
42
+ var CardRoot = react.forwardRef(function Card({ className, children, variant = "solid", padding = "md", overflow = "hidden", interactive = false, dividers = true, elevation = 0, ...rest }, ref) {
39
43
  const variantClass = variantClasses[variant] ?? variantClasses.solid;
40
44
  const paddingClass = paddingClasses[padding] ?? paddingClasses.md;
41
45
  const overflowClass = overflowClasses[overflow] ?? overflowClasses.hidden;
46
+ const elevationClass = elevationClasses[elevation] ?? elevationClasses[0];
42
47
  const interactiveClass = interactive ? "transition-all duration-200 hover:-translate-y-0.5 hover:shadow-xl hover:z-10 focus-within:z-10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-slate-900" : void 0;
43
48
  const tabIndexValue = interactive && rest.tabIndex === void 0 ? 0 : rest.tabIndex;
44
49
  const content = applyDividers(children, dividers);
@@ -48,14 +53,7 @@ var CardRoot = react.forwardRef(function Card({
48
53
  ...rest,
49
54
  ref,
50
55
  tabIndex: tabIndexValue,
51
- className: tailwindMerge.twMerge(
52
- cardBase,
53
- variantClass,
54
- paddingClass,
55
- overflowClass,
56
- interactiveClass,
57
- className
58
- ),
56
+ className: tailwindMerge.twMerge(cardBase, variantClass, paddingClass, overflowClass, elevationClass, interactiveClass, className),
59
57
  children: content
60
58
  }
61
59
  );
@@ -83,33 +81,9 @@ var CardFooter = ({ className, dividers = true, ...rest }) => /* @__PURE__ */ js
83
81
  )
84
82
  }
85
83
  );
86
- var CardTitle = ({ className, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx(
87
- "h3",
88
- {
89
- ...rest,
90
- className: tailwindMerge.twMerge(
91
- "card-title text-lg font-semibold text-gray-900 dark:text-slate-50",
92
- className
93
- )
94
- }
95
- );
96
- var CardSubtitle = ({ className, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx(
97
- "p",
98
- {
99
- ...rest,
100
- className: tailwindMerge.twMerge(
101
- "card-subtitle text-sm font-medium text-gray-600 dark:text-slate-300",
102
- className
103
- )
104
- }
105
- );
106
- var CardText = ({ className, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx(
107
- "p",
108
- {
109
- ...rest,
110
- className: tailwindMerge.twMerge("card-text text-sm text-gray-700 dark:text-slate-200", className)
111
- }
112
- );
84
+ var CardTitle = ({ className, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx("h3", { ...rest, className: tailwindMerge.twMerge("card-title text-lg font-semibold text-gray-900 dark:text-slate-50", className) });
85
+ var CardSubtitle = ({ className, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx("p", { ...rest, className: tailwindMerge.twMerge("card-subtitle text-sm font-medium text-gray-600 dark:text-slate-300", className) });
86
+ var CardText = ({ className, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx("p", { ...rest, className: tailwindMerge.twMerge("card-text text-sm text-gray-700 dark:text-slate-200", className) });
113
87
  var CardMedia = ({ className, rounded = false, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx(
114
88
  "img",
115
89
  {
package/dist/card.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Blocks/Card/index.tsx"],"names":["forwardRef","jsx","twMerge","Card","Children","isValidElement","cloneElement"],"mappings":"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","file":"card.cjs","sourcesContent":["import { Children, cloneElement, forwardRef, isValidElement } from 'react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { GlobalVariant } from '@lindle/linoardo/global.types';\nimport { twMerge } from 'tailwind-merge';\nimport type {\n CardMediaProps,\n CardOverflow,\n CardProps,\n CardSectionProps,\n CardTextProps\n} from './types.card';\n\nconst paddingClasses: Record<Exclude<CardProps['padding'], undefined>, string> = {\n none: 'p-0',\n sm: 'p-3',\n md: 'p-4',\n lg: 'p-6'\n};\n\nconst overflowClasses: Record<Exclude<CardProps['overflow'], undefined>, string> = {\n hidden: 'overflow-hidden',\n visible: 'overflow-visible'\n};\n\nconst cardBase =\n 'card-base relative w-full bg-white text-gray-900 transition-colors dark:bg-slate-900 dark:text-slate-100';\n\nconst variantClasses: Record<GlobalVariant, string> = {\n solid:\n 'rounded-2xl border border-gray-200 bg-white shadow-lg shadow-gray-200/55 dark:border-slate-800 dark:bg-slate-900 dark:shadow-black/30',\n outline:\n 'rounded-2xl border-2 border-black bg-white shadow-none dark:border-black dark:bg-slate-900',\n text: 'rounded-2xl border border-transparent bg-transparent shadow-none dark:border-transparent dark:bg-transparent',\n ghost:\n 'rounded-2xl border border-transparent bg-gray-50 shadow-none dark:border-transparent dark:bg-slate-800',\n filled:\n 'rounded-2xl border border-gray-200 bg-gray-50 shadow-sm dark:border-slate-800 dark:bg-slate-800 dark:shadow-black/20',\n underlined:\n 'rounded-2xl border border-transparent border-b border-b-gray-200 shadow-none dark:border-transparent dark:border-b-slate-700 dark:bg-transparent',\n rounded:\n 'rounded-3xl border border-gray-200 bg-white shadow-md dark:border-slate-800 dark:bg-slate-900 dark:shadow-black/25',\n sharp:\n 'rounded-none border border-gray-200 bg-white shadow-md dark:border-slate-800 dark:bg-slate-900 dark:shadow-black/25'\n};\n\n/**\n * Card container with optional padding, variants and interactive focus/hover styles.\n */\nconst CardRoot = forwardRef<HTMLDivElement, CardProps>(function Card(\n {\n className,\n children,\n variant = 'solid',\n padding = 'md',\n overflow = 'hidden',\n interactive = false,\n dividers = true,\n ...rest\n },\n ref\n) {\n const variantClass = variantClasses[variant as GlobalVariant] ?? variantClasses.solid;\n const paddingClass = paddingClasses[padding] ?? paddingClasses.md;\n const overflowClass = overflowClasses[overflow] ?? overflowClasses.hidden;\n const interactiveClass = interactive\n ? 'transition-all duration-200 hover:-translate-y-0.5 hover:shadow-xl hover:z-10 focus-within:z-10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-slate-900'\n : undefined;\n const tabIndexValue = interactive && rest.tabIndex === undefined ? 0 : rest.tabIndex;\n const content = applyDividers(children, dividers);\n\n return (\n <div\n {...rest}\n ref={ref}\n tabIndex={tabIndexValue}\n className={twMerge(\n cardBase,\n variantClass,\n paddingClass,\n overflowClass,\n interactiveClass,\n className\n )}\n >\n {content}\n </div>\n );\n});\n\n/**\n * Section for placing the card title, subtitle or actions at the top of the card.\n */\nconst CardHeader: React.FC<CardSectionProps> = ({ className, dividers = true, ...rest }) => (\n <div\n {...rest}\n className={twMerge(\n 'card-header mb-2 flex flex-col gap-1 pb-3',\n dividers ? 'border-b border-gray-100 dark:border-slate-800' : undefined,\n className\n )}\n />\n);\n\n/**\n * Primary content area of the card.\n */\nconst CardBody: React.FC<CardSectionProps> = ({ className, ...rest }) => (\n <div {...rest} className={twMerge('card-body flex flex-col gap-3', className)} />\n);\n\n/**\n * Footer area for actions or supplemental information.\n */\nconst CardFooter: React.FC<CardSectionProps> = ({ className, dividers = true, ...rest }) => (\n <div\n {...rest}\n className={twMerge(\n 'card-footer mt-3 flex flex-wrap items-center gap-3 pt-3',\n dividers ? 'border-t border-gray-100 dark:border-slate-800' : undefined,\n className\n )}\n />\n);\n\n/**\n * Stylized heading for the card.\n */\nconst CardTitle: React.FC<CardSectionProps> = ({ className, ...rest }) => (\n <h3\n {...rest}\n className={twMerge(\n 'card-title text-lg font-semibold text-gray-900 dark:text-slate-50',\n className\n )}\n />\n);\n\n/**\n * Subtitle text for secondary information under the title.\n */\nconst CardSubtitle: React.FC<CardSectionProps> = ({ className, ...rest }) => (\n <p\n {...rest}\n className={twMerge(\n 'card-subtitle text-sm font-medium text-gray-600 dark:text-slate-300',\n className\n )}\n />\n);\n\n/**\n * Body text with default card typography.\n */\nconst CardText: React.FC<CardTextProps> = ({ className, ...rest }) => (\n <p\n {...rest}\n className={twMerge('card-text text-sm text-gray-700 dark:text-slate-200', className)}\n />\n);\n\n/**\n * Media region for images, retaining card spacing and optional rounded corners.\n */\nconst CardMedia: React.FC<CardMediaProps> = ({ className, rounded = false, ...rest }) => (\n <img\n {...rest}\n className={twMerge(\n 'card-media w-full object-cover',\n rounded ? 'rounded-xl' : 'rounded-none',\n rest.height || rest.style ? 'block' : 'block max-h-60',\n className\n )}\n loading={rest.loading ?? 'lazy'}\n />\n);\n\n/**\n * Container for action buttons inside the card.\n */\nconst CardActions: React.FC<CardSectionProps> = ({ className, ...rest }) => (\n <div {...rest} className={twMerge('card-actions flex flex-wrap gap-2', className)} />\n);\n\nexport type { CardOverflow, CardProps, CardSectionProps, CardMediaProps, CardTextProps };\n\nconst Card = Object.assign(CardRoot, {\n Header: CardHeader,\n Body: CardBody,\n Footer: CardFooter,\n Title: CardTitle,\n Subtitle: CardSubtitle,\n Text: CardText,\n Media: CardMedia,\n Actions: CardActions\n});\n\nexport default Card;\n\nfunction applyDividers(children: ReactNode, dividers: boolean): ReactNode {\n return Children.map(children, child => {\n if (!isValidElement(child)) return child;\n\n if (isDividerSection(child)) {\n return cloneElement<CardSectionProps>(child, { dividers: child.props.dividers ?? dividers });\n }\n\n if (hasNestedChildren(child)) {\n return cloneElement<{ children?: ReactNode }>(child, {\n children: applyDividers(child.props.children, dividers)\n });\n }\n\n return child;\n });\n}\n\nfunction isDividerSection(element: ReactElement): element is ReactElement<CardSectionProps> {\n return element.type === CardHeader || element.type === CardFooter;\n}\n\nfunction hasNestedChildren(\n element: ReactElement\n): element is ReactElement<{ children?: ReactNode }> {\n const props = element.props as Record<string, unknown>;\n return 'children' in props;\n}\n"]}
1
+ {"version":3,"sources":["../src/Blocks/Card/index.tsx"],"names":["forwardRef","jsx","twMerge","Card","Children","isValidElement","cloneElement"],"mappings":"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","file":"card.cjs","sourcesContent":["import { Children, cloneElement, forwardRef, isValidElement } from 'react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { GlobalElevation, GlobalVariant } from '@lindle/linoardo/global.types';\nimport { twMerge } from 'tailwind-merge';\nimport type { CardMediaProps, CardOverflow, CardProps, CardSectionProps, CardTextProps } from './types.card';\n\nconst paddingClasses: Record<Exclude<CardProps['padding'], undefined>, string> = {\n none: 'p-0',\n sm: 'p-3',\n md: 'p-4',\n lg: 'p-6'\n};\n\nconst overflowClasses: Record<Exclude<CardProps['overflow'], undefined>, string> = {\n hidden: 'overflow-hidden',\n visible: 'overflow-visible'\n};\n\nconst cardBase = 'card-base relative w-full bg-white text-gray-900 transition-colors dark:bg-slate-900 dark:text-slate-100';\n\nconst variantClasses: Record<GlobalVariant, string> = {\n solid: 'rounded-2xl border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900',\n outline: 'rounded-2xl border-2 border-black bg-white dark:border-black dark:bg-slate-900',\n ghost: 'rounded-2xl border border-transparent bg-gray-50 dark:border-transparent dark:bg-slate-800',\n text: 'rounded-2xl border border-transparent bg-transparent dark:border-transparent dark:bg-transparent',\n filled: 'rounded-2xl border border-gray-200 bg-gray-50 dark:border-slate-800 dark:bg-slate-800',\n underlined: ' border border-transparent border-b border-b-gray-200 dark:border-transparent dark:border-b-slate-700 dark:bg-transparent',\n rounded: 'rounded-3xl border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900',\n sharp: 'rounded-none border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900'\n};\n\nconst elevationClasses: Record<GlobalElevation, string> = {\n 0: 'shadow-none',\n 1: 'shadow-sm',\n 2: 'shadow',\n 3: 'shadow-md',\n 4: 'shadow-lg',\n 5: 'shadow-xl',\n 6: 'shadow-2xl',\n 7: 'shadow-2xl',\n 8: 'shadow-2xl',\n 9: 'shadow-2xl',\n 10: 'shadow-2xl'\n};\n\n/**\n * Card container with optional padding, variants and interactive focus/hover styles.\n */\nconst CardRoot = forwardRef<HTMLDivElement, CardProps & { elevation?: GlobalElevation }>(function Card(\n { className, children, variant = 'solid', padding = 'md', overflow = 'hidden', interactive = false, dividers = true, elevation = 0, ...rest },\n ref\n) {\n const variantClass = variantClasses[variant as GlobalVariant] ?? variantClasses.solid;\n const paddingClass = paddingClasses[padding] ?? paddingClasses.md;\n const overflowClass = overflowClasses[overflow] ?? overflowClasses.hidden;\n const elevationClass = elevationClasses[elevation] ?? elevationClasses[0];\n const interactiveClass = interactive\n ? 'transition-all duration-200 hover:-translate-y-0.5 hover:shadow-xl hover:z-10 focus-within:z-10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-slate-900'\n : undefined;\n const tabIndexValue = interactive && rest.tabIndex === undefined ? 0 : rest.tabIndex;\n const content = applyDividers(children, dividers);\n\n return (\n <div\n {...rest}\n ref={ref}\n tabIndex={tabIndexValue}\n className={twMerge(cardBase, variantClass, paddingClass, overflowClass, elevationClass, interactiveClass, className)}\n >\n {content}\n </div>\n );\n});\n\n/**\n * Section for placing the card title, subtitle or actions at the top of the card.\n */\nconst CardHeader: React.FC<CardSectionProps> = ({ className, dividers = true, ...rest }) => (\n <div\n {...rest}\n className={twMerge(\n 'card-header mb-2 flex flex-col gap-1 pb-3',\n dividers ? 'border-b border-gray-100 dark:border-slate-800' : undefined,\n className\n )}\n />\n);\n\n/**\n * Primary content area of the card.\n */\nconst CardBody: React.FC<CardSectionProps> = ({ className, ...rest }) => (\n <div {...rest} className={twMerge('card-body flex flex-col gap-3', className)} />\n);\n\n/**\n * Footer area for actions or supplemental information.\n */\nconst CardFooter: React.FC<CardSectionProps> = ({ className, dividers = true, ...rest }) => (\n <div\n {...rest}\n className={twMerge(\n 'card-footer mt-3 flex flex-wrap items-center gap-3 pt-3',\n dividers ? 'border-t border-gray-100 dark:border-slate-800' : undefined,\n className\n )}\n />\n);\n\n/**\n * Stylized heading for the card.\n */\nconst CardTitle: React.FC<CardSectionProps> = ({ className, ...rest }) => (\n <h3 {...rest} className={twMerge('card-title text-lg font-semibold text-gray-900 dark:text-slate-50', className)} />\n);\n\n/**\n * Subtitle text for secondary information under the title.\n */\nconst CardSubtitle: React.FC<CardSectionProps> = ({ className, ...rest }) => (\n <p {...rest} className={twMerge('card-subtitle text-sm font-medium text-gray-600 dark:text-slate-300', className)} />\n);\n\n/**\n * Body text with default card typography.\n */\nconst CardText: React.FC<CardTextProps> = ({ className, ...rest }) => (\n <p {...rest} className={twMerge('card-text text-sm text-gray-700 dark:text-slate-200', className)} />\n);\n\n/**\n * Media region for images, retaining card spacing and optional rounded corners.\n */\nconst CardMedia: React.FC<CardMediaProps> = ({ className, rounded = false, ...rest }) => (\n <img\n {...rest}\n className={twMerge(\n 'card-media w-full object-cover',\n rounded ? 'rounded-xl' : 'rounded-none',\n rest.height || rest.style ? 'block' : 'block max-h-60',\n className\n )}\n loading={rest.loading ?? 'lazy'}\n />\n);\n\n/**\n * Container for action buttons inside the card.\n */\nconst CardActions: React.FC<CardSectionProps> = ({ className, ...rest }) => (\n <div {...rest} className={twMerge('card-actions flex flex-wrap gap-2', className)} />\n);\n\nexport type { CardOverflow, CardProps, CardSectionProps, CardMediaProps, CardTextProps };\n\nconst Card = Object.assign(CardRoot, {\n Header: CardHeader,\n Body: CardBody,\n Footer: CardFooter,\n Title: CardTitle,\n Subtitle: CardSubtitle,\n Text: CardText,\n Media: CardMedia,\n Actions: CardActions\n});\n\nexport default Card;\n\nfunction applyDividers(children: ReactNode, dividers: boolean): ReactNode {\n return Children.map(children, child => {\n if (!isValidElement(child)) return child;\n\n if (isDividerSection(child)) {\n return cloneElement<CardSectionProps>(child, { dividers: child.props.dividers ?? dividers });\n }\n\n if (hasNestedChildren(child)) {\n return cloneElement<{ children?: ReactNode }>(child, {\n children: applyDividers(child.props.children, dividers)\n });\n }\n\n return child;\n });\n}\n\nfunction isDividerSection(element: ReactElement): element is ReactElement<CardSectionProps> {\n return element.type === CardHeader || element.type === CardFooter;\n}\n\nfunction hasNestedChildren(element: ReactElement): element is ReactElement<{ children?: ReactNode }> {\n const props = element.props as Record<string, unknown>;\n return 'children' in props;\n}\n"]}
package/dist/card.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { G as GlobalVariant } from './global.types-E2uVLemv.cjs';
1
+ import { G as GlobalVariant, b as GlobalElevation } from './global.types-DJiKqSJa.cjs';
2
2
  import * as react from 'react';
3
3
 
4
4
  type CardPadding = 'none' | 'sm' | 'md' | 'lg';
@@ -33,6 +33,8 @@ declare const Card: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLDiv
33
33
  overflow?: CardOverflow;
34
34
  interactive?: boolean;
35
35
  dividers?: boolean;
36
+ } & {
37
+ elevation?: GlobalElevation;
36
38
  } & react.RefAttributes<HTMLDivElement>> & {
37
39
  Header: react.FC<CardSectionProps>;
38
40
  Body: react.FC<CardSectionProps>;
package/dist/card.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { G as GlobalVariant } from './global.types-E2uVLemv.js';
1
+ import { G as GlobalVariant, b as GlobalElevation } from './global.types-DJiKqSJa.js';
2
2
  import * as react from 'react';
3
3
 
4
4
  type CardPadding = 'none' | 'sm' | 'md' | 'lg';
@@ -33,6 +33,8 @@ declare const Card: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLDiv
33
33
  overflow?: CardOverflow;
34
34
  interactive?: boolean;
35
35
  dividers?: boolean;
36
+ } & {
37
+ elevation?: GlobalElevation;
36
38
  } & react.RefAttributes<HTMLDivElement>> & {
37
39
  Header: react.FC<CardSectionProps>;
38
40
  Body: react.FC<CardSectionProps>;
package/dist/card.js CHANGED
@@ -1,3 +1,3 @@
1
- export { Card_default as default } from './chunk-GSYVZCP3.js';
1
+ export { Card_default as default } from './chunk-5NWM6RVD.js';
2
2
  //# sourceMappingURL=card.js.map
3
3
  //# sourceMappingURL=card.js.map
package/dist/chip.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { G as GlobalVariant, a as GlobalSize, P as Palette, b as PropIcon } from './global.types-E2uVLemv.cjs';
1
+ import { G as GlobalVariant, a as GlobalSize, P as Palette, c as PropIcon } from './global.types-DJiKqSJa.cjs';
2
2
  import * as react from 'react';
3
3
 
4
4
  type ChipVariant = GlobalVariant;
@@ -82,6 +82,9 @@ declare const Chip: react.ForwardRefExoticComponent<{
82
82
  slot?: string | undefined | undefined;
83
83
  style?: react.CSSProperties | undefined;
84
84
  title?: string | undefined | undefined;
85
+ className?: string | undefined | undefined;
86
+ children?: react.ReactNode;
87
+ onClick?: react.MouseEventHandler<HTMLSpanElement> | undefined;
85
88
  defaultChecked?: boolean | undefined | undefined;
86
89
  defaultValue?: string | number | readonly string[] | undefined;
87
90
  suppressContentEditableWarning?: boolean | undefined | undefined;
@@ -89,7 +92,6 @@ declare const Chip: react.ForwardRefExoticComponent<{
89
92
  accessKey?: string | undefined | undefined;
90
93
  autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
91
94
  autoFocus?: boolean | undefined | undefined;
92
- className?: string | undefined | undefined;
93
95
  contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
94
96
  contextMenu?: string | undefined | undefined;
95
97
  dir?: string | undefined | undefined;
@@ -186,7 +188,6 @@ declare const Chip: react.ForwardRefExoticComponent<{
186
188
  "aria-valuemin"?: number | undefined | undefined;
187
189
  "aria-valuenow"?: number | undefined | undefined;
188
190
  "aria-valuetext"?: string | undefined | undefined;
189
- children?: react.ReactNode;
190
191
  dangerouslySetInnerHTML?: {
191
192
  __html: string | TrustedHTML;
192
193
  } | undefined | undefined;
@@ -274,7 +275,6 @@ declare const Chip: react.ForwardRefExoticComponent<{
274
275
  onWaitingCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
275
276
  onAuxClick?: react.MouseEventHandler<HTMLSpanElement> | undefined;
276
277
  onAuxClickCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
277
- onClick?: react.MouseEventHandler<HTMLSpanElement> | undefined;
278
278
  onClickCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
279
279
  onContextMenu?: react.MouseEventHandler<HTMLSpanElement> | undefined;
280
280
  onContextMenuCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
package/dist/chip.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { G as GlobalVariant, a as GlobalSize, P as Palette, b as PropIcon } from './global.types-E2uVLemv.js';
1
+ import { G as GlobalVariant, a as GlobalSize, P as Palette, c as PropIcon } from './global.types-DJiKqSJa.js';
2
2
  import * as react from 'react';
3
3
 
4
4
  type ChipVariant = GlobalVariant;
@@ -82,6 +82,9 @@ declare const Chip: react.ForwardRefExoticComponent<{
82
82
  slot?: string | undefined | undefined;
83
83
  style?: react.CSSProperties | undefined;
84
84
  title?: string | undefined | undefined;
85
+ className?: string | undefined | undefined;
86
+ children?: react.ReactNode;
87
+ onClick?: react.MouseEventHandler<HTMLSpanElement> | undefined;
85
88
  defaultChecked?: boolean | undefined | undefined;
86
89
  defaultValue?: string | number | readonly string[] | undefined;
87
90
  suppressContentEditableWarning?: boolean | undefined | undefined;
@@ -89,7 +92,6 @@ declare const Chip: react.ForwardRefExoticComponent<{
89
92
  accessKey?: string | undefined | undefined;
90
93
  autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
91
94
  autoFocus?: boolean | undefined | undefined;
92
- className?: string | undefined | undefined;
93
95
  contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
94
96
  contextMenu?: string | undefined | undefined;
95
97
  dir?: string | undefined | undefined;
@@ -186,7 +188,6 @@ declare const Chip: react.ForwardRefExoticComponent<{
186
188
  "aria-valuemin"?: number | undefined | undefined;
187
189
  "aria-valuenow"?: number | undefined | undefined;
188
190
  "aria-valuetext"?: string | undefined | undefined;
189
- children?: react.ReactNode;
190
191
  dangerouslySetInnerHTML?: {
191
192
  __html: string | TrustedHTML;
192
193
  } | undefined | undefined;
@@ -274,7 +275,6 @@ declare const Chip: react.ForwardRefExoticComponent<{
274
275
  onWaitingCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
275
276
  onAuxClick?: react.MouseEventHandler<HTMLSpanElement> | undefined;
276
277
  onAuxClickCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
277
- onClick?: react.MouseEventHandler<HTMLSpanElement> | undefined;
278
278
  onClickCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
279
279
  onContextMenu?: react.MouseEventHandler<HTMLSpanElement> | undefined;
280
280
  onContextMenuCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
@@ -15,28 +15,33 @@ var overflowClasses = {
15
15
  };
16
16
  var cardBase = "card-base relative w-full bg-white text-gray-900 transition-colors dark:bg-slate-900 dark:text-slate-100";
17
17
  var variantClasses = {
18
- solid: "rounded-2xl border border-gray-200 bg-white shadow-lg shadow-gray-200/55 dark:border-slate-800 dark:bg-slate-900 dark:shadow-black/30",
19
- outline: "rounded-2xl border-2 border-black bg-white shadow-none dark:border-black dark:bg-slate-900",
20
- text: "rounded-2xl border border-transparent bg-transparent shadow-none dark:border-transparent dark:bg-transparent",
21
- ghost: "rounded-2xl border border-transparent bg-gray-50 shadow-none dark:border-transparent dark:bg-slate-800",
22
- filled: "rounded-2xl border border-gray-200 bg-gray-50 shadow-sm dark:border-slate-800 dark:bg-slate-800 dark:shadow-black/20",
23
- underlined: "rounded-2xl border border-transparent border-b border-b-gray-200 shadow-none dark:border-transparent dark:border-b-slate-700 dark:bg-transparent",
24
- rounded: "rounded-3xl border border-gray-200 bg-white shadow-md dark:border-slate-800 dark:bg-slate-900 dark:shadow-black/25",
25
- sharp: "rounded-none border border-gray-200 bg-white shadow-md dark:border-slate-800 dark:bg-slate-900 dark:shadow-black/25"
18
+ solid: "rounded-2xl border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900",
19
+ outline: "rounded-2xl border-2 border-black bg-white dark:border-black dark:bg-slate-900",
20
+ ghost: "rounded-2xl border border-transparent bg-gray-50 dark:border-transparent dark:bg-slate-800",
21
+ text: "rounded-2xl border border-transparent bg-transparent dark:border-transparent dark:bg-transparent",
22
+ filled: "rounded-2xl border border-gray-200 bg-gray-50 dark:border-slate-800 dark:bg-slate-800",
23
+ underlined: " border border-transparent border-b border-b-gray-200 dark:border-transparent dark:border-b-slate-700 dark:bg-transparent",
24
+ rounded: "rounded-3xl border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900",
25
+ sharp: "rounded-none border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900"
26
26
  };
27
- var CardRoot = forwardRef(function Card({
28
- className,
29
- children,
30
- variant = "solid",
31
- padding = "md",
32
- overflow = "hidden",
33
- interactive = false,
34
- dividers = true,
35
- ...rest
36
- }, ref) {
27
+ var elevationClasses = {
28
+ 0: "shadow-none",
29
+ 1: "shadow-sm",
30
+ 2: "shadow",
31
+ 3: "shadow-md",
32
+ 4: "shadow-lg",
33
+ 5: "shadow-xl",
34
+ 6: "shadow-2xl",
35
+ 7: "shadow-2xl",
36
+ 8: "shadow-2xl",
37
+ 9: "shadow-2xl",
38
+ 10: "shadow-2xl"
39
+ };
40
+ var CardRoot = forwardRef(function Card({ className, children, variant = "solid", padding = "md", overflow = "hidden", interactive = false, dividers = true, elevation = 0, ...rest }, ref) {
37
41
  const variantClass = variantClasses[variant] ?? variantClasses.solid;
38
42
  const paddingClass = paddingClasses[padding] ?? paddingClasses.md;
39
43
  const overflowClass = overflowClasses[overflow] ?? overflowClasses.hidden;
44
+ const elevationClass = elevationClasses[elevation] ?? elevationClasses[0];
40
45
  const interactiveClass = interactive ? "transition-all duration-200 hover:-translate-y-0.5 hover:shadow-xl hover:z-10 focus-within:z-10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-slate-900" : void 0;
41
46
  const tabIndexValue = interactive && rest.tabIndex === void 0 ? 0 : rest.tabIndex;
42
47
  const content = applyDividers(children, dividers);
@@ -46,14 +51,7 @@ var CardRoot = forwardRef(function Card({
46
51
  ...rest,
47
52
  ref,
48
53
  tabIndex: tabIndexValue,
49
- className: twMerge(
50
- cardBase,
51
- variantClass,
52
- paddingClass,
53
- overflowClass,
54
- interactiveClass,
55
- className
56
- ),
54
+ className: twMerge(cardBase, variantClass, paddingClass, overflowClass, elevationClass, interactiveClass, className),
57
55
  children: content
58
56
  }
59
57
  );
@@ -81,33 +79,9 @@ var CardFooter = ({ className, dividers = true, ...rest }) => /* @__PURE__ */ js
81
79
  )
82
80
  }
83
81
  );
84
- var CardTitle = ({ className, ...rest }) => /* @__PURE__ */ jsx(
85
- "h3",
86
- {
87
- ...rest,
88
- className: twMerge(
89
- "card-title text-lg font-semibold text-gray-900 dark:text-slate-50",
90
- className
91
- )
92
- }
93
- );
94
- var CardSubtitle = ({ className, ...rest }) => /* @__PURE__ */ jsx(
95
- "p",
96
- {
97
- ...rest,
98
- className: twMerge(
99
- "card-subtitle text-sm font-medium text-gray-600 dark:text-slate-300",
100
- className
101
- )
102
- }
103
- );
104
- var CardText = ({ className, ...rest }) => /* @__PURE__ */ jsx(
105
- "p",
106
- {
107
- ...rest,
108
- className: twMerge("card-text text-sm text-gray-700 dark:text-slate-200", className)
109
- }
110
- );
82
+ var CardTitle = ({ className, ...rest }) => /* @__PURE__ */ jsx("h3", { ...rest, className: twMerge("card-title text-lg font-semibold text-gray-900 dark:text-slate-50", className) });
83
+ var CardSubtitle = ({ className, ...rest }) => /* @__PURE__ */ jsx("p", { ...rest, className: twMerge("card-subtitle text-sm font-medium text-gray-600 dark:text-slate-300", className) });
84
+ var CardText = ({ className, ...rest }) => /* @__PURE__ */ jsx("p", { ...rest, className: twMerge("card-text text-sm text-gray-700 dark:text-slate-200", className) });
111
85
  var CardMedia = ({ className, rounded = false, ...rest }) => /* @__PURE__ */ jsx(
112
86
  "img",
113
87
  {
@@ -156,5 +130,5 @@ function hasNestedChildren(element) {
156
130
  }
157
131
 
158
132
  export { Card_default };
159
- //# sourceMappingURL=chunk-GSYVZCP3.js.map
160
- //# sourceMappingURL=chunk-GSYVZCP3.js.map
133
+ //# sourceMappingURL=chunk-5NWM6RVD.js.map
134
+ //# sourceMappingURL=chunk-5NWM6RVD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Blocks/Card/index.tsx"],"names":["Card"],"mappings":"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","file":"chunk-5NWM6RVD.js","sourcesContent":["import { Children, cloneElement, forwardRef, isValidElement } from 'react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { GlobalElevation, GlobalVariant } from '@lindle/linoardo/global.types';\nimport { twMerge } from 'tailwind-merge';\nimport type { CardMediaProps, CardOverflow, CardProps, CardSectionProps, CardTextProps } from './types.card';\n\nconst paddingClasses: Record<Exclude<CardProps['padding'], undefined>, string> = {\n none: 'p-0',\n sm: 'p-3',\n md: 'p-4',\n lg: 'p-6'\n};\n\nconst overflowClasses: Record<Exclude<CardProps['overflow'], undefined>, string> = {\n hidden: 'overflow-hidden',\n visible: 'overflow-visible'\n};\n\nconst cardBase = 'card-base relative w-full bg-white text-gray-900 transition-colors dark:bg-slate-900 dark:text-slate-100';\n\nconst variantClasses: Record<GlobalVariant, string> = {\n solid: 'rounded-2xl border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900',\n outline: 'rounded-2xl border-2 border-black bg-white dark:border-black dark:bg-slate-900',\n ghost: 'rounded-2xl border border-transparent bg-gray-50 dark:border-transparent dark:bg-slate-800',\n text: 'rounded-2xl border border-transparent bg-transparent dark:border-transparent dark:bg-transparent',\n filled: 'rounded-2xl border border-gray-200 bg-gray-50 dark:border-slate-800 dark:bg-slate-800',\n underlined: ' border border-transparent border-b border-b-gray-200 dark:border-transparent dark:border-b-slate-700 dark:bg-transparent',\n rounded: 'rounded-3xl border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900',\n sharp: 'rounded-none border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900'\n};\n\nconst elevationClasses: Record<GlobalElevation, string> = {\n 0: 'shadow-none',\n 1: 'shadow-sm',\n 2: 'shadow',\n 3: 'shadow-md',\n 4: 'shadow-lg',\n 5: 'shadow-xl',\n 6: 'shadow-2xl',\n 7: 'shadow-2xl',\n 8: 'shadow-2xl',\n 9: 'shadow-2xl',\n 10: 'shadow-2xl'\n};\n\n/**\n * Card container with optional padding, variants and interactive focus/hover styles.\n */\nconst CardRoot = forwardRef<HTMLDivElement, CardProps & { elevation?: GlobalElevation }>(function Card(\n { className, children, variant = 'solid', padding = 'md', overflow = 'hidden', interactive = false, dividers = true, elevation = 0, ...rest },\n ref\n) {\n const variantClass = variantClasses[variant as GlobalVariant] ?? variantClasses.solid;\n const paddingClass = paddingClasses[padding] ?? paddingClasses.md;\n const overflowClass = overflowClasses[overflow] ?? overflowClasses.hidden;\n const elevationClass = elevationClasses[elevation] ?? elevationClasses[0];\n const interactiveClass = interactive\n ? 'transition-all duration-200 hover:-translate-y-0.5 hover:shadow-xl hover:z-10 focus-within:z-10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-slate-900'\n : undefined;\n const tabIndexValue = interactive && rest.tabIndex === undefined ? 0 : rest.tabIndex;\n const content = applyDividers(children, dividers);\n\n return (\n <div\n {...rest}\n ref={ref}\n tabIndex={tabIndexValue}\n className={twMerge(cardBase, variantClass, paddingClass, overflowClass, elevationClass, interactiveClass, className)}\n >\n {content}\n </div>\n );\n});\n\n/**\n * Section for placing the card title, subtitle or actions at the top of the card.\n */\nconst CardHeader: React.FC<CardSectionProps> = ({ className, dividers = true, ...rest }) => (\n <div\n {...rest}\n className={twMerge(\n 'card-header mb-2 flex flex-col gap-1 pb-3',\n dividers ? 'border-b border-gray-100 dark:border-slate-800' : undefined,\n className\n )}\n />\n);\n\n/**\n * Primary content area of the card.\n */\nconst CardBody: React.FC<CardSectionProps> = ({ className, ...rest }) => (\n <div {...rest} className={twMerge('card-body flex flex-col gap-3', className)} />\n);\n\n/**\n * Footer area for actions or supplemental information.\n */\nconst CardFooter: React.FC<CardSectionProps> = ({ className, dividers = true, ...rest }) => (\n <div\n {...rest}\n className={twMerge(\n 'card-footer mt-3 flex flex-wrap items-center gap-3 pt-3',\n dividers ? 'border-t border-gray-100 dark:border-slate-800' : undefined,\n className\n )}\n />\n);\n\n/**\n * Stylized heading for the card.\n */\nconst CardTitle: React.FC<CardSectionProps> = ({ className, ...rest }) => (\n <h3 {...rest} className={twMerge('card-title text-lg font-semibold text-gray-900 dark:text-slate-50', className)} />\n);\n\n/**\n * Subtitle text for secondary information under the title.\n */\nconst CardSubtitle: React.FC<CardSectionProps> = ({ className, ...rest }) => (\n <p {...rest} className={twMerge('card-subtitle text-sm font-medium text-gray-600 dark:text-slate-300', className)} />\n);\n\n/**\n * Body text with default card typography.\n */\nconst CardText: React.FC<CardTextProps> = ({ className, ...rest }) => (\n <p {...rest} className={twMerge('card-text text-sm text-gray-700 dark:text-slate-200', className)} />\n);\n\n/**\n * Media region for images, retaining card spacing and optional rounded corners.\n */\nconst CardMedia: React.FC<CardMediaProps> = ({ className, rounded = false, ...rest }) => (\n <img\n {...rest}\n className={twMerge(\n 'card-media w-full object-cover',\n rounded ? 'rounded-xl' : 'rounded-none',\n rest.height || rest.style ? 'block' : 'block max-h-60',\n className\n )}\n loading={rest.loading ?? 'lazy'}\n />\n);\n\n/**\n * Container for action buttons inside the card.\n */\nconst CardActions: React.FC<CardSectionProps> = ({ className, ...rest }) => (\n <div {...rest} className={twMerge('card-actions flex flex-wrap gap-2', className)} />\n);\n\nexport type { CardOverflow, CardProps, CardSectionProps, CardMediaProps, CardTextProps };\n\nconst Card = Object.assign(CardRoot, {\n Header: CardHeader,\n Body: CardBody,\n Footer: CardFooter,\n Title: CardTitle,\n Subtitle: CardSubtitle,\n Text: CardText,\n Media: CardMedia,\n Actions: CardActions\n});\n\nexport default Card;\n\nfunction applyDividers(children: ReactNode, dividers: boolean): ReactNode {\n return Children.map(children, child => {\n if (!isValidElement(child)) return child;\n\n if (isDividerSection(child)) {\n return cloneElement<CardSectionProps>(child, { dividers: child.props.dividers ?? dividers });\n }\n\n if (hasNestedChildren(child)) {\n return cloneElement<{ children?: ReactNode }>(child, {\n children: applyDividers(child.props.children, dividers)\n });\n }\n\n return child;\n });\n}\n\nfunction isDividerSection(element: ReactElement): element is ReactElement<CardSectionProps> {\n return element.type === CardHeader || element.type === CardFooter;\n}\n\nfunction hasNestedChildren(element: ReactElement): element is ReactElement<{ children?: ReactNode }> {\n const props = element.props as Record<string, unknown>;\n return 'children' in props;\n}\n"]}
@@ -3,14 +3,27 @@ import { twMerge } from 'tailwind-merge';
3
3
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
4
4
 
5
5
  var variantMap = {
6
- solid: "bg-white text-gray-900 border border-gray-200 shadow-lg shadow-gray-200/60",
6
+ solid: "bg-white text-gray-900 border border-gray-200",
7
7
  outline: "bg-white text-gray-900 border border-gray-300",
8
8
  text: "bg-transparent text-gray-900",
9
9
  ghost: "bg-slate-50 text-gray-900 border border-slate-100",
10
- filled: "bg-slate-900 text-white shadow-2xl shadow-slate-900/30",
10
+ filled: "bg-slate-900 text-white",
11
11
  underlined: "bg-white text-gray-900 border-b-4 border-primary/70",
12
- rounded: "bg-white text-gray-900 border border-gray-200 rounded-3xl shadow-md",
13
- sharp: "bg-white text-gray-900 border border-gray-200 rounded-none shadow"
12
+ rounded: "bg-white text-gray-900 border border-gray-200 rounded-3xl",
13
+ sharp: "bg-white text-gray-900 border border-gray-200 rounded-none"
14
+ };
15
+ var elevationClasses = {
16
+ 0: "shadow-none",
17
+ 1: "shadow-sm",
18
+ 2: "shadow",
19
+ 3: "shadow-md",
20
+ 4: "shadow-lg",
21
+ 5: "shadow-xl",
22
+ 6: "shadow-2xl",
23
+ 7: "shadow-2xl",
24
+ 8: "shadow-2xl",
25
+ 9: "shadow-2xl",
26
+ 10: "shadow-2xl"
14
27
  };
15
28
  var cardRadiusMap = {
16
29
  solid: "rounded-2xl",
@@ -64,6 +77,7 @@ var ProfileCard = ({
64
77
  badges,
65
78
  layout = "classic",
66
79
  variant = "solid",
80
+ elevation = 0,
67
81
  className,
68
82
  ...rest
69
83
  }) => {
@@ -73,6 +87,7 @@ var ProfileCard = ({
73
87
  const dark = isDarkVariant(variant);
74
88
  const muted = dark ? "text-white/70" : "text-gray-600";
75
89
  const accent = dark ? "text-white" : "text-gray-900";
90
+ const elevationClass = elevationClasses[elevation] ?? elevationClasses[0];
76
91
  const content = /* @__PURE__ */ jsxs(Fragment, { children: [
77
92
  /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
78
93
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
@@ -125,6 +140,7 @@ var ProfileCard = ({
125
140
  "profile-card relative overflow-hidden p-6 transition duration-200 hover:-translate-y-0.5 hover:shadow-xl",
126
141
  baseVariant,
127
142
  cardRadius,
143
+ elevationClass,
128
144
  className
129
145
  ),
130
146
  children: layoutMap[layout] ?? layoutMap.classic
@@ -135,5 +151,5 @@ ProfileCard.displayName = "ProfileCard";
135
151
  var ProfileCard_default = ProfileCard;
136
152
 
137
153
  export { ProfileCard_default };
138
- //# sourceMappingURL=chunk-EYZVXAPY.js.map
139
- //# sourceMappingURL=chunk-EYZVXAPY.js.map
154
+ //# sourceMappingURL=chunk-YRY7DJK2.js.map
155
+ //# sourceMappingURL=chunk-YRY7DJK2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Blocks/ProfileCard/index.tsx"],"names":[],"mappings":"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","file":"chunk-YRY7DJK2.js","sourcesContent":["import Button from '@lindle/linoardo/Containment/Button';\nimport type { GlobalElevation, GlobalVariant } from '@lindle/linoardo/global.types';\nimport * as React from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nexport type SocialLink = {\n icon: string;\n href: string;\n label?: string;\n};\n\nexport type Badge = {\n label: string;\n};\n\nexport type Avatar = {\n src: string;\n alt?: string;\n};\n\nexport type ProfileCardLayout = 'classic' | 'split' | 'spotlight';\n\nexport type ProfileCardProps = React.HTMLAttributes<HTMLElement> & {\n name: string;\n role?: string;\n description?: React.ReactNode;\n avatar: Avatar;\n socials?: SocialLink[] | React.ReactNode;\n badges?: Badge[];\n layout?: ProfileCardLayout;\n variant?: GlobalVariant;\n elevation?: GlobalElevation;\n};\n\nconst variantMap: Record<GlobalVariant, string> = {\n solid: 'bg-white text-gray-900 border border-gray-200',\n outline: 'bg-white text-gray-900 border border-gray-300',\n text: 'bg-transparent text-gray-900',\n ghost: 'bg-slate-50 text-gray-900 border border-slate-100',\n filled: 'bg-slate-900 text-white',\n underlined: 'bg-white text-gray-900 border-b-4 border-primary/70',\n rounded: 'bg-white text-gray-900 border border-gray-200 rounded-3xl',\n sharp: 'bg-white text-gray-900 border border-gray-200 rounded-none'\n};\n\nconst elevationClasses: Record<GlobalElevation, string> = {\n 0: 'shadow-none',\n 1: 'shadow-sm',\n 2: 'shadow',\n 3: 'shadow-md',\n 4: 'shadow-lg',\n 5: 'shadow-xl',\n 6: 'shadow-2xl',\n 7: 'shadow-2xl',\n 8: 'shadow-2xl',\n 9: 'shadow-2xl',\n 10: 'shadow-2xl'\n};\n\nconst cardRadiusMap: Record<GlobalVariant, string> = {\n solid: 'rounded-2xl',\n outline: 'rounded-2xl',\n text: 'rounded-2xl',\n ghost: 'rounded-2xl',\n filled: 'rounded-3xl',\n underlined: 'rounded-t-2xl',\n rounded: 'rounded-3xl',\n sharp: 'rounded-none'\n};\n\nconst avatarRadiusMap: Record<GlobalVariant, string> = {\n solid: 'rounded-2xl',\n outline: 'rounded-2xl',\n text: 'rounded-2xl',\n ghost: 'rounded-2xl',\n filled: 'rounded-3xl',\n underlined: 'rounded-2xl',\n rounded: 'rounded-3xl',\n sharp: 'rounded-none'\n};\n\nconst isDarkVariant = (variant: GlobalVariant) => variant === 'filled';\n\nconst SocialIcons: React.FC<{ socials?: SocialLink[] | React.ReactNode; dark?: boolean }> = ({ socials, dark }) => {\n if (!socials) return null;\n if (Array.isArray(socials) && socials.length === 0) return null;\n\n const isSocialLinkArray = Array.isArray(socials) && socials.length > 0 && 'href' in (socials[0] as any);\n\n if (isSocialLinkArray) {\n return (\n <div className='flex flex-wrap gap-2'>\n {(socials as SocialLink[]).map(link => (\n <Button key={link.href} iconOnly icon={link.icon} variant='rounded' size='x-small' {...({ href: link.href, as: 'a' } as any)} />\n ))}\n </div>\n );\n }\n\n return <div className='flex flex-wrap gap-2'>{socials as React.ReactNode}</div>;\n};\n\nconst Badges: React.FC<{ badges?: Badge[]; dark?: boolean }> = ({ badges = [], dark }) => {\n if (badges.length === 0) return null;\n\n const badgeBase = twMerge(\n 'inline-flex items-center rounded-full px-3 py-1 mb-2 text-xs font-semibold',\n dark ? 'bg-white/10 text-white border border-white/20' : 'bg-primary/10 text-primary border border-primary/15'\n );\n\n return (\n <div className='flex flex-wrap gap-2'>\n {badges.map(badge => (\n <span key={badge.label} className={badgeBase}>\n {badge.label}\n </span>\n ))}\n </div>\n );\n};\n\nconst AvatarFrame: React.FC<{\n avatar: Avatar;\n size?: 'md' | 'lg';\n ring?: boolean;\n radius: string;\n}> = ({ avatar, size = 'md', ring, radius }) => {\n const dimension = size === 'lg' ? 'h-28 w-28' : 'h-20 w-20';\n const ringClass = ring ? 'ring-4 ring-white/80 ring-offset-4 ring-offset-transparent' : '';\n return (\n <div className={twMerge('overflow-hidden bg-linear-to-br from-primary/10 to-primary/30', radius, dimension, ringClass)}>\n <img src={avatar.src} alt={avatar.alt ?? ''} className={twMerge('h-full w-full object-cover', radius)} loading='lazy' />\n </div>\n );\n};\n\nconst ProfileCard: React.FC<ProfileCardProps> = ({\n name,\n role,\n description,\n avatar,\n socials,\n badges,\n layout = 'classic',\n variant = 'solid',\n elevation = 0,\n className,\n ...rest\n}) => {\n const baseVariant = variantMap[variant] ?? variantMap.solid;\n const cardRadius = cardRadiusMap[variant] ?? 'rounded-2xl';\n const avatarRadius = avatarRadiusMap[variant] ?? 'rounded-2xl';\n const dark = isDarkVariant(variant);\n const muted = dark ? 'text-white/70' : 'text-gray-600';\n const accent = dark ? 'text-white' : 'text-gray-900';\n const elevationClass = elevationClasses[elevation] ?? elevationClasses[0];\n\n const content = (\n <>\n <div className='space-y-2'>\n <div className='flex items-center gap-3'>\n <AvatarFrame avatar={avatar} radius={avatarRadius} />\n <div>\n <h3 className={twMerge('text-xl font-semibold', accent)}>{name}</h3>\n {role && <p className={twMerge('text-sm font-medium', muted)}>{role}</p>}\n </div>\n </div>\n {description && <p className={twMerge('text-sm leading-relaxed', muted)}>{description}</p>}\n <Badges badges={badges} dark={dark} />\n </div>\n <SocialIcons socials={socials} dark={dark} />\n </>\n );\n\n const spotlightContent = (\n <div className='relative overflow-hidden'>\n <div className='absolute inset-0 bg-linear-to-br from-primary/10 via-transparent to-primary/20 blur-3xl' />\n <div className='relative flex flex-col gap-6 md:flex-row md:items-center'>\n <AvatarFrame avatar={avatar} size='lg' ring radius={avatarRadius} />\n <div className='space-y-3'>\n <h3 className={twMerge('text-2xl font-semibold', accent)}>{name}</h3>\n {role && <p className={twMerge('text-sm font-medium uppercase tracking-wide', muted)}>{role}</p>}\n {description && <p className={twMerge('text-sm leading-relaxed', muted)}>{description}</p>}\n <Badges badges={badges} dark={dark} />\n <SocialIcons socials={socials} dark={dark} />\n </div>\n </div>\n </div>\n );\n\n const splitContent = (\n <div className='grid gap-6 md:grid-cols-[auto,1fr] md:items-center'>\n <AvatarFrame avatar={avatar} size='lg' ring radius={avatarRadius} />\n <div className='space-y-3'>\n <div>\n <h3 className={twMerge('text-2xl font-semibold', accent)}>{name}</h3>\n {role && <p className={twMerge('text-sm font-medium', muted)}>{role}</p>}\n </div>\n {description && <p className={twMerge('text-sm leading-relaxed', muted)}>{description}</p>}\n <Badges badges={badges} dark={dark} />\n <SocialIcons socials={socials} dark={dark} />\n </div>\n </div>\n );\n\n const layoutMap: Record<ProfileCardLayout, React.ReactNode> = {\n classic: content,\n split: splitContent,\n spotlight: spotlightContent\n };\n\n return (\n <article\n {...rest}\n className={twMerge(\n 'profile-card relative overflow-hidden p-6 transition duration-200 hover:-translate-y-0.5 hover:shadow-xl',\n baseVariant,\n cardRadius,\n elevationClass,\n className\n )}\n >\n {layoutMap[layout] ?? layoutMap.classic}\n </article>\n );\n};\n\nProfileCard.displayName = 'ProfileCard';\n\nexport default ProfileCard;\n"]}
@@ -1,3 +1,3 @@
1
1
  import 'react';
2
- export { a as default } from '../ExpansionPanelItem-CZMtq3TL.cjs';
3
- import '../global.types-E2uVLemv.cjs';
2
+ export { a as default } from '../ExpansionPanelItem-Dln5DHGW.cjs';
3
+ import '../global.types-DJiKqSJa.cjs';
@@ -1,3 +1,3 @@
1
1
  import 'react';
2
- export { a as default } from '../ExpansionPanelItem-Dom3SgrW.js';
3
- import '../global.types-E2uVLemv.js';
2
+ export { a as default } from '../ExpansionPanelItem-BZHk28zn.js';
3
+ import '../global.types-DJiKqSJa.js';
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
- import { c as ExpansionPanelProps } from './ExpansionPanelItem-CZMtq3TL.cjs';
3
- export { E as ExpansionPanelDensity, a as ExpansionPanelItem, b as ExpansionPanelItemProps, d as ExpansionPanelRounded, e as ExpansionPanelValue, f as ExpansionPanelVariant } from './ExpansionPanelItem-CZMtq3TL.cjs';
4
- import './global.types-E2uVLemv.cjs';
2
+ import { c as ExpansionPanelProps } from './ExpansionPanelItem-Dln5DHGW.cjs';
3
+ export { E as ExpansionPanelDensity, a as ExpansionPanelItem, b as ExpansionPanelItemProps, d as ExpansionPanelRounded, e as ExpansionPanelValue, f as ExpansionPanelVariant } from './ExpansionPanelItem-Dln5DHGW.cjs';
4
+ import './global.types-DJiKqSJa.cjs';
5
5
 
6
6
  declare const ExpansionPanel: react.ForwardRefExoticComponent<ExpansionPanelProps & react.RefAttributes<HTMLDivElement>>;
7
7