ekm-ui 0.3.43 → 0.3.46

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 (115) hide show
  1. package/.turbo/turbo-build.log +71 -71
  2. package/CHANGELOG.md +12 -0
  3. package/dist/alert-banner.d.ts +1 -0
  4. package/dist/alert-banner.mjs +1 -1
  5. package/dist/badge.d.ts +4 -5
  6. package/dist/badge.mjs +2 -1
  7. package/dist/card-payment-block.css +1 -1
  8. package/dist/card-payment-block.css.map +1 -1
  9. package/dist/card-payment-block.mjs +15 -15
  10. package/dist/{chunk-ZI635H5Y.mjs → chunk-3LINEESX.mjs} +6 -5
  11. package/dist/chunk-3LINEESX.mjs.map +1 -0
  12. package/dist/{chunk-RMX72FR3.mjs → chunk-5FPVCRAI.mjs} +4 -4
  13. package/dist/chunk-5FPVCRAI.mjs.map +1 -0
  14. package/dist/chunk-FISQAAMO.mjs +30 -0
  15. package/dist/chunk-FISQAAMO.mjs.map +1 -0
  16. package/dist/{chunk-QOVVHEU2.mjs → chunk-HEKVJKLH.mjs} +3 -3
  17. package/dist/chunk-HEKVJKLH.mjs.map +1 -0
  18. package/dist/{chunk-TWLN46WO.mjs → chunk-KEIDXVZB.mjs} +4 -4
  19. package/dist/chunk-KEIDXVZB.mjs.map +1 -0
  20. package/dist/chunk-N7RKCR3X.mjs +11 -0
  21. package/dist/chunk-N7RKCR3X.mjs.map +1 -0
  22. package/dist/{chunk-OZK25XNR.mjs → chunk-NEJOZRKV.mjs} +3 -3
  23. package/dist/chunk-NEJOZRKV.mjs.map +1 -0
  24. package/dist/chunk-OA6BZGB2.mjs +12 -0
  25. package/dist/chunk-OA6BZGB2.mjs.map +1 -0
  26. package/dist/chunk-Q365BFES.mjs +10 -0
  27. package/dist/chunk-Q365BFES.mjs.map +1 -0
  28. package/dist/{chunk-45QX7OUO.mjs → chunk-S7N5VK35.mjs} +7 -7
  29. package/dist/chunk-S7N5VK35.mjs.map +1 -0
  30. package/dist/{chunk-QRNTMHBL.mjs → chunk-VQ3MZS4J.mjs} +3 -3
  31. package/dist/chunk-VQ3MZS4J.mjs.map +1 -0
  32. package/dist/{chunk-AHKENQVI.mjs → chunk-W3DRXKTC.mjs} +2 -2
  33. package/dist/{chunk-7X4WYXA2.mjs → chunk-WFRV27QA.mjs} +3 -3
  34. package/dist/chunk-WFRV27QA.mjs.map +1 -0
  35. package/dist/{chunk-7Q4BF7BT.mjs → chunk-XUXHB434.mjs} +3 -3
  36. package/dist/chunk-XUXHB434.mjs.map +1 -0
  37. package/dist/{chunk-ZFBRBOQI.mjs → chunk-ZJATBQ3X.mjs} +3 -3
  38. package/dist/chunk-ZJATBQ3X.mjs.map +1 -0
  39. package/dist/color-picker.d.ts +3 -0
  40. package/dist/color-picker.mjs +1 -1
  41. package/dist/drag-and-drop.css +1 -1
  42. package/dist/drag-and-drop.css.map +1 -1
  43. package/dist/drag-and-drop.d.ts +1 -0
  44. package/dist/drag-and-drop.mjs +15 -15
  45. package/dist/drawer.d.ts +3 -0
  46. package/dist/drawer.mjs +1 -1
  47. package/dist/dropdown.d.ts +6 -4
  48. package/dist/dropdown.mjs +1 -1
  49. package/dist/file-picker/file-picker.css +1 -1
  50. package/dist/file-picker/file-picker.css.map +1 -1
  51. package/dist/file-picker/file-picker.d.ts +1 -0
  52. package/dist/file-picker/file-picker.mjs +15 -15
  53. package/dist/form-row.d.ts +3 -0
  54. package/dist/form-row.mjs +1 -1
  55. package/dist/index.css +1 -1
  56. package/dist/index.css.map +1 -1
  57. package/dist/index.d.ts +1 -0
  58. package/dist/index.mjs +16 -16
  59. package/dist/layout/layout.css +1 -1
  60. package/dist/layout/layout.css.map +1 -1
  61. package/dist/layout/layout.mjs +15 -15
  62. package/dist/mini-feature-block.mjs +3 -2
  63. package/dist/page-header.d.ts +3 -0
  64. package/dist/page-header.mjs +1 -1
  65. package/dist/search/search.mjs +1 -1
  66. package/dist/select.mjs +1 -1
  67. package/dist/sort/sort.d.ts +1 -0
  68. package/dist/sort/sort.mjs +1 -1
  69. package/dist/stacked-list-item.css +1 -1
  70. package/dist/stacked-list-item.css.map +1 -1
  71. package/dist/stacked-list-item.d.ts +3 -0
  72. package/dist/stacked-list-item.mjs +15 -15
  73. package/dist/table-header/table-header.d.ts +1 -0
  74. package/dist/table-header/table-header.mjs +1 -1
  75. package/dist/text-row.d.ts +3 -0
  76. package/dist/text-row.mjs +1 -1
  77. package/dist/toast/index.d.ts +3 -0
  78. package/dist/toast/index.mjs +1 -1
  79. package/package.json +1 -1
  80. package/src/alert-banner.tsx +2 -0
  81. package/src/badge.tsx +34 -48
  82. package/src/color-picker.tsx +2 -0
  83. package/src/drag-and-drop.tsx +2 -0
  84. package/src/drawer.tsx +2 -0
  85. package/src/dropdown.tsx +43 -43
  86. package/src/file-picker/file-picker.tsx +2 -0
  87. package/src/form-row.tsx +2 -0
  88. package/src/index.tsx +1 -0
  89. package/src/page-header.tsx +2 -0
  90. package/src/search/search.tsx +90 -54
  91. package/src/select.tsx +2 -2
  92. package/src/sort/sort.tsx +2 -0
  93. package/src/stacked-list-item.tsx +2 -0
  94. package/src/table-header/table-header.tsx +2 -0
  95. package/src/text-row.tsx +2 -0
  96. package/src/toast/index.tsx +2 -0
  97. package/dist/chunk-45QX7OUO.mjs.map +0 -1
  98. package/dist/chunk-7Q4BF7BT.mjs.map +0 -1
  99. package/dist/chunk-7X4WYXA2.mjs.map +0 -1
  100. package/dist/chunk-OZK25XNR.mjs.map +0 -1
  101. package/dist/chunk-QOVVHEU2.mjs.map +0 -1
  102. package/dist/chunk-QRNTMHBL.mjs.map +0 -1
  103. package/dist/chunk-QWPN2UNV.mjs +0 -11
  104. package/dist/chunk-QWPN2UNV.mjs.map +0 -1
  105. package/dist/chunk-RMX72FR3.mjs.map +0 -1
  106. package/dist/chunk-TWLN46WO.mjs.map +0 -1
  107. package/dist/chunk-WYNI4KBI.mjs +0 -30
  108. package/dist/chunk-WYNI4KBI.mjs.map +0 -1
  109. package/dist/chunk-XFCPRHEY.mjs +0 -10
  110. package/dist/chunk-XFCPRHEY.mjs.map +0 -1
  111. package/dist/chunk-XGHRMSFX.mjs +0 -12
  112. package/dist/chunk-XGHRMSFX.mjs.map +0 -1
  113. package/dist/chunk-ZFBRBOQI.mjs.map +0 -1
  114. package/dist/chunk-ZI635H5Y.mjs.map +0 -1
  115. /package/dist/{chunk-AHKENQVI.mjs.map → chunk-W3DRXKTC.mjs.map} +0 -0
