@iota/apps-ui-kit 0.5.1 → 0.7.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.
Files changed (99) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/index.d.ts +186 -20
  3. package/dist/index.es.js +3701 -6345
  4. package/dist/index.es.js.map +1 -1
  5. package/dist/index.umd.js +33 -165
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/style.css +1 -1
  8. package/package.json +11 -4
  9. package/src/lib/components/atoms/badge/badge.classes.ts +18 -18
  10. package/src/lib/components/atoms/badge/badge.enums.ts +1 -1
  11. package/src/lib/components/atoms/button/button-variants/ButtonPill.tsx +1 -1
  12. package/src/lib/components/atoms/button/button.classes.ts +12 -12
  13. package/src/lib/components/atoms/button-segment/ButtonSegment.tsx +15 -3
  14. package/src/lib/components/atoms/button-segment/buttonSegment.classes.ts +15 -36
  15. package/src/lib/components/atoms/checkbox/Checkbox.tsx +20 -9
  16. package/src/lib/components/atoms/divider/divider.classes.ts +1 -1
  17. package/src/lib/components/atoms/header/Header.tsx +1 -1
  18. package/src/lib/components/atoms/image/Image.tsx +32 -0
  19. package/src/lib/components/atoms/image/index.ts +4 -0
  20. package/src/lib/components/atoms/index.ts +3 -1
  21. package/src/lib/components/atoms/info-box/InfoBox.tsx +2 -8
  22. package/src/lib/components/atoms/info-box/infoBox.classes.ts +8 -9
  23. package/src/lib/components/atoms/key-value-info/KeyValueInfo.tsx +5 -5
  24. package/src/lib/components/atoms/label-text/LabelText.tsx +4 -6
  25. package/src/lib/components/atoms/list-item/ListItem.tsx +3 -4
  26. package/src/lib/components/atoms/loading-indicator/LoadingIndicator.tsx +1 -1
  27. package/src/lib/components/atoms/media-fallback/MediaFallback.tsx +12 -0
  28. package/src/lib/components/atoms/media-fallback/index.ts +4 -0
  29. package/src/lib/components/atoms/panel/Panel.tsx +2 -4
  30. package/src/lib/components/atoms/radio-button/RadioButton.tsx +4 -8
  31. package/src/lib/components/atoms/secondary-text/SecondaryText.tsx +3 -2
  32. package/src/lib/components/atoms/skeleton/Skeleton.tsx +1 -3
  33. package/src/lib/components/atoms/snackbar/snackbar.classes.ts +8 -8
  34. package/src/lib/components/atoms/toggle/toggle.classes.ts +6 -6
  35. package/src/lib/components/atoms/tooltip/Tooltip.tsx +115 -13
  36. package/src/lib/components/atoms/video/Video.tsx +33 -0
  37. package/src/lib/components/atoms/video/index.ts +4 -0
  38. package/src/lib/components/atoms/video/video.constants.ts +31 -0
  39. package/src/lib/components/molecules/account/Account.tsx +4 -4
  40. package/src/lib/components/molecules/address/Address.tsx +1 -1
  41. package/src/lib/components/molecules/asset-media-renderer/AssetMediaRenderer.tsx +50 -0
  42. package/src/lib/components/molecules/asset-media-renderer/index.ts +4 -0
  43. package/src/lib/components/molecules/card/CardAction.tsx +3 -5
  44. package/src/lib/components/molecules/card/CardBody.tsx +3 -2
  45. package/src/lib/components/molecules/card/card.classes.ts +3 -3
  46. package/src/lib/components/molecules/chip/Chip.tsx +9 -2
  47. package/src/lib/components/molecules/chip/chip.classes.ts +5 -5
  48. package/src/lib/components/molecules/chip/chip.enums.ts +5 -0
  49. package/src/lib/components/molecules/chip/index.ts +1 -0
  50. package/src/lib/components/molecules/display-stats/DisplayStats.tsx +2 -2
  51. package/src/lib/components/molecules/display-stats/displayStats.classes.ts +6 -6
  52. package/src/lib/components/molecules/dropdown/Dropdown.tsx +1 -1
  53. package/src/lib/components/molecules/index.ts +2 -0
  54. package/src/lib/components/molecules/input/Input.tsx +3 -5
  55. package/src/lib/components/molecules/input/InputWrapper.tsx +1 -1
  56. package/src/lib/components/molecules/input/TextArea.tsx +2 -5
  57. package/src/lib/components/molecules/input/input.classes.ts +7 -8
  58. package/src/lib/components/molecules/navbar-item/navbarItem.classes.ts +4 -4
  59. package/src/lib/components/molecules/search/Search.tsx +10 -7
  60. package/src/lib/components/molecules/search/search.classes.ts +5 -5
  61. package/src/lib/components/molecules/segmented-button/SegmentedButton.tsx +5 -1
  62. package/src/lib/components/molecules/segmented-button/segmentedButton.classes.ts +2 -2
  63. package/src/lib/components/molecules/select/Select.tsx +6 -13
  64. package/src/lib/components/molecules/table-cell/TableCell.tsx +2 -2
  65. package/src/lib/components/molecules/table-header-cell/TableHeaderCell.tsx +2 -2
  66. package/src/lib/components/molecules/title/Title.tsx +3 -3
  67. package/src/lib/components/{atoms → molecules}/visual-asset-card/VisualAssetCard.tsx +26 -40
  68. package/src/lib/components/organisms/accordion/Accordion.tsx +2 -3
  69. package/src/lib/components/organisms/accordion/accordion.classes.ts +1 -1
  70. package/src/lib/components/organisms/dialog/Dialog.tsx +4 -4
  71. package/src/lib/components/organisms/navbar/Navbar.tsx +2 -2
  72. package/src/lib/components/organisms/navbar/NavbarSlideout.tsx +1 -1
  73. package/src/lib/components/organisms/table/Table.tsx +4 -4
  74. package/src/lib/constants/colors.constants.ts +107 -8
  75. package/src/lib/styles/base.css +97 -0
  76. package/src/lib/styles/components.css +687 -0
  77. package/src/lib/styles/fonts.css +2 -0
  78. package/src/lib/styles/index.css +754 -136
  79. package/src/lib/styles/utilities.css +53 -0
  80. package/src/lib/tailwind/base.presets.ts +14 -9
  81. package/src/lib/tailwind/constants/customColors.constants.ts +13 -0
  82. package/src/lib/tailwind/constants/fontFamily.constants.ts +8 -0
  83. package/src/lib/tailwind/constants/fontSizes.constants.ts +9 -9
  84. package/src/lib/tailwind/constants/index.ts +1 -0
  85. package/src/lib/tailwind/plugins.ts +4 -0
  86. package/src/lib/tailwind/responsive.presets.ts +1 -1
  87. package/src/storybook/blocks/Showcase.tsx +2 -2
  88. package/src/storybook/blocks/TypeSetItem.tsx +3 -3
  89. package/src/storybook/stories/atoms/Skeleton.stories.tsx +1 -1
  90. package/src/storybook/stories/atoms/Tooltip.stories.tsx +4 -2
  91. package/src/storybook/stories/atoms/VisualAssetCard.stories.tsx +3 -2
  92. package/src/storybook/stories/components/VariableSpacingShowcase.tsx +2 -2
  93. package/src/storybook/stories/design-tokens/colors.stories.mdx +9 -0
  94. package/src/storybook/stories/molecules/Account.stories.tsx +3 -1
  95. package/src/storybook/stories/molecules/Search.stories.tsx +2 -2
  96. package/src/storybook/stories/molecules/TableCell.stories.tsx +1 -1
  97. package/src/storybook/stories/molecules/TextArea.stories.tsx +1 -1
  98. /package/src/lib/components/{atoms → molecules}/visual-asset-card/index.ts +0 -0
  99. /package/src/lib/components/{atoms → molecules}/visual-asset-card/visualAssetCard.enums.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # @iota/apps-ui-kit
