@loomhq/lens 11.30.1 → 11.30.3

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 (36) hide show
  1. package/dist/cjs/index.js +6 -6
  2. package/dist/esm/index.js +6 -6
  3. package/dist/types/components/align/align.d.ts +2 -2
  4. package/dist/types/components/arrange/arrange.d.ts +3 -5
  5. package/dist/types/components/avatar/avatar.d.ts +3 -1
  6. package/dist/types/components/backdrop/backdrop.d.ts +2 -1
  7. package/dist/types/components/button/button.d.ts +8 -1
  8. package/dist/types/components/color-picker/color-picker.d.ts +4 -3
  9. package/dist/types/components/container/container.d.ts +23 -23
  10. package/dist/types/components/distribute/distribute.d.ts +6 -5
  11. package/dist/types/components/form-field/form-field.d.ts +5 -4
  12. package/dist/types/components/icon/icon.d.ts +4 -2
  13. package/dist/types/components/icon-button/icon-button.d.ts +3 -2
  14. package/dist/types/components/layout/layout.d.ts +2 -1
  15. package/dist/types/components/link/link.d.ts +5 -2
  16. package/dist/types/components/list/list.d.ts +2 -2
  17. package/dist/types/components/loader/loader.d.ts +2 -1
  18. package/dist/types/components/logo/logo.d.ts +2 -1
  19. package/dist/types/components/modal/modal.d.ts +3 -2
  20. package/dist/types/components/notification-bar/notification-bar.d.ts +2 -1
  21. package/dist/types/components/pill/pill.d.ts +2 -1
  22. package/dist/types/components/select/select.d.ts +5 -4
  23. package/dist/types/components/skeleton-text/skeleton-text.d.ts +2 -1
  24. package/dist/types/components/spacer/spacer.d.ts +2 -2
  25. package/dist/types/components/split/split.d.ts +1 -1
  26. package/dist/types/components/switch/switch.d.ts +2 -1
  27. package/dist/types/components/tabs/tabs.d.ts +2 -1
  28. package/dist/types/components/text/text.d.ts +6 -2
  29. package/dist/types/components/text-button/text-button.d.ts +3 -1
  30. package/dist/types/components/toast/toast.d.ts +2 -1
  31. package/dist/types/components/tooltip/tooltip.d.ts +3 -2
  32. package/dist/types/types.d.ts +118 -0
  33. package/dist/types/utilities/responsive.d.ts +18 -11
  34. package/dist/types/utilities/size.d.ts +10 -3
  35. package/dist/types/variables.d.ts +35 -42
  36. package/package.json +1 -1
package/dist/cjs/index.js CHANGED
@@ -419,7 +419,7 @@ var getColorValue = (color) => {
419
419
  }
420
420
  };
421
421
 
422
- // src/utilities/size.js
422
+ // src/utilities/size.ts
423
423
  var u = (amount) => amount && `calc(${amount} * var(--lns-unit, ${unit}px))`;