@@ -11,5 +11,8 @@ type Props = {
11
11
  icon?: JSX.Element;
12
12
  };
13
13
  declare function StackedListItem({ id, title, text, avatarShow, avatarColor, avatarBorder, children, badgeText, badgeColor, icon, }: Props): JSX.Element;
14
+ declare namespace StackedListItem {
15
+ var displayName: string;
16
+ }
14
17
 
15
18
  export { StackedListItem };
@@ -1,9 +1,9 @@
1
- export { a as StackedListItem } from './chunk-WYNI4KBI.mjs';
2
- import './chunk-XFCPRHEY.mjs';
1
+ export { a as StackedListItem } from './chunk-FISQAAMO.mjs';
2
+ import './chunk-Q365BFES.mjs';
3
3
  import './chunk-EHJJX6ZZ.mjs';
4
- import './chunk-ZFBRBOQI.mjs';
5
- import './chunk-45QX7OUO.mjs';
6
- import './chunk-QWPN2UNV.mjs';
4
+ import './chunk-ZJATBQ3X.mjs';
5
+ import './chunk-S7N5VK35.mjs';
6
+ import './chunk-N7RKCR3X.mjs';
7
7
  import './chunk-ASCPOK5F.mjs';
8
8
  import './chunk-25FJ277C.mjs';
