@uniformdev/csk-components 6.0.121-alpha.1 → 6.1.57

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 (111) hide show
  1. package/dist/accordion-item-G5CNMERW.mjs +1 -0
  2. package/dist/{banner-EYII7V7X.mjs → banner-2B4K5R4N.mjs} +1 -1
  3. package/dist/carousel-BBEW5P4Y.mjs +1 -0
  4. package/dist/carousel-ERCHOWUS.mjs +1 -0
  5. package/dist/chunk-2SEOCBRK.mjs +1 -0
  6. package/dist/{chunk-TFA6HYP4.mjs → chunk-3PDY7RJC.mjs} +2 -2
  7. package/dist/chunk-4LWAGTFW.mjs +1 -0
  8. package/dist/chunk-5VM2Y55L.mjs +1 -0
  9. package/dist/chunk-AKRWCDDG.mjs +1 -0
  10. package/dist/{chunk-VW2XC3SE.mjs → chunk-FPOIJMYT.mjs} +1 -1
  11. package/dist/{chunk-B2O55EVA.mjs → chunk-LA36HQWS.mjs} +1 -1
  12. package/dist/chunk-M3BGP5VE.mjs +1 -0
  13. package/dist/chunk-QHIWJPL6.mjs +1 -0
  14. package/dist/chunk-TIRCISSU.mjs +1 -0
  15. package/dist/chunk-TM7Q5NMH.mjs +1 -0
  16. package/dist/chunk-YUCUJWBO.mjs +1 -0
  17. package/dist/chunk-Z7JSWSPD.mjs +1 -0
  18. package/dist/components/canvas/emptyPlaceholders.mjs +1 -1
  19. package/dist/components/canvas/index.d.mts +21 -5
  20. package/dist/components/canvas/index.mjs +2 -2
  21. package/dist/components/ui/index.d.mts +25 -61
  22. package/dist/components/ui/index.mjs +1 -1
  23. package/dist/content/components/canvas/Accordion/accordion.tsx +12 -6
  24. package/dist/content/components/canvas/AccordionItem/accordion-item.tsx +36 -23
  25. package/dist/content/components/canvas/Button/index.tsx +2 -1
  26. package/dist/content/components/canvas/Card/card.tsx +3 -1
  27. package/dist/content/components/canvas/Carousel/carousel.tsx +3 -1
  28. package/dist/content/components/canvas/Container/container.tsx +4 -0
  29. package/dist/content/components/canvas/Container/parameters.ts +4 -0
  30. package/dist/content/components/canvas/DemoHero/atoms.tsx +4 -31
  31. package/dist/content/components/canvas/DemoHero/columns-variant.tsx +7 -1
  32. package/dist/content/components/canvas/DemoHero/default-variant.tsx +8 -1
  33. package/dist/content/components/canvas/DemoHero/demo-hero.tsx +4 -2
  34. package/dist/content/components/canvas/DemoHero/fixed-hero.tsx +65 -56
  35. package/dist/content/components/canvas/DemoHero/index.tsx +14 -3
  36. package/dist/content/components/canvas/DemoHero/utils.ts +0 -14
  37. package/dist/content/components/canvas/Flex/flex.tsx +4 -2
  38. package/dist/content/components/canvas/Grid/grid.tsx +3 -1
  39. package/dist/content/components/canvas/Image/image.tsx +2 -13
  40. package/dist/content/components/canvas/Image/placeholder.tsx +20 -0
  41. package/dist/content/components/canvas/ImageGallery/image-gallery.tsx +3 -1
  42. package/dist/content/components/canvas/Modal/modal.tsx +69 -12
  43. package/dist/content/components/{ui → canvas}/Modal/style-utils.ts +4 -4
  44. package/dist/content/components/canvas/Review/default-variant.tsx +3 -1
  45. package/dist/content/components/canvas/Review/multi-column-variant.tsx +3 -1
  46. package/dist/content/components/canvas/Section/columns-variant.tsx +7 -1
  47. package/dist/content/components/canvas/Section/default-variant.tsx +10 -1
  48. package/dist/content/components/canvas/Section/section.tsx +4 -0
  49. package/dist/content/components/canvas/Table/table.tsx +6 -1
  50. package/dist/content/components/canvas/Tabs/tabs.tsx +6 -1
  51. package/dist/content/components/canvas/Testimonial/default-variant.tsx +4 -2
  52. package/dist/content/components/canvas/Testimonial/testimonial.tsx +4 -0
  53. package/dist/content/components/canvas/Testimonial/with-large-avatar-variant.tsx +4 -2
  54. package/dist/content/components/canvas/Testimonial/with-overlapping-image-variant.tsx +4 -2
  55. package/dist/content/components/canvas/Video/index.tsx +2 -0
  56. package/dist/content/components/canvas/Video/video.tsx +2 -1
  57. package/dist/content/components/ui/Button/index.ts +5 -2
  58. package/dist/content/components/ui/Carousel/carousel.tsx +2 -2
  59. package/dist/content/components/ui/Carousel/index.ts +1 -1
  60. package/dist/content/components/ui/Container/container.tsx +7 -2
  61. package/dist/content/components/ui/Container/index.ts +6 -0
  62. package/dist/content/components/ui/Container/utils.ts +18 -0
  63. package/dist/content/components/ui/Flex/flex.tsx +27 -19
  64. package/dist/content/components/ui/Flex/index.ts +5 -1
  65. package/dist/content/components/ui/Footer/index.ts +1 -1
  66. package/dist/content/components/ui/Grid/grid.tsx +25 -19
  67. package/dist/content/components/ui/Grid/index.ts +16 -4
  68. package/dist/content/components/ui/GridItem/index.ts +10 -4
  69. package/dist/content/components/ui/Header/index.ts +1 -1
  70. package/dist/content/components/ui/Text/index.ts +6 -3
  71. package/dist/image-gallery-F6JLG7XW.mjs +1 -0
  72. package/dist/{index-D5cLtaIv.d.mts → index-B9eeSbLG.d.mts} +14 -7
  73. package/dist/index.mjs +1 -1
  74. package/dist/{mobile-JGZBHQC2.mjs → mobile-UAUHHXPH.mjs} +1 -1
  75. package/dist/modal-HKMQGV4B.mjs +1 -0
  76. package/dist/navigation-flyout-MXIJA6PC.mjs +1 -0
  77. package/dist/navigation-group-DEN3D2BO.mjs +1 -0
  78. package/dist/tabs-AQFKYC6M.mjs +1 -0
  79. package/package.json +10 -10
  80. package/dist/accordion-item-QAVKQEB2.mjs +0 -1
  81. package/dist/accordion-item-Y4PSNOH4.mjs +0 -1
  82. package/dist/carousel-RZ2DV6QX.mjs +0 -1
  83. package/dist/carousel-YELQRJVB.mjs +0 -1
  84. package/dist/chunk-2BMAPB63.mjs +0 -1
  85. package/dist/chunk-7GVG4HLE.mjs +0 -1
  86. package/dist/chunk-EOV2LPGC.mjs +0 -1
  87. package/dist/chunk-EUVKAE6M.mjs +0 -1
  88. package/dist/chunk-FIN5US3Q.mjs +0 -1
  89. package/dist/chunk-PMMAALCQ.mjs +0 -1
  90. package/dist/chunk-RYEXR67P.mjs +0 -1
  91. package/dist/chunk-TCQTXNKT.mjs +0 -1
  92. package/dist/chunk-WAW7PQYM.mjs +0 -1
  93. package/dist/chunk-YA5BXPZL.mjs +0 -1
  94. package/dist/content/components/ui/Accordion/accordion.tsx +0 -23
  95. package/dist/content/components/ui/Accordion/index.tsx +0 -9
  96. package/dist/content/components/ui/AccordionItem/accordion-item.tsx +0 -41
  97. package/dist/content/components/ui/AccordionItem/index.tsx +0 -16
  98. package/dist/content/components/ui/InlineSVG/index.ts +0 -13
  99. package/dist/content/components/ui/InlineSVG/inline-svg.tsx +0 -59
  100. package/dist/content/components/ui/InlineSVG/utils.ts +0 -77
  101. package/dist/content/components/ui/Modal/index.tsx +0 -22
  102. package/dist/content/components/ui/Modal/modal.tsx +0 -89
  103. package/dist/image-gallery-AMU6FS7N.mjs +0 -1
  104. package/dist/modal-43IHAVWB.mjs +0 -1
  105. package/dist/modal-5FNTFSTN.mjs +0 -1
  106. package/dist/navigation-flyout-NAU6O2WG.mjs +0 -1
  107. package/dist/navigation-group-QA65N6AI.mjs +0 -1
  108. package/dist/tabs-J23TEEQ7.mjs +0 -1
  109. /package/dist/content/components/{ui → canvas}/AccordionItem/icon-arrow-down.tsx +0 -0
  110. /package/dist/content/components/{ui → canvas}/AccordionItem/icon-arrow-up.tsx +0 -0
  111. /package/dist/content/components/{ui → canvas}/Modal/close-icon.tsx +0 -0
@@ -1,6 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { cn, formatSpaceParameterValue, resolveViewPort } from '@/utils/styling';
3
3
  import { ContainerProps } from '.';
4
+ import { getHeightValue } from './utils';
4
5
 