2
2
 
3
+ ## 0.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 9b4b517: support multi-theme
8
+ - 6fcddb3: Make react a peer dependency
9
+
10
+ ### Patch Changes
11
+
12
+ - b83d356: add chip size prop
13
+ - 01f03fb: Refactor components to improve reusability
14
+ - Updated dependencies [6fcddb3]
15
+ - @iota/apps-ui-icons@0.4.0
16
+
17
+ ## 0.6.0
18
+
19
+ ### Minor Changes
20
+
21
+ - 53d5058: Added iota names rpc methods to IotaClient and also GraphQL queries.
22
+
23
+ ### Patch Changes
24
+
25
+ - 6e45a2a: Fix tooltip being cut by other boxes
26
+ - b80df15: show horizontal scroll in underlined segmented buttons
27
+ - Updated dependencies [7f0803f]
28
+ - @iota/apps-ui-icons@0.3.1
29
+
3
30
  ## 0.5.1
4
31
 
5
32
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -4,7 +4,9 @@ import { ButtonSegmentType as ButtonSegmentType_2 } from '../../../../components
4
4
  import { ButtonType as ButtonType_2 } from '../../../../components/atoms/button';
5
5
  import { ComponentProps } from 'react';
6
6
  import { Config } from 'tailwindcss';
