@kroo-web/design-system 1.40.1 → 1.42.0

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.
@@ -8,3 +8,4 @@ export declare const FormLayout: Story;
8
8
  export declare const Responsive: Story;
9
9
  export declare const ImplicitGridWrapping: Story;
10
10
  export declare const SemanticElements: Story;
11
+ export declare const CustomGap: Story;
@@ -9,7 +9,8 @@ export type TGridProps = {
9
9
  children: React.ReactNode;
10
10
  className?: string;
11
11
  cols: ColumnSize | Responsive<ColumnSize>;
12
+ gap?: Responsive<'lg' | 'md' | 'sm' | 'xl' | 'xs' | 'xxs'>;
12
13
  ref?: React.Ref<HTMLElement>;
13
14
  } & React.HTMLAttributes<HTMLElement>;
14
- export declare const Grid: ({ as, children, className, cols, ref, ...props }: TGridProps) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const Grid: ({ as, children, className, cols, gap, ref, ...props }: TGridProps) => import("react/jsx-runtime").JSX.Element;
15
16
  export {};
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Notice } from '.';
3
+
4
+ declare const meta: Meta<typeof Notice>;
5
+ export default meta;
6
+ type Story = StoryObj<typeof Notice>;
7
+ export declare const DirectDebitGuarantee: Story;
8
+ export declare const WithLongContent: Story;
9
+ export declare const Variants: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ export type TNoticeProps = {
2
+ children: React.ReactNode;
3
+ className?: string;
4
+ ref?: React.Ref<HTMLElement>;
5
+ variant?: 'primary' | 'secondary';
6
+ } & React.HTMLAttributes<HTMLElement>;
7
+ export type TNoticeVisualProps = {
8
+ children: React.ReactNode;
9
+ className?: string;
10
+ } & React.HTMLAttributes<HTMLDivElement>;
11
+ export type TNoticeContentProps = {
12
+ children: React.ReactNode;
13
+ className?: string;
14
+ } & React.HTMLAttributes<HTMLDivElement>;
15
+ export declare const Notice: (({ children, className, ref, variant, ...props }: TNoticeProps) => import("react/jsx-runtime").JSX.Element) & {
16
+ Content: ({ children, className, ...props }: TNoticeContentProps) => import("react/jsx-runtime").JSX.Element;
17
+ Visual: ({ children, className, ...props }: TNoticeVisualProps) => import("react/jsx-runtime").JSX.Element;
18
+ };
@@ -12,7 +12,6 @@ export declare const Helper: {
12
12
  render: () => import("react/jsx-runtime").JSX.Element;
13
13
  };
14
14
  export declare const Native: Story;
