tenara-ui-components 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/atoms/BackgroundMedia/BackgroundMedia.d.ts +19 -0
- package/dist/components/atoms/BackgroundMedia/BackgroundMedia.d.ts.map +1 -0
- package/dist/components/atoms/BackgroundMedia/index.d.ts +3 -0
- package/dist/components/atoms/BackgroundMedia/index.d.ts.map +1 -0
- package/dist/components/atoms/Breadcrumb/Breadcrumb.d.ts +14 -0
- package/dist/components/atoms/Breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/components/atoms/Breadcrumb/index.d.ts +3 -0
- package/dist/components/atoms/Breadcrumb/index.d.ts.map +1 -0
- package/dist/components/atoms/BulletList/BulletList.d.ts +22 -0
- package/dist/components/atoms/BulletList/BulletList.d.ts.map +1 -0
- package/dist/components/atoms/BulletList/index.d.ts +3 -0
- package/dist/components/atoms/BulletList/index.d.ts.map +1 -0
- package/dist/components/atoms/Button/Button.d.ts +36 -0
- package/dist/components/atoms/Button/Button.d.ts.map +1 -0
- package/dist/components/atoms/Button/buttonIcons.d.ts +24 -0
- package/dist/components/atoms/Button/buttonIcons.d.ts.map +1 -0
- package/dist/components/atoms/Button/index.d.ts +3 -0
- package/dist/components/atoms/Button/index.d.ts.map +1 -0
- package/dist/components/atoms/ButtonLink/ButtonLink.d.ts +34 -0
- package/dist/components/atoms/ButtonLink/ButtonLink.d.ts.map +1 -0
- package/dist/components/atoms/ButtonLink/index.d.ts +3 -0
- package/dist/components/atoms/ButtonLink/index.d.ts.map +1 -0
- package/dist/components/atoms/Checkbox/Checkbox.d.ts +24 -0
- package/dist/components/atoms/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/atoms/Checkbox/index.d.ts +3 -0
- package/dist/components/atoms/Checkbox/index.d.ts.map +1 -0
- package/dist/components/atoms/ColorTable/ColorTable.d.ts +12 -0
- package/dist/components/atoms/ColorTable/ColorTable.d.ts.map +1 -0
- package/dist/components/atoms/ColorTable/index.d.ts +3 -0
- package/dist/components/atoms/ColorTable/index.d.ts.map +1 -0
- package/dist/components/atoms/Container/Container.d.ts +15 -0
- package/dist/components/atoms/Container/Container.d.ts.map +1 -0
- package/dist/components/atoms/Container/index.d.ts +3 -0
- package/dist/components/atoms/Container/index.d.ts.map +1 -0
- package/dist/components/atoms/Divider/Divider.d.ts +20 -0
- package/dist/components/atoms/Divider/Divider.d.ts.map +1 -0
- package/dist/components/atoms/Divider/index.d.ts +3 -0
- package/dist/components/atoms/Divider/index.d.ts.map +1 -0
- package/dist/components/atoms/Dropdown/Dropdown.d.ts +32 -0
- package/dist/components/atoms/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/components/atoms/Dropdown/index.d.ts +3 -0
- package/dist/components/atoms/Dropdown/index.d.ts.map +1 -0
- package/dist/components/atoms/Grid/Grid.d.ts +113 -0
- package/dist/components/atoms/Grid/Grid.d.ts.map +1 -0
- package/dist/components/atoms/Grid/index.d.ts +3 -0
- package/dist/components/atoms/Grid/index.d.ts.map +1 -0
- package/dist/components/atoms/Heading/Heading.d.ts +37 -0
- package/dist/components/atoms/Heading/Heading.d.ts.map +1 -0
- package/dist/components/atoms/Heading/index.d.ts +3 -0
- package/dist/components/atoms/Heading/index.d.ts.map +1 -0
- package/dist/components/atoms/Icon/Icon.d.ts +42 -0
- package/dist/components/atoms/Icon/Icon.d.ts.map +1 -0
- package/dist/components/atoms/Icon/index.d.ts +3 -0
- package/dist/components/atoms/Icon/index.d.ts.map +1 -0
- package/dist/components/atoms/Media/Media.d.ts +63 -0
- package/dist/components/atoms/Media/Media.d.ts.map +1 -0
- package/dist/components/atoms/Media/index.d.ts +3 -0
- package/dist/components/atoms/Media/index.d.ts.map +1 -0
- package/dist/components/atoms/Paragraph/Paragraph.d.ts +41 -0
- package/dist/components/atoms/Paragraph/Paragraph.d.ts.map +1 -0
- package/dist/components/atoms/Paragraph/index.d.ts +3 -0
- package/dist/components/atoms/Paragraph/index.d.ts.map +1 -0
- package/dist/components/atoms/PlayButton/PlayButton.d.ts +26 -0
- package/dist/components/atoms/PlayButton/PlayButton.d.ts.map +1 -0
- package/dist/components/atoms/PlayButton/index.d.ts +3 -0
- package/dist/components/atoms/PlayButton/index.d.ts.map +1 -0
- package/dist/components/atoms/RichText/RichText.d.ts +21 -0
- package/dist/components/atoms/RichText/RichText.d.ts.map +1 -0
- package/dist/components/atoms/RichText/index.d.ts +3 -0
- package/dist/components/atoms/RichText/index.d.ts.map +1 -0
- package/dist/components/atoms/TextInput/TextInput.d.ts +44 -0
- package/dist/components/atoms/TextInput/TextInput.d.ts.map +1 -0
- package/dist/components/atoms/TextInput/index.d.ts +3 -0
- package/dist/components/atoms/TextInput/index.d.ts.map +1 -0
- package/dist/components/atoms/TextLink/TextLink.d.ts +19 -0
- package/dist/components/atoms/TextLink/TextLink.d.ts.map +1 -0
- package/dist/components/atoms/TextLink/index.d.ts +3 -0
- package/dist/components/atoms/TextLink/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +59 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/molecules/CTA/CTA.d.ts +34 -0
- package/dist/components/molecules/CTA/CTA.d.ts.map +1 -0
- package/dist/components/molecules/CTA/index.d.ts +3 -0
- package/dist/components/molecules/CTA/index.d.ts.map +1 -0
- package/dist/components/molecules/Card/Card.d.ts +23 -0
- package/dist/components/molecules/Card/Card.d.ts.map +1 -0
- package/dist/components/molecules/Card/index.d.ts +3 -0
- package/dist/components/molecules/Card/index.d.ts.map +1 -0
- package/dist/components/molecules/Header/Header.d.ts +13 -0
- package/dist/components/molecules/Header/Header.d.ts.map +1 -0
- package/dist/components/molecules/Header/index.d.ts +3 -0
- package/dist/components/molecules/Header/index.d.ts.map +1 -0
- package/dist/components/molecules/Modal/Modal.d.ts +26 -0
- package/dist/components/molecules/Modal/Modal.d.ts.map +1 -0
- package/dist/components/molecules/Modal/index.d.ts +3 -0
- package/dist/components/molecules/Modal/index.d.ts.map +1 -0
- package/dist/components/molecules/VideoPlayer/VideoPlayer.d.ts +29 -0
- package/dist/components/molecules/VideoPlayer/VideoPlayer.d.ts.map +1 -0
- package/dist/components/molecules/VideoPlayer/index.d.ts +3 -0
- package/dist/components/molecules/VideoPlayer/index.d.ts.map +1 -0
- package/dist/components/molecules/primax/Banner/Banner.d.ts +44 -0
- package/dist/components/molecules/primax/Banner/Banner.d.ts.map +1 -0
- package/dist/components/molecules/primax/Banner/index.d.ts +3 -0
- package/dist/components/molecules/primax/Banner/index.d.ts.map +1 -0
- package/dist/components/molecules/primax/CTA/CTA.d.ts +58 -0
- package/dist/components/molecules/primax/CTA/CTA.d.ts.map +1 -0
- package/dist/components/molecules/primax/CTA/index.d.ts +3 -0
- package/dist/components/molecules/primax/CTA/index.d.ts.map +1 -0
- package/dist/components/molecules/primax/Card/Card.d.ts +46 -0
- package/dist/components/molecules/primax/Card/Card.d.ts.map +1 -0
- package/dist/components/molecules/primax/Card/index.d.ts +3 -0
- package/dist/components/molecules/primax/Card/index.d.ts.map +1 -0
- package/dist/components/molecules/primax/DropdownSelect/DropdownSelect.d.ts +50 -0
- package/dist/components/molecules/primax/DropdownSelect/DropdownSelect.d.ts.map +1 -0
- package/dist/components/molecules/primax/DropdownSelect/index.d.ts +3 -0
- package/dist/components/molecules/primax/DropdownSelect/index.d.ts.map +1 -0
- package/dist/components/molecules/primax/HalfColumn/HalfColumn.d.ts +89 -0
- package/dist/components/molecules/primax/HalfColumn/HalfColumn.d.ts.map +1 -0
- package/dist/components/molecules/primax/HalfColumn/index.d.ts +3 -0
- package/dist/components/molecules/primax/HalfColumn/index.d.ts.map +1 -0
- package/dist/components/molecules/primax/MediaBlock/MediaBlock.d.ts +45 -0
- package/dist/components/molecules/primax/MediaBlock/MediaBlock.d.ts.map +1 -0
- package/dist/components/molecules/primax/MediaBlock/assets.d.ts +11 -0
- package/dist/components/molecules/primax/MediaBlock/assets.d.ts.map +1 -0
- package/dist/components/molecules/primax/MediaBlock/index.d.ts +3 -0
- package/dist/components/molecules/primax/MediaBlock/index.d.ts.map +1 -0
- package/dist/components/molecules/primax/PlayIcon/PlayIcon.d.ts +11 -0
- package/dist/components/molecules/primax/PlayIcon/PlayIcon.d.ts.map +1 -0
- package/dist/components/molecules/primax/PlayIcon/index.d.ts +2 -0
- package/dist/components/molecules/primax/PlayIcon/index.d.ts.map +1 -0
- package/dist/components/molecules/primax/Subscribe/Subscribe.d.ts +60 -0
- package/dist/components/molecules/primax/Subscribe/Subscribe.d.ts.map +1 -0
- package/dist/components/molecules/primax/Subscribe/index.d.ts +3 -0
- package/dist/components/molecules/primax/Subscribe/index.d.ts.map +1 -0
- package/dist/components/molecules/primax/TwoColumn/TwoColumn.d.ts +37 -0
- package/dist/components/molecules/primax/TwoColumn/TwoColumn.d.ts.map +1 -0
- package/dist/components/molecules/primax/TwoColumn/index.d.ts +3 -0
- package/dist/components/molecules/primax/TwoColumn/index.d.ts.map +1 -0
- package/dist/components/molecules/primax/VideoSection/VideoSection.d.ts +31 -0
- package/dist/components/molecules/primax/VideoSection/VideoSection.d.ts.map +1 -0
- package/dist/components/molecules/primax/VideoSection/index.d.ts +3 -0
- package/dist/components/molecules/primax/VideoSection/index.d.ts.map +1 -0
- package/dist/components/pages/Page.d.ts +4 -0
- package/dist/components/pages/Page.d.ts.map +1 -0
- package/dist/components/pages/index.d.ts +2 -0
- package/dist/components/pages/index.d.ts.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.esm.css +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/themes/core/client-provider.d.ts +8 -0
- package/dist/themes/core/client-provider.d.ts.map +1 -0
- package/dist/themes/core/color-system.d.ts +72 -0
- package/dist/themes/core/color-system.d.ts.map +1 -0
- package/dist/themes/core/context.d.ts +26 -0
- package/dist/themes/core/context.d.ts.map +1 -0
- package/dist/themes/core/types.d.ts +188 -0
- package/dist/themes/core/types.d.ts.map +1 -0
- package/dist/themes/hooks/useColorTokens.d.ts +26 -0
- package/dist/themes/hooks/useColorTokens.d.ts.map +1 -0
- package/dist/themes/index.d.ts +16 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/presets/advisors-plus.d.ts +7 -0
- package/dist/themes/presets/advisors-plus.d.ts.map +1 -0
- package/dist/themes/presets/color-systems/advisors-plus-colors.d.ts +7 -0
- package/dist/themes/presets/color-systems/advisors-plus-colors.d.ts.map +1 -0
- package/dist/themes/presets/color-systems/default-colors.d.ts +7 -0
- package/dist/themes/presets/color-systems/default-colors.d.ts.map +1 -0
- package/dist/themes/presets/color-systems/primax-colors.d.ts +7 -0
- package/dist/themes/presets/color-systems/primax-colors.d.ts.map +1 -0
- package/dist/themes/presets/default.d.ts +7 -0
- package/dist/themes/presets/default.d.ts.map +1 -0
- package/dist/themes/presets/primax.d.ts +7 -0
- package/dist/themes/presets/primax.d.ts.map +1 -0
- package/dist/themes/utils/generator.d.ts +20 -0
- package/dist/themes/utils/generator.d.ts.map +1 -0
- package/dist/themes/utils/helpers.d.ts +14 -0
- package/dist/themes/utils/helpers.d.ts.map +1 -0
- package/dist/themes/utils/index.d.ts +6 -0
- package/dist/themes/utils/index.d.ts.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ButtonProps } from '@/components/atoms/Button';
|
|
2
|
+
import { ButtonLinkProps } from '@/components/atoms/ButtonLink';
|
|
3
|
+
import { DividerProps } from '@/components/atoms/Divider';
|
|
4
|
+
import { GridProps } from '@/components/atoms/Grid';
|
|
5
|
+
import { HeadingLevel } from '@/components/atoms/Heading';
|
|
6
|
+
import { MediaBlockProps } from '@/components/molecules/primax/MediaBlock';
|
|
7
|
+
import './Banner.scss';
|
|
8
|
+
type CTABannerVariant = 'hero' | 'level2' | 'level3' | 'gated';
|
|
9
|
+
type Alignment = 'left' | 'center' | 'right';
|
|
10
|
+
type VerticalAlignment = 'top' | 'center' | 'bottom';
|
|
11
|
+
/** Banner-specific media props — extends MediaBlockProps with layout constraints */
|
|
12
|
+
export interface BannerMediaProps extends MediaBlockProps {
|
|
13
|
+
/** Width constraint for column media */
|
|
14
|
+
width?: number | string;
|
|
15
|
+
/** Height constraint for column media */
|
|
16
|
+
height?: number | string;
|
|
17
|
+
}
|
|
18
|
+
export interface BannerI extends DividerProps {
|
|
19
|
+
bannerType: CTABannerVariant;
|
|
20
|
+
gridGap?: GridProps['gap'];
|
|
21
|
+
contentGap?: GridProps['gap'];
|
|
22
|
+
heading: string;
|
|
23
|
+
headingLevel?: HeadingLevel;
|
|
24
|
+
breadcrumbs?: BreadcrumbItem[];
|
|
25
|
+
/** Button or link — pass `href` to render an <a>, omit it to render a <button> */
|
|
26
|
+
button?: ButtonProps | ButtonLinkProps;
|
|
27
|
+
/** Media for column display (level2, gated) or hero background */
|
|
28
|
+
media?: BannerMediaProps;
|
|
29
|
+
/** Background video URL for hero variant (autoplays, muted, no controls) */
|
|
30
|
+
backgroundVideo?: string;
|
|
31
|
+
backgroundImage?: string;
|
|
32
|
+
className?: string;
|
|
33
|
+
align?: Alignment;
|
|
34
|
+
verticalAlign?: VerticalAlignment;
|
|
35
|
+
contentVerticalAlign?: VerticalAlignment;
|
|
36
|
+
mediaVerticalAlign?: VerticalAlignment;
|
|
37
|
+
}
|
|
38
|
+
export interface BreadcrumbItem {
|
|
39
|
+
label: string;
|
|
40
|
+
href?: string;
|
|
41
|
+
}
|
|
42
|
+
export declare const Banner: ({ children, align, verticalAlign, headingLevel, ...props }: BannerI) => import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=Banner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/Banner/Banner.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAc,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAW,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAkB,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAW,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAc,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAEvF,OAAO,eAAe,CAAC;AAEvB,KAAK,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC/D,KAAK,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC7C,KAAK,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErD,oFAAoF;AACpF,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,OAAQ,SAAQ,YAAY;IAC3C,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3B,UAAU,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAG9B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,kFAAkF;IAClF,MAAM,CAAC,EAAE,WAAW,GAAG,eAAe,CAAC;IAEvC,kEAAkE;IAClE,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,oBAAoB,CAAC,EAAE,iBAAiB,CAAC;IACzC,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAuCD,eAAO,MAAM,MAAM,GAAI,4DAMpB,OAAO,4CAmGT,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/Banner/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ButtonProps } from '@/components/atoms/Button';
|
|
3
|
+
import { DividerProps } from '@/components/atoms/Divider';
|
|
4
|
+
import { HeadingLevel } from '@/components/atoms/Heading';
|
|
5
|
+
import { SubscribeField } from '@/components/molecules/primax/Subscribe';
|
|
6
|
+
import { GridProps } from '@/components/atoms/Grid';
|
|
7
|
+
import './CTA.scss';
|
|
8
|
+
type CTAVariant = 'small' | 'large';
|
|
9
|
+
type CTAAlignment = 'left' | 'center' | 'right';
|
|
10
|
+
export interface PrimaxCTAProps extends Omit<DividerProps, 'children'> {
|
|
11
|
+
/** CTA variant - small (heading + button) or large (heading + subscribe form) */
|
|
12
|
+
variant?: CTAVariant;
|
|
13
|
+
/** Content alignment - left, center, or right */
|
|
14
|
+
alignment?: CTAAlignment;
|
|
15
|
+
/** CTA heading text */
|
|
16
|
+
heading: string;
|
|
17
|
+
/** Heading semantic level */
|
|
18
|
+
headingLevel?: HeadingLevel;
|
|
19
|
+
/** Button props for the small variant */
|
|
20
|
+
button?: ButtonProps;
|
|
21
|
+
/** Form heading displayed above the fields (large variant) */
|
|
22
|
+
formHeading?: string;
|
|
23
|
+
/** Form heading semantic level (large variant) */
|
|
24
|
+
formHeadingLevel?: HeadingLevel;
|
|
25
|
+
/** Form heading visual variant (large variant) */
|
|
26
|
+
formHeadingVariant?: string;
|
|
27
|
+
/** Form field configuration (large variant) */
|
|
28
|
+
fields?: SubscribeField[];
|
|
29
|
+
/** Grid columns for form fields (large variant) */
|
|
30
|
+
columns?: GridProps['columns'];
|
|
31
|
+
/** Grid gap for form fields (large variant) */
|
|
32
|
+
gap?: GridProps['gap'];
|
|
33
|
+
/** Grid row gap for form fields (large variant) */
|
|
34
|
+
rowGap?: GridProps['rowGap'];
|
|
35
|
+
/** Grid column gap for form fields (large variant) */
|
|
36
|
+
columnGap?: GridProps['columnGap'];
|
|
37
|
+
/** Submit button label (large variant) */
|
|
38
|
+
submitLabel?: string;
|
|
39
|
+
/** Loading state for form submission (large variant) */
|
|
40
|
+
loading?: boolean;
|
|
41
|
+
/** Disclaimer text below the form (large variant, supports HTML) */
|
|
42
|
+
disclaimer?: string;
|
|
43
|
+
/** Called with collected form data on valid submission (large variant) */
|
|
44
|
+
onSubmit?: (data: Record<string, string>) => void;
|
|
45
|
+
/** Async or cross-field validation (large variant) */
|
|
46
|
+
onValidate?: (data: Record<string, string>) => Record<string, string> | null | Promise<Record<string, string> | null>;
|
|
47
|
+
/** Called when validation fails (large variant) */
|
|
48
|
+
onError?: (errors: Record<string, string>) => void;
|
|
49
|
+
/** Fallback: custom content slot (overrides Subscribe when provided in large variant) */
|
|
50
|
+
children?: React.ReactNode;
|
|
51
|
+
/** Make the inner container full-width (no max-width constraint) */
|
|
52
|
+
fluid?: boolean;
|
|
53
|
+
/** Additional class name */
|
|
54
|
+
className?: string;
|
|
55
|
+
}
|
|
56
|
+
export declare const BannerCTA: React.FC<PrimaxCTAProps>;
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=CTA.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CTA.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/CTA/CTA.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAU,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAW,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAW,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAa,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,YAAY,CAAC;AAGpB,KAAK,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AACpC,KAAK,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;IACpE,iFAAiF;IACjF,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,iDAAiD;IACjD,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,yCAAyC;IACzC,MAAM,CAAC,EAAE,WAAW,CAAC;IAGrB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,kDAAkD;IAClD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,mDAAmD;IACnD,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/B,+CAA+C;IAC/C,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,mDAAmD;IACnD,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7B,sDAAsD;IACtD,SAAS,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IACnC,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAClD,sDAAsD;IACtD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACtH,mDAAmD;IACnD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAEnD,yFAAyF;IACzF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,oEAAoE;IACpE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAkG9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/CTA/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ButtonProps } from '@/components/atoms/Button';
|
|
3
|
+
import './Card.scss';
|
|
4
|
+
export type PrimaxCardVariant = 'icon' | 'image' | 'profile';
|
|
5
|
+
export type PrimaxCardButtonVariant = 'general' | 'link';
|
|
6
|
+
export interface PrimaxCardProps {
|
|
7
|
+
/** Card layout variant */
|
|
8
|
+
variant?: PrimaxCardVariant;
|
|
9
|
+
/** SVG icon element (for icon variant) */
|
|
10
|
+
icon?: React.ReactNode;
|
|
11
|
+
/** Image URL (for image/profile variants) */
|
|
12
|
+
imageUrl?: string;
|
|
13
|
+
/** Image alt text */
|
|
14
|
+
imageAlt?: string;
|
|
15
|
+
/** Card title */
|
|
16
|
+
title: string;
|
|
17
|
+
/** HTML element for the title. Defaults to 'p' for image variant, 'h4' for others.
|
|
18
|
+
* Use 'p' or 'span' when cards are repeated in lists to avoid heading hierarchy issues. */
|
|
19
|
+
titleAs?: 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span';
|
|
20
|
+
/** Card description text */
|
|
21
|
+
description?: string;
|
|
22
|
+
/** Optional metadata slot (e.g. asset type, duration) */
|
|
23
|
+
metadata?: React.ReactNode;
|
|
24
|
+
/** Text alignment */
|
|
25
|
+
textAlign?: 'left' | 'center';
|
|
26
|
+
/** Visual button props — purely decorative, the card itself is the link */
|
|
27
|
+
button?: Omit<ButtonProps, 'buttonType'>;
|
|
28
|
+
/** Button style: solid primary or text link */
|
|
29
|
+
buttonVariant?: PrimaxCardButtonVariant;
|
|
30
|
+
/** Card destination URL */
|
|
31
|
+
href: string;
|
|
32
|
+
/** Link target */
|
|
33
|
+
target?: '_blank' | '_self';
|
|
34
|
+
/** Dark mode */
|
|
35
|
+
darkMode?: boolean;
|
|
36
|
+
/** Enable/disable hover animation - overrides theme default */
|
|
37
|
+
animated?: boolean;
|
|
38
|
+
/** Additional class */
|
|
39
|
+
className?: string;
|
|
40
|
+
/** Children rendered after description, before button */
|
|
41
|
+
children?: React.ReactNode;
|
|
42
|
+
/** Accessible label */
|
|
43
|
+
'aria-label'?: string;
|
|
44
|
+
}
|
|
45
|
+
export declare const Card: React.FC<PrimaxCardProps>;
|
|
46
|
+
//# sourceMappingURL=Card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/Card/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAU,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAC7D,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,0CAA0C;IAC1C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd;gGAC4F;IAC5F,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;IAC1D,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC9B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACzC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8F1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/Card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './DropdownSelect.scss';
|
|
3
|
+
export interface DropdownSelectOption {
|
|
4
|
+
/** Unique value for the option */
|
|
5
|
+
value: string;
|
|
6
|
+
/** Display label for the option */
|
|
7
|
+
label: string;
|
|
8
|
+
}
|
|
9
|
+
export interface DropdownSelectValidation {
|
|
10
|
+
/** Mark field as required (at least one selection) */
|
|
11
|
+
required?: boolean;
|
|
12
|
+
/** Minimum number of selections */
|
|
13
|
+
minSelections?: number;
|
|
14
|
+
/** Maximum number of selections */
|
|
15
|
+
maxSelections?: number;
|
|
16
|
+
/** Custom error message */
|
|
17
|
+
errorMessage?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface DropdownSelectProps {
|
|
20
|
+
/** Field label */
|
|
21
|
+
label: string;
|
|
22
|
+
/** Input name attribute */
|
|
23
|
+
name: string;
|
|
24
|
+
/** Placeholder text when nothing is selected */
|
|
25
|
+
placeholder?: string;
|
|
26
|
+
/** Available options */
|
|
27
|
+
options: DropdownSelectOption[];
|
|
28
|
+
/** Currently selected values (controlled) */
|
|
29
|
+
value?: string[];
|
|
30
|
+
/** Change handler with selected values */
|
|
31
|
+
onChange?: (values: string[]) => void;
|
|
32
|
+
/** Blur handler (when dropdown closes) */
|
|
33
|
+
onBlur?: () => void;
|
|
34
|
+
/** Validation rules */
|
|
35
|
+
validation?: DropdownSelectValidation;
|
|
36
|
+
/** Error message to display */
|
|
37
|
+
error?: string;
|
|
38
|
+
/** Disabled state */
|
|
39
|
+
disabled?: boolean;
|
|
40
|
+
/** Dark mode */
|
|
41
|
+
darkMode?: boolean;
|
|
42
|
+
/** Additional class */
|
|
43
|
+
className?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* DropdownSelect molecule combining a Dropdown trigger with a
|
|
47
|
+
* checkbox list panel. Supports multi-select with validation.
|
|
48
|
+
*/
|
|
49
|
+
export declare const DropdownSelect: React.FC<DropdownSelectProps>;
|
|
50
|
+
//# sourceMappingURL=DropdownSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownSelect.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/DropdownSelect/DropdownSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAGrD,OAAO,uBAAuB,CAAC;AAE/B,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,uBAAuB;IACvB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA2ExD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/DropdownSelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { HeadingProps } from '@/components/atoms/Heading';
|
|
3
|
+
import { BulletItem } from '@/components/atoms/BulletList';
|
|
4
|
+
import { ButtonProps } from '@/components/atoms/Button';
|
|
5
|
+
import { DividerProps } from '@/components/atoms/Divider';
|
|
6
|
+
import './HalfColumn.scss';
|
|
7
|
+
export type HalfColumnVariant = 'sparkle' | 'video' | 'media';
|
|
8
|
+
export type HalfColumnMediaPosition = 'left' | 'right';
|
|
9
|
+
/** Content configuration for the text side of a HalfColumn */
|
|
10
|
+
export interface HalfColumnContentProps {
|
|
11
|
+
/** Rich text HTML content (renders via RichText component, takes priority over individual props) */
|
|
12
|
+
richText?: string;
|
|
13
|
+
/** Heading text */
|
|
14
|
+
heading?: string;
|
|
15
|
+
/** Heading level (default: 'h2') */
|
|
16
|
+
headingLevel?: HeadingProps['level'];
|
|
17
|
+
/** Heading variant (default: 'sectionDivider') */
|
|
18
|
+
headingVariant?: HeadingProps['variant'];
|
|
19
|
+
/** Paragraph text */
|
|
20
|
+
paragraph?: string;
|
|
21
|
+
/** Bullet list items */
|
|
22
|
+
bulletItems?: BulletItem[];
|
|
23
|
+
/** Custom icon for bullet list items */
|
|
24
|
+
bulletIcon?: React.ReactNode;
|
|
25
|
+
/** Button label */
|
|
26
|
+
buttonLabel?: string;
|
|
27
|
+
/** Button props (variant, size, onClick, etc.) */
|
|
28
|
+
buttonProps?: Omit<ButtonProps, 'children' | 'darkMode'>;
|
|
29
|
+
}
|
|
30
|
+
export interface HalfColumnRow extends HalfColumnContentProps {
|
|
31
|
+
/** Text/content side — rendered opposite the media (overrides prop-based content) */
|
|
32
|
+
content?: React.ReactNode;
|
|
33
|
+
/** Override the variant for this specific row */
|
|
34
|
+
variant?: HalfColumnVariant;
|
|
35
|
+
/** Which side the media appears on */
|
|
36
|
+
mediaPosition?: HalfColumnMediaPosition;
|
|
37
|
+
/** Vertical alignment of columns */
|
|
38
|
+
verticalAlign?: 'top' | 'center' | 'bottom';
|
|
39
|
+
}
|
|
40
|
+
export interface HalfColumnProps extends DividerProps, HalfColumnContentProps {
|
|
41
|
+
/** Visual variant controlling the media block style */
|
|
42
|
+
variant?: HalfColumnVariant;
|
|
43
|
+
/** Image URL used as thumbnail / display image */
|
|
44
|
+
thumbnail?: string;
|
|
45
|
+
/** Alt text for the media */
|
|
46
|
+
alt?: string;
|
|
47
|
+
/** Wistia media ID (video variant) */
|
|
48
|
+
wistiaId?: string;
|
|
49
|
+
/** Custom play button element (video variant) */
|
|
50
|
+
playIcon?: React.ReactNode;
|
|
51
|
+
/** Show overlay on video thumbnail */
|
|
52
|
+
overlay?: boolean;
|
|
53
|
+
/** Show the L-shaped accent border (media & video variants) */
|
|
54
|
+
accentBorder?: boolean;
|
|
55
|
+
/** Show decorative sparkle overlay (media & video variants) */
|
|
56
|
+
sparkle?: boolean;
|
|
57
|
+
/** Mirror decorative elements */
|
|
58
|
+
mirror?: boolean;
|
|
59
|
+
/** Which side the media appears on (single-row shorthand) */
|
|
60
|
+
mediaPosition?: HalfColumnMediaPosition;
|
|
61
|
+
/** Text/content for the non-media column (overrides prop-based content) */
|
|
62
|
+
content?: React.ReactNode;
|
|
63
|
+
/** Multiple rows of half-column content */
|
|
64
|
+
rows?: HalfColumnRow[];
|
|
65
|
+
/** Gap between columns */
|
|
66
|
+
gap?: string | {
|
|
67
|
+
xs?: string;
|
|
68
|
+
sm?: string;
|
|
69
|
+
md?: string;
|
|
70
|
+
lg?: string;
|
|
71
|
+
};
|
|
72
|
+
/** Additional class name */
|
|
73
|
+
className?: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* HalfColumn — a pre-configured two-column layout with built-in media variants.
|
|
77
|
+
*
|
|
78
|
+
* Supports two content modes:
|
|
79
|
+
* 1. **Prop-based** (recommended): Pass `heading`, `paragraph`, `bulletItems`, and `buttonLabel`
|
|
80
|
+
* directly as props for a streamlined API.
|
|
81
|
+
* 2. **Custom content**: Pass a `content` ReactNode for full control over the text column.
|
|
82
|
+
*
|
|
83
|
+
* Variants:
|
|
84
|
+
* - `sparkle` — cropped spark media block (no video)
|
|
85
|
+
* - `video` — video player with accent border, sparkle & overlay
|
|
86
|
+
* - `media` — static image with accent border & sparkle
|
|
87
|
+
*/
|
|
88
|
+
export declare const HalfColumn: React.FC<HalfColumnProps>;
|
|
89
|
+
//# sourceMappingURL=HalfColumn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HalfColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/HalfColumn/HalfColumn.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAW,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAc,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAU,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,mBAAmB,CAAC;AAE3B,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE9D,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvD,8DAA8D;AAC9D,MAAM,WAAW,sBAAsB;IACrC,oGAAoG;IACpG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,kDAAkD;IAClD,cAAc,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,wCAAwC;IACxC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,aAAc,SAAQ,sBAAsB;IAC3D,qFAAqF;IACrF,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,iDAAiD;IACjD,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,sCAAsC;IACtC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,oCAAoC;IACpC,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC7C;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY,EAAE,sBAAsB;IAC3E,uDAAuD;IACvD,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAE5B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IAGb,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iCAAiC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IAGjB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,2CAA2C;IAC3C,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,0BAA0B;IAC1B,GAAG,CAAC,EAAE,MAAM,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAiLhD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/HalfColumn/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './MediaBlock.scss';
|
|
3
|
+
export type MediaBlockVariant = 'default' | 'croppedSpark';
|
|
4
|
+
export interface MediaBlockProps {
|
|
5
|
+
/** Display variant — "default" for the standard grid layout, "croppedSpark" for sparkle-masked image with decorative sparks */
|
|
6
|
+
variant?: MediaBlockVariant;
|
|
7
|
+
/** Video source URL (mp4, webm, Wistia embed URL, etc.). Not used for static images. */
|
|
8
|
+
src?: string;
|
|
9
|
+
/** Image URL — used as the display image for image-only blocks, or as the video thumbnail when src/wistiaId is set */
|
|
10
|
+
thumbnail?: string;
|
|
11
|
+
/** Alt text for accessibility */
|
|
12
|
+
alt?: string;
|
|
13
|
+
/** Custom play button element (e.g. primax play button PNG) */
|
|
14
|
+
playIcon?: React.ReactNode;
|
|
15
|
+
/** Aspect ratio for the media (e.g. "16/9") */
|
|
16
|
+
aspectRatio?: string;
|
|
17
|
+
/** Show the L-shaped mint accent border */
|
|
18
|
+
accentBorder?: boolean;
|
|
19
|
+
/** Show the dark overlay on thumbnail */
|
|
20
|
+
overlay?: boolean;
|
|
21
|
+
/** Show the decorative sparkle overlay */
|
|
22
|
+
sparkle?: boolean;
|
|
23
|
+
/** Source URL for the sparkle overlay image (SVG or PNG) */
|
|
24
|
+
sparkSrc?: string;
|
|
25
|
+
/** Scale the sparkle size from 1 (10%) to 10 (100%) */
|
|
26
|
+
sparkScale?: number;
|
|
27
|
+
/** Mirror decorative elements (L-shape on left, sparkle on right) */
|
|
28
|
+
mirror?: boolean;
|
|
29
|
+
/** Toggle video controls prop */
|
|
30
|
+
controls?: boolean;
|
|
31
|
+
/** Override the L-shaped accent border color (e.g. "#00FFD2" or "var(--color-secondary-200)") */
|
|
32
|
+
accentColor?: string;
|
|
33
|
+
/** Wistia media ID. Used for inline embed by default, or popover lightbox when popover=true */
|
|
34
|
+
wistiaId?: string;
|
|
35
|
+
/** When true and wistiaId is set, opens the video in a Wistia popover lightbox instead of inline */
|
|
36
|
+
popover?: boolean;
|
|
37
|
+
/** Source URL for the sparkle mask image (used by croppedSpark variant) */
|
|
38
|
+
sparkMaskSrc?: string;
|
|
39
|
+
/** Source URL for the small decorative sparks SVG (used by croppedSpark variant on tablet/mobile) */
|
|
40
|
+
sparkSmallSrc?: string;
|
|
41
|
+
/** Additional CSS class */
|
|
42
|
+
className?: string;
|
|
43
|
+
}
|
|
44
|
+
export declare const MediaBlock: React.FC<MediaBlockProps>;
|
|
45
|
+
//# sourceMappingURL=MediaBlock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaBlock.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/MediaBlock/MediaBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,mBAAmB,CAAC;AAE3B,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,cAAc,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,+HAA+H;IAC/H,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,wFAAwF;IACxF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sHAAsH;IACtH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oGAAoG;IACpG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qGAAqG;IACrG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoCD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0NhD,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asset imports for the MediaBlock component.
|
|
3
|
+
* These are processed by the bundler (@rollup/plugin-url) — small files get
|
|
4
|
+
* inlined as data URIs, larger ones are emitted alongside the bundle.
|
|
5
|
+
* Consumers get everything just by installing the package.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SPARKLE_OVERLAY_PATH: string;
|
|
8
|
+
export declare const SPARK_SMALL_SPARKS_PATH: string;
|
|
9
|
+
export declare const SPARK_ICON_LARGE_PATH: string;
|
|
10
|
+
export declare const SPARK_ICON_SMALL_PATH: string;
|
|
11
|
+
//# sourceMappingURL=assets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/MediaBlock/assets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,eAAO,MAAM,oBAAoB,QAAiB,CAAC;AACnD,eAAO,MAAM,uBAAuB,QAAmB,CAAC;AACxD,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AACpD,eAAO,MAAM,qBAAqB,QAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/MediaBlock/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Primax-branded play button SVG icon (matches public/play-button.svg).
|
|
4
|
+
* Renders inline so fill colors can be controlled via CSS custom properties.
|
|
5
|
+
*
|
|
6
|
+
* Uses two class names for targeted theming:
|
|
7
|
+
* - `.play-button__shadow` — the semi-transparent background triangle
|
|
8
|
+
* - `.play-button__shape` — the outlined foreground triangle
|
|
9
|
+
*/
|
|
10
|
+
export declare const PlayIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
|
11
|
+
//# sourceMappingURL=PlayIcon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlayIcon.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/PlayIcon/PlayIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAY5D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/PlayIcon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { GridProps, GridItemProps } from '@/components/atoms/Grid';
|
|
3
|
+
import { HeadingLevel } from '@/components/atoms/Heading';
|
|
4
|
+
import { TextInputValidation } from '@/components/atoms/TextInput';
|
|
5
|
+
import { DropdownSelectOption, DropdownSelectValidation } from '@/components/molecules/primax/DropdownSelect';
|
|
6
|
+
import './Subscribe.scss';
|
|
7
|
+
export interface SubscribeField {
|
|
8
|
+
/** Unique field name (used as form data key) */
|
|
9
|
+
name: string;
|
|
10
|
+
/** Field label */
|
|
11
|
+
label: string;
|
|
12
|
+
/** Input type — includes 'dropdown-select' for multi-select dropdown */
|
|
13
|
+
type?: 'text' | 'email' | 'tel' | 'url' | 'dropdown-select';
|
|
14
|
+
/** Placeholder text */
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
/** Column span — number or responsive object { sm, md, lg } */
|
|
17
|
+
colSpan?: GridItemProps['colSpan'];
|
|
18
|
+
/** Validation rules (for text inputs) */
|
|
19
|
+
validation?: TextInputValidation;
|
|
20
|
+
/** Options for dropdown-select type */
|
|
21
|
+
options?: DropdownSelectOption[];
|
|
22
|
+
/** Validation rules for dropdown-select type */
|
|
23
|
+
dropdownValidation?: DropdownSelectValidation;
|
|
24
|
+
}
|
|
25
|
+
export interface SubscribeProps {
|
|
26
|
+
/** Section heading */
|
|
27
|
+
heading: string;
|
|
28
|
+
/** Heading semantic level */
|
|
29
|
+
headingLevel?: HeadingLevel;
|
|
30
|
+
/** Heading visual variant */
|
|
31
|
+
headingVariant?: string;
|
|
32
|
+
/** Form field configuration */
|
|
33
|
+
fields: SubscribeField[];
|
|
34
|
+
/** Grid columns — number, string, or responsive object { sm, md, lg } */
|
|
35
|
+
columns?: GridProps['columns'];
|
|
36
|
+
/** Grid gap — string or responsive object { sm, md, lg } */
|
|
37
|
+
gap?: GridProps['gap'];
|
|
38
|
+
/** Grid row gap — string or responsive object { sm, md, lg } */
|
|
39
|
+
rowGap?: GridProps['rowGap'];
|
|
40
|
+
/** Grid column gap — string or responsive object { sm, md, lg } */
|
|
41
|
+
columnGap?: GridProps['columnGap'];
|
|
42
|
+
/** Submit button label */
|
|
43
|
+
submitLabel?: string;
|
|
44
|
+
/** Loading state — disables button and shows spinner */
|
|
45
|
+
loading?: boolean;
|
|
46
|
+
/** Disclaimer text (supports HTML for links) */
|
|
47
|
+
disclaimer?: string;
|
|
48
|
+
/** Called with collected form data on valid submission */
|
|
49
|
+
onSubmit?: (data: Record<string, string>) => void;
|
|
50
|
+
/** Async or cross-field validation escape hatch. Return error map or null. */
|
|
51
|
+
onValidate?: (data: Record<string, string>) => Record<string, string> | null | Promise<Record<string, string> | null>;
|
|
52
|
+
/** Called when validation fails with the error map */
|
|
53
|
+
onError?: (errors: Record<string, string>) => void;
|
|
54
|
+
/** Dark mode */
|
|
55
|
+
darkMode?: boolean;
|
|
56
|
+
/** Additional class */
|
|
57
|
+
className?: string;
|
|
58
|
+
}
|
|
59
|
+
export declare const Subscribe: React.FC<SubscribeProps>;
|
|
60
|
+
//# sourceMappingURL=Subscribe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Subscribe.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/Subscribe/Subscribe.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAkB,SAAS,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAW,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAa,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAEL,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,kBAAkB,CAAC;AAI1B,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,iBAAiB,CAAC;IAC5D,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,yCAAyC;IACzC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,uCAAuC;IACvC,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACjC,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;CAC/C;AAED,MAAM,WAAW,cAAc;IAC7B,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,yEAAyE;IACzE,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/B,4DAA4D;IAC5D,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,gEAAgE;IAChE,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7B,mEAAmE;IACnE,SAAS,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IACnC,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAClD,8EAA8E;IAC9E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACtH,sDAAsD;IACtD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACnD,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgDD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAiK9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/Subscribe/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DividerProps } from '@/components/atoms/Divider';
|
|
3
|
+
import './TwoColumn.scss';
|
|
4
|
+
export type TwoColumnVariation = 'left-first' | 'right-first';
|
|
5
|
+
export interface TwoColumnRow {
|
|
6
|
+
/** Content for the left column */
|
|
7
|
+
left: React.ReactNode;
|
|
8
|
+
/** Content for the right column */
|
|
9
|
+
right: React.ReactNode;
|
|
10
|
+
/** Column order on desktop — stacks vertically on mobile */
|
|
11
|
+
variation?: TwoColumnVariation;
|
|
12
|
+
/** Vertical alignment of columns */
|
|
13
|
+
verticalAlign?: 'top' | 'center' | 'bottom';
|
|
14
|
+
}
|
|
15
|
+
export interface TwoColumnProps extends DividerProps {
|
|
16
|
+
/** Content for the left column (single-row shorthand) */
|
|
17
|
+
left?: React.ReactNode;
|
|
18
|
+
/** Content for the right column (single-row shorthand) */
|
|
19
|
+
right?: React.ReactNode;
|
|
20
|
+
/** Column order on desktop — stacks vertically on mobile (single-row shorthand) */
|
|
21
|
+
variation?: TwoColumnVariation;
|
|
22
|
+
/** Vertical alignment of columns (single-row shorthand, also default for rows) */
|
|
23
|
+
verticalAlign?: 'top' | 'center' | 'bottom';
|
|
24
|
+
/** Multiple rows of two-column content */
|
|
25
|
+
rows?: TwoColumnRow[];
|
|
26
|
+
/** Gap between columns — responsive object or single value */
|
|
27
|
+
gap?: string | {
|
|
28
|
+
xs?: string;
|
|
29
|
+
sm?: string;
|
|
30
|
+
md?: string;
|
|
31
|
+
lg?: string;
|
|
32
|
+
};
|
|
33
|
+
/** Additional class name */
|
|
34
|
+
className?: string;
|
|
35
|
+
}
|
|
36
|
+
export declare const TwoColumn: React.FC<TwoColumnProps>;
|
|
37
|
+
//# sourceMappingURL=TwoColumn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TwoColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/TwoColumn/TwoColumn.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAW,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,kBAAkB,CAAC;AAE1B,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,aAAa,CAAC;AAE9D,MAAM,WAAW,YAAY;IAC3B,kCAAkC;IAClC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,mCAAmC;IACnC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,oCAAoC;IACpC,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC7C;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,yDAAyD;IACzD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,mFAAmF;IACnF,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,kFAAkF;IAClF,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC5C,0CAA0C;IAC1C,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;IACtB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAyE9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/primax/TwoColumn/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ButtonProps } from '@/components/atoms/Button';
|
|
3
|
+
import { BulletItem } from '@/components/atoms/BulletList';
|
|
4
|
+
import { HeadingLevel } from '@/components/atoms/Heading';
|
|
5
|
+
import { MediaBlockProps } from '@/components/molecules/primax/MediaBlock';
|
|
6
|
+
import './VideoSection.scss';
|
|
7
|
+
export type VideoSectionVariation = 'media-first' | 'content-first';
|
|
8
|
+
export interface VideoSectionProps {
|
|
9
|
+
/** Layout variation: media on left or right */
|
|
10
|
+
variation?: VideoSectionVariation;
|
|
11
|
+
/** Section heading text */
|
|
12
|
+
heading: string;
|
|
13
|
+
/** Heading semantic level */
|
|
14
|
+
headingLevel?: HeadingLevel;
|
|
15
|
+
/** Description text below the heading */
|
|
16
|
+
description?: string;
|
|
17
|
+
/** List of bullet items rendered via BulletList atom */
|
|
18
|
+
bulletPoints?: BulletItem[];
|
|
19
|
+
/** Shared icon for all bullet points (can be overridden per-item) */
|
|
20
|
+
bulletIcon?: React.ReactNode;
|
|
21
|
+
/** Button props */
|
|
22
|
+
button?: ButtonProps;
|
|
23
|
+
/** Media block props (video/image with accent border, sparkle, etc.) */
|
|
24
|
+
media: MediaBlockProps;
|
|
25
|
+
/** Dark mode styling */
|
|
26
|
+
darkMode?: boolean;
|
|
27
|
+
/** Additional class name */
|
|
28
|
+
className?: string;
|
|
29
|
+
}
|
|
30
|
+
export declare const VideoSection: React.FC<VideoSectionProps>;
|
|
31
|
+
//# sourceMappingURL=VideoSection.d.ts.map
|