7
+ import { DetailedHTMLProps } from 'react';
7
8
  import { ForwardRefExoticComponent } from 'react';
9
+ import { ImgHTMLAttributes } from 'react';
8
10
  import { JSX as JSX_2 } from 'react/jsx-runtime';
9
11
  import { NavbarItemProps as NavbarItemProps_2 } from '../../../../components/molecules/navbar-item/NavbarItem';
10
12
  import { NumericFormat } from 'react-number-format';
@@ -15,6 +17,7 @@ import { ReactNode } from 'react';
15
17
  import { RefAttributes } from 'react';
16
18
  import { TooltipPosition as TooltipPosition_2 } from '../../../../components/atoms';
17
19
  import { TooltipPosition as TooltipPosition_3 } from '../../../../components/atoms/tooltip';
20
+ import { VideoHTMLAttributes } from 'react';
18
21
 
19
22
  export declare function Accordion({ children, hideBorder, }: {
20
23
  children: React.ReactNode;
@@ -175,6 +178,27 @@ declare interface AddressProps {
175
178
  onOpen?: (e: React.MouseEvent<HTMLButtonElement>) => void;
176
179
  }
177
180
 
181
+ export declare function AssetMediaRenderer({ src, isAutoPlayEnabled, assetType, altText: alt, showFallback, disableControls, }: AssetMediaRendererProps): React.JSX.Element;
182
+
183
+ export declare interface AssetMediaRendererProps extends VideoProps {
184
+ /**
185
+ * The source of the media to be displayed.
186
+ */
187
+ src: string;
188
+ /**
189
+ * The type of the asset to be displayed.
190
+ */
191
+ assetType: VisualAssetType;
192
+ /**
193
+ * Alt text for the image..
194
+ */
195
+ altText?: string;
196
+ /**
197
+ * Whether to show a fallback image if the main image fails to load.
198
+ */
199
+ showFallback?: boolean;
200
+ }
201
+
178
202
  export declare function Badge({ type, label }: BadgeProps): React.JSX.Element;
179
203
 
180
204
  declare interface BadgeProps {
@@ -191,7 +215,7 @@ declare interface BadgeProps {
191
215
  export declare enum BadgeType {
192
216
  Neutral = "neutral",
193
217
  PrimarySolid = "primary-solid",
194
- PrimarySoft = "primary-fill",
218
+ PrimarySoft = "primary-soft",
195
219
  Success = "success",
196
220
  Warning = "warning",
197
221
  Error = "error"
@@ -295,7 +319,7 @@ export declare interface ButtonProps {
295
319
  testId?: string;
296
320
  }
297
321
 
298
- export declare function ButtonSegment({ icon, label, selected, disabled, onClick, type, }: ButtonSegmentProps): React.JSX.Element;
322
+ export declare function ButtonSegment({ icon, label, selected, disabled, onClick, type, isNested, }: ButtonSegmentProps): React.JSX.Element;
299
323
 
300
324
  declare interface ButtonSegmentProps {
301
325
  /**
@@ -322,6 +346,10 @@ declare interface ButtonSegmentProps {
322
346
  * The type of the button.
323
347
  */
324
348
  type?: ButtonSegmentType;
349
+ /**
350
+ * If the button is nested inside a parent button.
351
+ */
352
+ isNested?: boolean;
325
353
  }
326
354
 
327
355
  export declare enum ButtonSegmentType {
@@ -457,7 +485,7 @@ declare interface CheckboxProps {
457
485
  name?: string;
458
486
  }
459
487
 
460
- export declare function Chip({ label, showClose, selected, onClose, onClick, avatar, leadingElement, trailingElement, disabled, }: ChipProps): JSX_2.Element;
488
+ export declare function Chip({ label, showClose, selected, onClose, onClick, avatar, leadingElement, trailingElement, disabled, size, }: ChipProps): JSX_2.Element;
461
489
 
462
490
  declare interface ChipProps {
463
491
  /**
@@ -496,6 +524,27 @@ declare interface ChipProps {
496
524
  * The button is disabled or not.
497
525
  */
498
526
  disabled?: boolean;
527
+ /**
528
+ * The size of the chip.
529
+ */
530
+ size?: ChipSize;
531
+ }
532
+
533
+ export declare enum ChipSize {
534
+ Small = "small",
535
+ Default = "default"
536
+ }
537
+
538
+ export declare enum ChipState {
539
+ Default = "default",
540
+ Selected = "selected"
541
+ }
542
+
543
+ declare interface CustomAssetDisplayProps {
544
+ /**
545
+ * The media to be displayed inside the card.
546
+ */
547
+ renderAsset?: React.ReactNode;
499
548
  }
500
549
 
501
550
  export declare const Dialog: ({ open, onOpenChange, children, ...props }: React_2.ComponentPropsWithoutRef<typeof RadixDialog.Root>) => JSX_2.Element;
@@ -642,6 +691,9 @@ declare interface HeaderProps {
642
691
  testId?: string;
643
692
  }
644
693
 
694
+ declare const Image_2: ForwardRefExoticComponent<ImgHTMLAttributes<HTMLImageElement> & RefAttributes<HTMLImageElement>>;
695
+ export { Image_2 as Image }
696
+
645
697
  export declare enum ImageShape {
646
698
  Rounded = "rounded",
647
699
  SquareRounded = "square-rounded"
@@ -654,6 +706,12 @@ export declare enum ImageType {
654
706
  BgTransparent = "bg-transparent"
655
707
  }
656
708
 
709
+ export declare const ImageWithFallback: ForwardRefExoticComponent<ImageWithFallbackProps & RefAttributes<HTMLImageElement>>;
710
+
711
+ export declare interface ImageWithFallbackProps extends React.ImgHTMLAttributes<HTMLImageElement> {
712
+ renderFallback?: React.ReactNode;
713
+ }
714
+
657
715
  export declare function InfoBox({ icon, title, supportingText, type, style, }: InfoBoxProps): React.JSX.Element;
658
716
 
659
717
  export declare interface InfoBoxProps {
@@ -737,8 +795,101 @@ declare interface InputWrapperProps {
737
795
  labelHtmlTag?: LabelHtmlTag;
738
796
  }
739
797
 
798
+ export declare const IOTA_NAMES_COLOR_PALETTE: {
799
+ 'names-primary': {
800
+ '0': string;
801
+ '10': string;
802
+ '20': string;
803
+ '30': string;
804
+ '40': string;
805
+ '50': string;
806
+ '60': string;
807
+ '70': string;
808
+ '80': string;
809
+ '90': string;
810
+ '100': string;
811
+ };
812
+ 'names-secondary': {
813
+ '0': string;
814
+ '10': string;
815
+ '20': string;
816
+ '30': string;
817
+ '40': string;
818
+ '50': string;
819
+ '60': string;
820
+ '70': string;
821
+ '80': string;
822
+ '90': string;
823
+ '100': string;
824
+ };
825
+ 'names-tertiary': {
826
+ '0': string;
827
+ '10': string;
828
+ '20': string;
829
+ '30': string;
830
+ '40': string;
831
+ '50': string;
832
+ '60': string;
833
+ '70': string;
834
+ '80': string;
835
+ '90': string;
836
+ '100': string;
837
+ };
838
+ 'names-error': {
839
+ '0': string;
840
+ '10': string;
841
+ '20': string;
842
+ '30': string;
843
+ '40': string;
844
+ '50': string;
845
+ '60': string;
846
+ '70': string;
847
+ '80': string;
848
+ '90': string;
849
+ '100': string;
850
+ };
851
+ 'names-neutral': {
852
+ '0': string;
853
+ '4': string;
854
+ '6': string;
855
+ '10': string;
856
+ '12': string;
857
+ '20': string;
858
+ '30': string;
859
+ '40': string;
860
+ '50': string;
861
+ '60': string;
862
+ '70': string;
863
+ '80': string;
864
+ '90': string;
865
+ '92': string;
866
+ '96': string;
867
+ '98': string;
868
+ '100': string;
869
+ };
870
+ 'names-gradient': {
871
+ 'stop-1': string;
872
+ 'stop-2': string;
873
+ 'stop-3': string;
874
+ 'stop-4': string;
875
+ };
876
+ 'names-warning': {
877
+ '0': string;
878
+ '10': string;
879
+ '20': string;
880
+ '30': string;
881
+ '40': string;
882
+ '50': string;
883
+ '60': string;
884
+ '70': string;
885
+ '80': string;
886
+ '90': string;
887
+ '100': string;
888
+ };
889
+ };
890
+
740
891
  export declare const IOTA_PRIMITIVES_COLOR_PALETTE: {
741
- primary: {
892
+ 'iota-primary': {
742
893
  '0': string;
743
894
  '10': string;
744
895
  '20': string;
@@ -751,7 +902,7 @@ export declare const IOTA_PRIMITIVES_COLOR_PALETTE: {
751
902
  '90': string;
752
903
  '100': string;
753
904
  };
754
- secondary: {
905
+ 'iota-secondary': {
755
906
  '0': string;
756
907
  '10': string;
757
908
  '20': string;
@@ -764,7 +915,7 @@ export declare const IOTA_PRIMITIVES_COLOR_PALETTE: {
764
915
  '90': string;
765
916
  '100': string;
766
917
  };
767
- tertiary: {
918
+ 'iota-tertiary': {
768
919
  '0': string;
769
920
  '10': string;
770
921
  '20': string;
@@ -777,7 +928,7 @@ export declare const IOTA_PRIMITIVES_COLOR_PALETTE: {
777
928
  '90': string;
778
929
  '100': string;
779
930
  };
780
- error: {
931
+ 'iota-error': {
781
932
  '0': string;
782
933
  '10': string;
783
934
  '20': string;
@@ -790,7 +941,7 @@ export declare const IOTA_PRIMITIVES_COLOR_PALETTE: {
790
941
  '90': string;
791
942
  '100': string;
792
943
  };
793
- neutral: {
944
+ 'iota-neutral': {
794
945
  '0': string;
795
946
  '4': string;
796
947
  '6': string;
@@ -809,11 +960,18 @@ export declare const IOTA_PRIMITIVES_COLOR_PALETTE: {
809
960
  '98': string;
810
961
  '100': string;
811
962
  };
812
- warning: {
963
+ 'iota-warning': {
964
+ '0': string;
813
965
  '10': string;
814
966
  '20': string;
967
+ '30': string;
968
+ '40': string;
969
+ '50': string;
815
970
  '60': string;
971
+ '70': string;
972
+ '80': string;
816
973
  '90': string;
974
+ '100': string;
817
975
  };
818
976
  };
819
977
 
@@ -964,6 +1122,8 @@ export declare interface LoadingIndicatorProps {
964
1122
  testId?: string;
965
1123
  }
966
1124
 
1125
+ export declare function MediaFallback(): JSX_2.Element;
1126
+
967
1127
  export declare function Navbar({ items, activeId, onClickItem, isCollapsible, onToggleNavbar, }: NavbarProps): JSX_2.Element;
968
1128
 
969
1129
  export declare function NavbarItem(props: NavbarItemProps): React.JSX.Element;
@@ -1648,7 +1808,7 @@ export declare enum ToggleSize {
1648
1808
  Default = "default"
1649
1809
  }
1650
1810
 
1651
- export declare function Tooltip({ text, position, maxWidth, children, }: PropsWithChildren<TooltipProps>): React.JSX.Element;
1811
+ export declare function Tooltip({ text, position, maxWidth, offset, openDelay, closeDelay, children, }: PropsWithChildren<TooltipProps>): JSX_2.Element;
1652
1812
 
1653
1813
  export declare enum TooltipPosition {
1654
1814
  Top = "top",
@@ -1661,6 +1821,9 @@ declare interface TooltipProps {
1661
1821
  text: string;
1662
1822
  position?: TooltipPosition;
1663
1823
  maxWidth?: string;
1824
+ offset?: number;
1825
+ openDelay?: number;
1826
+ closeDelay?: number;
1664
1827
  }
1665
1828
 
1666
1829
  export declare function truncate(value: string, startLength?: number, endLength?: number): string;
@@ -1674,21 +1837,20 @@ export declare enum ValueSize {
1674
1837
  Medium = "medium"
1675
1838
  }
1676
1839
 
1677
- export declare function VisualAssetCard({ assetType, assetSrc, altText, onIconClick, onClick, icon, assetTitle, isHoverable, }: VisualAssetCardProps): React.JSX.Element;
1840
+ export declare const Video: ForwardRefExoticComponent<Omit<DetailedHTMLProps<VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "ref"> & VideoProps & RefAttributes<HTMLVideoElement>>;
1678
1841
 
1679
- export declare interface VisualAssetCardProps {
1842
+ export declare interface VideoProps {
1680
1843
  /**
1681
- * The type of the asset to be displayed.
1682
- */
1683
- assetType?: VisualAssetType;
1684
- /**
1685
- * The source of the image to be displayed.
1844
+ * Whether the video should autoplay.
1686
1845
  */
1687
- assetSrc: string;
1846
+ isAutoPlayEnabled?: boolean;
1688
1847
  /**
1689
- * Alt text for the image.
1848
+ * If the video controls should be disabled.
1690
1849
  */
1691
- altText: string;
1850
+ disableControls?: boolean;
1851
+ }
1852
+
1853
+ declare interface VisualAssetBaseProps {
1692
1854
  /**
1693
1855
  * The onClick event for the icon.
1694
1856
  */
@@ -1711,6 +1873,10 @@ export declare interface VisualAssetCardProps {
1711
1873
  isHoverable?: boolean;
1712
1874
  }
1713
1875
 
1876
+ export declare function VisualAssetCard({ onIconClick, onClick, icon, assetTitle, isHoverable, ...assetProps }: VisualAssetBaseProps & (AssetMediaRendererProps | CustomAssetDisplayProps)): React.JSX.Element;
1877
+
1878
+ export declare type VisualAssetCardProps = VisualAssetBaseProps & (AssetMediaRendererProps | CustomAssetDisplayProps);
1879
+
1714
1880
  export declare enum VisualAssetType {
1715
1881
  Image = "image",
1716
1882
  Video = "video"