9
9
  import './chunk-FAFXVD4P.mjs';
@@ -13,37 +13,37 @@ import './chunk-VPLCWU7T.mjs';
13
13
  import './chunk-PPMW7YAZ.mjs';
14
14
  import './chunk-5CGIKL2Y.mjs';
15
15
  import './chunk-NTGEZMHP.mjs';
16
- import './chunk-7X4WYXA2.mjs';
17
- import './chunk-RMX72FR3.mjs';
16
+ import './chunk-WFRV27QA.mjs';
17
+ import './chunk-5FPVCRAI.mjs';
18
18
  import './chunk-2IL2LP47.mjs';
19
19
  import './chunk-ZHCGY4YB.mjs';
20
20
  import './chunk-5DQUZENZ.mjs';
21
21
  import './chunk-ZWJSMASL.mjs';
22
22
  import './chunk-OT256LE6.mjs';
23
- import './chunk-AHKENQVI.mjs';
23
+ import './chunk-W3DRXKTC.mjs';
24
24
  import './chunk-WMFTYTMD.mjs';
25
25
  import './chunk-EWNPNF2B.mjs';
26
- import './chunk-OZK25XNR.mjs';
27
- import './chunk-XGHRMSFX.mjs';
26
+ import './chunk-NEJOZRKV.mjs';
27
+ import './chunk-OA6BZGB2.mjs';
28
28
  import './chunk-ZT7KDTGF.mjs';
29
29
  import './chunk-IEHJB2LC.mjs';
30
30
  import './chunk-FRIXS4BL.mjs';
31
- import './chunk-QOVVHEU2.mjs';
31
+ import './chunk-HEKVJKLH.mjs';
32
32
  import './chunk-D6H235SZ.mjs';
33
33
  import './chunk-PJMH47GY.mjs';
34
34
  import './chunk-KAQJAKQH.mjs';
35
35
  import './chunk-DZABAR36.mjs';
36
- import './chunk-7Q4BF7BT.mjs';
36
+ import './chunk-XUXHB434.mjs';
37
37
  import './chunk-F6ZWBNIM.mjs';
38
38
  import './chunk-PT4DPY4L.mjs';
39
39
  import './chunk-4SFCR75V.mjs';
40
40
  import './chunk-WLJEFSES.mjs';
41
- import './chunk-QRNTMHBL.mjs';
41
+ import './chunk-VQ3MZS4J.mjs';
42
42
  import './chunk-JACXLYPD.mjs';
43
- import './chunk-TWLN46WO.mjs';
43
+ import './chunk-KEIDXVZB.mjs';
44
44
  import './chunk-O3QYDTAF.mjs';
45
45
  import './chunk-YJKULMWM.mjs';
46
- import './chunk-ZI635H5Y.mjs';
46
+ import './chunk-3LINEESX.mjs';
47
47
  import './chunk-JCWSMIVA.mjs';
48
48
  import './chunk-SAXGEQRG.mjs';