424
424
  var getSizeValue = (size) => {
425
425
  if (size in spaces) {
@@ -473,7 +473,7 @@ function useMedia(queries, values, defaultValue) {
473
473
  return value;
474
474
  }
475
475
 
476
- // src/utilities/responsive.js
476
+ // src/utilities/responsive.ts
477
477
  var getMediaCss = (widthType, breakpoint, declaration) => `@media(${widthType}: ${breakpoint}){${declaration}}`;
478
478
  var arrayToBreakpoints = (values) => {
479
479
  const smallestBreakpoint = Object.values(breakpoints)[0];
@@ -555,11 +555,11 @@ var transformColumns = (columns) => {
555
555
  var getResponsiveColumns = (columns) => {
556
556
  if (columns) {
557
557
  if (typeof columns === "object" && !Array.isArray(columns)) {
558
- const columnsValesObject = {};
558
+ const columnsValuesObject = {};
559
559
  Object.entries(columns).forEach(
560
- ([key, value]) => columnsValesObject[key] = transformColumns(value)
560
+ ([key, value]) => columnsValuesObject[key] = transformColumns(value)
561
561
  );
562
- return objectToBreakpoints("grid-template-columns", columnsValesObject);
562
+ return objectToBreakpoints("grid-template-columns", columnsValuesObject);
563
563
  }
564
564
  return `grid-template-columns: ${transformColumns(columns)};`;
565
565
  }
@@ -622,7 +622,7 @@ var pascalCaseToKebabCase = (string) => {
622
622
  return string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/[\s_]+/g, "-").toLowerCase();
623
623
  };
624
624
 
625
- // src/variables.js
625
+ // src/variables.ts
626
626
  var unit = 8;
627
627
  var textSizes = {
628
628
  small: {
package/dist/esm/index.js CHANGED
@@ -200,7 +200,7 @@ var getColorValue = (color) => {
200
200
  }
201
201
  };
202
202
 
203
- // src/utilities/size.js
203
+ // src/utilities/size.ts
204
204
  var u = (amount) => amount && `calc(${amount} * var(--lns-unit, ${unit}px))`;
205
205
  var getSizeValue = (size) => {
206
206
  if (size in spaces) {
@@ -254,7 +254,7 @@ function useMedia(queries, values, defaultValue) {
254
254
  return value;
255
255
  }
256
256
 
257
- // src/utilities/responsive.js
257
+ // src/utilities/responsive.ts
258
258
  var getMediaCss = (widthType, breakpoint, declaration) => `@media(${widthType}: ${breakpoint}){${declaration}}`;
259
259
  var arrayToBreakpoints = (values) => {
260
260
  const smallestBreakpoint = Object.values(breakpoints)[0];
@@ -336,11 +336,11 @@ var transformColumns = (columns) => {
336
336
  var getResponsiveColumns = (columns) => {
337
337
  if (columns) {
338
338
  if (typeof columns === "object" && !Array.isArray(columns)) {
339
- const columnsValesObject = {};
339
+ const columnsValuesObject = {};
340
340
  Object.entries(columns).forEach(
341
- ([key, value]) => columnsValesObject[key] = transformColumns(value)
341
+ ([key, value]) => columnsValuesObject[key] = transformColumns(value)
342
342
  );
343
- return objectToBreakpoints("grid-template-columns", columnsValesObject);
343
+ return objectToBreakpoints("grid-template-columns", columnsValuesObject);
344
344
  }
345
345
  return `grid-template-columns: ${transformColumns(columns)};`;
346
346
  }
@@ -403,7 +403,7 @@ var pascalCaseToKebabCase = (string) => {
403
403
  return string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/[\s_]+/g, "-").toLowerCase();
404
404
  };
405
405
 
406
- // src/variables.js
406
+ // src/variables.ts
407
407
  var unit = 8;
408
408
  var textSizes = {
409
409
  small: {
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { ResponsiveType } from '../../types';
2
+ import { LensDivProps, LensHTMLProps, ResponsiveType } from '../../types';
3
3
  declare const AlignWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, AlignWrapperProps, object>;
4
- declare const Align: ({ children, alignment, htmlTag, ...props }: AlignProps & React.ComponentProps<typeof AlignWrapper>) => React.JSX.Element;
4
+ declare const Align: ({ children, alignment, htmlTag, ...props }: LensHTMLProps<AlignProps & React.ComponentProps<typeof AlignWrapper>, LensDivProps>) => React.JSX.Element;
5
5
  export declare const availableAlignments: string[];
6
6
  export declare const availableHtmlTags: string[];
7
7
  type AlignProps = {
@@ -1,4 +1,4 @@
1
- import { ResponsiveGridSections, ResponsiveType } from '../../types';
1
+ import { LensDivProps, LensHTMLProps, ResponsiveGridSections, ResponsiveType } from '../../types';
2
2
  import React from 'react';
3
3
  declare const ArrangeWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ArrangeProps, object>;
4
4
  type ArrangeProps = {
@@ -9,7 +9,7 @@ type ArrangeProps = {
9
9
  minHeight?: ResponsiveType<string | number>;
10
10
  maxWidth?: ResponsiveType<string | number>;
11
11
  maxHeight?: ResponsiveType<string | number>;
12
- gap?: ResponsiveType<string | number>;
12
+ gap?: ResponsiveType<string | number> | null;
13
13
  alignItems?: ResponsiveType<'start' | 'end' | 'center' | 'stretch'>;
14
14
  justifyItems?: ResponsiveType<'start' | 'end' | 'center' | 'stretch'>;
15
15
  alignContent?: ResponsiveType<'start' | 'end' | 'center' | 'stretch' | 'space-around' | 'space-between' | 'space-evenly'>;
@@ -17,8 +17,6 @@ type ArrangeProps = {
17
17
  autoFlow?: ResponsiveType<'column' | 'row'>;
18
18
  columns?: ResponsiveGridSections;
19
19
  rows?: ResponsiveGridSections;
20
- className?: never;
21
- style?: never;
22
20
  };
23
- declare const Arrange: ({ children, width, height, minWidth, minHeight, maxWidth, maxHeight, gap, columns, rows, alignItems, justifyContent, justifyItems, alignContent, autoFlow, className, style, ...props }: ArrangeProps & React.ComponentProps<typeof ArrangeWrapper>) => React.JSX.Element;
21
+ declare const Arrange: ({ children, width, height, minWidth, minHeight, maxWidth, maxHeight, gap, columns, rows, alignItems, justifyContent, justifyItems, alignContent, autoFlow, className, style, ...props }: LensHTMLProps<ArrangeProps & React.ComponentProps<typeof ArrangeWrapper>, LensDivProps>) => React.JSX.Element;
24
22
  export default Arrange;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { LensHTMLProps, LensSpanProps } from '../../types';
2
3
  declare const AvatarWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, AvatarWrapperProps, object>;
3
- declare const Avatar: ({ altText, size, letter, imageSrc, children, ...props }: AvatarProps & React.ComponentProps<typeof AvatarWrapper>) => React.JSX.Element;
4
+ declare const Avatar: ({ altText, size, letter, imageSrc, children, ...props }: LensHTMLProps<AvatarProps & React.ComponentProps<typeof AvatarWrapper>, LensSpanProps>) => React.JSX.Element;
4
5
  type AvatarProps = {
5
6
  altText?: string;
6
7
  letter?: string;
@@ -9,6 +10,7 @@ type AvatarProps = {
9
10
  children?: React.ReactNode;
10
11
  height?: number;
11
12
  width?: number;
13
+ hasBackgroundColor?: boolean;
12
14
  };
13
15
  type AvatarWrapperProps = {
14
16
  size?: string | number;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { LensDivProps, LensHTMLProps } from '../../types';
2
3
  declare const BackdropWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, BackdropProps, object>;
3
- declare const Backdrop: ({ children, isOpen, zIndex, backgroundColor, ...props }: BackdropProps & React.ComponentProps<typeof BackdropWrapper>) => React.JSX.Element;
4
+ declare const Backdrop: ({ children, isOpen, zIndex, backgroundColor, ...props }: LensHTMLProps<BackdropProps & React.ComponentProps<typeof BackdropWrapper>, LensDivProps>) => React.JSX.Element;
4
5
  type BackdropProps = {
5
6
  isOpen?: boolean;
6
7
  children?: React.ReactNode;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { LensButtonProps, LensHTMLProps } from '../../types';
2
3
  declare const ButtonWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, ButtonWrapperProps, object>;
3
- declare const Button: ({ size, children, variant, hasFullWidth, icon, iconPosition, logoSrc, hasLoader, isDisabled, htmlTag, refHandler, ...props }: ButtonProps & React.ComponentProps<typeof ButtonWrapper>) => React.JSX.Element;
4
+ declare const Button: ({ size, children, variant, hasFullWidth, icon, iconPosition, logoSrc, hasLoader, isDisabled, htmlTag, refHandler, ...props }: LensHTMLProps<ButtonProps & React.ComponentProps<typeof ButtonWrapper>, LensButtonProps>) => React.JSX.Element;
4
5
  type Variant = 'neutral' | 'primary' | 'secondary' | 'record' | 'upgrade' | 'danger' | 'ai';
5
6
  interface ButtonProps {
6
7
  size?: 'small' | 'medium' | 'large';
@@ -11,11 +12,17 @@ interface ButtonProps {
11
12
  icon?: React.ReactNode;
12
13
  iconPosition?: 'left' | 'right';
13
14
  logoSrc?: string;
15
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
14
16
  hasLoader?: boolean;
15
17
  htmlTag?: 'button' | 'a';
16
18
  href?: string;
17
19
  target?: string;
20
+ type?: string;
18
21
  refHandler?: (ref: HTMLButtonElement) => void;
22
+ /** @deprecated Usage of className results in non-standard components */
23
+ className?: string;
24
+ /** @deprecated Usage of style results in non-standard components */
25
+ style?: any;
19
26
  }
20
27
  interface ButtonWrapperProps {
21
28
  hasNoPaddingRight?: boolean;
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
+ import { LensDivProps, LensHTMLProps } from '../../types';
2
3
  declare const ColorPickerContainer: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement>>, object>;
3
- declare const ColorPicker: ({ defaultColor, confirmButton, swatches, onChange, ...props }: ColorPickerProps & React.ComponentProps<typeof ColorPickerContainer>) => React.JSX.Element;
4
+ declare const ColorPicker: ({ defaultColor, confirmButton, swatches, onChange, ...props }: LensHTMLProps<ColorPickerProps & Omit<React.ComponentProps<typeof ColorPickerContainer>, keyof ColorPickerProps>, LensDivProps>) => React.JSX.Element;
4
5
  type ColorPickerProps = {
5
6
  defaultColor?: string;
6
7
  confirmButton?: React.ReactNode;
7
- swatches?: [];
8
- onChange?: () => void;
8
+ swatches?: string[];
9
+ onChange?: (selectedColor: string) => void;
9
10
  };
10
11
  export default ColorPicker;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { ResponsiveType } from '../../types';
2
+ import { LensDivProps, LensHTMLProps, ResponsiveType } from '../../types';
3
3
  declare const ContainerWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ContainerWrapperProps, object>;
4
- declare const Container: ({ children, backgroundColor, backgroundImage, contentColor, borderColor, radius, borderSide, borderWidth, shadow, padding, paddingX, paddingY, paddingLeft, paddingRight, paddingTop, paddingBottom, margin, marginX, marginY, marginLeft, marginRight, marginTop, marginBottom, width, height, minWidth, minHeight, maxWidth, maxHeight, htmlTag, position, overflow, zIndex, top, bottom, left, right, refHandler, ...props }: ContainerProps & React.ComponentProps<typeof ContainerWrapper>) => React.JSX.Element;
4
+ declare const Container: ({ children, backgroundColor, backgroundImage, contentColor, borderColor, radius, borderSide, borderWidth, shadow, padding, paddingX, paddingY, paddingLeft, paddingRight, paddingTop, paddingBottom, margin, marginX, marginY, marginLeft, marginRight, marginTop, marginBottom, width, height, minWidth, minHeight, maxWidth, maxHeight, htmlTag, position, overflow, zIndex, top, bottom, left, right, refHandler, ...props }: LensHTMLProps<ContainerProps & React.ComponentProps<typeof ContainerWrapper>, LensDivProps>) => React.JSX.Element;
5
5
  export declare const availableBorderSides: string[];
6
6
  export declare const availableRadii: string[];
7
7
  export declare const availableHtmlTags: string[];
@@ -13,20 +13,20 @@ interface SharedProps {
13
13
  radius?: 'medium' | 'large' | 'xlarge' | 'full';
14
14
  borderSide?: 'all' | 'left' | 'right' | 'top' | 'bottom';
15
15
  shadow?: 'small' | 'medium' | 'large';
16
- padding?: ResponsiveType<string | number>;
17
- paddingX?: ResponsiveType<string | number>;
18
- paddingY?: ResponsiveType<string | number>;
19
- paddingLeft?: ResponsiveType<string | number>;
20
- paddingRight?: ResponsiveType<string | number>;
21
- paddingTop?: ResponsiveType<string | number>;
22
- paddingBottom?: ResponsiveType<string | number>;
23
- margin?: ResponsiveType<string | number>;
24
- marginX?: ResponsiveType<string | number>;
25
- marginY?: ResponsiveType<string | number>;
26
- marginLeft?: ResponsiveType<string | number>;
27
- marginRight?: ResponsiveType<string | number>;
28
- marginTop?: ResponsiveType<string | number>;
29
- marginBottom?: ResponsiveType<string | number>;
16
+ padding?: ResponsiveType<string | number> | null;
17
+ paddingX?: ResponsiveType<string | number> | null;
18
+ paddingY?: ResponsiveType<string | number> | null;
19
+ paddingLeft?: ResponsiveType<string | number> | null;
20
+ paddingRight?: ResponsiveType<string | number> | null;
21
+ paddingTop?: ResponsiveType<string | number> | null;
22
+ paddingBottom?: ResponsiveType<string | number> | null;
23
+ margin?: ResponsiveType<string | number> | null;
24
+ marginX?: ResponsiveType<string | number> | null;
25
+ marginY?: ResponsiveType<string | number> | null;
26
+ marginLeft?: ResponsiveType<string | number> | null;
27
+ marginRight?: ResponsiveType<string | number> | null;
28
+ marginTop?: ResponsiveType<string | number> | null;
29
+ marginBottom?: ResponsiveType<string | number> | null;
30
30
  width?: ResponsiveType<string | number>;
31
31
  height?: ResponsiveType<string | number>;
32
32
  minWidth?: ResponsiveType<string | number>;
@@ -36,16 +36,16 @@ interface SharedProps {
36
36
  children?: React.ReactNode;
37
37
  position?: string;
38
38
  overflow?: string;
39
- top?: ResponsiveType<string | number>;
40
- bottom?: ResponsiveType<string | number>;
41
- left?: ResponsiveType<string | number>;
42
- right?: ResponsiveType<string | number>;
43
- zIndex?: number;
39
+ top?: ResponsiveType<string | number> | null;
40
+ bottom?: ResponsiveType<string | number> | null;
41
+ left?: ResponsiveType<string | number> | null;
42
+ right?: ResponsiveType<string | number> | null;
43
+ zIndex?: number | string;
44
44
  borderWidth?: string | number;
45
- refHandler?: (ref: HTMLElement | HTMLDivElement | HTMLSpanElement) => void;
45
+ refHandler?: ((ref: HTMLElement) => void) | ((ref: HTMLDivElement) => void) | ((ref: HTMLSpanElement) => void);
46
46
  }
47
47
  interface ContainerProps extends SharedProps {
48
- htmlTag?: 'div' | 'header' | 'article' | 'section' | 'nav' | 'aside' | 'footer' | 'main' | 'span';
48
+ htmlTag?: 'div' | 'header' | 'article' | 'section' | 'nav' | 'aside' | 'footer' | 'main' | 'span' | 'form';
49
49
  }
50
50
  interface ContainerWrapperProps extends SharedProps {
51
51
  as?: string;
@@ -1,22 +1,23 @@
1
1
  import React from 'react';
2
- import { ResponsiveType } from '../../types';
2
+ import { LensDivProps, LensHTMLProps, ResponsiveType } from '../../types';
3
3
  declare const DistributeWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, DistributeWrapperProps, object>;
4
- declare const Distribute: ({ children, gap, direction, alignment, isSpread, htmlTag, ...props }: DistributeProps & React.ComponentProps<typeof DistributeWrapper>) => React.JSX.Element;
4
+ declare const Distribute: ({ children, gap, direction, alignment, isSpread, htmlTag, ...props }: LensHTMLProps<DistributeProps & React.ComponentProps<typeof DistributeWrapper>, LensDivProps>) => React.JSX.Element;
5
5
  export declare const availableDirections: string[];
6
6
  export declare const availableAlignments: string[];
7
7
  export declare const availableHtmlTags: string[];
8
+ type Alignment = 'start' | 'center' | 'end' | 'stretch';
8
9
  type DistributeProps = {
9
10
  children: React.ReactNode;
10
11
  direction?: ResponsiveType<'row' | 'column'>;
11
- alignment?: ResponsiveType<'start' | 'center' | 'end' | 'stretch'>;
12
+ alignment?: Alignment | Alignment[];
12
13
  isSpread?: ResponsiveType<true | false>;
13
14
  htmlTag?: 'div' | 'header' | 'article' | 'section' | 'nav' | 'aside' | 'footer' | 'main';
14
15
  gap?: string | number;
15
16
  };
16
17
  type DistributeWrapperProps = {
17
18
  flexDirection?: ResponsiveType<'row' | 'column'>;
18
- flexAlign?: ResponsiveType<'start' | 'center' | 'end' | 'stretch'>;
19
- isSpread?: ResponsiveType<true | false>;
19
+ flexAlign?: Alignment | Alignment[];
20
+ isSpread?: boolean | boolean[];
20
21
  gap?: string | number;
21
22
  as?: string;
22
23
  };
@@ -1,9 +1,10 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
+ import { LensDivProps, LensHTMLProps } from '../../types';
2
3
  declare const FormFieldWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, FormFieldProps, object>;
3
- declare const FormField: ({ label, children, errorMessage, labelFor, direction, ...props }: FormFieldProps & React.ComponentProps<typeof FormFieldWrapper>) => React.JSX.Element;
4
+ declare const FormField: ({ label, children, errorMessage, labelFor, direction, ...props }: LensHTMLProps<FormFieldProps & React.ComponentProps<typeof FormFieldWrapper>, LensDivProps>) => React.JSX.Element;
4
5
  type FormFieldProps = {
5
- label?: string;
6
- errorMessage?: string;
6
+ label?: ReactNode;
7
+ errorMessage?: string | null;
7
8
  labelFor?: string;
8
9
  children?: React.ReactNode;
9
10
  direction?: 'row' | 'column';
@@ -1,11 +1,13 @@
1
+ import { SizeProp } from '../../utilities';
1
2
  import React from 'react';
3
+ import { LensHTMLProps, LensSpanProps } from '../../types';
2
4
  declare const IconWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, IconProps, object>;
3
5
  type IconProps = {
4
- size?: string | number;
6
+ size?: SizeProp;
5
7
  altText?: string;
6
8
  icon?: React.ReactNode;
7
9
  color?: string;
8
10
  hasWidthOffset?: boolean;
9
11
  };
10
- declare const Icon: ({ altText, icon, color, size, hasWidthOffset, ...props }: IconProps & React.ComponentProps<typeof IconWrapper>) => React.JSX.Element;
12
+ declare const Icon: ({ altText, icon, color, size, hasWidthOffset, ...props }: LensHTMLProps<IconProps & React.ComponentProps<typeof IconWrapper>, LensSpanProps>) => React.JSX.Element;
11
13
  export default Icon;
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
+ import { LensButtonProps, LensHTMLProps } from '../../types';
2
3
  export declare const IconButtonBox: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, IconButtonBoxProps, object>;
3
- declare const IconButton: ({ altText, icon, onClick, iconColor, backgroundColor, isActive, isDisabled, size, ...props }: IconButtonProps & React.ComponentProps<typeof IconButtonBox>) => React.JSX.Element;
4
+ declare const IconButton: ({ altText, icon, onClick, iconColor, backgroundColor, isActive, isDisabled, size, ...props }: LensHTMLProps<IconButtonProps & React.ComponentProps<typeof IconButtonBox>, LensButtonProps>) => React.JSX.Element;
4
5
  type IconButtonProps = {
5
6
  altText: string;
6
7
  icon?: React.ReactNode;
7
- onClick?: React.ReactEventHandler;
8
+ onClick?: React.MouseEventHandler<HTMLInputElement>;
8
9
  iconColor?: string;
9
10
  backgroundColor?: string;
10
11
  isActive?: boolean;
@@ -10,8 +10,9 @@ declare class Layout extends Component<LayoutProps> {
10
10
  }) => React.JSX.Element;
11
11
  render(): React.JSX.Element;
12
12
  }
13
+ type Alignments = 'start' | 'center' | 'end' | 'stretch';
13
14
  type LayoutProps = {
14
- alignment?: ResponsiveType<'start' | 'center' | 'end' | 'stretch'>;
15
+ alignment?: Alignments | Alignments[];
15
16
  gap?: ResponsiveType<string | number>;
16
17
  children?: React.ReactNode;
17
18
  };
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { LensAnchorProps, LensHTMLProps } from '../../types';
2
3
  declare const LinkWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, LinkWrapperProps, object>;
3
- declare const Link: ({ children, href, variant, htmlTag, isDisabled, ...props }: LinkProps & React.ComponentProps<typeof LinkWrapper>) => React.JSX.Element;
4
+ declare const Link: ({ children, href, variant, htmlTag, isDisabled, ...props }: LensHTMLProps<LinkProps & React.ComponentProps<typeof LinkWrapper>, LensAnchorProps>) => React.JSX.Element;
4
5
  export declare const availableVariants: string[];
5
6
  type LinkProps = {
6
7
  children?: React.ReactNode;
@@ -8,7 +9,8 @@ type LinkProps = {
8
9
  variant?: 'neutral' | 'primary';
9
10
  htmlTag?: 'button' | 'a';
10
11
  isDisabled?: boolean;
11
- onClick?: React.ReactEventHandler;
12
+ onClick?: React.MouseEventHandler<HTMLAnchorElement>;
13
+ target?: string;
12
14
  };
13
15
  type LinkWrapperProps = {
14
16
  children?: React.ReactNode;
@@ -16,5 +18,6 @@ type LinkWrapperProps = {
16
18
  disabled?: boolean;
17
19
  variant?: 'neutral' | 'primary';
18
20
  as?: string;
21
+ target?: string;
19
22
  };
20
23
  export default Link;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { ResponsiveType } from '../../types';
2
+ import { LensDivProps, LensHTMLProps, ResponsiveType } from '../../types';
3
3
  declare const ListWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ListProps, object>;
4
4
  export declare const ListRow: ({ children, htmlTag, className, backgroundColor, onClick, href, ...props }: ListRowProps) => React.JSX.Element;
5
- declare const List: ({ children, columns, gap, variant, ...props }: ListProps & React.ComponentProps<typeof ListWrapper>) => React.JSX.Element;
5
+ declare const List: ({ children, columns, gap, variant, ...props }: LensHTMLProps<ListProps & React.ComponentProps<typeof ListWrapper>, LensDivProps>) => React.JSX.Element;
6
6
  interface SharedProps {
7
7
  padding?: ResponsiveType<string | number>;
8
8
  paddingTop?: ResponsiveType<string | number>;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { LensHTMLProps, LensSpanProps } from '../../types';
2
3
  declare const LoaderWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, LoaderWrapperProps, object>;
3
- declare const Loader: ({ color, size, ...props }: LoaderProps & React.ComponentProps<typeof LoaderWrapper>) => React.JSX.Element;
4
+ declare const Loader: ({ color, size, ...props }: LensHTMLProps<LoaderProps & React.ComponentProps<typeof LoaderWrapper>, LensSpanProps>) => React.JSX.Element;
4
5
  export declare const availableSizes: string[];
5
6
  type LoaderProps = {
6
7
  color?: string;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { LensHTMLProps, LensSpanProps } from '../../types';
2
3
  declare const LogoWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, LogoWrapperProps, object>;
3
- declare const Logo: ({ variant, maxWidth, symbolColor, wordmarkColor, brand, customId, title, ...props }: LogoProps & React.ComponentProps<typeof LogoWrapper>) => React.JSX.Element;
4
+ declare const Logo: ({ variant, maxWidth, symbolColor, wordmarkColor, brand, customId, title, ...props }: LensHTMLProps<LogoProps & React.ComponentProps<typeof LogoWrapper>, LensSpanProps>) => React.JSX.Element;
4
5
  export declare const availableVariants: string[];
5
6
  type LogoProps = {
6
7
  variant?: 'combined' | 'symbol' | 'wordmark';
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { LensDialogProps, LensHTMLProps } from '../../types';
2
3
  declare const ModalCardWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.DialogHTMLAttributes<HTMLDialogElement>, HTMLDialogElement>, ModalCardProps, object>;
3
- export declare const ModalCard: ({ children, onCloseClick, isOpen, maxWidth, maxHeight, placement, ariaLabel, ref, removeClose, ...props }: ModalCardProps & React.ComponentProps<typeof ModalCardWrapper>) => React.JSX.Element;
4
+ export declare const ModalCard: ({ children, onCloseClick, isOpen, maxWidth, maxHeight, placement, ariaLabel, ref, removeClose, ...props }: LensHTMLProps<ModalCardProps & React.ComponentProps<typeof ModalCardWrapper>, LensDialogProps>) => React.JSX.Element;
4
5
  declare const Modal: React.ForwardRefExoticComponent<Omit<ModalProps & {
5
6
  isOpen?: boolean;
6
7
  children?: React.ReactNode;
@@ -18,7 +19,7 @@ declare const Modal: React.ForwardRefExoticComponent<Omit<ModalProps & {
18
19
  backgroundColor?: string;
19
20
  }> & {
20
21
  theme?: object;
21
- }, "ref"> & React.RefAttributes<HTMLDialogElement>>;
22
+ } & Omit<import("../../types").LensDivProps, "key" | "className" | "style" | "onClick" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onKeyDown" | "onScroll" | "color" | "title" | "onSubmit" | "id" | "tabIndex" | "role" | "rel" | "onBlur" | "onMouseDown" | "onTouchStart" | "onTouchMove" | "onFocus" | "autoFocus" | "children" | "defaultValue" | "ref" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "nonce" | "placeholder" | "slot" | "spellCheck" | "translate" | "radioGroup" | "about" | "content" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDownCapture" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMoveCapture" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "css" | "backgroundColor" | "zIndex" | "theme" | "isOpen">, "ref"> & React.RefAttributes<HTMLDialogElement>>;
22
23
  type ModalProps = {
23
24
  children?: React.ReactNode;
24
25
  isOpen?: boolean;
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import { SeverityLevels } from './types';
3
+ import { LensAsideProps, LensHTMLProps } from '../../types';
3
4
  declare const NotificationBarWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, NotificationBarWrapperProps, object>;
4
- declare const NotificationBar: ({ children, onCloseClick, isOpen, severity, id, }: NotificationBarProps & React.ComponentProps<typeof NotificationBarWrapper>) => React.JSX.Element;
5
+ declare const NotificationBar: ({ children, onCloseClick, isOpen, severity, id, }: LensHTMLProps<NotificationBarProps & React.ComponentProps<typeof NotificationBarWrapper>, LensAsideProps>) => React.JSX.Element;
5
6
  type NotificationBarProps = {
6
7
  children?: React.ReactNode;
7
8
  isOpen?: boolean;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { LensDivProps, LensHTMLProps } from '../../types';
2
3
  declare const PillWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, PillWrapperProps, object>;
3
- declare const Pill: ({ color, backgroundColor, children, icon, iconPosition, ...props }: PillProps & React.ComponentProps<typeof PillWrapper>) => React.JSX.Element;
4
+ declare const Pill: ({ color, backgroundColor, children, icon, iconPosition, ...props }: LensHTMLProps<PillProps & React.ComponentProps<typeof PillWrapper>, LensDivProps>) => React.JSX.Element;
4
5
  type PillProps = {
5
6
  icon?: React.ReactNode;
6
7
  iconPosition?: 'left' | 'right';
@@ -1,7 +1,8 @@
1
1
  import React, { HTMLAttributes } from 'react';
2
+ import { LensDivProps, LensHTMLProps } from '../../types';
2
3
  declare const SelectWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement>>, object>;
3
- declare const Select: ({ container, onChange, menuZIndex, menuMaxWidth, menuMaxHeight, menuMinWidth, selectedOptionValue, onOuterClick, options, placeholder, menuPosition, isDisabled, onOpenChange, trigger, ...props }: SelectProps & React.ComponentProps<typeof SelectWrapper>) => React.JSX.Element;
4
- type OptionsObject = {
4
+ declare const Select: ({ container, onChange, menuZIndex, menuMaxWidth, menuMaxHeight, menuMinWidth, selectedOptionValue, onOuterClick, options, placeholder, menuPosition, isDisabled, onOpenChange, trigger, ...props }: LensHTMLProps<SelectProps & React.ComponentProps<typeof SelectWrapper>, LensDivProps>) => React.JSX.Element;
5
+ export type OptionsObject = {
5
6
  value: string;
6
7
  title: React.ReactNode;
7
8
  icon?: React.ReactNode;
@@ -10,10 +11,10 @@ type OptionsObject = {
10
11
  hidden?: HTMLAttributes<HTMLOptionElement>['hidden'];
11
12
  };
12
13
  type SelectProps = {
13
- onChange?: React.ReactEventHandler;
14
+ onChange?: (selectedOption: OptionsObject) => void;
14
15
  isDisabled?: boolean;
15
16
  placeholder?: React.ReactNode;
16
- selectedOptionValue?: string;
17
+ selectedOptionValue?: string | null;
17
18
  menuZIndex?: number;
18
19
  menuMaxWidth?: string | number;
19
20
  menuMaxHeight?: string | number;
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
+ import { TextSize } from '../../variables';
2
3
  declare const SkeletonTextWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, SkeletonTextProps, object>;
3
4
  declare const SkeletonText: ({ size, lines, }: SkeletonTextProps & React.ComponentProps<typeof SkeletonTextWrapper>) => React.JSX.Element;
4
5
  type SkeletonTextProps = {
5
- size?: 'body-sm' | 'body-md' | 'body-lg' | 'heading-sm' | 'heading-md' | 'heading-lg';
6
+ size?: TextSize;
6
7
  lines?: number;
7
8
  };
8
9
  export default SkeletonText;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { ResponsiveType } from '../../types';
2
+ import { LensDivProps, LensHTMLProps, ResponsiveType } from '../../types';
3
3
  declare const SpacerWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, SpacerProps, object>;
4
- declare const Spacer: ({ children, all, y, x, top, right, bottom, left, isInline, ...props }: SpacerProps & React.ComponentProps<typeof SpacerWrapper>) => React.JSX.Element;
4
+ declare const Spacer: ({ children, all, y, x, top, right, bottom, left, isInline, ...props }: LensHTMLProps<SpacerProps & React.ComponentProps<typeof SpacerWrapper>, LensDivProps>) => React.JSX.Element;
5
5
  type SpacerProps = {
6
6
  all?: ResponsiveType<string | number>;
7
7
  y?: ResponsiveType<string | number>;
@@ -14,7 +14,7 @@ interface SharedProps {
14
14
  children?: React.ReactNode;
15
15
  }
16
16
  interface SplitProps extends SharedProps {
17
- alignItems?: ResponsiveType<'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline'>;
17
+ alignItems?: ResponsiveType<'start' | 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline'>;
18
18
  justifyContent?: ResponsiveType<'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'>;
19
19
  alignContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch' | 'start' | 'end' | 'baseline';
20
20
  wrap?: ResponsiveType<'nowrap' | 'wrap' | 'wrap-reverse'>;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { LensHTMLProps, LensInputProps } from '../../types';
2
3
  declare const SwitchInput: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, SwitchInputProps, object>;
3
- declare const Switch: ({ isActive, isDisabled, onChange, size, ariaLabelledby, ariaLabel, ...props }: SwitchProps & Omit<React.ComponentProps<typeof SwitchInput>, 'size'>) => React.JSX.Element;
4
+ declare const Switch: ({ isActive, isDisabled, onChange, size, ariaLabelledby, ariaLabel, ...props }: LensHTMLProps<SwitchProps & Omit<React.ComponentProps<typeof SwitchInput>, 'size'>, LensInputProps>) => React.JSX.Element;
4
5
  type SwitchProps = {
5
6
  isActive?: boolean;
6
7
  isDisabled?: boolean;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { LensButtonProps, LensHTMLProps } from '../../types';
2
3
  declare const TabWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, TabWrapperProps, object>;
3
- export declare const Tab: ({ children, isActive, htmlTag, icon, ...props }: TabProps & React.ComponentProps<typeof TabWrapper>) => React.JSX.Element;
4
+ export declare const Tab: ({ children, isActive, htmlTag, icon, ...props }: LensHTMLProps<TabProps & React.ComponentProps<typeof TabWrapper>, LensButtonProps>) => React.JSX.Element;
4
5
  declare const Tabs: ({ children, scrollOffset, hasFullTabs, isPilledDesign, ...props }: TabsProps) => React.JSX.Element;
5
6
  type TabsProps = {
6
7
  scrollOffset?: number | string;
@@ -1,4 +1,6 @@
1
1
  import React from 'react';
2
+ import { TextSize } from '../../variables';
3
+ import { LensHTMLProps, LensSpanProps } from '../../types';
2
4
  export declare const dimAmount = 0.6;
3
5
  type VariantsProps = {
4
6
  [key: string]: {
@@ -9,14 +11,14 @@ type VariantsProps = {
9
11
  export declare const variants: VariantsProps;
10
12
  export declare const lineHeightToPx: (size: any) => number;
11
13
  declare const TextWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, TextWrapperProps, object>;
12
- declare const Text: ({ children, size, color, isInline, isDimmed, fontWeight, hasEllipsis, ellipsisLines, noWrap, variant, htmlTag, alignment, sizeMinMax, ...props }: TextProps & React.ComponentProps<typeof TextWrapper>) => React.JSX.Element;
14
+ declare const Text: ({ children, size, color, isInline, isDimmed, fontWeight, hasEllipsis, ellipsisLines, noWrap, variant, htmlTag, alignment, sizeMinMax, ...props }: LensHTMLProps<TextProps & React.ComponentProps<typeof TextWrapper>, LensSpanProps>) => React.JSX.Element;
13
15
  export declare const availableSizes: string[];
14
16
  export declare const deprecatedSizes: string[];
15
17
  export declare const availableFontWeights: string[];
16
18
  export declare const availableHtmlTags: string[];
17
19
  export declare const alignments: string[];
18
20
  interface TextProps {
19
- size?: 'body-sm' | 'body-md' | 'body-lg' | 'heading-sm' | 'heading-md' | 'heading-lg' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge' | 'xxxlarge';
21
+ size?: TextSize;
20
22
  fontWeight?: 'book' | 'bold';
21
23
  variant?: 'body' | 'title' | 'mainTitle';
22
24
  alignment?: 'left' | 'right' | 'center';
@@ -29,6 +31,8 @@ interface TextProps {
29
31
  htmlTag?: 'h1' | 'h2' | 'h3' | 'h4' | 'p' | 'span' | 'div';
30
32
  children?: React.ReactNode;
31
33
  sizeMinMax?: string[];
34
+ /** @deprecated Usage of className results in non-standard components */
35
+ className?: string;
32
36
  }
33
37
  interface TextWrapperProps extends TextProps {
34
38
  as?: string;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { LensButtonProps, LensHTMLProps } from '../../types';
2
3
  declare const TextButtonWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, TextButtonWrapperProps, object>;
3
- declare const TextButton: ({ onClick, size, children, icon, iconPosition, isDisabled, htmlTag, offsetSide, ...props }: TextButtonProps & React.ComponentProps<typeof TextButtonWrapper>) => React.JSX.Element;
4
+ declare const TextButton: ({ onClick, size, children, icon, iconPosition, isDisabled, htmlTag, offsetSide, ...props }: LensHTMLProps<TextButtonProps & React.ComponentProps<typeof TextButtonWrapper>, LensButtonProps>) => React.JSX.Element;
4
5
  type TextButtonProps = {
5
6
  onClick?: React.ReactEventHandler;
6
7
  isDisabled?: boolean;
@@ -12,6 +13,7 @@ type TextButtonProps = {
12
13
  offsetSide?: 'left' | 'right';
13
14
  href?: string;
14
15
  target?: string;
16
+ type?: string;
15
17
  };
16
18
  type TextButtonWrapperProps = {
17
19
  icon?: React.ReactNode;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { LensDivProps, LensHTMLProps } from '../../types';
2
3
  declare const ToastWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ToastWrapperProps, object>;
3
- declare const Toast: ({ children, isOpen, onCloseClick, zIndex, duration, platform, }: ToastProps & React.ComponentProps<typeof ToastWrapper>) => React.JSX.Element;
4
+ declare const Toast: ({ children, isOpen, onCloseClick, zIndex, duration, platform, }: LensHTMLProps<ToastProps & React.ComponentProps<typeof ToastWrapper>, LensDivProps>) => React.JSX.Element;
4
5
  type ToastProps = {
5
6
  children?: React.ReactNode;
6
7
  isOpen?: boolean;
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { Size } from '../../utilities';
2
3
  type DelaySpeed = 'immediate' | 'long';
3
4
  declare const TooltipBoxWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, TooltipBoxProps, object>;
4
5
  declare const ShortcutWrapper: import("@emotion/styled").StyledComponent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement>>, object>;
@@ -8,7 +9,7 @@ declare const Tooltip: ({ ariaLive, children, content, shortcut, placement, keep
8
9
  export declare const availablePlacements: string[];
9
10
  type TooltipBoxProps = {
10
11
  children?: React.ReactNode;
11
- maxWidth?: number | string | [];
12
+ maxWidth?: Size | [];
12
13
  onMouseEnter?: React.ReactEventHandler;
13
14
  onMouseLeave?: React.ReactEventHandler;
14
15
  layerProps?: any;
@@ -23,7 +24,7 @@ type TooltipProps = {
23
24
  isDisabled?: boolean;
24
25
  isInline?: boolean;
25
26
  keepOpen?: boolean;
26
- maxWidth?: number | string | [];
27
+ maxWidth?: Size | [];
27
28
  placement?: 'topLeft' | 'topCenter' | 'topRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight' | 'leftTop' | 'leftCenter' | 'leftBottom' | 'rightTop' | 'rightCenter' | 'rightBottom';
28
29
  triggerOffset?: number;
29
30
  verticalAlign?: string;
@@ -1,6 +1,124 @@
1
+ /// <reference types="react" />
1
2
  export type ResponsiveType<T> = T | T[] | {
2
3
  [key: string]: T;
3
4
  };
4
5
  export type ResponsiveGridSections = string | (string | number)[] | {
5
6
  [key: string]: string | (string | number)[];
6
7
  };
8
+ type DivProps = React.HTMLProps<HTMLDivElement>;
9
+ export interface LensDivProps {
10
+ /** @deprecated Prefer using Lens builtin props */
11
+ className?: DivProps['className'];
12
+ /** @deprecated Prefer using Lens builtin props */
13
+ style?: DivProps['style'];
14
+ /** @deprecated Prefer using Lens builtin props */
15
+ onClick?: DivProps['onClick'];
16
+ /** @deprecated Prefer using Lens builtin props */
17
+ onMouseEnter?: DivProps['onMouseEnter'];
18
+ /** @deprecated Prefer using Lens builtin props */
19
+ onMouseLeave?: DivProps['onMouseLeave'];
20
+ /** @deprecated Prefer using Lens builtin props */
21
+ onMouseMove?: DivProps['onMouseMove'];
22
+ /** @deprecated Prefer using Lens builtin props */
23
+ onKeyDown?: DivProps['onKeyDown'];
24
+ /** @deprecated Prefer using Lens builtin props */
25
+ onScroll?: DivProps['onScroll'];
26
+ /** @deprecated Prefer using Lens builtin props */
27
+ color?: DivProps['color'];
28
+ /** @deprecated Prefer using Lens builtin props */
29
+ size?: DivProps['size'];
30
+ /** @deprecated Prefer using Lens builtin props */
31
+ title?: DivProps['title'];
32
+ /** @deprecated Prefer using Lens builtin props */
33
+ as?: DivProps['as'];
34
+ /** @deprecated Prefer using Lens builtin props */
35
+ onSubmit?: DivProps['onSubmit'];
36
+ id?: DivProps['id'];
37
+ tabIndex?: DivProps['tabIndex'];
38
+ role?: DivProps['role'];
39
+ }
40
+ type AnchorProps = React.HTMLProps<HTMLAnchorElement>;
41
+ export interface LensAnchorProps {
42
+ /** @deprecated Prefer using Lens builtin props */
43
+ className?: DivProps['className'];
44
+ /** @deprecated Prefer using Lens builtin props */
45
+ color?: AnchorProps['color'];
46
+ /** @deprecated Prefer using Lens builtin props */
47
+ style?: DivProps['style'];
48
+ /** @deprecated Prefer using Lens builtin props */
49
+ onKeyDown?: AnchorProps['onKeyDown'];
50
+ id?: AnchorProps['id'];
51
+ type?: AnchorProps['type'];
52
+ rel?: AnchorProps['rel'];
53
+ title?: AnchorProps['title'];
54
+ }
55
+ type SpanProps = React.HTMLProps<HTMLSpanElement>;
56
+ export interface LensSpanProps {
57
+ /** @deprecated Prefer using Lens builtin props */
58
+ className?: SpanProps['className'];
59
+ /** @deprecated Prefer using Lens builtin props */
60
+ style?: SpanProps['style'];
61
+ /** @deprecated Prefer using Lens builtin props */
62
+ onClick?: SpanProps['onClick'];
63
+ /** @deprecated Prefer using Lens builtin props */
64
+ as?: SpanProps['as'];
65
+ id?: SpanProps['id'];
66
+ role?: SpanProps['role'];
67
+ }
68
+ type ButtonProps = React.HTMLProps<HTMLButtonElement>;
69
+ export interface LensButtonProps {
70
+ /** @deprecated Prefer using Lens builtin props */
71
+ className?: DivProps['className'];
72
+ /** @deprecated Prefer using Lens builtin props */
73
+ style?: DivProps['style'];
74
+ /** @deprecated Prefer using Lens builtin props */
75
+ disabled?: ButtonProps['disabled'];
76
+ /** @deprecated Prefer using Lens builtin props */
77
+ as?: ButtonProps['as'];
78
+ /** @deprecated Prefer using Lens builtin props */
79
+ color?: ButtonProps['color'];
80
+ /** @deprecated Prefer using Lens builtin props */
81
+ type?: ButtonProps['type'];
82
+ /** @deprecated Prefer using Lens builtin props */
83
+ title?: ButtonProps['title'];
84
+ /** @deprecated Prefer using Lens builtin props */
85
+ onBlur?: ButtonProps['onBlur'];
86
+ /** @deprecated Prefer using Lens builtin props */
87
+ onMouseDown?: ButtonProps['onMouseDown'];
88
+ /** @deprecated Prefer using Lens builtin props */
89
+ onMouseEnter?: ButtonProps['onMouseEnter'];
90
+ /** @deprecated Prefer using Lens builtin props */
91
+ onMouseLeave?: ButtonProps['onMouseLeave'];
92
+ /** @deprecated Prefer using Lens builtin props */
93
+ onKeyDown?: ButtonProps['onKeyDown'];
94
+ /** @deprecated Prefer using Lens builtin props */
95
+ onTouchStart?: ButtonProps['onTouchStart'];
96
+ /** @deprecated Prefer using Lens builtin props */
97
+ onTouchMove?: ButtonProps['onTouchMove'];
98
+ /** @deprecated Prefer using Lens builtin props */
99
+ onFocus?: ButtonProps['onFocus'];
100
+ id?: ButtonProps['id'];
101
+ rel?: ButtonProps['rel'];
102
+ form?: ButtonProps['form'];
103
+ autoFocus?: ButtonProps['autoFocus'];
104
+ onClick?: ButtonProps['onClick'];
105
+ }
106
+ type InputProps = React.HTMLProps<HTMLInputElement>;
107
+ export interface LensInputProps {
108
+ readOnly?: InputProps['readOnly'];
109
+ id?: InputProps['id'];
110
+ }
111
+ type DialogProps = React.HTMLProps<HTMLDialogElement>;
112
+ export interface LensDialogProps {
113
+ /** @deprecated Prefer using Lens builtin props */
114
+ style?: DialogProps['style'];
115
+ /** @deprecated Prefer using Lens builtin props */
116
+ className?: DialogProps['className'];
117
+ tabIndex?: DialogProps['tabIndex'];
118
+ }
119
+ export interface LensAsideProps {
120
+ id?: HTMLElement['id'];
121
+ }
122
+ type LensHTMLElement = LensDivProps | LensAnchorProps | LensSpanProps | LensButtonProps | LensInputProps | LensDialogProps | LensAsideProps;
123
+ export type LensHTMLProps<ComponentProps, LensElementProps extends LensHTMLElement> = ComponentProps & Omit<LensElementProps, keyof ComponentProps>;
124
+ export {};
@@ -1,15 +1,22 @@
1
- export function getMediaCss(widthType: any, breakpoint: any, declaration: any): string;
2
- export function arrayToBreakpoints(values: any): string;
3
- export function objectToBreakpoints(property: any, obj: any): string;
4
- export function getResponsiveOneOf(property: any, valueArray: any): string;
5
- export function getAlignmentStyles(prop: any, alignments: any): string;
6
- export function getResponsiveBoolean(property: any, valueArray: any, booleanValue: any): string;
7
- export function getResponsiveNumber(property: any, number: any): string;
8
- export function getResponsiveColumns(columns: any): string;
9
- export function getResponsiveGridSections(gridSections: any, sectionType: any): string;
10
- export function Media({ children, queries, values, defaultValue }: {
1
+ import { Breakpoint } from '../variables';
2
+ import { Size } from './size';
3
+ import { ResponsiveGridSections, ResponsiveType } from '../types';
4
+ export declare const getMediaCss: (widthType: string, breakpoint: string, declaration: string) => string;
5
+ export declare const arrayToBreakpoints: (values: string[]) => string;
6
+ export type BreakpointProperties = Breakpoint | 'default';
7
+ export type BreakpointObject = Partial<Record<BreakpointProperties, string>>;
8
+ export declare const objectToBreakpoints: (property: string, obj: BreakpointObject) => string;
9
+ export declare const getResponsiveOneOf: (property: string, valueArray: ResponsiveType<string>) => string;
10
+ export declare const getAlignmentStyles: (prop: string | string[], alignments: Record<string, string>) => string;
11
+ export declare const getResponsiveBoolean: (property: string, valueArray: string[], booleanValue: boolean | boolean[]) => string;
12
+ export declare const getResponsiveNumber: (property: string, number: ResponsiveType<number | string>) => string;
13
+ type SizeParam = Size | Size[];
14
+ export declare const getResponsiveColumns: (columns: Record<Breakpoint, SizeParam>) => string;
15
+ export declare const getResponsiveGridSections: (gridSections: ResponsiveGridSections, sectionType: string) => string;
16
+ export declare const Media: ({ children, queries, values, defaultValue }: {
11
17
  children: any;
12
18
  queries: any;
13
19
  values: any;
14
20
  defaultValue: any;
15
- }): any;
21
+ }) => any;
22
+ export {};
@@ -1,3 +1,10 @@
1
- export function u(amount: any): string;
2
- export function getSizeValue(size: any): string;
3
- export function getSize(property: any, size: any): string;
1
+ import { Breakpoint, Space } from '../variables';
2
+ export declare const u: (amount: number) => string;
3
+ /**
4
+ * @example
5
+ * Sample values: "large", 42, "80px"
6
+ */
7
+ export type Size = Space | number | string;
8
+ export declare const getSizeValue: (size: Size) => string;
9
+ export type SizeProp = Size | Size[] | Partial<Record<Breakpoint | 'default', Size>>;
10
+ export declare const getSize: (property: string, size: SizeProp) => string;
@@ -1,5 +1,5 @@
1
- export const unit: 8;
2
- export const textSizes: {
1
+ export declare const unit = 8;
2
+ export declare const textSizes: {
3
3
  small: {
4
4
  fontSize: number;
5
5
  lineHeight: number;
@@ -49,46 +49,39 @@ export const textSizes: {
49
49
  lineHeight: number;
50
50
  };
51
51
  };
52
- export namespace fontWeights {
53
- const book: number;
54
- const bold: number;
55
- }
56
- export namespace radii {
57
- const medium: string;
58
- const large: string;
59
- const xlarge: string;
60
- const full: string;
61
- }
62
- export namespace shadows {
63
- export const small: string;
64
- const medium_1: string;
65
- export { medium_1 as medium };
66
- const large_1: string;
67
- export { large_1 as large };
68
- }
69
- export namespace spaces {
70
- export const xsmall: number;
71
- const small_1: number;
72
- export { small_1 as small };
73
- const medium_2: number;
74
- export { medium_2 as medium };
75
- const large_2: number;
76
- export { large_2 as large };
77
- const xlarge_1: number;
78
- export { xlarge_1 as xlarge };
79
- export const xxlarge: number;
80
- }
81
- export namespace breakpoints {
82
- const xsmall_1: string;
83
- export { xsmall_1 as xsmall };
84
- const small_2: string;
85
- export { small_2 as small };
86
- const medium_3: string;
87
- export { medium_3 as medium };
88
- const large_3: string;
89
- export { large_3 as large };
90
- }
91
- export const gradients: {
52
+ export type TextSize = keyof typeof textSizes;
53
+ export declare const fontWeights: {
54
+ book: number;
55
+ bold: number;
56
+ };
57
+ export declare const radii: {
58
+ medium: string;
59
+ large: string;
60
+ xlarge: string;
61
+ full: string;
62
+ };
63
+ export declare const shadows: {
64
+ small: string;
65
+ medium: string;
66
+ large: string;
67
+ };
68
+ export declare const spaces: {
69
+ xsmall: number;
70
+ small: number;
71
+ medium: number;
72
+ large: number;
73
+ xlarge: number;
74
+ xxlarge: number;
75
+ };
76
+ export type Space = keyof typeof spaces;
77
+ export declare const breakpoints: {
78
+ xsmall: string;
79
+ small: string;
80
+ medium: string;
81
+ large: string;
82
+ };
83
+ export type Breakpoint = keyof typeof breakpoints;
84
+ export declare const gradients: {
92
85
  'ai-primary': string;
93
86
  'ai-secondary': string;
94
87
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loomhq/lens",
3
- "version": "11.30.1",
3
+ "version": "11.30.3",
4
4
  "packageManager": "pnpm@9.8.0",
5
5
  "scripts": {
6
6
  "preinstall": "npx only-allow pnpm",