15
- export declare const BothInputs: Story;
16
- export declare const NativeWithHookForm: {
15
+ export declare const WithHookForm: {
17
16
  render: () => import("react/jsx-runtime").JSX.Element;
18
17
  };
@@ -1,4 +1,10 @@
1
1
  import * as RadixRadioGroup from '@radix-ui/react-radio-group';
2
+ type Responsive<T> = {
3
+ base: T;
4
+ desktop?: T;
5
+ tablet?: T;
6
+ };
7
+ type VariantType = 'cards' | 'circle';
2
8
  export type TRadioGroupRootProps = {
3
9
  children: React.ReactNode;
4
10
  className?: string;
@@ -9,14 +15,14 @@ export type TRadioGroupRootProps = {
9
15
  label: string;
10
16
  name: string;
11
17
  onChange: (value: string) => void;
12
- variant?: 'cards' | 'circle';
18
+ variant?: Responsive<VariantType> | VariantType;
13
19
  visual?: 'horizontal' | 'vertical';
14
- } & RadixRadioGroup.RadioGroupProps;
20
+ } & Omit<RadixRadioGroup.RadioGroupProps, 'onValueChange'>;
15
21
  export declare const RadioGroup: {
16
22
  Indicator: ({ className, ...props }: RadixRadioGroup.RadioGroupIndicatorProps) => import("react/jsx-runtime").JSX.Element;
17
- Item: ({ children, className, supportingText, variant, ...props }: {
23
+ Item: ({ children, className, supportingText, ...props }: {
18
24
  supportingText?: string;
19
- variant?: "cards" | "circle";
20
25
  } & RadixRadioGroup.RadioGroupItemProps) => import("react/jsx-runtime").JSX.Element;
21
26
  Root: ({ children, className, disabled, error, label, onChange, variant, visual, ...props }: TRadioGroupRootProps) => import("react/jsx-runtime").JSX.Element;
22
27
  };
28
+ export {};
@@ -8,3 +8,4 @@ export declare const GeneralUsage: Story;
8
8
  export declare const Variants: Story;
9
9
  export declare const Error: Story;
10
10
  export declare const ExtraLong: Story;
11
+ export declare const ResponsiveVariant: Story;
@@ -0,0 +1,25 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Stack } from '.';
3
+
4
+ declare const meta: Meta<typeof Stack>;
5
+ export default meta;
6
+ type Story = StoryObj<typeof Stack>;
7
+ export declare const GeneralUsage: Story;
8
+ export declare const Vertical: Story;
9
+ export declare const Horizontal: Story;
10
+ /**
11
+ * Demonstrates the direction flip.
12
+ * Mobile: Vertical | Tablet/Desktop: Horizontal
13
+ */
14
+ export declare const ResponsiveDirection: Story;
15
+ /**
16
+ * NEW: Demonstrates responsive fullWidth.
17
+ * Buttons stretch to 100% on mobile, but shrink to their content width on tablet.
18
+ */
19
+ export declare const ResponsiveFullWidth: Story;
20
+ /**
21
+ * NEW: Demonstrates responsive wrapping.
22
+ * Tags wrap to a new line on mobile, but stay on one scrolling line on tablet.
23
+ */
24
+ export declare const ResponsiveWrap: Story;
25
+ export declare const MarketingPage: Story;
@@ -0,0 +1,31 @@
1
+ type Direction = 'horizontal' | 'horizontal-reverse' | 'vertical' | 'vertical-reverse';
2
+ type JustifyContent = 'around' | 'between' | 'center' | 'end' | 'evenly' | 'start';
3
+ type AlignItems = 'center' | 'end' | 'start' | 'stretch';
4
+ type Responsive<T> = {
5
+ base: T;
6
+ desktop?: T;
7
+ tablet?: T;
8
+ };
9
+ type JustifyValue = JustifyContent | Responsive<JustifyContent>;
10
+ type AlignValue = AlignItems | Responsive<AlignItems>;
11
+ type DirectionValue = Direction | Responsive<Direction>;
12
+ type GapValue = 'lg' | 'md' | 'sm' | 'xl' | 'xs' | 'xxs' | Responsive<'lg' | 'md' | 'sm' | 'xl' | 'xs' | 'xxs'>;
13
+ type WrapValue = boolean | Responsive<boolean>;
14
+ type FullWidthValue = boolean | Responsive<boolean>;
15
+ export type TStackProps = {
16
+ alignItems?: AlignValue;
17
+ as?: React.ElementType;
18
+ children: React.ReactNode;
19
+ className?: string;
20
+ fullWidth?: FullWidthValue;
21
+ gap?: GapValue;
22
+ justifyContent?: JustifyValue;
23
+ ref?: React.Ref<HTMLElement>;
24
+ variant?: DirectionValue;
25
+ wrap?: WrapValue;
26
+ } & React.HTMLAttributes<HTMLElement>;
27
+ export declare const Stack: {
28
+ ({ alignItems, as, children, className, fullWidth, gap, justifyContent, ref, variant, wrap, ...props }: TStackProps): import("react/jsx-runtime").JSX.Element;
29
+ displayName: string;
30
+ };
31
+ export {};
@@ -14,6 +14,7 @@ export * from './Icon';
14
14
  export * from './Link';
15
15
  export * from './Loading';
16
16
  export * from './Modal';
17
+ export * from './Notice';
17
18
  export * from './NumberField';
18
19
  export * from './PhoneField';
19
20
  export * from './PinInput';
@@ -22,6 +23,7 @@ export * from './ProgressIndicator';
22
23
  export * from './RadioGroup';
23
24
  export * from './Select';
24
25
  export * from './Skeleton';
26
+ export * from './Stack';
25
27
  export * from './Table';
26
28
  export * from './Tabs';
27
29
  export * from './Tag';