49
49
  import './chunk-S6EYHLVB.mjs';
@@ -45,6 +45,7 @@ declare namespace TableHeader {
45
45
  /** Optional return call triggered when the optional header checkbox is clicked */
46
46
  checkboxCallback: PropTypes.Requireable<(...args: any[]) => any>;
47
47
  };
48
+ var displayName: string;
48
49
  }
49
50
 
50
51
  export { TableHeader };
@@ -1,4 +1,4 @@
1
- export { a as TableHeader } from '../chunk-45QX7OUO.mjs';
1
+ export { a as TableHeader } from '../chunk-S7N5VK35.mjs';
2
2
  import '../chunk-PUJZGK7Y.mjs';
3
3
  import '../chunk-23SJGKDR.mjs';
4
4
  //# sourceMappingURL=out.js.map
@@ -6,5 +6,8 @@ type Props = {
6
6
  className?: string;
7
7
  };
8
8
  declare function TextRow({ children, title, text, border, className }: Props): JSX.Element;
9
+ declare namespace TextRow {
10
+ var displayName: string;
11
+ }
9
12
 
10
13
  export { TextRow };
package/dist/text-row.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { a as TextRow } from './chunk-RMX72FR3.mjs';
1
+ export { a as TextRow } from './chunk-5FPVCRAI.mjs';
2
2
  import './chunk-23SJGKDR.mjs';
3
3
  //# sourceMappingURL=out.js.map
4
4
  //# sourceMappingURL=text-row.mjs.map
@@ -4,6 +4,9 @@ declare const ToastContext: react.Context<((toast: ToastEvent) => void) | undefi
4
4
  declare function ToastProvider({ children }: {
5
5
  children: React.ReactNode;
6
6
  }): JSX.Element;