5
6
  export const Container: FC<ContainerProps> = ({
6
7
  className,
@@ -11,6 +12,8 @@ export const Container: FC<ContainerProps> = ({
11
12
  spacing,
12
13
  border = '',
13
14
  fluidContent = false,
15
+ fullHeight = false,
16
+ fitHeight = false,
14
17
  height,
15
18
  maxWidth,
16
19
  ...rest
@@ -20,6 +23,8 @@ export const Container: FC<ContainerProps> = ({
20
23
  { marginTop, marginBottom, marginRight, marginLeft, paddingTop, paddingBottom, paddingRight, paddingLeft },
21
24
  ] = formatSpaceParameterValue(spacing);
22
25
 
26
+ const heightValue = getHeightValue({ height, fullHeight, fitHeight });
27
+
23
28
  return (
24
29
  <div
25
30
  className={cn(
@@ -29,7 +34,7 @@ export const Container: FC<ContainerProps> = ({
29
34
  'mx-auto w-full': !fluidContent,
30
35
  'max-w-7xl max-w-container-width': !maxWidth && !fluidContent,
31
36
  [`max-w-${maxWidth}`]: !!maxWidth && !fluidContent,
32
- [resolveViewPort(height, 'h-{value}')]: height,
37
+ [resolveViewPort(heightValue, 'h-{value}')]: heightValue,
33
38
  },
34
39
  wrapperClassName
35
40
  )}
@@ -47,7 +52,7 @@ export const Container: FC<ContainerProps> = ({
47
52
  [resolveViewPort(paddingRight, 'pr-{value}')]: paddingRight,
48
53
  [resolveViewPort(paddingLeft, 'pl-{value}')]: paddingLeft,
49
54
  [resolveViewPort(border, '{value}')]: border,
50
- [resolveViewPort(height, 'h-{value}')]: height,
55
+ [resolveViewPort(heightValue, 'h-{value}')]: heightValue,
51
56
  },
52
57
  className
53
58
  )}
@@ -6,9 +6,15 @@ export type ContainerProps = HTMLAttributes<HTMLDivElement> & {
6
6
  spacing?: SpaceType | ViewPort<SpaceType>;
7
7
  border?: string | ViewPort<string>;
8
8
  fluidContent?: boolean;
9
+ /** @deprecated Use height prop instead */
10
+ fullHeight?: boolean;
11
+ /** @deprecated Use height prop instead */
12
+ fitHeight?: boolean;
9
13
  height?: string | ViewPort<string>;
10
14
  wrapperClassName?: string;
11
15
  maxWidth?: string;
12
16
  };
13
17
 
18
+ export { getHeightValue } from './utils';
19
+
14
20
  export { Container as default } from './container';
@@ -0,0 +1,18 @@
1
+ import { ViewPort } from '@/types/cskTypes';
2
+
3
+ export const getHeightValue = ({
4
+ height,
5
+ fullHeight,
6
+ fitHeight,
7
+ }: {
8
+ height?: string | ViewPort<string> | undefined;
9
+ fullHeight?: boolean | undefined;
10
+ fitHeight?: boolean | undefined;
11
+ }) => {
12
+ if (height) return height;
13
+ // Cover deprecated cases
14
+ if (fullHeight) return 'h-screen';
15
+ if (fitHeight) return 'h-full';
16
+
17
+ return undefined;
18
+ };
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import BaseContainer from '@/components/ui/Container';
2
+ import BaseContainer, { getHeightValue } from '@/components/ui/Container';
3
3
  import { cn, resolveViewPort } from '@/utils/styling';
4
4
  import { FlexProps } from '.';
5
5
 
@@ -14,24 +14,32 @@ export const Flex: FC<FlexProps> = ({
14
14
  spacing,
15
15
  border,
16
16
  fluidContent,
17
+ fullHeight,
18
+ fitHeight,
17
19
  height,
18
20
  children,
19
- }) => (
20
- <BaseContainer {...{ backgroundColor, spacing, border, fluidContent, height, wrapperClassName }}>
21
- <div
22
- className={cn(
23
- 'flex',
24
- {
25
- [resolveViewPort(direction, 'flex-{value}')]: direction,
26
- [resolveViewPort(justifyContent, 'justify-{value}')]: justifyContent,
27
- [resolveViewPort(gap, 'gap-{value}')]: gap,
28
- [resolveViewPort(alignItems, 'items-{value}')]: alignItems,
29
- [resolveViewPort(height, 'h-{value}')]: height,
30
- },
31
- className
32
- )}
21
+ }) => {
22
+ const heightValue = getHeightValue({ height, fullHeight, fitHeight });
23
+
24
+ return (
25
+ <BaseContainer
26
+ {...{ backgroundColor, spacing, border, fluidContent, fullHeight, fitHeight, height, wrapperClassName }}
33
27
  >
34
- {children}
35
- </div>
36
- </BaseContainer>
37
- );
28
+ <div
29
+ className={cn(
30
+ 'flex',
31
+ {
32
+ [resolveViewPort(direction, 'flex-{value}')]: direction,
33
+ [resolveViewPort(justifyContent, 'justify-{value}')]: justifyContent,
34
+ [resolveViewPort(gap, 'gap-{value}')]: gap,
35
+ [resolveViewPort(alignItems, 'items-{value}')]: alignItems,
36
+ [resolveViewPort(heightValue, 'h-{value}')]: heightValue,
37
+ },
38
+ className
39
+ )}
40
+ >
41
+ {children}
42
+ </div>
43
+ </BaseContainer>
44
+ );
45
+ };
@@ -1,8 +1,10 @@
1
+ import { DefaultTheme } from 'tailwindcss/types/generated/default-theme';
1
2
  import { ContainerProps as BaseContainerProps } from '@/components/ui/Container';
2
3
  import { ViewPort } from '@/types/cskTypes';
3
4
 
4
5
  type Direction = 'row' | 'row-reverse' | 'col' | 'col-reverse';
5
6
  type Justify = 'normal' | 'start' | 'end' | 'center' | 'between' | 'around' | 'evenly' | 'stretch';
7
+ type FlexGap = keyof DefaultTheme['spacing'];
6
8
  type Align = 'start' | 'end' | 'center' | 'baseline' | 'stretch';
7
9
 
8
10
  export type FlexProps = Pick<
@@ -14,12 +16,14 @@ export type FlexProps = Pick<
14
16
  | 'spacing'
15
17
  | 'border'
16
18
  | 'fluidContent'
19
+ | 'fullHeight'
20
+ | 'fitHeight'
17
21
  | 'height'
18
22
  | 'children'
19
23
  > & {
20
24
  direction?: Direction | ViewPort<Direction>;
21
25
  justifyContent?: Justify | ViewPort<Justify>;
22
- gap?: string | ViewPort<string>;
26
+ gap?: FlexGap | ViewPort<FlexGap>;
23
27
  alignItems?: Align | ViewPort<Align>;
24
28
  };
25
29
 
@@ -1,6 +1,6 @@
1
1
  import { ContainerProps as BaseContainerProps } from '@/components/ui/Container';
2
2
 
3
- export type FooterProps = Omit<BaseContainerProps, 'height' | 'content'> & {
3
+ export type FooterProps = Omit<BaseContainerProps, 'fullHeight' | 'content'> & {
4
4
  logo?: React.ReactNode;
5
5
  copyright?: React.ReactNode;
6
6
  content?: React.ReactNode;
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import BaseContainer from '@/components/ui/Container';
2
+ import BaseContainer, { getHeightValue } from '@/components/ui/Container';
3
3
  import { cn, resolveViewPort } from '@/utils/styling';
4
4
  import { GridProps } from '.';
5
5
 
@@ -12,23 +12,29 @@ export const Grid: FC<GridProps> = ({
12
12
  spacing,
13
13
  border,
14
14
  fluidContent,
15
+ fullHeight,
16
+ fitHeight,
15
17
  height,
16
18
  children,
17
- }) => (
18
- <BaseContainer {...{ backgroundColor, spacing, border, fluidContent, height }}>
19
- <div
20
- className={cn(
21
- 'grid',
22
- {
23
- [resolveViewPort(columnsCount, 'grid-cols-{value}')]: columnsCount,
24
- [resolveViewPort(gapX, 'gap-x-{value}')]: gapX,
25
- [resolveViewPort(gapY, 'gap-y-{value}')]: gapY,
26
- [resolveViewPort(height, 'h-{value}')]: height,
27
- },
28
- className
29
- )}
30
- >
31
- {children}
32
- </div>
33
- </BaseContainer>
34
- );
19
+ }) => {
20
+ const heightValue = getHeightValue({ height, fullHeight, fitHeight });
21
+
22
+ return (
23
+ <BaseContainer {...{ backgroundColor, spacing, border, fluidContent, fullHeight, fitHeight, height }}>
24
+ <div
25
+ className={cn(
26
+ 'grid',
27
+ {
28
+ [resolveViewPort(columnsCount, 'grid-cols-{value}')]: columnsCount,
29
+ [resolveViewPort(gapX, 'gap-x-{value}')]: gapX,
30
+ [resolveViewPort(gapY, 'gap-y-{value}')]: gapY,
31
+ [resolveViewPort(heightValue, 'h-{value}')]: heightValue,
32
+ },
33
+ className
34
+ )}
35
+ >
36
+ {children}
37
+ </div>
38
+ </BaseContainer>
39
+ );
40
+ };
@@ -1,13 +1,25 @@
1
+ import { DefaultTheme } from 'tailwindcss/types/generated/default-theme';
1
2
  import { ContainerProps as BaseContainerProps } from '@/components/ui/Container';
2
3
  import { ViewPort } from '@/types/cskTypes';
3
4
 
5
+ type AvailableColumnsCount = keyof DefaultTheme['gridTemplateColumns'];
6
+ type AvailableGap = keyof DefaultTheme['spacing'];
7
+
4
8
  export type GridProps = Pick<
5
9
  BaseContainerProps,
6
- 'title' | 'backgroundColor' | 'spacing' | 'border' | 'fluidContent' | 'children' | 'height'
10
+ | 'title'
11
+ | 'backgroundColor'
12
+ | 'spacing'
13
+ | 'border'
14
+ | 'fluidContent'
15
+ | 'fullHeight'
16
+ | 'fitHeight'
17
+ | 'children'
18
+ | 'height'
7
19
  > & {
8
- columnsCount?: string | ViewPort<string>;
9
- gapY?: string | ViewPort<string>;
10
- gapX?: string | ViewPort<string>;
20
+ columnsCount?: AvailableColumnsCount | ViewPort<AvailableColumnsCount>;
21
+ gapY?: AvailableGap | ViewPort<AvailableGap>;
22
+ gapX?: AvailableGap | ViewPort<AvailableGap>;
11
23
  className?: string;
12
24
  };
13
25
 
@@ -1,11 +1,17 @@
1
1
  import { HTMLAttributes } from 'react';
2
+ import { DefaultTheme } from 'tailwindcss/types/generated/default-theme';
2
3
  import { ViewPort } from '@/types/cskTypes';
3
4
 
5
+ type AvailableColumnStart = keyof DefaultTheme['gridColumnStart'];
6
+ type AvailableColumnSpan = keyof DefaultTheme['gridColumn'];
7
+ type AvailableGridRowStart = keyof DefaultTheme['gridRowStart'];
8
+ type AvailableGridRowSpan = keyof DefaultTheme['gridRow'];
9
+
4
10
  export type GridItemProps = HTMLAttributes<HTMLDivElement> & {
5
- columnStart?: string | ViewPort<string>;
6
- columnSpan?: string | ViewPort<string>;
7
- rowStart?: string | ViewPort<string>;
8
- rowSpan?: string | ViewPort<string>;
11
+ columnStart?: AvailableColumnStart | ViewPort<AvailableColumnStart>;
12
+ columnSpan?: AvailableColumnSpan | ViewPort<AvailableColumnSpan>;
13
+ rowStart?: AvailableGridRowStart | ViewPort<AvailableGridRowStart>;
14
+ rowSpan?: AvailableGridRowSpan | ViewPort<AvailableGridRowSpan>;
9
15
  className?: string;
10
16
  };
11
17
 
@@ -2,7 +2,7 @@ import { PropsWithChildren, ReactNode } from 'react';
2
2
  import { ContainerProps as BaseContainerProps } from '@/components/ui/Container';
3
3
 
4
4
  export type HeaderProps = PropsWithChildren &
5
- Omit<BaseContainerProps, 'fluidContent' | 'height'> & {
5
+ Omit<BaseContainerProps, 'fluidContent' | 'fullHeight'> & {
6
6
  leftSection?: ReactNode;
7
7
  rightSection?: ReactNode;
8
8
  color?: string;
@@ -1,15 +1,18 @@
1
1
  import { ReactElement } from 'react';
2
+ import { DefaultTheme } from 'tailwindcss/types/generated/default-theme';
2
3
  import { ViewPort } from '@/types/cskTypes';
3
4
 
5
+ type TextSize = keyof DefaultTheme['fontSize'];
6
+
4
7
  export type TextProps = {
5
8
  className?: string;
6
- size?: string | ViewPort<string>;
9
+ size?: TextSize | ViewPort<TextSize>;
7
10
  color?: string;
8
- weight?: string;
11
+ weight?: keyof DefaultTheme['fontWeight'];
9
12
  font?: string;
10
13
  transform?: 'uppercase' | 'lowercase' | 'capitalize' | 'normal-case';
11
14
  decoration?: 'underline' | 'overline' | 'line-through' | 'no-underline';
12
- letterSpacing?: string;
15
+ letterSpacing?: keyof DefaultTheme['letterSpacing'];
13
16
  children: ReactElement | string;
14
17
  alignment?: 'left' | 'center' | 'right';
15
18
  lineCountRestrictions?: string;
@@ -0,0 +1 @@
1
+ "use client";import{a as L}from"./chunk-BK7UG4U4.mjs";import{b as d}from"./chunk-YUCUJWBO.mjs";import{a as h}from"./chunk-2YTACEBA.mjs";import{c as I}from"./chunk-S7CSCIW4.mjs";import"./chunk-YEKQJ4YC.mjs";import{UniformSlot as $}from"@uniformdev/canvas-next-rsc/component";import R from"react-responsive-masonry";import{Fragment as N,jsx as y}from"react/jsx-runtime";var g={firstLineCount:2,secondLineCount:3,otherLinesCount:4},P=({slot:n,aspectRatio:s,config:r})=>{let{firstLineCount:i=g.firstLineCount,secondLineCount:p=g.secondLineCount,otherLinesCount:m=g.otherLinesCount}=r||{},{items:f=[]}=n||{},c=f.reduce((e,o,t)=>(t<i?e[0]?.push(o):t<i+p?e[1]?.push(o):e[2]?.push(o),e),[[],[],[]])||[];return y(N,{children:c?.map((e,o)=>e.length?y(R,{columnsCount:o<2||e.length<m?e.length:m,gutter:"4px",children:e.map((t,u)=>y("div",{className:I("flex flex-1 items-center justify-center",{[`aspect-${s}`]:!!s}),children:t},`img-${u}`))},`line-${o}`):null)})};import{jsx as l}from"react/jsx-runtime";var b=({slots:n,aspectRatio:s,items:r,backgroundColor:i,spacing:p,border:m,fluidContent:f,fullHeight:c,fitHeight:e,height:o,config:t,context:u,component:C})=>{let F=r?.length?{name:"items",items:h(r)?.map((a,G)=>l(L,{src:a.url,style:{objectFit:"cover"},alt:`Image ${G}`,fill:!0},a?.id||`image-${G}`))||[]}:n.imageGalleryItems,v=!r?.length&&!C?.slots?.imageGalleryItems?.filter(({_id:a})=>!a?.startsWith("placeholder"))?.length;return l(d,{backgroundColor:i,spacing:p,border:m,fluidContent:f,fullHeight:c,fitHeight:e,height:o,children:l("div",{className:"flex flex-col gap-1",children:v?l($,{context:u,slot:n.imageGalleryItems,data:C}):l(P,{slot:F,aspectRatio:s,config:t})})})};export{b as ImageGallery};
@@ -1,15 +1,17 @@
1
1
  import { ReactElement, PropsWithChildren, ReactNode, HTMLAttributes } from 'react';
2
+ import { DefaultTheme } from 'tailwindcss/types/generated/default-theme';
2
3
  import { ViewPort, SpaceType } from './types/cskTypes.mjs';
3
4
 
5
+ type TextSize$1 = keyof DefaultTheme['fontSize'];
4
6
  type TextProps = {
5
7
  className?: string;
6
- size?: string | ViewPort<string>;
8
+ size?: TextSize$1 | ViewPort<TextSize$1>;
7
9
  color?: string;
8
- weight?: string;
10
+ weight?: keyof DefaultTheme['fontWeight'];
9
11
  font?: string;
10
12
  transform?: 'uppercase' | 'lowercase' | 'capitalize' | 'normal-case';
11
13
  decoration?: 'underline' | 'overline' | 'line-through' | 'no-underline';
12
- letterSpacing?: string;
14
+ letterSpacing?: keyof DefaultTheme['letterSpacing'];
13
15
  children: ReactElement | string;
14
16
  alignment?: 'left' | 'center' | 'right';
15
17
  lineCountRestrictions?: string;
@@ -18,6 +20,7 @@ type TextProps = {
18
20
  declare enum ButtonVariant {
19
21
  Link = "link"
20
22
  }
23
+ type TextSize = keyof DefaultTheme['fontSize'];
21
24
  type ButtonProps = PropsWithChildren<{
22
25
  variant?: ButtonVariant;
23
26
  href?: string;
@@ -25,8 +28,8 @@ type ButtonProps = PropsWithChildren<{
25
28
  size?: string;
26
29
  className?: string;
27
30
  textColor?: string;
28
- textSize?: string | ViewPort<string>;
29
- textWeight?: string;
31
+ textSize?: TextSize | ViewPort<TextSize>;
32
+ textWeight?: keyof DefaultTheme['fontWeight'];
30
33
  textFont?: 'uppercase' | 'lowercase' | 'capitalize' | 'normal-case';
31
34
  textTransform?: string;
32
35
  buttonColor?: string;
@@ -43,18 +46,22 @@ type ContainerProps = HTMLAttributes<HTMLDivElement> & {
43
46
  spacing?: SpaceType | ViewPort<SpaceType>;
44
47
  border?: string | ViewPort<string>;
45
48
  fluidContent?: boolean;
49
+ /** @deprecated Use height prop instead */
50
+ fullHeight?: boolean;
51
+ /** @deprecated Use height prop instead */
52
+ fitHeight?: boolean;
46
53
  height?: string | ViewPort<string>;
47
54
  wrapperClassName?: string;
48
55
  maxWidth?: string;
49
56
  };
50
57
 
51
- type FooterProps = Omit<ContainerProps, 'height' | 'content'> & {
58
+ type FooterProps = Omit<ContainerProps, 'fullHeight' | 'content'> & {
52
59
  logo?: React.ReactNode;
53
60
  copyright?: React.ReactNode;
54
61
  content?: React.ReactNode;
55
62
  };
56
63
 
57
- type HeaderProps = PropsWithChildren & Omit<ContainerProps, 'fluidContent' | 'height'> & {
64
+ type HeaderProps = PropsWithChildren & Omit<ContainerProps, 'fluidContent' | 'fullHeight'> & {
58
65
  leftSection?: ReactNode;
59
66
  rightSection?: ReactNode;
60
67
  color?: string;
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{a as x,b as y,c as w,d as E,e as F,f as S,g as P,h as R,i as $,j as I,k as _}from"./chunk-TFA6HYP4.mjs";import"./chunk-YEKQJ4YC.mjs";import{program as V}from"commander";import g from"node:path";import*as b from"ora";import{dirname as N}from"path";import{fileURLToPath as ee}from"url";import{checkbox as te}from"@inquirer/prompts";import U from"node:fs";var q=(r,t)=>U.readdirSync(r,{withFileTypes:!0}).filter(e=>t==="folder"?e.isDirectory():e.isFile()).map(e=>e.name),T=r=>q(r,"folder");import f from"node:fs";import a from"node:path";import{confirm as z}from"@inquirer/prompts";var K=async r=>{f.existsSync(r)||await f.promises.mkdir(r,{recursive:!0})};var O=r=>{let t=y.find(o=>f.existsSync(r+o));if(t)return r+t;let e=y.find(o=>f.existsSync(a.join(r,`index${o}`)));if(e)return a.join(r,`index${e}`)},Q=r=>{let e=f.readFileSync(r,"utf8").match(x)?.map(n=>n.replace(/['"]/g,"")),o=e?.filter(n=>n.startsWith("@/")).map(n=>n.replace("@/","")),s=e?.filter(n=>!n.startsWith("@/")).map(n=>n);return{aliases:o,relativePaths:s}},h=async(r,t,e)=>{e.add(r);let{aliases:o=[],relativePaths:s=[]}=Q(r);if(o.length)for(let n of o){let i=O(a.join(t,n));i&&!e.has(i)&&await h(i,t,e)}if(s.length)for(let n of s){let i=O(a.join(a.dirname(r),n));i&&!e.has(i)&&await h(i,t,e)}},j=5,A=async(r,t,e,o,s)=>{try{let n=new Set;s?.start("Searching for all canvas components and their dependencies...");for(let c of e){let l=a.join(r,c),d=f.readdirSync(l,{withFileTypes:!0}).filter(m=>m.isFile()&&w.includes(m.name));for(let m of d)await h(a.join(m?.path||m.parentPath,m.name),o,n)}let i=Array.from(n),p=i.filter(c=>{let l=a.join(t,a.relative(o,c));return f.existsSync(l)&&f.readFileSync(l,"utf8")!==f.readFileSync(c,"utf8")}),u=await(async()=>{if(!p.length)return!0;s?.stop();let c=p.slice(0,j).map(d=>a.relative(process.cwd(),a.join(t,a.relative(o,d)))).join(`
1
+ import{a as x,b as y,c as w,d as E,e as F,f as S,g as P,h as R,i as $,j as I,k as _}from"./chunk-3PDY7RJC.mjs";import"./chunk-YEKQJ4YC.mjs";import{program as V}from"commander";import g from"node:path";import*as b from"ora";import{dirname as N}from"path";import{fileURLToPath as ee}from"url";import{checkbox as te}from"@inquirer/prompts";import U from"node:fs";var q=(r,t)=>U.readdirSync(r,{withFileTypes:!0}).filter(e=>t==="folder"?e.isDirectory():e.isFile()).map(e=>e.name),T=r=>q(r,"folder");import f from"node:fs";import a from"node:path";import{confirm as z}from"@inquirer/prompts";var K=async r=>{f.existsSync(r)||await f.promises.mkdir(r,{recursive:!0})};var O=r=>{let t=y.find(o=>f.existsSync(r+o));if(t)return r+t;let e=y.find(o=>f.existsSync(a.join(r,`index${o}`)));if(e)return a.join(r,`index${e}`)},Q=r=>{let e=f.readFileSync(r,"utf8").match(x)?.map(n=>n.replace(/['"]/g,"")),o=e?.filter(n=>n.startsWith("@/")).map(n=>n.replace("@/","")),s=e?.filter(n=>!n.startsWith("@/")).map(n=>n);return{aliases:o,relativePaths:s}},h=async(r,t,e)=>{e.add(r);let{aliases:o=[],relativePaths:s=[]}=Q(r);if(o.length)for(let n of o){let i=O(a.join(t,n));i&&!e.has(i)&&await h(i,t,e)}if(s.length)for(let n of s){let i=O(a.join(a.dirname(r),n));i&&!e.has(i)&&await h(i,t,e)}},j=5,A=async(r,t,e,o,s)=>{try{let n=new Set;s?.start("Searching for all canvas components and their dependencies...");for(let c of e){let l=a.join(r,c),d=f.readdirSync(l,{withFileTypes:!0}).filter(m=>m.isFile()&&w.includes(m.name));for(let m of d)await h(a.join(m?.path||m.parentPath,m.name),o,n)}let i=Array.from(n),p=i.filter(c=>{let l=a.join(t,a.relative(o,c));return f.existsSync(l)&&f.readFileSync(l,"utf8")!==f.readFileSync(c,"utf8")}),u=await(async()=>{if(!p.length)return!0;s?.stop();let c=p.slice(0,j).map(d=>a.relative(process.cwd(),a.join(t,a.relative(o,d)))).join(`
2
2
  `),l=p.length>j?`
3
3
  ...`:"";return z({message:`Found ${p.length} files that will be overridden:
4
4
  ${c}${l}
@@ -1 +1 @@
1
- "use client";import{a as u,b as s}from"./chunk-TCQTXNKT.mjs";import{a as o}from"./chunk-7GVG4HLE.mjs";import{c as n}from"./chunk-S7CSCIW4.mjs";import"./chunk-YEKQJ4YC.mjs";import{useState as C}from"react";import{jsx as e,jsxs as l}from"react/jsx-runtime";var B=({isOpen:t,onClick:i,color:a})=>e("button",{onClick:i,"aria-label":"Menu",className:n("w-7 h-7 relative focus:outline-none"),children:l("div",{className:"absolute left-1/2 top-1/2 block w-7 -translate-x-1/2 -translate-y-1/2",children:[e("span",{"aria-hidden":"true",className:n("block absolute h-0.5 w-7 transform transition duration-500 ease-in-out",{"rotate-45":t," -translate-y-2":!t,[`bg-${a}`]:!!a})}),e("span",{"aria-hidden":"true",className:n("block absolute h-0.5 w-7 transform transition duration-500 ease-in-out",{"opacity-0":t,[`bg-${a}`]:!!a})}),e("span",{"aria-hidden":"true",className:n("block absolute h-0.5 w-7 transform transition duration-500 ease-in-out",{"-rotate-45":t," translate-y-2":!t,[`bg-${a}`]:!!a})})]})}),G=({leftSection:t,rightSection:i,children:a,backgroundColor:m,spacing:c,border:d,className:p,color:f})=>{let[r,b]=C(!1);return l("nav",{children:[e(o,{id:"mobile-header",fluidContent:!0,backgroundColor:m,spacing:c,border:d,className:p,children:l(u,{className:"items-center",columnsCount:"12",children:[e(s,{columnSpan:"span-2",children:e(B,{isOpen:r,onClick:()=>{b(v=>!v)},color:f})}),e(s,{columnSpan:"span-6",children:e("div",{className:"flex items-center justify-start",children:t})}),e(s,{columnSpan:"span-4",children:e("div",{className:"flex items-center justify-end gap-x-4",children:i})})]})}),e(o,{fluidContent:!0,className:n({"min-h-screen":r}),backgroundColor:m,children:r&&e("div",{className:"size-full py-8",children:e("div",{className:"flex flex-col items-center justify-center gap-y-8",children:a})})})]})};export{G as MobileHeader};
1
+ "use client";import{a as u,b as s}from"./chunk-Z7JSWSPD.mjs";import{b as o}from"./chunk-YUCUJWBO.mjs";import{c as n}from"./chunk-S7CSCIW4.mjs";import"./chunk-YEKQJ4YC.mjs";import{useState as C}from"react";import{jsx as e,jsxs as l}from"react/jsx-runtime";var B=({isOpen:t,onClick:i,color:a})=>e("button",{onClick:i,"aria-label":"Menu",className:n("w-7 h-7 relative focus:outline-none"),children:l("div",{className:"absolute left-1/2 top-1/2 block w-7 -translate-x-1/2 -translate-y-1/2",children:[e("span",{"aria-hidden":"true",className:n("block absolute h-0.5 w-7 transform transition duration-500 ease-in-out",{"rotate-45":t," -translate-y-2":!t,[`bg-${a}`]:!!a})}),e("span",{"aria-hidden":"true",className:n("block absolute h-0.5 w-7 transform transition duration-500 ease-in-out",{"opacity-0":t,[`bg-${a}`]:!!a})}),e("span",{"aria-hidden":"true",className:n("block absolute h-0.5 w-7 transform transition duration-500 ease-in-out",{"-rotate-45":t," translate-y-2":!t,[`bg-${a}`]:!!a})})]})}),G=({leftSection:t,rightSection:i,children:a,backgroundColor:m,spacing:c,border:d,className:p,color:f})=>{let[r,b]=C(!1);return l("nav",{children:[e(o,{id:"mobile-header",fluidContent:!0,backgroundColor:m,spacing:c,border:d,className:p,children:l(u,{className:"items-center",columnsCount:"12",children:[e(s,{columnSpan:"span-2",children:e(B,{isOpen:r,onClick:()=>{b(v=>!v)},color:f})}),e(s,{columnSpan:"span-6",children:e("div",{className:"flex items-center justify-start",children:t})}),e(s,{columnSpan:"span-4",children:e("div",{className:"flex items-center justify-end gap-x-4",children:i})})]})}),e(o,{fluidContent:!0,className:n({"min-h-screen":r}),backgroundColor:m,children:r&&e("div",{className:"size-full py-8",children:e("div",{className:"flex flex-col items-center justify-center gap-y-8",children:a})})})]})};export{G as MobileHeader};
@@ -0,0 +1 @@
1
+ "use client";import{a as u}from"./chunk-2SEOCBRK.mjs";import"./chunk-MSXDLSXH.mjs";import{c as s}from"./chunk-S7CSCIW4.mjs";import"./chunk-YEKQJ4YC.mjs";import{useCallback as d,useState as N,useRef as S,useEffect as y}from"react";import{UniformSlot as c}from"@uniformdev/canvas-next-rsc/component";import{jsx as v}from"react/jsx-runtime";var h=({className:o,...t})=>v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",className:s("size-8",o),...t,children:v("path",{d:"m16.192 6.344-4.243 4.242-4.242-4.242-1.414 1.414L10.535 12l-4.242 4.242 1.414 1.414 4.242-4.242 4.243 4.242 1.414-1.414L13.364 12l4.242-4.242z"})});var M=({showModal:o})=>s("fixed left-0 top-0 size-full",{hidden:!o,block:o}),P=({maxWidth:o,backgroundColor:t})=>s("rounded-lg shadow-lg relative",u[o||"small"],{[`bg-${t}`]:!!t}),b=({disableCloseModalOnClickOutside:o})=>s("group absolute right-4 top-4 opacity-40 hover:opacity-100",{hidden:o});import{jsx as e,jsxs as k}from"react/jsx-runtime";var O=({slots:o,component:t,context:a,maxWidth:x,backgroundColor:E,closeIconColor:p,disableCloseModalOnClickOutside:r})=>{let i=S(null),[C,n]=N(!1),F=d(()=>{r||n(!1)},[r]),f=d(()=>{n(l=>!l)},[]),w=d(l=>{l.stopPropagation()},[]);return y(()=>{if(!i.current)return;let l=i.current.querySelectorAll("button, a"),g=()=>n(!1);return l.forEach(m=>{m.addEventListener("click",g)}),()=>l.forEach(m=>{m.removeEventListener("click",g)})},[]),k("div",{children:[e("div",{onClick:f,children:e(c,{data:t,context:a,slot:o.trigger})}),e("div",{className:M({showModal:C}),children:e("dialog",{open:C,onClick:F,"aria-label":"Close modal","aria-modal":"true",className:"flex size-full items-center justify-center bg-black/50 px-4",children:k("form",{method:"dialog",className:P({maxWidth:x,backgroundColor:E}),onClick:w,children:[e("button",{onClick:f,className:b({disableCloseModalOnClickOutside:r}),children:e(h,{className:s({[`fill-${p}`]:p})})}),e("div",{className:"p-6 md:p-8",children:e(c,{data:t,context:a,slot:o.modalContent})}),o?.modalActions?.items?.length&&e("div",{ref:i,className:"border-t p-6 md:p-8",children:e(c,{data:t,context:a,slot:o.modalActions})})]})})})]})};export{O as Modal};
@@ -0,0 +1 @@
1
+ "use client";import{a as H}from"./chunk-TM7Q5NMH.mjs";import{a as B}from"./chunk-AKRWCDDG.mjs";import{a as k}from"./chunk-6TUDWIYU.mjs";import"./chunk-QHIWJPL6.mjs";import{a as w,b as y}from"./chunk-Z7JSWSPD.mjs";import{a as C}from"./chunk-BK7UG4U4.mjs";import"./chunk-YUCUJWBO.mjs";import{a as g}from"./chunk-2YTACEBA.mjs";import{a as u,c as o}from"./chunk-S7CSCIW4.mjs";import"./chunk-YEKQJ4YC.mjs";import{useCallback as O,useMemo as et,useState as at}from"react";import{UniformText as st}from"@uniformdev/canvas-next-rsc/component";import{UniformSlot as M}from"@uniformdev/canvas-next-rsc/component";import{jsx as m,jsxs as _}from"react/jsx-runtime";var G=({isOpen:t,backgroundColor:s,context:e,slots:i,border:r,component:n,hasRightContent:l})=>m("div",{className:o("absolute z-10 w-max left-1/2 -translate-x-1/2 pt-4",{hidden:!t,block:t,"w-full md:w-[460px]":!l,"w-full md:w-[460px] xl:w-[768px]":l}),children:m("div",{className:o("p-8",{[`bg-${s}`]:!!s,[u(r,"{value}")]:r}),children:_(w,{columnsCount:"2",gapX:"4",children:[m(y,{children:m("div",{className:"flex flex-col gap-y-4",children:m(M,{context:e,data:n,slot:i.navigationFlyoutLeftContent})})}),m(y,{children:m(M,{context:e,data:n,slot:i.navigationFlyoutRightContent})})]})})});import{useEffect as j,useState as tt}from"react";import{UniformSlot as L}from"@uniformdev/canvas-next-rsc/component";import{jsx as d,jsxs as R}from"react/jsx-runtime";var ot=()=>{let[t,s]=tt(0);return j(()=>{let e=document.getElementById("mobile-header");e&&s(e.offsetHeight)},[]),t},S=({isOpen:t,backgroundColor:s,context:e,slots:i,onClose:r,component:n})=>{let l=ot();return R("div",{style:{top:l},className:o("fixed left-0 right-0 bottom-0 z-10 w-full pt-4",{[`bg-${s}`]:!!s,hidden:!t,block:t}),children:[d("button",{onClick:r,className:"w-max rotate-180 px-4",children:d(k,{})}),R("div",{className:"flex flex-col items-center justify-center gap-y-8 p-4",children:[d(L,{context:e,data:n,slot:i.navigationFlyoutLeftContent}),d(L,{context:e,data:n,slot:i.navigationFlyoutRightContent})]})]})};var U=({isOpen:t})=>o("transition transform hidden md:block",{"rotate-180":t,"rotate-0":!t}),D=({color:t})=>o("flex items-center gap-x-2",{[`text-${t}`]:!!t});import{jsx as a,jsxs as $}from"react/jsx-runtime";var Gt=({icon:t,caretIcon:s,backgroundColor:e,border:i,size:r,tag:n,color:l,weight:T,font:V,transform:A,decoration:E,letterSpacing:z,alignment:W,component:p,context:v,slots:N,hoverEffect:F="",className:X})=>{let[f,P]=at(!1),q=O(()=>P(!0),[]),h=O(()=>P(!1),[]),J=et(()=>!!p.slots?.navigationFlyoutRightContent?.length,[p.slots]),[K]=g(t),{url:c,title:x=""}=K||{},Q=()=>c?c.endsWith(".svg")?a(H,{src:c,alt:x,fill:!0}):a(C,{src:c,alt:x,fill:!0}):null,b=o("transition-all duration-150",{[u(F,"group-hover:{value}")]:!!F}),[Y]=g(s),{url:I,title:Z=""}=Y||{};return $("div",{className:"relative",onMouseLeave:h,children:[$("button",{onMouseEnter:q,className:D({color:l}),children:[a(B,{icon:Q(),className:o("group",X),iconClassName:b,textClassName:b,size:r,tag:n,color:l,weight:T,font:V,transform:A,decoration:E,letterSpacing:z,alignment:W,children:a(st,{placeholder:"Text goes here",parameterId:"text",component:p,context:v})}),I&&a("div",{className:o("relative size-[1em]",U({isOpen:f}),{[`text-${r}`]:!!r}),children:a(C,{src:I,alt:Z,fill:!0})})]}),a("div",{className:"hidden md:block",children:a(G,{hasRightContent:J,isOpen:f,backgroundColor:e,context:v,slots:N,border:i,component:p})}),a("div",{className:"block md:hidden",children:a(S,{onClose:h,isOpen:f,backgroundColor:e,context:v,slots:N,border:i,component:p})})]})};export{Gt as NavigationFlyout};
@@ -0,0 +1 @@
1
+ "use client";import{a as B}from"./chunk-TM7Q5NMH.mjs";import{a as I}from"./chunk-AKRWCDDG.mjs";import{a as y}from"./chunk-6TUDWIYU.mjs";import"./chunk-QHIWJPL6.mjs";import{a as f}from"./chunk-BK7UG4U4.mjs";import{a as v}from"./chunk-2YTACEBA.mjs";import{a as l,c as t}from"./chunk-S7CSCIW4.mjs";import"./chunk-YEKQJ4YC.mjs";import{useCallback as S,useState as _}from"react";import{UniformText as j}from"@uniformdev/canvas-next-rsc/component";import{UniformSlot as K}from"@uniformdev/canvas-next-rsc/component";import{jsx as p}from"react/jsx-runtime";var F=({isOpen:o,backgroundColor:s,context:e,slots:i,border:a})=>p("div",{className:t("absolute left-0 max-w-64 z-10 pt-4",{hidden:!o,block:o}),children:p("div",{className:t({[`bg-${s}`]:!!s,[l(a,"{value}")]:a}),children:p("div",{className:"flex flex-col gap-y-4 p-4",children:p(K,{data:e,slot:i.links,context:e})})})});import{useEffect as Q,useState as R}from"react";import{UniformSlot as X}from"@uniformdev/canvas-next-rsc/component";import{jsx as m,jsxs as Z}from"react/jsx-runtime";var Y=()=>{let[o,s]=R(0);return Q(()=>{let e=document.getElementById("mobile-header");e&&s(e.offsetHeight)},[]),o},H=({isOpen:o,backgroundColor:s,context:e,slots:i,onClose:a})=>{let c=Y();return Z("div",{style:{top:c},className:t("fixed left-0 right-0 bottom-0 z-10 w-full pt-4",{[`bg-${s}`]:!!s,hidden:!o,block:o}),children:[m("button",{onClick:a,className:"w-max rotate-180 px-4",children:m(y,{})}),m("div",{className:"flex flex-col items-center gap-y-4 p-4",children:m(X,{data:e,slot:i.links,context:e})})]})};var w=({isOpen:o})=>t("transition transform hidden md:block",{"rotate-180":o,"rotate-0":!o}),M=({color:o})=>t("flex items-center gap-x-2",{[`text-${o}`]:!!o});import{jsx as r,jsxs as U}from"react/jsx-runtime";var yo=({icon:o,caretIcon:s,backgroundColor:e,border:i,size:a,tag:c,color:g,weight:D,font:O,transform:$,decoration:L,letterSpacing:T,alignment:V,component:A,context:d,slots:C,hoverEffect:N="",className:E})=>{let[u,b]=_(!1),P=S(()=>b(!0),[]),x=S(()=>b(!1),[]),[z]=v(o),{url:n,title:h=""}=z||{},W=()=>n?n.endsWith(".svg")?r(B,{src:n,alt:h,fill:!0}):r(f,{src:n,alt:h,fill:!0}):null,G=t("transition-all duration-150",{[l(N,"group-hover:{value}")]:!!N}),[q]=v(s),{url:k,title:J=""}=q||{};return U("div",{className:"relative",onMouseLeave:x,children:[U("button",{onMouseEnter:P,onClick:P,className:M({color:g}),children:[r(I,{icon:W(),className:t("group",E),iconClassName:G,textClassName:G,size:a,tag:c,color:g,weight:D,font:O,transform:$,decoration:L,letterSpacing:T,alignment:V,children:r(j,{placeholder:"Text goes here",parameterId:"text",component:A,context:d})}),k&&r("div",{className:t("relative size-[1em]",w({isOpen:u}),{[`text-${a}`]:!!a}),children:r(f,{src:k,alt:J,fill:!0})})]}),r("div",{className:"hidden md:block",children:r(F,{isOpen:u,backgroundColor:e,context:d,slots:C,border:i})}),r("div",{className:"block md:hidden",children:r(H,{onClose:x,isOpen:u,backgroundColor:e,context:d,slots:C})})]})};export{yo as NavigationGroup};
@@ -0,0 +1 @@
1
+ "use client";import"./chunk-FPOIJMYT.mjs";import{b as f}from"./chunk-YUCUJWBO.mjs";import"./chunk-MSXDLSXH.mjs";import{c as m}from"./chunk-S7CSCIW4.mjs";import"./chunk-YEKQJ4YC.mjs";import{Fragment as C,useCallback as V,useEffect as h,useMemo as F,useState as E}from"react";import{flattenValues as I}from"@uniformdev/canvas";import{UniformSlot as N,UniformText as S}from"@uniformdev/canvas-next-rsc/component";var u=({color:r,variant:a})=>m("flex flex-row overflow-x-auto ",{[`border-${r} border-b`]:r&&a==="bordered"}),p=({color:r,variant:a,tabItem:t,activeTabId:e})=>m("text-lg shrink-0 font-medium px-5 py-3",{[`text-${r}`]:r,[`border-${r}`]:t.id===e&&a==="bordered","border-b-2":a==="bordered","opacity-60 hover:opacity-100":t.id!==e,"border-transparent":t.id!==e&&a==="bordered"});import{jsx as i,jsxs as U}from"react/jsx-runtime";var L=({slots:r,color:a,component:t,context:e,backgroundColor:g,spacing:T,border:c,fluidContent:x,fullHeight:B,fitHeight:P,height:y})=>{let b=t.variant||"default",[n,d]=E(t?.slots?.tabItems?.[0]?._id),l=F(()=>t?.slots?.tabItems?t.slots.tabItems.map(s=>({...I(s),id:s._id})):[],[t?.slots?.tabItems]);h(()=>{l.length&&(n||d(l[0]?.id||""))},[l,n]);let k=V(s=>{e.isContextualEditing&&d(s)},[e.isContextualEditing]);return U(f,{className:"flex flex-col gap-5",backgroundColor:g,spacing:T,border:c,fluidContent:x,fullHeight:B,fitHeight:P,height:y,children:[i("div",{className:u({color:a,variant:b}),children:l.map((s,o)=>i("button",{onClick:()=>d(s.id),className:p({color:a,variant:b,tabItem:s,activeTabId:n}),children:t?.slots?.tabItems?.[o]&&i(S,{onFocus:()=>k(s.id),context:e,parameterId:"text",component:t?.slots?.tabItems[o],placeholder:"Tab title"})},s.id))}),i(N,{data:t,context:e,slot:r.tabItems,children:({child:s,component:{_id:o}})=>o===n?i(C,{children:s},o):i(C,{},o)})]})};export{L as Tabs};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/csk-components",
3
- "version": "6.0.121-alpha.1",
3
+ "version": "6.1.57",
4
4
  "description": "Components Starter Kit that provides a set of basic components for building websites within a Uniform project",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -67,23 +67,23 @@
67
67
  "commander": "^9.0.0",
68
68
  "cookies-next": "^4.3.0",
69
69
  "dotenv": "16.4.7",
70
- "next-themes": "^0.4.6",
70
+ "next-themes": "^0.4.4",
71
71
  "ora": "^8.1.1",
72
72
  "prettier": "3.5.2",
73
73
  "react-player": "^2.16.0",
74
74
  "react-responsive-masonry": "^2.7.0",
75
- "tailwind-merge": "^3.3.1"
75
+ "tailwind-merge": "^2.5.2"
76
76
  },
77
77
  "devDependencies": {
78
78
  "@repo/eslint-config": "*",
79
79
  "@repo/typescript-config": "*",
80
- "@uniformdev/assets": "^20.25.0",
81
- "@uniformdev/canvas": "^20.25.0",
82
- "@uniformdev/canvas-next-rsc": "^20.25.0",
83
- "next": "^15.4.2",
84
- "react": "^19.1.0",
85
- "react-dom": "^19.1.0",
86
- "tailwindcss": "^4.1.11",
80
+ "@uniformdev/assets": "^20.46.0",
81
+ "@uniformdev/canvas": "^20.46.0",
82
+ "@uniformdev/canvas-next-rsc": "^20.46.0",
83
+ "next": "^15.5.9",
84
+ "react": "^19.2.3",
85
+ "react-dom": "^19.2.3",
86
+ "tailwindcss": "^3.4.17",
87
87
  "tsup": "^8.3.0",
88
88
  "tsx": "^4.19.2"
89
89
  },
@@ -1 +0,0 @@
1
- "use client";import{a as r}from"./chunk-7GVG4HLE.mjs";import{c as l}from"./chunk-S7CSCIW4.mjs";import"./chunk-YEKQJ4YC.mjs";import{useCallback as C,useState as L}from"react";import{jsx as i}from"react/jsx-runtime";var s=({className:t,...o})=>i("svg",{className:t,width:"15",height:"9",viewBox:"0 0 15 9",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...o,children:i("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.50013 0L0 7.13651L1.95843 9L7.5 3.7271L13.0416 9L15 7.13651L7.50013 0Z",fill:"currentColor"})});import{jsx as p}from"react/jsx-runtime";var c=({className:t,...o})=>p("svg",{className:t,width:"15",height:"9",viewBox:"0 0 15 9",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...o,children:p("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.49987 9L15 1.86349L13.0416 0L7.5 5.2729L1.95843 0L0 1.86349L7.49987 9Z",fill:"currentColor"})});import{jsx as e,jsxs as m}from"react/jsx-runtime";var N=({text:t,backgroundColor:o,spacing:w,className:f,accordionItemContent:d})=>{let[n,u]=L(!1),v=C(()=>u(a=>!a),[]);return m(r,{fluidContent:!0,children:[e(r,{backgroundColor:o,spacing:w,fluidContent:!0,className:f,children:m("button",{onClick:v,className:"flex w-full cursor-pointer flex-row items-center justify-between text-start",children:[t,e("div",{className:l({[`text-${o} invert`]:!!o,"text-black dark:text-white":!o}),children:n?e(s,{}):e(c,{})})]})}),n&&d]})};export{N as AccordionItem};
@@ -1 +0,0 @@
1
- "use client";import{a as m}from"./chunk-PMMAALCQ.mjs";import{a as r}from"./chunk-WAW7PQYM.mjs";import"./chunk-S7CSCIW4.mjs";import"./chunk-YEKQJ4YC.mjs";import{UniformSlot as T,UniformText as B}from"@uniformdev/canvas-next-rsc/component";import{jsx as o}from"react/jsx-runtime";var U=({tag:n,alignment:c,color:i,size:d,font:a,weight:p,transform:s,decoration:f,letterSpacing:x,slots:I,component:t,context:e,backgroundColor:l,spacing:A,className:C})=>o(m,{backgroundColor:l,spacing:A,className:C,text:o(r,{alignment:c,color:i,size:d,font:a,weight:p,transform:s,decoration:f,letterSpacing:x,children:o(B,{placeholder:"Text goes here",parameterId:"text",as:n||void 0,component:t,context:e})}),accordionItemContent:o(T,{data:t,context:e,slot:I.accordionItemContent})});export{U as AccordionItem};
@@ -1 +0,0 @@
1
- "use client";import"./chunk-EUVKAE6M.mjs";import{a as p}from"./chunk-7GVG4HLE.mjs";import{a as x,c as s}from"./chunk-S7CSCIW4.mjs";import"./chunk-YEKQJ4YC.mjs";import{useCallback as h,useEffect as N,useMemo as S,useRef as T,useState as y}from"react";import{jsx as i,jsxs as a}from"react/jsx-runtime";var H=({countOfItems:o,backgroundColor:t,spacing:w,border:C,fluidContent:k,height:z,itemsPerPage:E="1",children:P,gapX:c,variant:b="default"})=>{let u=T(null),[f,m]=y(0),[R,$]=y(!1),l=Number(E),n=S(()=>o?l>1?Math.ceil(o/l):o:0,[o,l]);N(()=>{let e=()=>$(r=>!r);return window.addEventListener("resize",e,{passive:!0}),()=>window.removeEventListener("resize",e)},[]),N(()=>{if(u.current){let{clientWidth:e}=u.current;u.current.scrollLeft=f*e}},[f,R]);let d=h(()=>{m(e=>e===0?n-1:e-1)},[n]),v=h(()=>{m(e=>e===n-1?0:e+1)},[n]),L=()=>b==="brochure"?a("div",{className:s("flex py-4 px-4 z-5 gap-x-4 justify-end items-center"),children:[i("button",{onClick:d,children:"\u276E"}),i("div",{className:"flex items-center gap-2",children:Array.from({length:n}).map((e,r)=>i("button",{onClick:()=>m(r),className:s("h-2 rounded-full transition-all duration-300 size-2 opacity-50",{"w-6 opacity-100":r===f,[`bg-${t} invert`]:!!t,"bg-black dark:bg-white":!t}),"aria-label":`Go to slide ${r+1}`},`slide-${r}`))}),i("button",{onClick:v,children:"\u276F"})]}):b==="numeric"?a("div",{className:s("flex py-4 px-4 z-5 gap-x-4 justify-end items-center",{[`text-${t} invert`]:!!t,"text-black dark:text-white":!t}),children:[i("button",{onClick:d,children:"\u276E"}),a("div",{className:"flex flex-col px-2",children:[f+1," of ",n]}),i("button",{onClick:v,children:"\u276F"})]}):a("div",{className:s("absolute inset-x-5 top-1/2 flex -translate-y-1/2 justify-between",{[`text-${t} invert`]:!!t,"text-black dark:text-white":!t}),children:[i("button",{onClick:d,children:"\u276E"}),i("button",{onClick:v,children:"\u276F"})]}),M=()=>P({className:s("flex size-full items-center justify-center",{[x(c,"px-{value}")]:c}),style:{minWidth:l>1?`calc(${100/l}%)`:"100%"}});return i(p,{backgroundColor:t,spacing:w,border:C,fluidContent:k,height:z,children:a("div",{className:s("relative",{[x(c,"-mx-{value}")]:c}),children:[i("div",{ref:u,className:"flex overflow-x-hidden scroll-smooth",children:M()}),L()]})})};export{H as Carousel};
@@ -1 +0,0 @@
1
- "use client";import{a as s}from"./chunk-EUVKAE6M.mjs";import"./chunk-YEKQJ4YC.mjs";import{UniformSlot as d}from"@uniformdev/canvas-next-rsc/component";import{jsx as o}from"react/jsx-runtime";var B=({slots:r,component:e,context:t,backgroundColor:a,spacing:l,border:m,fluidContent:i,height:u,itemsPerPage:f,gapX:C})=>o(s,{backgroundColor:a,spacing:l,border:m,fluidContent:i,height:u,itemsPerPage:f,gapX:C,countOfItems:r.carouselItems?.items.length??0,variant:e.variant,children:({className:n,style:p})=>o(d,{context:t,slot:r.carouselItems,data:e,children:({child:c,key:v})=>o("div",{className:n,style:p,children:c},v)})});export{B as Carousel};
@@ -1 +0,0 @@
1
- import a from"next/dynamic";var t={small:"max-w-xl",medium:"max-w-2xl",large:"max-w-4xl"},l=a(()=>import("./modal-5FNTFSTN.mjs").then(o=>o.Modal));export{t as a,l as b};
@@ -1 +0,0 @@
1
- import{a,b as c,c as o}from"./chunk-S7CSCIW4.mjs";import{jsx as f}from"react/jsx-runtime";var y=({className:w,wrapperClassName:x,style:P,children:T,backgroundColor:i,spacing:V,border:p="",fluidContent:e=!1,height:r,maxWidth:t,...b})=>{let[C,{marginTop:n,marginBottom:m,marginRight:l,marginLeft:s,paddingTop:g,paddingBottom:v,paddingRight:u,paddingLeft:d}]=c(V);return f("div",{className:o("px-4 xl:px-0",{"!px-0":e,"mx-auto w-full":!e,"max-w-7xl max-w-container-width":!t&&!e,[`max-w-${t}`]:!!t&&!e,[a(r,"h-{value}")]:r},x),children:f("div",{className:o({[`bg-${i}`]:!!i,[a(n,"mt-{value}")]:n,[a(m,"mb-{value}")]:m,[a(l,"mr-{value}")]:l,[a(s,"ml-{value}")]:s,[a(g,"pt-{value}")]:g,[a(v,"pb-{value}")]:v,[a(u,"pr-{value}")]:u,[a(d,"pl-{value}")]:d,[a(p,"{value}")]:p,[a(r,"h-{value}")]:r},w),style:{...C,...P},...b,children:T})})};export{y as a};
@@ -1 +0,0 @@
1
- import{b as B,c as w}from"./chunk-6TUDWIYU.mjs";import{a as F}from"./chunk-WAW7PQYM.mjs";import{a as R,b as c}from"./chunk-TCQTXNKT.mjs";import{a as m}from"./chunk-7GVG4HLE.mjs";import{d as y}from"./chunk-RX4IAAQQ.mjs";import{a as g,c as a}from"./chunk-S7CSCIW4.mjs";import{jsx as D,jsxs as E}from"react/jsx-runtime";var z=({accordionContent:e,accordionItems:o,backgroundColor:r,spacing:i,border:t,fluidContent:n,height:s,className:l})=>E(m,{className:a("flex flex-col gap-8",l),backgroundColor:r,spacing:i,border:t,fluidContent:n,height:s,children:[e&&D("div",{className:"flex flex-col gap-4 text-start",children:e}),o]});import O from"next/link";import{jsx as Z}from"react/jsx-runtime";var x=({children:e,link:o,openInNewTab:r,rel:i,className:t})=>Z(O,{href:o,className:a("[&:hover_img]:scale-[0.98] [&_img]:transition-transform hover:underline transition-transform",t),target:r?"_blank":"_self",rel:i,children:e});var L=(o=>(o.Link="link",o))(L||{});import{jsx as H,jsxs as K}from"react/jsx-runtime";var J=({children:e,href:o,className:r,onClick:i})=>{let t=y(o);return o?H(x,{className:r,link:o,openInNewTab:t,rel:t?"noopener noreferrer":"",children:e}):H("button",{onClick:i,className:r,children:e})},q=({variant:e,children:o,href:r,className:i,onClick:t,textColor:n,textSize:s,buttonColor:l,isActive:S,icon:f,iconPosition:W,border:P="",textTransform:h="",textWeight:C,textFont:u,size:N,hoverButtonColor:k,hoverTextColor:b})=>{let G=a("block w-max font-medium focus-visible:outline-none focus-visible:ring-1 disabled:pointer-events-none disabled:opacity-50",{[`text-${n}`]:n,[`hover:text-${b}`]:b,"flex flex-row gap-x-2":f,"flex-row-reverse":f&&W==="right",[`font-${u}`]:!!u,[`font-${C}`]:!!C,[`p-${N}`]:N,[h]:!!h,[g(P,"{value}")]:P,[g(s,"text-{value}")]:s}),V=a({[`bg-${l}`]:l,[`hover:bg-${k}`]:k}),_=a("bg-transparent hover:underline hover:opacity-100",{[`hover:decoration-${l}`]:l,"!underline":r===S});return K(J,{href:r,onClick:t,className:a(G,{[V]:!e,[_]:e==="link"},i),children:[f,o]})};import{jsx as I,jsxs as U}from"react/jsx-runtime";var Q=({type:e,placeholder:o})=>U("div",{className:"flex aspect-video size-full flex-col items-center justify-center bg-white text-black dark:bg-black dark:text-white",children:[I(e==="video"?w:B,{className:"size-1/2 max-h-36 max-w-36"}),!!o&&I(F,{className:"text-center",weight:"bold",children:o})]});import{jsx as v,jsxs as M}from"react/jsx-runtime";var X=({logo:e,content:o,copyright:r,backgroundColor:i,spacing:t,border:n,fluidContent:s})=>v("footer",{children:v(m,{backgroundColor:i,spacing:t,border:n,fluidContent:s,children:M(m,{className:"flex w-full flex-col justify-between gap-4 md:flex-row",children:[M("div",{className:"flex flex-col gap-2 gap-y-4 md:w-1/2",children:[e,r]}),v("div",{children:o})]})})});import j from"next/dynamic";import{jsx as p,jsxs as Y}from"react/jsx-runtime";var $=({leftSection:e,rightSection:o,children:r,backgroundColor:i,spacing:t,border:n,className:s})=>p("nav",{children:p(m,{fluidContent:!0,backgroundColor:i,spacing:t,border:n,className:s,children:Y(R,{className:"items-center",columnsCount:"12",children:[p(c,{columnSpan:"span-3",children:p("div",{className:"flex items-center justify-start",children:e})}),p(c,{columnSpan:"span-6",children:p("div",{className:"flex items-center justify-center gap-x-8",children:r})}),p(c,{columnSpan:"span-3",children:p("div",{className:"flex items-center justify-end gap-x-4",children:o})})]})})});import{jsx as d,jsxs as re}from"react/jsx-runtime";var ee=j(()=>import("./mobile-JGZBHQC2.mjs").then(e=>e.MobileHeader)),oe=({sticky:e,...o})=>re("header",{className:a({"sticky top-0 shadow z-10":e}),children:[d("div",{className:"hidden md:block",children:d($,{...o})}),d("div",{className:"block md:hidden",children:d(ee,{...o})})]});import{jsx as ie,jsxs as ae}from"react/jsx-runtime";var te=({className:e,header:o,footer:r,children:i,backgroundColor:t,...n})=>ae("div",{className:a("flex min-h-screen flex-col",e,{[`bg-${t}`]:!!t}),...n,children:[o,ie("div",{className:"flex flex-1 flex-col",children:i}),r]});import{jsx as A,jsxs as T}from"react/jsx-runtime";var ne=({rating:e,showReviewLabel:o,starsColor:r,activeStarsColor:i})=>T("div",{className:"flex items-center space-x-1",children:[Array.from({length:5},(t,n)=>{let s=e>=n+1;return A("svg",{className:a("w-5 h-5",{[`fill-${r}`]:!s,[`fill-${i}`]:s}),"aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 22 20",children:A("path",{d:"M20.924 7.625a1.523 1.523 0 0 0-1.238-1.044l-5.051-.734-2.259-4.577a1.534 1.534 0 0 0-2.752 0L7.365 5.847l-5.051.734A1.535 1.535 0 0 0 1.463 9.2l3.656 3.563-.863 5.031a1.532 1.532 0 0 0 2.226 1.616L11 17.033l4.518 2.375a1.534 1.534 0 0 0 2.226-1.617l-.863-5.03L20.537 9.2a1.523 1.523 0 0 0 .387-1.575Z"})},n)}),o&&T("div",{className:"text-sm leading-[3px]",children:["(",e,"/5)"]})]});export{z as a,x as b,q as c,L as d,Q as e,X as f,oe as g,te as h,ne as i};
@@ -1 +0,0 @@
1
- import t from"next/dynamic";var o=t(()=>import("./carousel-RZ2DV6QX.mjs").then(e=>e.Carousel));export{o as a};
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk-7GVG4HLE.mjs";import{a as e,c as l}from"./chunk-S7CSCIW4.mjs";import{jsx as m}from"react/jsx-runtime";var d=({className:r,wrapperClassName:t,direction:o,justifyContent:i,gap:s,alignItems:p,backgroundColor:f,spacing:P,border:c,fluidContent:v,height:a,children:y})=>m(n,{backgroundColor:f,spacing:P,border:c,fluidContent:v,height:a,wrapperClassName:t,children:m("div",{className:l("flex",{[e(o,"flex-{value}")]:o,[e(i,"justify-{value}")]:i,[e(s,"gap-{value}")]:s,[e(p,"items-{value}")]:p,[e(a,"h-{value}")]:a},r),children:y})});import{jsx as u}from"react/jsx-runtime";var x=({className:r,alignSelf:t,shrink:o,children:i})=>u("div",{className:l({[e(t,"self-{value}")]:t,[`shrink-${o}`]:o},r),children:i});import g from"next/dynamic";var D=g(()=>import("./video-RC2QHJS2.mjs").then(r=>r.Video));export{d as a,x as b,D as c};
@@ -1 +0,0 @@
1
- import t from"next/dynamic";var r=t(()=>import("./accordion-item-QAVKQEB2.mjs").then(o=>o.AccordionItem));export{r as a};
@@ -1 +0,0 @@
1
- import{a as x}from"./chunk-WAW7PQYM.mjs";import{c as g}from"./chunk-S7CSCIW4.mjs";import{jsx as h,jsxs as y}from"react/jsx-runtime";var N=({icon:e,size:t,tag:r,color:s,weight:o,font:a,transform:c,decoration:i,letterSpacing:d,alignment:f,children:p,textClassName:n,iconClassName:l,className:m})=>y("div",{className:g("flex w-fit items-center gap-x-3",{[`text-${t}`]:!!t,[`text-${s}`]:!!s},m),children:[e&&h("div",{className:g("relative size-[1em]",l),children:e}),h(x,{alignment:f,tag:r,color:s,size:t,font:a,weight:o,transform:c,decoration:i,letterSpacing:d,className:n,children:p})]});var v=e=>e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/\son\w+="[^"]*"/gi,"").replace(/\son\w+='[^']*'/gi,"").replace(/javascript:/gi,""),S=e=>e.replace(/fill=(['"])(?!none|transparent)[^'"]*\1/gi,'fill="currentColor"').replace(/stroke=(['"])(?!none|transparent)[^'"]*\1/gi,'stroke="currentColor"').replace(/color=(['"])[^'"]*\1/gi,'color="currentColor"'),b=e=>{let t=e.match(/<svg\s+([^>]*)>/i);if(!t||!t[1])return{};let r=t[1],s={},o=/(\w[\w-]*)=["']([^"']*)["']/g,a;for(;a=o.exec(r);){let[,c,i]=a;c&&i&&(s[c]=i)}return s},w=e=>e.match(/<svg[^>]*>([\s\S]*?)<\/svg>/i)?.[1]??"",C=async e=>{try{let t=await fetch(e,{headers:{Accept:"image/svg+xml, text/plain, */*"}});if(!t.ok)throw new Error(`Failed to fetch SVG: ${t.status} ${t.statusText}`);let r=await t.text();if(!r.trim().includes("<svg"))throw new Error("Response is not valid SVG");return r}catch(t){throw console.error("Error fetching SVG:",t),t}};import{jsx as u}from"react/jsx-runtime";var G=async({src:e,className:t="",width:r,height:s,fill:o,sanitize:a=!0,useCurrentColor:c=!0,fallback:i,alt:d})=>{if(!e)return i??null;let f=p=>{let n=[];return a&&n.push(v),c&&n.push(S),n.reduce((l,m)=>m(l),p)};try{let p=await C(e),n=f(p),l=b(n),m=w(n),P={...l,role:"img","aria-label":d,width:o?"100%":r,height:o?"100%":s,className:g(l.className,t,{"absolute inset-0":o})};return u("div",{className:"relative size-full",children:u("svg",{...P,dangerouslySetInnerHTML:{__html:m}})})}catch{return i??u("div",{className:g(t),style:{width:r,height:s},children:u("div",{className:"rounded border border-red-200 bg-red-50 p-2 text-sm text-red-500",children:"Failed to load SVG"})})}};export{N as a,G as b};
@@ -1 +0,0 @@
1
- import{a as p}from"./chunk-7GVG4HLE.mjs";import{a as r,c as s}from"./chunk-S7CSCIW4.mjs";import{jsx as l}from"react/jsx-runtime";var f=({className:a,columnsCount:t,gapX:o,gapY:i,backgroundColor:e,spacing:n,border:d,fluidContent:g,height:m,children:P})=>l(p,{backgroundColor:e,spacing:n,border:d,fluidContent:g,height:m,children:l("div",{className:s("grid",{[r(t,"grid-cols-{value}")]:t,[r(o,"gap-x-{value}")]:o,[r(i,"gap-y-{value}")]:i,[r(m,"h-{value}")]:m},a),children:P})});import{jsx as c}from"react/jsx-runtime";var v=({className:a,columnStart:t,columnSpan:o,rowStart:i,rowSpan:e,children:n})=>c("div",{className:s({[r(t,"col-start-{value}")]:t,[r(o,"col-{value}")]:o,[r(i,"row-start-{value}")]:i,[r(e,"row-{value}")]:e},a),children:n});export{f as a,v as b};
@@ -1 +0,0 @@
1
- import{a as e,c as r}from"./chunk-S7CSCIW4.mjs";import{jsx as x}from"react/jsx-runtime";var P=({className:u,size:s,color:o,weight:n,font:i,transform:a="",decoration:p="",letterSpacing:l,alignment:m,children:t,lineCountRestrictions:c})=>{let g=r({[`text-${o}`]:!!o,[`font-${i}`]:!!i,[e(s,"text-{value}")]:s,[`font-${n}`]:!!n,[`text-${m}`]:!!m,[a]:!!a,[p]:!!p,[`tracking-${l}`]:!!l,[e(c,"line-clamp-{value}")]:c},u);if(typeof t=="string")return x("span",{className:g,children:t});let f=t.props||{};return x(t.type,{...f,className:r(g,f?.className)})};export{P as a};