7
+ declare namespace ToastProvider {
8
+ var displayName: string;
9
+ }
7
10
  type ToastEvent = {
8
11
  type: "success" | "error" | "warning" | "info";
9
12
  text: string;
@@ -1,4 +1,4 @@
1
- export { a as ToastContext, b as ToastProvider, c as useToast } from '../chunk-QWPN2UNV.mjs';
1
+ export { a as ToastContext, b as ToastProvider, c as useToast } from '../chunk-N7RKCR3X.mjs';
2
2
  import '../chunk-23SJGKDR.mjs';
3
3
  //# sourceMappingURL=out.js.map
4
4
  //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ekm-ui",
3
- "version": "0.3.43",
3
+ "version": "0.3.46",
4
4
  "sideEffects": [
5
5
  "**/*.css"
6
6
  ],
@@ -96,3 +96,5 @@ AlertBanner.propTypes = {
96
96
  children: PropTypes.node.isRequired,
97
97
  }
98
98
 
99
+ AlertBanner.displayName = "AlertBanner"
100
+
package/src/badge.tsx CHANGED
@@ -1,66 +1,52 @@
1
1
  //@ts-nocheck
2
- import { variantProps } from "classname-variants/react";
3
- import PropTypes from "prop-types";
2
+ import { variantProps } from 'classname-variants/react'
3
+ import PropTypes from 'prop-types'
4
+ import { twMerge } from 'tailwind-merge'
4
5
 
5
6
  const badgeProps = variantProps({
6
- base: "flex h-fit items-center gap-1 font-semibold rounded px-2 py-0.5",
7
+ base: 'flex h-fit items-center gap-1 font-semibold rounded px-2 py-0.5',
7
8
  variants: {
8
9
  color: {
9
- info: "bg-cyan-100 text-cyan-800 dark:bg-cyan-200 dark:text-cyan-800 group-hover:bg-cyan-200 dark:group-hover:bg-cyan-300",
10
- gray: "bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300 group-hover:bg-gray-200 dark:group-hover:bg-gray-600",
11
- failure:
12
- "bg-red-100 text-red-800 dark:bg-red-200 dark:text-red-900 group-hover:bg-red-200 dark:group-hover:bg-red-300",
13
- success:
14
- "bg-green-100 text-green-800 dark:bg-green-200 dark:text-green-900 group-hover:bg-green-200 dark:group-hover:bg-green-300",
15
- warning:
16
- "bg-yellow-100 text-yellow-800 dark:bg-yellow-200 dark:text-yellow-900 group-hover:bg-yellow-200 dark:group-hover:bg-yellow-300",
17
- indigo:
18
- "bg-indigo-100 text-indigo-800 dark:bg-indigo-200 dark:text-indigo-900 group-hover:bg-indigo-200 dark:group-hover:bg-indigo-300",
19
- purple:
20
- "bg-purple-100 text-purple-800 dark:bg-purple-200 dark:text-purple-900 group-hover:bg-purple-200 dark:group-hover:bg-purple-300",
21
- pink: "bg-pink-100 text-pink-800 dark:bg-pink-200 dark:text-pink-900 group-hover:bg-pink-200 dark:group-hover:bg-pink-300",
22
- blue: "bg-cyan-100 text-cyan-800 dark:bg-cyan-200 dark:text-cyan-900 group-hover:bg-cyan-200 dark:group-hover:bg-cyan-300",
23
- cyan: "bg-cyan-100 text-cyan-800 dark:bg-cyan-200 dark:text-cyan-900 group-hover:bg-cyan-200 dark:group-hover:bg-cyan-300",
24
- dark: "bg-gray-600 text-gray-100 dark:bg-gray-900 dark:text-gray-200 group-hover:bg-gray-500 dark:group-hover:bg-gray-700",
25
- light:
26
- "bg-gray-200 text-gray-800 dark:bg-gray-400 dark:text-gray-900 group-hover:bg-gray-300 dark:group-hover:bg-gray-500",
27
- green:
28
- "bg-green-100 text-green-800 dark:bg-green-200 dark:text-green-900 group-hover:bg-green-200 dark:group-hover:bg-green-300",
29
- lime: "bg-lime-100 text-lime-800 dark:bg-lime-200 dark:text-lime-900 group-hover:bg-lime-200 dark:group-hover:bg-lime-300",
30
- red: "bg-red-100 text-red-800 dark:bg-red-200 dark:text-red-900 group-hover:bg-red-200 dark:group-hover:bg-red-300",
31
- teal: "bg-teal-100 text-teal-800 dark:bg-teal-200 dark:text-teal-900 group-hover:bg-teal-200 dark:group-hover:bg-teal-300",
32
- yellow:
33
- "bg-yellow-100 text-yellow-800 dark:bg-yellow-200 dark:text-yellow-900 group-hover:bg-yellow-200 dark:group-hover:bg-yellow-300",
10
+ info: 'bg-cyan-100 text-cyan-800 dark:bg-cyan-200 dark:text-cyan-800 group-hover:bg-cyan-200 dark:group-hover:bg-cyan-300',
11
+ gray: 'bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300 group-hover:bg-gray-200 dark:group-hover:bg-gray-600',
12
+ failure: 'bg-red-100 text-red-800 dark:bg-red-200 dark:text-red-900 group-hover:bg-red-200 dark:group-hover:bg-red-300',
13
+ success: 'bg-green-100 text-green-800 dark:bg-green-200 dark:text-green-900 group-hover:bg-green-200 dark:group-hover:bg-green-300',
14
+ warning: 'bg-yellow-100 text-yellow-800 dark:bg-yellow-200 dark:text-yellow-900 group-hover:bg-yellow-200 dark:group-hover:bg-yellow-300',
15
+ indigo: 'bg-indigo-100 text-indigo-800 dark:bg-indigo-200 dark:text-indigo-900 group-hover:bg-indigo-200 dark:group-hover:bg-indigo-300',
16
+ purple: 'bg-purple-100 text-purple-800 dark:bg-purple-200 dark:text-purple-900 group-hover:bg-purple-200 dark:group-hover:bg-purple-300',
17
+ pink: 'bg-pink-100 text-pink-800 dark:bg-pink-200 dark:text-pink-900 group-hover:bg-pink-200 dark:group-hover:bg-pink-300',
18
+ blue: 'bg-cyan-100 text-cyan-800 dark:bg-cyan-200 dark:text-cyan-900 group-hover:bg-cyan-200 dark:group-hover:bg-cyan-300',
19
+ cyan: 'bg-cyan-100 text-cyan-800 dark:bg-cyan-200 dark:text-cyan-900 group-hover:bg-cyan-200 dark:group-hover:bg-cyan-300',
20
+ dark: 'bg-gray-600 text-gray-100 dark:bg-gray-900 dark:text-gray-200 group-hover:bg-gray-500 dark:group-hover:bg-gray-700',
21
+ light: 'bg-gray-200 text-gray-800 dark:bg-gray-400 dark:text-gray-900 group-hover:bg-gray-300 dark:group-hover:bg-gray-500',
22
+ green: 'bg-green-100 text-green-800 dark:bg-green-200 dark:text-green-900 group-hover:bg-green-200 dark:group-hover:bg-green-300',
23
+ lime: 'bg-lime-100 text-lime-800 dark:bg-lime-200 dark:text-lime-900 group-hover:bg-lime-200 dark:group-hover:bg-lime-300',
24
+ red: 'bg-red-100 text-red-800 dark:bg-red-200 dark:text-red-900 group-hover:bg-red-200 dark:group-hover:bg-red-300',
25
+ teal: 'bg-teal-100 text-teal-800 dark:bg-teal-200 dark:text-teal-900 group-hover:bg-teal-200 dark:group-hover:bg-teal-300',
26
+ yellow: 'bg-yellow-100 text-yellow-800 dark:bg-yellow-200 dark:text-yellow-900 group-hover:bg-yellow-200 dark:group-hover:bg-yellow-300',
34
27
  },
35
28
  size: {
36
- xs: "p-1 text-xs",
37
- sm: "p-1.5 text-sm",
29
+ xs: 'p-1 text-xs',
30
+ sm: 'p-1.5 text-sm',
38
31
  },
39
32
  },
40
- });
33
+ })
41
34
 
42
- export function Badge({
43
- color = "gray",
44
- size = "xs",
45
- icon,
46
- children,
47
- ...props
48
- }) {
35
+ export function Badge({ color = 'gray', size = 'xs', className, children }) {
49
36
  return (
50
- <span {...badgeProps({ color, size, icon })} {...props}>
51
- {icon && icon}
52
- {children}
53
- </span>
54
- );
37
+ <div className={twMerge('flex p-4', className)}>
38
+ <span {...badgeProps({ color, size })}>{children}</span>
39
+ </div>
40
+ )
55
41
  }
56
42
 
57
43
  Badge.propTypes = {
58
44
  /** String for color of badge */
59
45
  color: PropTypes.string,
60
46
  /** String to determine the size of the badge. "xs, sm" */
61
- size: PropTypes.oneOf(["xs", "sm"]),
62
- /** Boolean to change styling of badge for having an Icon */
63
- icon: PropTypes.element,
64
- };
47
+ size: PropTypes.oneOf(['xs', 'sm']),
48
+ /** Additional classes */
49
+ className: PropTypes.string,
50
+ }
65
51
 
66
- Badge.displayName = "Badge";
52
+ Badge.displayName = 'Badge'
@@ -67,4 +67,6 @@ export function ColorPicker({
67
67
  );
68
68
  }
69
69
 
70
+ ColorPicker.displayName = "ColorPicker"
71
+
70
72
 
@@ -226,3 +226,5 @@ DragAndDrop.propTypes = {
226
226
  /** Returns when the file picker button is clicked */
227
227
  pickerCallback: PropTypes.func,
228
228
  };
229
+
230
+ DragAndDrop.displayName = "DragAndDrop"
package/src/drawer.tsx CHANGED
@@ -74,3 +74,5 @@ export function Drawer({ show, onClose, children, title }: Props) {
74
74
  </div>
75
75
  );
76
76
  }
77
+
78
+ Drawer.displayName = "Drawer"
package/src/dropdown.tsx CHANGED
@@ -11,7 +11,7 @@ const buttonProps = variantProps({
11
11
  variants: {
12
12
  color: {
13
13
  blue: 'bg-blue-700 hover:bg-blue-800 dark:bg-blue-600 dark:hover:bg-blue-700 focus:ring-blue-300',
14
- gray: 'bg-gray-700 hover:bg-gray-800 dark:bg-gray-600 dark:hover:bg-gray-700 focus:ring-gray-300',
14
+ gray: 'bg-gray-400 hover:bg-gray-600 dark:bg-gray-600 dark:hover:bg-gray-700 focus:ring-gray-300',
15
15
  green: 'bg-green-700 hover:bg-green-800 dark:bg-green-600 dark:hover:bg-green-700 focus:ring-green-300',
16
16
  red: 'bg-red-700 hover:bg-red-800 dark:bg-red-600 dark:hover:bg-red-700 focus:ring-red-300',
17
17
  yellow: 'bg-yellow-700 hover:bg-yellow-800 dark:bg-yellow-600 dark:hover:bg-yellow-700 focus:ring-yellow-300',
@@ -42,7 +42,7 @@ const DropdownState = Object.freeze({
42
42
  CLOSED: 'closed',
43
43
  })
44
44
 
45
- export function Dropdown({ children, ...props }) {
45
+ export function Dropdown({ id, label, type, color, size, children }) {
46
46
  const [showDropdown, setShowDropdown] = useState(DropdownState.CLOSED)
47
47
  const handleShowDropdown = () => {
48
48
  const currState = showDropdown
@@ -51,7 +51,7 @@ export function Dropdown({ children, ...props }) {
51
51
 
52
52
  useEffect(() => {
53
53
  const handleClickOutside = (e) => {
54
- if (e.target.id === props.id) return
54
+ if (e.target.id === id) return
55
55
  setShowDropdown(DropdownState.CLOSED)
56
56
  }
57
57
 
@@ -63,22 +63,24 @@ export function Dropdown({ children, ...props }) {
63
63
  }, [])
64
64
 
65
65
  return (
66
- <DropdownContext.Provider value={{ showDropdown, setShowDropdown }}>
67
- <button id={props.id} {...buttonProps(props)} data-dropdown-toggle={`${props.id}-dropdown`} type="button" onClick={handleShowDropdown}>
68
- {props.label}
69
- {props.type === 'rect' && <BiChevronDown />}
70
- </button>
71
- <div
72
- id={`${props.id}-dropdown`}
73
- className={`z-10 mt-2 absolute ${
74
- showDropdown === DropdownState.OPEN ? '' : 'hidden'
75
- } bg-white divide-y divide-gray-100 rounded-lg shadow w-44 dark:bg-gray-700`}
76
- >
77
- <ul className="py-2 text-sm text-gray-700 dark:text-gray-200" aria-labelledby="dropdownDefaultButton">
78
- {children}
79
- </ul>
80
- </div>
81
- </DropdownContext.Provider>
66
+ <div className="relative">
67
+ <DropdownContext.Provider value={{ showDropdown, setShowDropdown }}>
68
+ <button id={id} {...buttonProps({ color, size, type })} data-dropdown-toggle={`${id}-dropdown`} type="button" onClick={handleShowDropdown}>
69
+ {label}
70
+ {type === 'rect' && <BiChevronDown className="pointer-events-none" />}
71
+ </button>
72
+ <div
73
+ id={`${id}-dropdown`}
74
+ className={`z-50 mt-2 absolute ${
75
+ showDropdown === DropdownState.OPEN ? '' : 'hidden'
76
+ } bg-white divide-y divide-gray-100 rounded-lg shadow w-44 dark:bg-gray-700`}
77
+ >
78
+ <ul className="py-2 text-sm text-gray-700 dark:text-gray-200" aria-labelledby="dropdownDefaultButton">
79
+ {children}
80
+ </ul>
81
+ </div>
82
+ </DropdownContext.Provider>
83
+ </div>
82
84
  )
83
85
  }
84
86
 
@@ -112,33 +114,31 @@ Dropdown.Item = DropdownItem
112
114
  Dropdown.propTypes = {
113
115
  /** Unique id for the dropdown */
114
116
  id: PropTypes.string.isRequired,
115
- /** Components to be rendered as Part of the Compound Component*/
116
- children: PropTypes.oneOfType([
117
- PropTypes.shape({ type: PropTypes.oneOf([DropdownItem]), }),
118
- PropTypes.arrayOf(PropTypes.shape({ type: PropTypes.oneOf([DropdownDivider]) }))
119
- ]).isRequired,
120
- /** Shape of the button rectangle or round */
121
- type: PropTypes.oneOf(['rect', 'round']),
122
- /** Size of the button sm,md,lg used for rectangle and rsm, rmd, rlg used for a round button */
123
- size: PropTypes.oneOf(['sm', 'md', 'lg', 'rsm', 'rmd', 'rlg']),
124
- /** Colour of the button based upon predefined values */
125
- color: PropTypes.oneOf(['blue', 'gray', 'green', 'red', 'yellow']),
126
- /** Rectangle should have a text label eg:'Dropdown' and a round type should take an icon element eg:'...' */
127
- label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,
128
- /** Returns value of the selected item */
129
- callback: PropTypes.func.isRequired,
117
+ /** Components to be rendered as Part of the Compound Component*/
118
+ children: PropTypes.oneOfType([
119
+ PropTypes.shape({ type: PropTypes.oneOf([DropdownItem]) }),
120
+ PropTypes.arrayOf(PropTypes.shape({ type: PropTypes.oneOf([DropdownDivider]) })),
121
+ ]).isRequired,
122
+ /** Shape of the button rectangle or round */
123
+ type: PropTypes.oneOf(['rect', 'round']),
124
+ /** Size of the button sm,md,lg used for rectangle and rsm, rmd, rlg used for a round button */
125
+ size: PropTypes.oneOf(['sm', 'md', 'lg', 'rsm', 'rmd', 'rlg']),
126
+ /** Colour of the button based upon predefined values */
127
+ color: PropTypes.oneOf(['blue', 'gray', 'green', 'red', 'yellow']),
128
+ /** Rectangle should have a text label eg:'Dropdown' and a round type should take an icon element eg:'...' */
129
+ label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,
130
130
  }
131
131
  Dropdown.defaultProps = {
132
- type: 'rect',
133
- size: 'md',
134
- color: 'blue',
135
- label: 'Dropdown',
132
+ type: 'rect',
133
+ size: 'md',
134
+ color: 'blue',
135
+ label: 'Dropdown',
136
136
  }
137
137
  DropdownItem.propTypes = {
138
- /** Returns value of the dropdown item selected*/
139
- callback: PropTypes.func.isRequired,
138
+ /** Returns value of the dropdown item selected*/
139
+ callback: PropTypes.func.isRequired,
140
140
  }
141
141
 
142
- Dropdown.displayName = "Dropdown";
143
- DropdownDivider.displayName = "Dropdown.Divider";
144
- DropdownItem.displayName = "Dropdown.Item";
142
+ Dropdown.displayName = 'Dropdown'
143
+ DropdownDivider.displayName = 'Dropdown.Divider'
144
+ DropdownItem.displayName = 'Dropdown.Item'
@@ -376,6 +376,8 @@ FilePicker.propTypes = {
376
376
  callback: PropTypes.func.isRequired,
377
377
  }
378
378
 
379
+ FilePicker.displayName = "FilePicker"
380
+
379
381
  // HELPER FUNCTIONAL COMPONENTS FOR FILE PICKER
380
382
  function EmptyPlaceholder() {
381
383
  return (
package/src/form-row.tsx CHANGED
@@ -37,3 +37,5 @@ export function FormRow({
37
37
  </div>
38
38
  );
39
39
  }
40
+
41
+ FormRow.displayName = "FormRow"
package/src/index.tsx CHANGED
@@ -48,5 +48,6 @@ export { FilePicker } from "./file-picker/file-picker";
48
48
  export { ToggleSwitch } from "./toggleswitch";
49
49
  export { Card } from "./card";
50
50
  export { ProgressBar } from "./progress-bar";
51
+ export { EkmLogo } from "./ekm-logo";
51
52
 
52
53
  import "./styles.css";
@@ -39,3 +39,5 @@ export function PageHeader({ children, title, text, breadcrumbs }: Props) {
39
39
  </div>
40
40
  )
41
41
  }
42
+
43
+ PageHeader.displayName = "PageHeader"