ekm-ui 0.3.95 → 0.4.1

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 (141) hide show
  1. package/.turbo/turbo-build.log +87 -59
  2. package/CHANGELOG.md +18 -0
  3. package/dist/alert-banner.d.ts +4 -1
  4. package/dist/alert-banner.js +1 -1
  5. package/dist/alert.d.ts +2 -1
  6. package/dist/alert.js +1 -1
  7. package/dist/button-group-item.d.ts +2 -1
  8. package/dist/button-group-item.js +1 -1
  9. package/dist/button.d.ts +1 -1
  10. package/dist/button.js +1 -1
  11. package/dist/card-payment-block.css +1 -1
  12. package/dist/card-payment-block.css.map +1 -1
  13. package/dist/card-payment-block.js +15 -15
  14. package/dist/{chunk-BLUJNMXF.js → chunk-2I24LCEG.js} +2 -2
  15. package/dist/{chunk-BLUJNMXF.js.map → chunk-2I24LCEG.js.map} +1 -1
  16. package/dist/{chunk-ELWZ674J.js → chunk-5SEJVYKM.js} +3 -3
  17. package/dist/chunk-5SEJVYKM.js.map +1 -0
  18. package/dist/chunk-AO5TGD7T.js +7 -0
  19. package/dist/chunk-AO5TGD7T.js.map +1 -0
  20. package/dist/chunk-CHXMQ7NN.js +12 -0
  21. package/dist/chunk-CHXMQ7NN.js.map +1 -0
  22. package/dist/chunk-CX2XFI5Q.js +12 -0
  23. package/dist/chunk-CX2XFI5Q.js.map +1 -0
  24. package/dist/{chunk-F7AUKLLE.js → chunk-FOPBXPMP.js} +2 -2
  25. package/dist/{chunk-F7AUKLLE.js.map → chunk-FOPBXPMP.js.map} +1 -1
  26. package/dist/{chunk-YOHYKIR3.js → chunk-HQIKNKIV.js} +2 -2
  27. package/dist/{chunk-FPELMAZN.js → chunk-JNHB4YNM.js} +2 -2
  28. package/dist/chunk-KRMPO53Y.js +9 -0
  29. package/dist/chunk-KRMPO53Y.js.map +1 -0
  30. package/dist/chunk-MBACKGWE.js +9 -0
  31. package/dist/chunk-MBACKGWE.js.map +1 -0
  32. package/dist/{chunk-N7JQ6EAC.js → chunk-R47VIYM2.js} +2 -2
  33. package/dist/{chunk-N7JQ6EAC.js.map → chunk-R47VIYM2.js.map} +1 -1
  34. package/dist/chunk-UQFNA3OB.js +36 -0
  35. package/dist/{chunk-GGGZRFPY.js.map → chunk-UQFNA3OB.js.map} +1 -1
  36. package/dist/{chunk-X6RBGNFS.js → chunk-XKE3VK6Z.js} +2 -2
  37. package/dist/chunk-XKE3VK6Z.js.map +1 -0
  38. package/dist/chunk-XYGVDZRO.js +11 -0
  39. package/dist/chunk-XYGVDZRO.js.map +1 -0
  40. package/dist/country-picker/country-modal.css +1 -1
  41. package/dist/country-picker/country-modal.css.map +1 -1
  42. package/dist/country-picker/country-modal.d.ts +2 -2
  43. package/dist/country-picker/country-modal.js +15 -15
  44. package/dist/date-range-picker.js +2 -2
  45. package/dist/drag-and-drop.css +1 -1
  46. package/dist/drag-and-drop.css.map +1 -1
  47. package/dist/drag-and-drop.js +15 -15
  48. package/dist/drawer.js +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.js +15 -15
  52. package/dist/fixed-alert.js +2 -2
  53. package/dist/index.css +1 -1
  54. package/dist/index.css.map +1 -1
  55. package/dist/index.js +15 -15
  56. package/dist/layout/layout.css +1 -1
  57. package/dist/layout/layout.css.map +1 -1
  58. package/dist/layout/layout.js +15 -15
  59. package/dist/loading-button.js +1 -1
  60. package/dist/nbui/nbui-card-form.d.ts +3 -0
  61. package/dist/nbui/nbui-card-form.js +8 -0
  62. package/dist/nbui/nbui-card-form.js.map +1 -0
  63. package/dist/nbui/nbui-card-image.d.ts +3 -0
  64. package/dist/nbui/nbui-card-image.js +8 -0
  65. package/dist/nbui/nbui-card-image.js.map +1 -0
  66. package/dist/nbui/nbui-card-lg.d.ts +3 -0
  67. package/dist/nbui/nbui-card-lg.js +8 -0
  68. package/dist/nbui/nbui-card-lg.js.map +1 -0
  69. package/dist/nbui/nbui-card-paragraphs-lg.d.ts +3 -0
  70. package/dist/nbui/nbui-card-paragraphs-lg.js +8 -0
  71. package/dist/nbui/nbui-card-paragraphs-lg.js.map +1 -0
  72. package/dist/nbui/nbui-card-paragraphs.d.ts +3 -0
  73. package/dist/nbui/nbui-card-paragraphs.js +8 -0
  74. package/dist/nbui/nbui-card-paragraphs.js.map +1 -0
  75. package/dist/nbui/nbui-card-sm.d.ts +3 -0
  76. package/dist/nbui/nbui-card-sm.js +8 -0
  77. package/dist/nbui/nbui-card-sm.js.map +1 -0
  78. package/dist/nbui/nbui-card-table.d.ts +3 -0
  79. package/dist/nbui/nbui-card-table.js +8 -0
  80. package/dist/nbui/nbui-card-table.js.map +1 -0
  81. package/dist/nbui/nbui-card.js +1 -1
  82. package/dist/nbui/nbui-footer.d.ts +3 -0
  83. package/dist/nbui/nbui-footer.js +8 -0
  84. package/dist/nbui/nbui-footer.js.map +1 -0
  85. package/dist/nbui/nbui-side-panel-container.d.ts +24 -0
  86. package/dist/nbui/nbui-side-panel-container.js +9 -0
  87. package/dist/nbui/nbui-side-panel-container.js.map +1 -0
  88. package/dist/pagination/pagination.js +1 -1
  89. package/dist/product-picker/product-listing.js +1 -1
  90. package/dist/product-picker/product-modal.css +1 -1
  91. package/dist/product-picker/product-modal.css.map +1 -1
  92. package/dist/product-picker/product-modal.js +15 -15
  93. package/dist/search/search.js +1 -1
  94. package/dist/spinner.js +1 -1
  95. package/dist/stacked-list-item.css +1 -1
  96. package/dist/stacked-list-item.css.map +1 -1
  97. package/dist/stacked-list-item.js +15 -15
  98. package/dist/table-result-block.css +1 -1
  99. package/dist/table-result-block.css.map +1 -1
  100. package/dist/table-result-block.js +15 -15
  101. package/package.json +1 -1
  102. package/src/alert-banner.tsx +5 -1
  103. package/src/alert.tsx +3 -1
  104. package/src/button-group-item.tsx +4 -2
  105. package/src/button.tsx +1 -1
  106. package/src/country-picker/country-modal.tsx +2 -2
  107. package/src/drag-and-drop.tsx +1 -1
  108. package/src/drawer.tsx +3 -3
  109. package/src/loading-button.tsx +25 -20
  110. package/src/nbui/nbui-card-form.tsx +35 -0
  111. package/src/nbui/nbui-card-image.tsx +10 -0
  112. package/src/nbui/nbui-card-lg.tsx +16 -0
  113. package/src/nbui/nbui-card-paragraphs-lg.tsx +23 -0
  114. package/src/nbui/nbui-card-paragraphs.tsx +16 -0
  115. package/src/nbui/nbui-card-sm.tsx +12 -0
  116. package/src/nbui/nbui-card-table.tsx +56 -0
  117. package/src/nbui/nbui-card.tsx +1 -2
  118. package/src/nbui/nbui-footer.tsx +8 -0
  119. package/src/nbui/nbui-side-panel-container.tsx +38 -0
  120. package/src/pagination/pagination.tsx +10 -3
  121. package/src/product-picker/product-listing.tsx +4 -4
  122. package/src/product-picker/product-modal.tsx +1 -1
  123. package/src/search/search.tsx +1 -1
  124. package/src/spinner.tsx +1 -1
  125. package/dist/chunk-5VOOMPCL.js +0 -12
  126. package/dist/chunk-5VOOMPCL.js.map +0 -1
  127. package/dist/chunk-EEMQBWYJ.js +0 -11
  128. package/dist/chunk-EEMQBWYJ.js.map +0 -1
  129. package/dist/chunk-ELWZ674J.js.map +0 -1
  130. package/dist/chunk-GGGZRFPY.js +0 -36
  131. package/dist/chunk-GI7QHCYX.js +0 -9
  132. package/dist/chunk-GI7QHCYX.js.map +0 -1
  133. package/dist/chunk-QKHEEDZ4.js +0 -7
  134. package/dist/chunk-QKHEEDZ4.js.map +0 -1
  135. package/dist/chunk-RHBXFO7R.js +0 -9
  136. package/dist/chunk-RHBXFO7R.js.map +0 -1
  137. package/dist/chunk-TOLCGTOY.js +0 -11
  138. package/dist/chunk-TOLCGTOY.js.map +0 -1
  139. package/dist/chunk-X6RBGNFS.js.map +0 -1
  140. /package/dist/{chunk-YOHYKIR3.js.map → chunk-HQIKNKIV.js.map} +0 -0
  141. /package/dist/{chunk-FPELMAZN.js.map → chunk-JNHB4YNM.js.map} +0 -0
@@ -1,14 +1,14 @@
1
- export { h as CardPaymentBlock } from './chunk-GGGZRFPY.js';
1
+ export { h as CardPaymentBlock } from './chunk-UQFNA3OB.js';
2
+ import './chunk-52VBZOHL.js';
2
3
  import './chunk-ZHMUFBQM.js';
3
4
  import './chunk-YZ2YZSNQ.js';
4
5
  import './chunk-E62SCYLR.js';
5
- import './chunk-X6RBGNFS.js';
6
6
  import './chunk-7Q6OMA2A.js';
7
- import './chunk-RHBXFO7R.js';
8
- import './chunk-5VOOMPCL.js';
9
- import './chunk-N7JQ6EAC.js';
7
+ import './chunk-KRMPO53Y.js';
8
+ import './chunk-CX2XFI5Q.js';
9
+ import './chunk-R47VIYM2.js';
10
10
  import './chunk-HVNLAQA6.js';
11
- import './chunk-52VBZOHL.js';
11
+ import './chunk-XKE3VK6Z.js';
12
12
  import './chunk-7WJGATIR.js';
13
13
  import './chunk-RTRHNOTP.js';
14
14
  import './chunk-JHGOFDVG.js';
@@ -22,39 +22,39 @@ import './chunk-3NO5IHBO.js';
22
22
  import './chunk-SFEJDNIA.js';
23
23
  import './chunk-E5KIDP3Z.js';
24
24
  import './chunk-TBJGGVSZ.js';
25
- import './chunk-QKHEEDZ4.js';
25
+ import './chunk-AO5TGD7T.js';
26
26
  import './chunk-WVAVR5V6.js';
27
27
  import './chunk-CNJDESTL.js';
28
28
  import './chunk-TXDBBVCI.js';
29
29
  import './chunk-HTXOCBXA.js';
30
- import './chunk-EEMQBWYJ.js';
30
+ import './chunk-CHXMQ7NN.js';
31
31
  import './chunk-ESJIQMQJ.js';
32
32
  import './chunk-IY6WVOAI.js';
33
33
  import './chunk-VGGEDWFD.js';
34
34
  import './chunk-AVTJXS4U.js';
35
- import './chunk-F7AUKLLE.js';
35
+ import './chunk-FOPBXPMP.js';
36
36
  import './chunk-QMOPWIA3.js';
37
37
  import './chunk-SLIZ4TDR.js';
38
- import './chunk-FPELMAZN.js';
38
+ import './chunk-JNHB4YNM.js';
39
39
  import './chunk-WTBH4TDX.js';
40
40
  import './chunk-6YBVKGQW.js';
41
41
  import './chunk-ISA6E23B.js';
42
42
  import './chunk-7Z2AKRKU.js';
43
43
  import './chunk-WSRPB5OU.js';
44
- import './chunk-YOHYKIR3.js';
44
+ import './chunk-HQIKNKIV.js';
45
45
  import './chunk-DSJ5TRZW.js';
46
46
  import './chunk-E4USZ2Q3.js';
47
47
  import './chunk-F47A36U7.js';
48
48
  import './chunk-M4UBHZDH.js';
49
49
  import './chunk-TMO76FWT.js';
50
50
  import './chunk-YDCYBJPC.js';
51
- import './chunk-ELWZ674J.js';
52
- import './chunk-GI7QHCYX.js';
51
+ import './chunk-5SEJVYKM.js';
52
+ import './chunk-MBACKGWE.js';
53
53
  import './chunk-2OPJLYW6.js';
54
54
  import './chunk-P5IM3T4M.js';
55
55
  import './chunk-TRVGXTCI.js';
56
- import './chunk-TOLCGTOY.js';
57
- import './chunk-BLUJNMXF.js';
56
+ import './chunk-XYGVDZRO.js';
57
+ import './chunk-2I24LCEG.js';
58
58
  import './chunk-TJMI4DH2.js';
59
59
  import './chunk-6LHL364H.js';
60
60
  import './chunk-Z4LPO673.js';
@@ -4,8 +4,8 @@ import { e as e$1, c, b, a as a$1 } from './chunk-Z4LPO673.js';
4
4
  import { variantProps } from 'classname-variants/react';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
 
7
- var e=e$1(a(),1);var v=variantProps({base:"group flex items-stretch items-center justify-center p-0.5 text-center font-medium relative focus:z-10 focus:outline-none rounded-lg",variants:{color:{default:"focus:outline-none text-white bg-blue-700 border border-transparent enabled:hover:bg-blue-800 focus:ring-blue-300 dark:bg-blue-600 dark:enabled:hover:bg-blue-700 dark:focus:ring-blue-800 rounded-lg focus:ring-2",dark:"enabled:hover:bg-gray-900 focus:ring-4 focus:ring-gray-300 dark:bg-gray-800 dark:enabled:hover:bg-gray-700 dark:focus:ring-gray-800 dark:border-gray-700",failure:"enabled:hover:bg-red-800 focus:ring-4 focus:ring-red-300 dark:enabled:hover:bg-red-700 dark:focus:ring-red-900",gray:"text-gray-900 bg-white border border-gray-200 enabled:hover:bg-gray-100 enabled:hover:text-cyan-700 :ring-cyan-700 focus:text-cyan-700 dark:bg-transparent dark:text-gray-400 dark:border-gray-600 dark:enabled:hover:text-white dark:enabled:hover:bg-gray-700 focus:ring-2",info:"enabled:hover:bg-cyan-800 focus:ring-4 focus:ring-cyan-300 dark:bg-cyan-600 dark:enabled:hover:bg-cyan-700 dark:focus:ring-cyan-800",light:"text-gray-900 bg-white border border-gray-300 enabled:hover:bg-gray-100 focus:ring-4 focus:ring-cyan-300 dark:bg-gray-600 dark:text-white dark:border-gray-600 dark:enabled:hover:bg-gray-700 dark:enabled:hover:border-gray-700 dark:focus:ring-gray-700",success:"enabled:hover:bg-green-800 focus:ring-4 focus:ring-green-300 dark:enabled:hover:bg-green-700 dark:focus:ring-green-800",warning:"enabled:hover:bg-yellow-500 focus:ring-4 focus:ring-yellow-300 dark:focus:ring-yellow-900"},disabled:{true:"cursor-not-allowed opacity-50",false:""},outline:{true:"border bg-transparent",false:""}},compoundVariants:[{variants:{color:"dark",outline:!0},className:"text-gray-800 border-gray-800 hover:text-white"},{variants:{color:"dark",outline:!1},className:"border-0 text-white bg-gray-800"},{variants:{color:"failure",outline:!0},className:"text-red-700 border-red-700 hover:text-white"},{variants:{color:"failure",outline:!1},className:"border-0 text-white bg-red-700"},{variants:{color:"info",outline:!0},className:"text-cyan-700 border-cyan-700 hover:text-white"},{variants:{color:"info",outline:!1},className:"text-white bg-cyan-700"},{variants:{color:"success",outline:!0},className:"text-green-700 border-green-700 hover:text-white"},{variants:{color:"success",outline:!1},className:"text-white bg-green-700"},{variants:{color:"warning",outline:!0},className:"text-yellow-400 border-yellow-400 hover:text-white"},{variants:{color:"warning",outline:!1},className:"text-white bg-yellow-400"},{variants:{color:"gray",outline:!0},className:"text-gray-900 bg-white hover:text-white border border-gray-200"},{variants:{color:"gray",outline:!1},className:"text-gray-900 bg-white border border-gray-200"}]}),m=Object.freeze({xs:"text-xs px-2 py-1",sm:"text-sm px-3 py-1.5",md:"text-sm px-4 py-2",lg:"text-base px-5 py-2.5",xl:"text-base px-6 py-3"});function i(p){var t=p,{color:g="default",disabled:d,outline:b$1,size:c$1="md",children:u,className:a}=t,y=c(t,["color","disabled","outline","size","children","className"]);return jsx("button",b(a$1(a$1({},v({color:g,disabled:d,outline:b$1,className:a})),y),{children:jsx("span",{className:a$2("flex items-center justify-center rounded-md transition-all duration-200",m[c$1],a),children:u})}))}i.propTypes={color:e.default.oneOf(["default","dark","failure","gray","info","light","success","warning"]),size:e.default.oneOf(["xs","sm","md","lg","xl"]),disabled:e.default.bool,outlined:e.default.bool,addon:e.default.element,icon:e.default.element};i.displayName="Button";
7
+ var e=e$1(a(),1);var v=variantProps({base:"group flex items-stretch items-center justify-center p-0.5 text-center font-medium relative focus:z-10 focus:outline-none rounded-lg",variants:{color:{default:"focus:outline-none text-white bg-blue-700 border border-transparent enabled:hover:bg-blue-800 focus:ring-blue-300 dark:bg-blue-600 dark:enabled:hover:bg-blue-700 dark:focus:ring-blue-800 rounded-lg focus:ring-2",dark:"enabled:hover:bg-gray-900 focus:ring-4 focus:ring-gray-300 dark:bg-gray-800 dark:enabled:hover:bg-gray-700 dark:focus:ring-gray-800 dark:border-gray-700",failure:"enabled:hover:bg-red-800 focus:ring-4 focus:ring-red-300 dark:enabled:hover:bg-red-700 dark:focus:ring-red-900",gray:"text-gray-900 bg-white border border-gray-200 enabled:hover:bg-gray-100 enabled:hover:text-cyan-700 :ring-cyan-700 focus:text-cyan-700 dark:bg-transparent dark:text-gray-400 dark:border-gray-600 dark:enabled:hover:text-white dark:enabled:hover:bg-gray-700 focus:ring-2",info:"enabled:hover:bg-cyan-800 focus:ring-4 focus:ring-cyan-300 dark:bg-cyan-600 dark:enabled:hover:bg-cyan-700 dark:focus:ring-cyan-800",light:"text-gray-900 bg-white border border-gray-300 enabled:hover:bg-gray-100 focus:ring-4 focus:ring-cyan-300 dark:bg-gray-600 dark:text-white dark:border-gray-600 dark:enabled:hover:bg-gray-700 dark:enabled:hover:border-gray-700 dark:focus:ring-gray-700",success:"enabled:hover:bg-green-800 focus:ring-4 focus:ring-green-300 dark:enabled:hover:bg-green-700 dark:focus:ring-green-800",warning:"enabled:hover:bg-yellow-500 focus:ring-4 focus:ring-yellow-300 dark:focus:ring-yellow-900"},disabled:{true:"cursor-not-allowed opacity-50",false:""},outline:{true:"border bg-transparent",false:""}},compoundVariants:[{variants:{color:"dark",outline:!0},className:"text-gray-800 border-gray-800 hover:text-white"},{variants:{color:"dark",outline:!1},className:"border-0 text-white bg-gray-800"},{variants:{color:"failure",outline:!0},className:"text-red-700 border-red-700 hover:text-white"},{variants:{color:"failure",outline:!1},className:"border-0 text-white bg-red-700"},{variants:{color:"info",outline:!0},className:"text-cyan-700 border-cyan-700 hover:text-white"},{variants:{color:"info",outline:!1},className:"text-white bg-cyan-700"},{variants:{color:"success",outline:!0},className:"text-green-700 border-green-700 hover:text-white"},{variants:{color:"success",outline:!1},className:"text-white bg-green-700"},{variants:{color:"warning",outline:!0},className:"text-yellow-400 border-yellow-400 hover:text-white"},{variants:{color:"warning",outline:!1},className:"text-white bg-yellow-400"},{variants:{color:"gray",outline:!0},className:"text-gray-900 bg-white hover:text-white border border-gray-200"},{variants:{color:"gray",outline:!1},className:"text-gray-900 bg-white border border-gray-200"}]}),m=Object.freeze({xs:"text-xs px-2 py-1",sm:"text-sm px-3 py-1.5",md:"text-sm px-4 py-2",lg:"text-base px-5 py-2.5",xl:"text-base px-6 py-3"});function i(p){var t=p,{color:g="default",disabled:d,outline:b$1,size:c$1="md",children:u,className:a}=t,y=c(t,["color","disabled","outline","size","children","className"]);return jsx("button",b(a$1(a$1({},v({color:g,disabled:d,outline:b$1,className:a})),y),{children:jsx("span",{className:a$2("flex items-center justify-center rounded-md transition-all duration-200",m[c$1],a),children:u})}))}i.propTypes={color:e.default.oneOf(["default","dark","failure","gray","info","light","success","warning"]),size:e.default.oneOf(["xs","sm","md","lg","xl"]),disabled:e.default.bool,outline:e.default.bool,addon:e.default.element,icon:e.default.element};i.displayName="Button";
8
8
 
9
9
  export { i as a };
10
10
  //# sourceMappingURL=out.js.map
11
- //# sourceMappingURL=chunk-BLUJNMXF.js.map
11
+ //# sourceMappingURL=chunk-2I24LCEG.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/button.tsx"],"names":["variantProps","import_prop_types","jsx","buttonProps","sizes","Button","_a","_b","color","disabled","outline","size","children","className","props","__objRest","__spreadProps","__spreadValues","twMerge","PropTypes"],"mappings":"6IACA,OAAS,gBAAAA,MAAoB,2BAE7B,IAAAC,EAAsB,SA4IhB,cAAAC,MAAA,oBA1IN,IAAMC,EAAcH,EAAa,CAC/B,KAAM,uIACN,SAAU,CACR,MAAO,CACL,QACE,qNACF,KAAM,2JACN,QACE,iHACF,KAAM,+QACN,KAAM,sIACN,MACE,4PACF,QACE,yHACF,QACE,2FACJ,EACA,SAAU,CACR,KAAM,gCACN,MAAO,EACT,EACA,QAAS,CACP,KAAM,wBACN,MAAO,EACT,CACF,EACA,iBAAkB,CAChB,CACE,SAAU,CACR,MAAO,OACP,QAAS,EACX,EACA,UAAW,gDACb,EACA,CACE,SAAU,CACR,MAAO,OACP,QAAS,EACX,EACA,UAAW,iCACb,EACA,CACE,SAAU,CACR,MAAO,UACP,QAAS,EACX,EACA,UAAW,8CACb,EACA,CACE,SAAU,CACR,MAAO,UACP,QAAS,EACX,EACA,UAAW,gCACb,EACA,CACE,SAAU,CACR,MAAO,OACP,QAAS,EACX,EACA,UAAW,gDACb,EACA,CACE,SAAU,CACR,MAAO,OACP,QAAS,EACX,EACA,UAAW,wBACb,EACA,CACE,SAAU,CACR,MAAO,UACP,QAAS,EACX,EACA,UAAW,kDACb,EACA,CACE,SAAU,CACR,MAAO,UACP,QAAS,EACX,EACA,UAAW,yBACb,EACA,CACE,SAAU,CACR,MAAO,UACP,QAAS,EACX,EACA,UAAW,oDACb,EACA,CACE,SAAU,CACR,MAAO,UACP,QAAS,EACX,EACA,UAAW,0BACb,EACA,CACE,SAAU,CACR,MAAO,OACP,QAAS,EACX,EACA,UACE,gEACJ,EACA,CACE,SAAU,CACR,MAAO,OACP,QAAS,EACX,EACA,UAAW,+CACb,CACF,CACF,CAAC,EAEKI,EAAQ,OAAO,OAAO,CAC1B,GAAI,oBACJ,GAAI,sBACJ,GAAI,oBACJ,GAAI,wBACJ,GAAI,qBACN,CAAC,EAEM,SAASC,EAAOC,EAQpB,CARoB,IAAAC,EAAAD,EACrB,OAAAE,EAAQ,UACR,SAAAC,EACA,QAAAC,EACA,KAAAC,EAAO,KACP,SAAAC,EACA,UAAAC,CAvIF,EAiIuBN,EAOlBO,EAAAC,EAPkBR,EAOlB,CANH,QACA,WACA,UACA,OACA,WACA,cAGA,OACEL,EAAC,SAAAc,EAAAC,IAAA,GACKd,EAAY,CAAE,MAAAK,EAAO,SAAAC,EAAU,QAAAC,EAAS,UAAAG,CAAU,CAAC,GACnDC,GAFL,CAIC,SAAAZ,EAAC,QACC,UAAWgB,EACT,0EACAd,EAAMO,CAAI,EACVE,CACF,EAEC,SAAAD,EACH,GACF,CAEJ,CAEAP,EAAO,UAAY,CAEjB,MAAO,EAAAc,QAAU,MAAM,CACrB,UACA,OACA,UACA,OACA,OACA,QACA,UACA,SACF,CAAC,EAED,KAAM,EAAAA,QAAU,MAAM,CAAC,KAAM,KAAM,KAAM,KAAM,IAAI,CAAC,EAEpD,SAAU,EAAAA,QAAU,KAEpB,SAAU,EAAAA,QAAU,KAEpB,MAAO,EAAAA,QAAU,QAEjB,KAAM,EAAAA,QAAU,OAClB,EAEAd,EAAO,YAAc","sourcesContent":["//@ts-nocheck\nimport { variantProps } from \"classname-variants/react\";\nimport { twMerge } from \"tailwind-merge\";\nimport PropTypes from \"prop-types\";\n\nconst buttonProps = variantProps({\n base: \"group flex items-stretch items-center justify-center p-0.5 text-center font-medium relative focus:z-10 focus:outline-none rounded-lg\",\n variants: {\n color: {\n default:\n \"focus:outline-none text-white bg-blue-700 border border-transparent enabled:hover:bg-blue-800 focus:ring-blue-300 dark:bg-blue-600 dark:enabled:hover:bg-blue-700 dark:focus:ring-blue-800 rounded-lg focus:ring-2\",\n dark: \"enabled:hover:bg-gray-900 focus:ring-4 focus:ring-gray-300 dark:bg-gray-800 dark:enabled:hover:bg-gray-700 dark:focus:ring-gray-800 dark:border-gray-700\",\n failure:\n \"enabled:hover:bg-red-800 focus:ring-4 focus:ring-red-300 dark:enabled:hover:bg-red-700 dark:focus:ring-red-900\",\n gray: \"text-gray-900 bg-white border border-gray-200 enabled:hover:bg-gray-100 enabled:hover:text-cyan-700 :ring-cyan-700 focus:text-cyan-700 dark:bg-transparent dark:text-gray-400 dark:border-gray-600 dark:enabled:hover:text-white dark:enabled:hover:bg-gray-700 focus:ring-2\",\n info: \"enabled:hover:bg-cyan-800 focus:ring-4 focus:ring-cyan-300 dark:bg-cyan-600 dark:enabled:hover:bg-cyan-700 dark:focus:ring-cyan-800\",\n light:\n \"text-gray-900 bg-white border border-gray-300 enabled:hover:bg-gray-100 focus:ring-4 focus:ring-cyan-300 dark:bg-gray-600 dark:text-white dark:border-gray-600 dark:enabled:hover:bg-gray-700 dark:enabled:hover:border-gray-700 dark:focus:ring-gray-700\",\n success:\n \"enabled:hover:bg-green-800 focus:ring-4 focus:ring-green-300 dark:enabled:hover:bg-green-700 dark:focus:ring-green-800\",\n warning:\n \"enabled:hover:bg-yellow-500 focus:ring-4 focus:ring-yellow-300 dark:focus:ring-yellow-900\",\n },\n disabled: {\n true: \"cursor-not-allowed opacity-50\",\n false: \"\",\n },\n outline: {\n true: \"border bg-transparent\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n variants: {\n color: \"dark\",\n outline: true,\n },\n className: \"text-gray-800 border-gray-800 hover:text-white\",\n },\n {\n variants: {\n color: \"dark\",\n outline: false,\n },\n className: \"border-0 text-white bg-gray-800\",\n },\n {\n variants: {\n color: \"failure\",\n outline: true,\n },\n className: \"text-red-700 border-red-700 hover:text-white\",\n },\n {\n variants: {\n color: \"failure\",\n outline: false,\n },\n className: \"border-0 text-white bg-red-700\",\n },\n {\n variants: {\n color: \"info\",\n outline: true,\n },\n className: \"text-cyan-700 border-cyan-700 hover:text-white\",\n },\n {\n variants: {\n color: \"info\",\n outline: false,\n },\n className: \"text-white bg-cyan-700\",\n },\n {\n variants: {\n color: \"success\",\n outline: true,\n },\n className: \"text-green-700 border-green-700 hover:text-white\",\n },\n {\n variants: {\n color: \"success\",\n outline: false,\n },\n className: \"text-white bg-green-700\",\n },\n {\n variants: {\n color: \"warning\",\n outline: true,\n },\n className: \"text-yellow-400 border-yellow-400 hover:text-white\",\n },\n {\n variants: {\n color: \"warning\",\n outline: false,\n },\n className: \"text-white bg-yellow-400\",\n },\n {\n variants: {\n color: \"gray\",\n outline: true,\n },\n className:\n \"text-gray-900 bg-white hover:text-white border border-gray-200\",\n },\n {\n variants: {\n color: \"gray\",\n outline: false,\n },\n className: \"text-gray-900 bg-white border border-gray-200\",\n },\n ],\n});\n\nconst sizes = Object.freeze({\n xs: \"text-xs px-2 py-1\",\n sm: \"text-sm px-3 py-1.5\",\n md: \"text-sm px-4 py-2\",\n lg: \"text-base px-5 py-2.5\",\n xl: \"text-base px-6 py-3\",\n});\n\nexport function Button({\n color = \"default\",\n disabled,\n outline,\n size = \"md\",\n children,\n className,\n ...props\n}) {\n return (\n <button\n {...buttonProps({ color, disabled, outline, className })}\n {...props}\n >\n <span\n className={twMerge(\n \"flex items-center justify-center rounded-md transition-all duration-200\",\n sizes[size],\n className\n )}\n >\n {children}\n </span>\n </button>\n );\n}\n\nButton.propTypes = {\n /** String for color of button */\n color: PropTypes.oneOf([\n \"default\",\n \"dark\",\n \"failure\",\n \"gray\",\n \"info\",\n \"light\",\n \"success\",\n \"warning\",\n ]),\n /** String to determine the size of the badge. \"xs, sm, md, lg, xl\" */\n size: PropTypes.oneOf([\"xs\", \"sm\", \"md\", \"lg\", \"xl\"]),\n /** Bool to disable button */\n disabled: PropTypes.bool,\n /** Bool to outline button */\n outlined: PropTypes.bool,\n /** element for addon on button */\n addon: PropTypes.element,\n /** element for icon on button */\n icon: PropTypes.element,\n};\n\nButton.displayName = \"Button\";\n"]}
1
+ {"version":3,"sources":["../src/button.tsx"],"names":["variantProps","import_prop_types","jsx","buttonProps","sizes","Button","_a","_b","color","disabled","outline","size","children","className","props","__objRest","__spreadProps","__spreadValues","twMerge","PropTypes"],"mappings":"6IACA,OAAS,gBAAAA,MAAoB,2BAE7B,IAAAC,EAAsB,SA4IhB,cAAAC,MAAA,oBA1IN,IAAMC,EAAcH,EAAa,CAC/B,KAAM,uIACN,SAAU,CACR,MAAO,CACL,QACE,qNACF,KAAM,2JACN,QACE,iHACF,KAAM,+QACN,KAAM,sIACN,MACE,4PACF,QACE,yHACF,QACE,2FACJ,EACA,SAAU,CACR,KAAM,gCACN,MAAO,EACT,EACA,QAAS,CACP,KAAM,wBACN,MAAO,EACT,CACF,EACA,iBAAkB,CAChB,CACE,SAAU,CACR,MAAO,OACP,QAAS,EACX,EACA,UAAW,gDACb,EACA,CACE,SAAU,CACR,MAAO,OACP,QAAS,EACX,EACA,UAAW,iCACb,EACA,CACE,SAAU,CACR,MAAO,UACP,QAAS,EACX,EACA,UAAW,8CACb,EACA,CACE,SAAU,CACR,MAAO,UACP,QAAS,EACX,EACA,UAAW,gCACb,EACA,CACE,SAAU,CACR,MAAO,OACP,QAAS,EACX,EACA,UAAW,gDACb,EACA,CACE,SAAU,CACR,MAAO,OACP,QAAS,EACX,EACA,UAAW,wBACb,EACA,CACE,SAAU,CACR,MAAO,UACP,QAAS,EACX,EACA,UAAW,kDACb,EACA,CACE,SAAU,CACR,MAAO,UACP,QAAS,EACX,EACA,UAAW,yBACb,EACA,CACE,SAAU,CACR,MAAO,UACP,QAAS,EACX,EACA,UAAW,oDACb,EACA,CACE,SAAU,CACR,MAAO,UACP,QAAS,EACX,EACA,UAAW,0BACb,EACA,CACE,SAAU,CACR,MAAO,OACP,QAAS,EACX,EACA,UACE,gEACJ,EACA,CACE,SAAU,CACR,MAAO,OACP,QAAS,EACX,EACA,UAAW,+CACb,CACF,CACF,CAAC,EAEKI,EAAQ,OAAO,OAAO,CAC1B,GAAI,oBACJ,GAAI,sBACJ,GAAI,oBACJ,GAAI,wBACJ,GAAI,qBACN,CAAC,EAEM,SAASC,EAAOC,EAQpB,CARoB,IAAAC,EAAAD,EACrB,OAAAE,EAAQ,UACR,SAAAC,EACA,QAAAC,EACA,KAAAC,EAAO,KACP,SAAAC,EACA,UAAAC,CAvIF,EAiIuBN,EAOlBO,EAAAC,EAPkBR,EAOlB,CANH,QACA,WACA,UACA,OACA,WACA,cAGA,OACEL,EAAC,SAAAc,EAAAC,IAAA,GACKd,EAAY,CAAE,MAAAK,EAAO,SAAAC,EAAU,QAAAC,EAAS,UAAAG,CAAU,CAAC,GACnDC,GAFL,CAIC,SAAAZ,EAAC,QACC,UAAWgB,EACT,0EACAd,EAAMO,CAAI,EACVE,CACF,EAEC,SAAAD,EACH,GACF,CAEJ,CAEAP,EAAO,UAAY,CAEjB,MAAO,EAAAc,QAAU,MAAM,CACrB,UACA,OACA,UACA,OACA,OACA,QACA,UACA,SACF,CAAC,EAED,KAAM,EAAAA,QAAU,MAAM,CAAC,KAAM,KAAM,KAAM,KAAM,IAAI,CAAC,EAEpD,SAAU,EAAAA,QAAU,KAEpB,QAAS,EAAAA,QAAU,KAEnB,MAAO,EAAAA,QAAU,QAEjB,KAAM,EAAAA,QAAU,OAClB,EAEAd,EAAO,YAAc","sourcesContent":["//@ts-nocheck\nimport { variantProps } from \"classname-variants/react\";\nimport { twMerge } from \"tailwind-merge\";\nimport PropTypes from \"prop-types\";\n\nconst buttonProps = variantProps({\n base: \"group flex items-stretch items-center justify-center p-0.5 text-center font-medium relative focus:z-10 focus:outline-none rounded-lg\",\n variants: {\n color: {\n default:\n \"focus:outline-none text-white bg-blue-700 border border-transparent enabled:hover:bg-blue-800 focus:ring-blue-300 dark:bg-blue-600 dark:enabled:hover:bg-blue-700 dark:focus:ring-blue-800 rounded-lg focus:ring-2\",\n dark: \"enabled:hover:bg-gray-900 focus:ring-4 focus:ring-gray-300 dark:bg-gray-800 dark:enabled:hover:bg-gray-700 dark:focus:ring-gray-800 dark:border-gray-700\",\n failure:\n \"enabled:hover:bg-red-800 focus:ring-4 focus:ring-red-300 dark:enabled:hover:bg-red-700 dark:focus:ring-red-900\",\n gray: \"text-gray-900 bg-white border border-gray-200 enabled:hover:bg-gray-100 enabled:hover:text-cyan-700 :ring-cyan-700 focus:text-cyan-700 dark:bg-transparent dark:text-gray-400 dark:border-gray-600 dark:enabled:hover:text-white dark:enabled:hover:bg-gray-700 focus:ring-2\",\n info: \"enabled:hover:bg-cyan-800 focus:ring-4 focus:ring-cyan-300 dark:bg-cyan-600 dark:enabled:hover:bg-cyan-700 dark:focus:ring-cyan-800\",\n light:\n \"text-gray-900 bg-white border border-gray-300 enabled:hover:bg-gray-100 focus:ring-4 focus:ring-cyan-300 dark:bg-gray-600 dark:text-white dark:border-gray-600 dark:enabled:hover:bg-gray-700 dark:enabled:hover:border-gray-700 dark:focus:ring-gray-700\",\n success:\n \"enabled:hover:bg-green-800 focus:ring-4 focus:ring-green-300 dark:enabled:hover:bg-green-700 dark:focus:ring-green-800\",\n warning:\n \"enabled:hover:bg-yellow-500 focus:ring-4 focus:ring-yellow-300 dark:focus:ring-yellow-900\",\n },\n disabled: {\n true: \"cursor-not-allowed opacity-50\",\n false: \"\",\n },\n outline: {\n true: \"border bg-transparent\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n variants: {\n color: \"dark\",\n outline: true,\n },\n className: \"text-gray-800 border-gray-800 hover:text-white\",\n },\n {\n variants: {\n color: \"dark\",\n outline: false,\n },\n className: \"border-0 text-white bg-gray-800\",\n },\n {\n variants: {\n color: \"failure\",\n outline: true,\n },\n className: \"text-red-700 border-red-700 hover:text-white\",\n },\n {\n variants: {\n color: \"failure\",\n outline: false,\n },\n className: \"border-0 text-white bg-red-700\",\n },\n {\n variants: {\n color: \"info\",\n outline: true,\n },\n className: \"text-cyan-700 border-cyan-700 hover:text-white\",\n },\n {\n variants: {\n color: \"info\",\n outline: false,\n },\n className: \"text-white bg-cyan-700\",\n },\n {\n variants: {\n color: \"success\",\n outline: true,\n },\n className: \"text-green-700 border-green-700 hover:text-white\",\n },\n {\n variants: {\n color: \"success\",\n outline: false,\n },\n className: \"text-white bg-green-700\",\n },\n {\n variants: {\n color: \"warning\",\n outline: true,\n },\n className: \"text-yellow-400 border-yellow-400 hover:text-white\",\n },\n {\n variants: {\n color: \"warning\",\n outline: false,\n },\n className: \"text-white bg-yellow-400\",\n },\n {\n variants: {\n color: \"gray\",\n outline: true,\n },\n className:\n \"text-gray-900 bg-white hover:text-white border border-gray-200\",\n },\n {\n variants: {\n color: \"gray\",\n outline: false,\n },\n className: \"text-gray-900 bg-white border border-gray-200\",\n },\n ],\n});\n\nconst sizes = Object.freeze({\n xs: \"text-xs px-2 py-1\",\n sm: \"text-sm px-3 py-1.5\",\n md: \"text-sm px-4 py-2\",\n lg: \"text-base px-5 py-2.5\",\n xl: \"text-base px-6 py-3\",\n});\n\nexport function Button({\n color = \"default\",\n disabled,\n outline,\n size = \"md\",\n children,\n className,\n ...props\n}) {\n return (\n <button\n {...buttonProps({ color, disabled, outline, className })}\n {...props}\n >\n <span\n className={twMerge(\n \"flex items-center justify-center rounded-md transition-all duration-200\",\n sizes[size],\n className\n )}\n >\n {children}\n </span>\n </button>\n );\n}\n\nButton.propTypes = {\n /** String for color of button */\n color: PropTypes.oneOf([\n \"default\",\n \"dark\",\n \"failure\",\n \"gray\",\n \"info\",\n \"light\",\n \"success\",\n \"warning\",\n ]),\n /** String to determine the size of the badge. \"xs, sm, md, lg, xl\" */\n size: PropTypes.oneOf([\"xs\", \"sm\", \"md\", \"lg\", \"xl\"]),\n /** Bool to disable button */\n disabled: PropTypes.bool,\n /** Bool to outline button */\n outline: PropTypes.bool,\n /** element for addon on button */\n addon: PropTypes.element,\n /** element for icon on button */\n icon: PropTypes.element,\n};\n\nButton.displayName = \"Button\";\n"]}
@@ -4,8 +4,8 @@ import { variantProps } from 'classname-variants/react';
4
4
  import { FaTimes, FaInfoCircle, FaExclamationTriangle, FaExclamationCircle, FaCheckCircle } from 'react-icons/fa';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
6
6
 
7
- var e=e$1(a(),1);var w=variantProps({base:"flex p-4 mb-4",variants:{type:{info:"text-blue-800 border border-blue-300 bg-blue-50 dark:bg-gray-800 dark:text-blue-400 dark:border-blue-800",default:"text-gray-800 border border-gray-300 bg-gray-50 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-800",success:"text-green-800 border border-green-300 bg-green-50 dark:bg-gray-800 dark:text-green-400 dark:border-green-800",danger:"text-red-800 border border-red-300 bg-red-50 dark:bg-gray-800 dark:text-red-400 dark:border-red-800",warning:"text-yellow-800 border border-yellow-300 bg-yellow-50 dark:bg-gray-800 dark:text-yellow-400 dark:border-yellow-800"},size:{sm:"text-sm",md:"text-md",lg:"text-lg"},rounded:{true:"rounded-lg",false:"rounded-none"}},defaultVariants:{type:"info",rounded:!0,size:"md"}}),v=variantProps({base:"ml-auto -mx-1.5 -my-1.5 rounded-lg focus:ring-2 p-1.5 inline-flex items-center justify-center h-8 w-8",variants:{type:{info:" bg-blue-50 text-blue-500 focus:ring-blue-400 hover:bg-blue-200 dark:bg-gray-800 dark:text-blue-400 dark:hover:bg-gray-700",default:" bg-grey-50 text-gray-500 focus:ring-gray-400 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700",success:" bg-green-50 text-green-500 focus:ring-green-400 hover:bg-green-200 dark:bg-green-800 dark:text-green-400 dark:hover:bg-gray-700",danger:" bg-red-50 text-red-500 focus:ring-red-400 hover:bg-red-200 dark:bg-gray-800 dark:text-red-400 dark:hover:bg-gray-700",warning:" bg-yellow-50 text-yellow-500 focus:ring-yellow-400 hover:bg-yellow-200 dark:bg-gray-800 dark:text-yellow-400 dark:hover:bg-gray-700"}}});function d({children:t,type:a,showIcon:i,onDismiss:g,rounded:u}){let y=()=>{switch(a){case"info":return jsx(FaInfoCircle,{});case"success":return jsx(FaCheckCircle,{});case"danger":return jsx(FaExclamationCircle,{});case"warning":return jsx(FaExclamationTriangle,{});default:return jsx(FaInfoCircle,{})}};return jsxs("div",b(a$1({},w({type:a,rounded:u,size:"md"})),{role:"alert",children:[i&&jsx("div",{className:"mr-3 mt-1 inline h-4 w-4 flex-shrink-0",children:y()}),jsx("span",{className:"sr-only",children:a}),t&&jsx("div",{children:t}),g&&jsxs("button",b(a$1({type:"button"},v({type:a})),{"data-dismiss-target":"#alert-1","aria-label":"Close",onClick:g,children:[jsx("span",{className:"sr-only",children:"Close"}),jsx(FaTimes,{})]}))]}))}d.defaultProps={showIcon:!0,rounded:!0};d.propTypes={type:e.default.oneOf(["info","success","warning","danger"]).isRequired,showIcon:e.default.bool,onDismiss:e.default.func,rounded:e.default.bool,children:e.default.node.isRequired};d.displayName="AlertBanner";
7
+ var e=e$1(a(),1);var v=variantProps({base:"flex p-4 mb-4",variants:{type:{info:"text-blue-800 border border-blue-300 bg-blue-50 dark:bg-gray-800 dark:text-blue-400 dark:border-blue-800",default:"text-gray-800 border border-gray-300 bg-gray-50 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-800",success:"text-green-800 border border-green-300 bg-green-50 dark:bg-gray-800 dark:text-green-400 dark:border-green-800",danger:"text-red-800 border border-red-300 bg-red-50 dark:bg-gray-800 dark:text-red-400 dark:border-red-800",warning:"text-yellow-800 border border-yellow-300 bg-yellow-50 dark:bg-gray-800 dark:text-yellow-400 dark:border-yellow-800"},size:{sm:"text-sm",md:"text-md",lg:"text-lg"},rounded:{true:"rounded-lg",false:"rounded-none"}},defaultVariants:{type:"info",rounded:!0,size:"md"}}),h=variantProps({base:"ml-auto -mx-1.5 -my-1.5 rounded-lg focus:ring-2 p-1.5 inline-flex items-center justify-center h-8 w-8",variants:{type:{info:" bg-blue-50 text-blue-500 focus:ring-blue-400 hover:bg-blue-200 dark:bg-gray-800 dark:text-blue-400 dark:hover:bg-gray-700",default:" bg-grey-50 text-gray-500 focus:ring-gray-400 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700",success:" bg-green-50 text-green-500 focus:ring-green-400 hover:bg-green-200 dark:bg-green-800 dark:text-green-400 dark:hover:bg-gray-700",danger:" bg-red-50 text-red-500 focus:ring-red-400 hover:bg-red-200 dark:bg-gray-800 dark:text-red-400 dark:hover:bg-gray-700",warning:" bg-yellow-50 text-yellow-500 focus:ring-yellow-400 hover:bg-yellow-200 dark:bg-gray-800 dark:text-yellow-400 dark:hover:bg-gray-700"}}});function n({children:t,type:a,showIcon:b$1,onDismiss:g,rounded:u,id:y}){let c=()=>{switch(a){case"info":return jsx(FaInfoCircle,{});case"success":return jsx(FaCheckCircle,{});case"danger":return jsx(FaExclamationCircle,{});case"warning":return jsx(FaExclamationTriangle,{});default:return jsx(FaInfoCircle,{})}};return jsxs("div",b(a$1({id:y||void 0},v({type:a,rounded:u,size:"md"})),{role:"alert",children:[b$1&&jsx("div",{className:"mr-3 mt-1 inline h-4 w-4 flex-shrink-0",children:c()}),jsx("span",{className:"sr-only",children:a}),t&&jsx("div",{children:t}),g&&jsxs("button",b(a$1({type:"button"},h({type:a})),{"data-dismiss-target":"#alert-1","aria-label":"Close",onClick:g,children:[jsx("span",{className:"sr-only",children:"Close"}),jsx(FaTimes,{})]}))]}))}n.defaultProps={showIcon:!0,rounded:!0};n.propTypes={type:e.default.oneOf(["info","success","warning","danger"]).isRequired,showIcon:e.default.bool,onDismiss:e.default.func,rounded:e.default.bool,children:e.default.node.isRequired,id:e.default.string};n.displayName="AlertBanner";
8
8
 
9
- export { d as a };
9
+ export { n as a };
10
10
  //# sourceMappingURL=out.js.map
11
- //# sourceMappingURL=chunk-ELWZ674J.js.map
11
+ //# sourceMappingURL=chunk-5SEJVYKM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/alert-banner.tsx"],"names":["import_prop_types","variantProps","FaTimes","FaInfoCircle","FaCheckCircle","FaExclamationCircle","FaExclamationTriangle","jsx","jsxs","alertProps","dismissProps","AlertBanner","children","type","showIcon","onDismiss","rounded","id","renderIcon","__spreadProps","__spreadValues","PropTypes"],"mappings":"8FAQA,IAAAA,EAAsB,SARtB,OAAS,gBAAAC,MAAoB,2BAC7B,OACE,WAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,uBAAAC,EACA,yBAAAC,MACK,iBAuEQ,cAAAC,EAuBP,QAAAC,MAvBO,oBApEf,IAAMC,EAAaR,EAAa,CAC9B,KAAM,gBACN,SAAU,CACR,KAAM,CACJ,KAAM,2GACN,QACE,2GACF,QACE,gHACF,OACE,sGACF,QACE,oHACJ,EACA,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,SACN,EACA,QAAS,CACP,KAAM,aACN,MAAO,cACT,CACF,EACA,gBAAiB,CACf,KAAM,OACN,QAAS,GACT,KAAM,IACR,CACF,CAAC,EAEKS,EAAeT,EAAa,CAChC,KAAM,wGACN,SAAU,CACR,KAAM,CACJ,KAAM,6HACN,QACE,6HACF,QACE,mIACF,OACE,wHACF,QACE,sIACJ,CACF,CACF,CAAC,EAWM,SAASU,EAAY,CAC1B,SAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,EACA,QAAAC,EACA,GAAAC,CACF,EAAqB,CACnB,IAAMC,EAAa,IAAM,CACvB,OAAQL,EAAM,CACZ,IAAK,OACH,OAAON,EAACJ,EAAA,EAAa,EACvB,IAAK,UACH,OAAOI,EAACH,EAAA,EAAc,EACxB,IAAK,SACH,OAAOG,EAACF,EAAA,EAAoB,EAC9B,IAAK,UACH,OAAOE,EAACD,EAAA,EAAsB,EAChC,QACE,OAAOC,EAACJ,EAAA,EAAa,CACzB,CACF,EAEA,OACEK,EAAC,MAAAW,EAAAC,EAAA,CAAI,GAAIH,GAAM,QAAeR,EAAW,CAAE,KAAAI,EAAM,QAAAG,EAAS,KAAM,IAAK,CAAC,GAArE,CAAwE,KAAK,QAC3E,UAAAF,GACCP,EAAC,OAAI,UAAU,yCACZ,SAAAW,EAAW,EACd,EAEFX,EAAC,QAAK,UAAU,UAAW,SAAAM,EAAK,EAC/BD,GAAYL,EAAC,OAAK,SAAAK,EAAS,EAE3BG,GACCP,EAAC,SAAAW,EAAAC,EAAA,CACC,KAAK,UACDV,EAAa,CAAE,KAAAG,CAAK,CAAC,GAF1B,CAGC,sBAAoB,WACpB,aAAW,QACX,QAASE,EAET,UAAAR,EAAC,QAAK,UAAU,UAAU,iBAAK,EAC/BA,EAACL,EAAA,EAAQ,IACX,IAEJ,CAEJ,CAEAS,EAAY,aAAe,CACzB,SAAU,GACV,QAAS,EACX,EAEAA,EAAY,UAAY,CAEtB,KAAM,EAAAU,QAAU,MAAM,CAAC,OAAQ,UAAW,UAAW,QAAQ,CAAC,EAAE,WAEhE,SAAU,EAAAA,QAAU,KAEpB,UAAW,EAAAA,QAAU,KAErB,QAAS,EAAAA,QAAU,KAEnB,SAAU,EAAAA,QAAU,KAAK,WAEzB,GAAI,EAAAA,QAAU,MAChB,EAEAV,EAAY,YAAc","sourcesContent":["import { variantProps } from \"classname-variants/react\";\nimport {\n FaTimes,\n FaInfoCircle,\n FaCheckCircle,\n FaExclamationCircle,\n FaExclamationTriangle,\n} from \"react-icons/fa\";\nimport PropTypes from \"prop-types\";\n\nconst alertProps = variantProps({\n base: \"flex p-4 mb-4\",\n variants: {\n type: {\n info: \"text-blue-800 border border-blue-300 bg-blue-50 dark:bg-gray-800 dark:text-blue-400 dark:border-blue-800\",\n default:\n \"text-gray-800 border border-gray-300 bg-gray-50 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-800\",\n success:\n \"text-green-800 border border-green-300 bg-green-50 dark:bg-gray-800 dark:text-green-400 dark:border-green-800\",\n danger:\n \"text-red-800 border border-red-300 bg-red-50 dark:bg-gray-800 dark:text-red-400 dark:border-red-800\",\n warning:\n \"text-yellow-800 border border-yellow-300 bg-yellow-50 dark:bg-gray-800 dark:text-yellow-400 dark:border-yellow-800\",\n },\n size: {\n sm: \"text-sm\",\n md: \"text-md\",\n lg: \"text-lg\",\n },\n rounded: {\n true: \"rounded-lg\",\n false: \"rounded-none\",\n },\n },\n defaultVariants: {\n type: \"info\",\n rounded: true,\n size: \"md\",\n },\n});\n\nconst dismissProps = variantProps({\n base: \"ml-auto -mx-1.5 -my-1.5 rounded-lg focus:ring-2 p-1.5 inline-flex items-center justify-center h-8 w-8\",\n variants: {\n type: {\n info: \" bg-blue-50 text-blue-500 focus:ring-blue-400 hover:bg-blue-200 dark:bg-gray-800 dark:text-blue-400 dark:hover:bg-gray-700\",\n default:\n \" bg-grey-50 text-gray-500 focus:ring-gray-400 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700\",\n success:\n \" bg-green-50 text-green-500 focus:ring-green-400 hover:bg-green-200 dark:bg-green-800 dark:text-green-400 dark:hover:bg-gray-700\",\n danger:\n \" bg-red-50 text-red-500 focus:ring-red-400 hover:bg-red-200 dark:bg-gray-800 dark:text-red-400 dark:hover:bg-gray-700\",\n warning:\n \" bg-yellow-50 text-yellow-500 focus:ring-yellow-400 hover:bg-yellow-200 dark:bg-gray-800 dark:text-yellow-400 dark:hover:bg-gray-700\",\n },\n },\n});\n\ntype AlertBannerProps = {\n children: React.ReactNode;\n type: \"info\" | \"success\" | \"warning\" | \"danger\";\n showIcon: boolean;\n onDismiss: () => void;\n rounded: boolean;\n id:string;\n};\n\nexport function AlertBanner({\n children,\n type,\n showIcon,\n onDismiss,\n rounded,\n id,\n}: AlertBannerProps) {\n const renderIcon = () => {\n switch (type) {\n case \"info\":\n return <FaInfoCircle />;\n case \"success\":\n return <FaCheckCircle />;\n case \"danger\":\n return <FaExclamationCircle />;\n case \"warning\":\n return <FaExclamationTriangle />;\n default:\n return <FaInfoCircle />;\n }\n };\n\n return (\n <div id={id || undefined} {...alertProps({ type, rounded, size: \"md\" })} role=\"alert\">\n {showIcon && (\n <div className=\"mr-3 mt-1 inline h-4 w-4 flex-shrink-0\">\n {renderIcon()}\n </div>\n )}\n <span className=\"sr-only\">{type}</span>\n {children && <div>{children}</div>}\n\n {onDismiss && (\n <button\n type=\"button\"\n {...dismissProps({ type })}\n data-dismiss-target=\"#alert-1\"\n aria-label=\"Close\"\n onClick={onDismiss}\n >\n <span className=\"sr-only\">Close</span>\n <FaTimes />\n </button>\n )}\n </div>\n );\n}\n\nAlertBanner.defaultProps = {\n showIcon: true,\n rounded: true,\n};\n\nAlertBanner.propTypes = {\n /** Type of Alert */\n type: PropTypes.oneOf([\"info\", \"success\", \"warning\", \"danger\"]).isRequired,\n /** Determins if the icon assosiated with the alert type should be shown (defaults to true) */\n showIcon: PropTypes.bool,\n /** Function to be called when Alert is dismissed */\n onDismiss: PropTypes.func,\n /** Whether Alert should have rounded corners */\n rounded: PropTypes.bool,\n /** Components to be rendered as Part of the Compound Component*/\n children: PropTypes.node.isRequired,\n /** Id for alert banner */\n id: PropTypes.string,\n};\n\nAlertBanner.displayName = \"AlertBanner\";\n"]}
@@ -0,0 +1,7 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+
3
+ function i(){return jsx("div",{id:"spinner",role:"status",children:jsxs("svg",{"aria-hidden":"true",className:"inline h-14 w-14 animate-spin fill-blue-600 text-gray-200 dark:text-gray-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),jsx("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]})})}i.displayName="Spinner";
4
+
5
+ export { i as a };
6
+ //# sourceMappingURL=out.js.map
7
+ //# sourceMappingURL=chunk-AO5TGD7T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/spinner.tsx"],"names":["jsx","jsxs","Spinner"],"mappings":"AAGM,OAOE,OAAAA,EAPF,QAAAC,MAAA,oBAHC,SAASC,GAAU,CACxB,OACEF,EAAC,OAAI,GAAG,UAAU,KAAK,SACrB,SAAAC,EAAC,OACC,cAAY,OACZ,UAAU,+EACV,QAAQ,cACR,KAAK,OACL,MAAM,6BAEN,UAAAD,EAAC,QACC,EAAE,+WACF,KAAK,eACP,EACAA,EAAC,QACC,EAAE,glBACF,KAAK,cACP,GACF,EACF,CAEJ,CAEAE,EAAQ,YAAc","sourcesContent":["export function Spinner() {\n return (\n <div id=\"spinner\" role=\"status\">\n <svg\n aria-hidden=\"true\"\n className=\"inline h-14 w-14 animate-spin fill-blue-600 text-gray-200 dark:text-gray-600\"\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentFill\"\n />\n </svg>\n </div>\n );\n}\n\nSpinner.displayName = \"Spinner\";\n"]}
@@ -0,0 +1,12 @@
1
+ import { a } from './chunk-6LHL364H.js';
2
+ import { e, c, b, a as a$1 } from './chunk-Z4LPO673.js';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+
5
+ var t=e(a(),1);var g=Object.freeze({success:{buttonStyle:" text-white bg-green-700 border border-transparent enabled:hover:bg-green-800 focus:ring-green-300 dark:bg-green-600 dark:enabled:hover:bg-green-700 dark:focus:ring-green-800 rounded-lg focus:ring-2",spinnerStyle:"text-white"},danger:{buttonStyle:" text-white bg-red-700 border border-transparent enabled:hover:bg-red-800 focus:ring-red-300 dark:bg-red-600 dark:enabled:hover:bg-red-700 dark:focus:ring-red-900 rounded-lg focus:ring-2",spinnerStyle:"text-white"},successOutline:{buttonStyle:" text-green-700 border border-green-700 enabled:hover:text-white enabled:hover:bg-green-800 focus:ring-green-300 dark:bg-green-600 dark:enabled:hover:bg-green-700 dark:focus:ring-green-800 rounded-lg focus:ring-2",spinnerStyle:"text-green-700"},dangerOutline:{buttonStyle:" text-red-700 border border-red-700 enabled:hover:text-white enabled:hover:bg-red-800 focus:ring-red-300 dark:bg-red-600 dark:enabled:hover:bg-red-500 dark:focus:ring-red-900 rounded-lg focus:ring-2",spinnerStyle:"text-red-700"}});function u(C){var o=C,{children:b$1,isLoading:e=!1}=o,r=c(o,["children","isLoading"]);let d=r.color?g[r.color]:g.success,c$1=()=>jsxs("svg",{"aria-hidden":"true",role:"status",className:`mr-3 inline h-4 w-4 animate-spin ${d.spinnerStyle}`,viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"#E5E7EB"}),jsx("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentColor"})]});return jsx("button",b(a$1({className:`group relative flex items-center justify-center p-0.5 text-center font-medium focus:z-10 focus:outline-none
6
+ ${d.buttonStyle}
7
+ ${e?" cursor-not-allowed opacity":""}
8
+ `},r),{disabled:e,children:jsxs("span",{className:"flex items-center rounded-md px-4 py-2 text-sm transition-all duration-200",children:[e&&c$1(),b$1]})}))}u.propTypes={color:t.default.string,isLoading:t.default.bool};u.displayName="LoadingButton";
9
+
10
+ export { u as a };
11
+ //# sourceMappingURL=out.js.map
12
+ //# sourceMappingURL=chunk-CHXMQ7NN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/loading-button.tsx"],"names":["import_prop_types","jsx","jsxs","buttonColors","LoadingButton","_a","_b","children","isLoading","props","__objRest","style","renderLoader","__spreadProps","__spreadValues","PropTypes"],"mappings":"qGACA,IAAAA,EAAsB,SA8BlB,OAQE,OAAAC,EARF,QAAAC,MAAA,oBA5BJ,IAAMC,EAAe,OAAO,OAAO,CACjC,QACE,CACE,YAAa,yMACb,aAAc,YAChB,EACF,OACE,CACE,YAAa,6LACb,aAAc,YAChB,EACF,eACE,CACE,YAAa,uNACb,aAAc,gBAChB,EACF,cACE,CACE,YAAa,yMACb,aAAc,cAChB,CACJ,CAAC,EAEM,SAASC,EAAcC,EAA2C,CAA3C,IAAAC,EAAAD,EAAE,UAAAE,EAAU,UAAAC,EAAY,EA1BtD,EA0B8BF,EAAkCG,EAAAC,EAAlCJ,EAAkC,CAAhC,WAAU,cAExC,IAAMK,EAAQF,EAAM,MAAQN,EAAaM,EAAM,KAAK,EAAGN,EAAa,QAE9DS,EAAe,IACnBV,EAAC,OACC,cAAY,OACZ,KAAK,SACL,UAAW,oCAAoCS,EAAM,eACrD,QAAQ,cACR,KAAK,OACL,MAAM,6BAEN,UAAAV,EAAC,QACC,EAAE,+WACF,KAAK,UACP,EACAA,EAAC,QACC,EAAE,glBACF,KAAK,eACP,GACF,EAGF,OACEA,EAAC,SAAAY,EAAAC,EAAA,CACC,UAAW;AAAA,UACPH,EAAM;AAAA,UACNH,EAAY,8BAA+B;AAAA,SAE3CC,GALL,CAMC,SAAUD,EAEV,SAAAN,EAAC,QAAK,UAAU,6EACb,UAAAM,GAAaI,EAAa,EAC1BL,GACH,GACF,CAEJ,CAEAH,EAAc,UAAY,CAExB,MAAO,EAAAW,QAAU,OAEjB,UAAW,EAAAA,QAAU,IACvB,EAEAX,EAAc,YAAc","sourcesContent":["//@ts-nocheck\nimport PropTypes from \"prop-types\";\n\nconst buttonColors = Object.freeze({\n success:\n {\n buttonStyle: \" text-white bg-green-700 border border-transparent enabled:hover:bg-green-800 focus:ring-green-300 dark:bg-green-600 dark:enabled:hover:bg-green-700 dark:focus:ring-green-800 rounded-lg focus:ring-2\",\n spinnerStyle: \"text-white\",\n },\n danger:\n {\n buttonStyle: \" text-white bg-red-700 border border-transparent enabled:hover:bg-red-800 focus:ring-red-300 dark:bg-red-600 dark:enabled:hover:bg-red-700 dark:focus:ring-red-900 rounded-lg focus:ring-2\",\n spinnerStyle: \"text-white\",\n },\n successOutline:\n {\n buttonStyle: \" text-green-700 border border-green-700 enabled:hover:text-white enabled:hover:bg-green-800 focus:ring-green-300 dark:bg-green-600 dark:enabled:hover:bg-green-700 dark:focus:ring-green-800 rounded-lg focus:ring-2\",\n spinnerStyle: \"text-green-700\",\n },\n dangerOutline:\n {\n buttonStyle: \" text-red-700 border border-red-700 enabled:hover:text-white enabled:hover:bg-red-800 focus:ring-red-300 dark:bg-red-600 dark:enabled:hover:bg-red-500 dark:focus:ring-red-900 rounded-lg focus:ring-2\",\n spinnerStyle: \"text-red-700\",\n },\n});\n\nexport function LoadingButton({ children, isLoading = false, ...props }) {\n\n const style = props.color ? buttonColors[props.color]: buttonColors.success\n\n const renderLoader = () => (\n <svg\n aria-hidden=\"true\"\n role=\"status\"\n className={`mr-3 inline h-4 w-4 animate-spin ${style.spinnerStyle}`}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"#E5E7EB\"\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n\n return (\n <button\n className={`group relative flex items-center justify-center p-0.5 text-center font-medium focus:z-10 focus:outline-none \n ${style.buttonStyle}\n ${isLoading ? ' cursor-not-allowed opacity': ''}\n `}\n {...props}\n disabled={isLoading}\n >\n <span className=\"flex items-center rounded-md px-4 py-2 text-sm transition-all duration-200\">\n {isLoading && renderLoader()}\n {children}\n </span>\n </button>\n );\n}\n\nLoadingButton.propTypes = {\n /** String for color of loading button */\n color: PropTypes.string,\n /** Bool for spinner on button */\n isLoading: PropTypes.bool,\n};\n\nLoadingButton.displayName = \"LoadingButton\";\n"]}
@@ -0,0 +1,12 @@
1
+ import { a as a$2 } from './chunk-6YBVKGQW.js';
2
+ import { a as a$1 } from './chunk-6LHL364H.js';
3
+ import { e } from './chunk-Z4LPO673.js';
4
+ import N from 'pluralize';
5
+ import { useRef, useState, useEffect } from 'react';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+
8
+ var a=e(a$1(),1);function C(e){var s,l;return `${((s=window.resourceSettings)==null?void 0:s.imageBasePath)||""}${e}?v=${((l=window.resourceSettings)==null?void 0:l.version)||""}`}function k({products:e,isMore:s,selected:l,page:f,pages:m,callback:c}){let o=useRef(),[u,g]=useState(!1);useEffect(()=>{let r=document.querySelector("#product-list");return r&&!r.hasAttribute("scroll")&&o.current.addEventListener("scroll",n),o.current!=null&&(o.current.scrollTop=0),()=>{let i=document.querySelector("#product-list");i&&i.hasAttribute("scroll")&&o.current.removeEventListener("scroll",n);}},[]);let n=()=>{if(!s)return;let r=o.current.scrollHeight-o.current.offsetHeight,i=Math.floor(o.current.scrollTop);(i==r||i+2==r||i-2==r)&&(g(!0),c({type:"FETCH_DATA",payload:!0}));},h=r=>{c({type:"SELECTION",payload:r});};return jsxs("div",{id:"product-list",ref:o,className:"h-[500px] overflow-y-auto rounded-md border",children:[(e||[]).map(r=>jsx(p,{product:r,selected:l.has(r.ProductId),callback:h},`product-row-${r.ProductId}`)),s&&f<m&&u&&jsx($,{})]})}function p({product:e,selected:s,callback:l}){var m,c,o,u,g;let f=n=>{l(e.ProductId);};return jsxs("div",{className:`mb-1 mt-1 flex items-center pb-4 pt-4 ${s&&"bg-blue-50"} cursor-pointer justify-between border-b border-gray-100`,onClick:f,children:[jsxs("div",{className:"ml-3 flex items-center",children:[jsx("div",{className:"flex-shrink-0",children:jsx(a$2,{id:`cb-prod-${e.ProductId}`,name:e.Name,checked:s,onChange:()=>{}})}),jsx("div",{className:"ml-4",children:e.Image&&e.ImageName!=="[URL-DownloadRequested]"?jsx("img",{className:"h-10 w-10 rounded-sm",src:e.Image,alt:e.Name,onError:n=>{n.target.onerror=null,n.target.src=`${C("/admin/Content/images/no-image-discount.png")}`;}}):jsx("img",{src:C("/admin/Content/images/no-image-discount.png"),alt:e.Name,className:"h-10 w-10 rounded-sm"})}),jsxs("div",{className:"ml-4",children:[jsx("div",{className:" font-medium text-gray-900",children:e.Name}),((m=e.Categories)==null?void 0:m.length)>0?jsx("div",{className:"text-xs text-gray-500",children:`${e.CategoryName} & ${N("other",e.Categories.length,!0)}`}):jsx("div",{className:"text-xs text-gray-500",children:e.CategoryName})]})]}),jsx("div",{className:"ml-4 flex-shrink-0",children:jsx("span",{className:"mr-3 text-sm text-gray-500",children:`${(o=(c=globalThis.globalSettings)==null?void 0:c.CurrencySymbol)!=null?o:"\xA3"}${e.Price.toFixed((g=(u=globalThis.globalSettings)==null?void 0:u.CurrencyExponent)!=null?g:2)}`})})]})}k.propTypes={products:a.default.array,isMore:a.default.bool,selected:a.default.instanceOf(Set),page:a.default.number,pages:a.default.number,callback:a.default.func};p.propTypes={product:a.default.object,selected:a.default.bool,callback:a.default.func};function $(){return jsx("div",{className:"mb-1 mt-1 flex justify-center pb-4 pt-4",children:jsx("div",{role:"status",children:jsxs("svg",{"aria-hidden":"true",className:"inline-block h-8 w-8 animate-spin fill-gray-600 text-gray-200 dark:fill-gray-300 dark:text-gray-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),jsx("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]})})})}
9
+
10
+ export { k as a };
11
+ //# sourceMappingURL=out.js.map
12
+ //# sourceMappingURL=chunk-CX2XFI5Q.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/product-picker/product-listing.tsx"],"names":["import_prop_types","pluralize","useEffect","useRef","useState","jsx","jsxs","BuildImageUrl","imageUrl","_a","_b","Listing","products","isMore","selected","page","pages","callback","scrollRef","showLoader","setShowLoader","element","handleScroll","offset","scroll","handleProductSelection","id","p","ProductRow","InfiniteLoader","product","_c","_d","_e","e","Checkbox","PropTypes"],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport pluralize from \"pluralize\";\nimport PropTypes from \"prop-types\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { Checkbox } from \"../checkbox\";\n// FOR USE WITH THE PRODUCT PICKER COMPONENT - ONLY\n\nfunction BuildImageUrl(imageUrl) {\n return `${window.resourceSettings?.imageBasePath || ''}${imageUrl}?v=${window.resourceSettings?.version || ''}`;\n}\n\nexport function Listing({\n products,\n isMore,\n selected,\n page,\n pages,\n callback,\n}) {\n const scrollRef = useRef();\n const [showLoader, setShowLoader] = useState(false);\n\n useEffect(() => {\n const element = document.querySelector(\"#product-list\");\n if (element && !element.hasAttribute(\"scroll\"))\n scrollRef.current.addEventListener(\"scroll\", handleScroll);\n if (scrollRef.current != null) scrollRef.current.scrollTop = 0;\n return () => {\n const element = document.querySelector(\"#product-list\");\n if (element && element.hasAttribute(\"scroll\"))\n scrollRef.current.removeEventListener(\"scroll\", handleScroll);\n };\n }, []);\n\n const handleScroll = () => {\n if (!isMore) return;\n const offset =\n scrollRef.current.scrollHeight - scrollRef.current.offsetHeight;\n const scroll = Math.floor(scrollRef.current.scrollTop);\n // the '-2 & +2' is used as a buffer, otherwise '==' positioning of the scroll becomes too accurate.\n if (scroll == offset || scroll + 2 == offset || scroll - 2 == offset) {\n setShowLoader(true);\n callback({ type: \"FETCH_DATA\", payload: true });\n }\n };\n\n const handleProductSelection = (id) => {\n callback({ type: \"SELECTION\", payload: id });\n };\n\n return (\n <div\n id=\"product-list\"\n ref={scrollRef}\n className={`h-[500px] overflow-y-auto rounded-md border`}\n >\n {(products || []).map((p) => {\n return (\n <ProductRow\n key={`product-row-${p.ProductId}`}\n product={p}\n selected={selected.has(p.ProductId)}\n callback={handleProductSelection}\n />\n );\n })}\n {isMore && page < pages && showLoader && <InfiniteLoader />}\n </div>\n );\n}\n\nfunction ProductRow({ product, selected, callback }) {\n const handleProductSelection = (e) => {\n callback(product.ProductId);\n };\n return (\n <div\n className={`mb-1 mt-1 flex items-center pb-4 pt-4 ${\n selected && \"bg-blue-50\"\n } cursor-pointer justify-between border-b border-gray-100`}\n onClick={handleProductSelection}\n >\n <div className=\"ml-3 flex items-center\">\n <div className=\"flex-shrink-0\">\n <Checkbox\n id={`cb-prod-${product.ProductId}`}\n name={product.Name}\n checked={selected}\n onChange={() => {}}\n />\n </div>\n <div className=\"ml-4\">\n {product.Image && product.ImageName !== \"[URL-DownloadRequested]\" ? (\n <img\n className=\"h-10 w-10 rounded-sm\"\n src={product.Image}\n alt={product.Name}\n onError={(e) => {\n e.target.onerror = null;\n e.target.src = `${BuildImageUrl(\n \"/admin/Content/images/no-image-discount.png\"\n )}`;\n }}\n />\n ) : (\n <img\n src={BuildImageUrl(\"/admin/Content/images/no-image-discount.png\")}\n alt={product.Name}\n className=\"h-10 w-10 rounded-sm\"\n />\n )}\n </div>\n <div className=\"ml-4\">\n <div className=\" font-medium text-gray-900\">{product.Name}</div>\n {product.Categories?.length > 0 ? (\n <div className=\"text-xs text-gray-500\">{`${\n product.CategoryName\n } & ${pluralize(\"other\", product.Categories.length, true)}`}</div>\n ) : (\n <div className=\"text-xs text-gray-500\">{product.CategoryName}</div>\n )}\n </div>\n </div>\n <div className=\"ml-4 flex-shrink-0\">\n <span className=\"mr-3 text-sm text-gray-500\">{`${\n globalThis.globalSettings?.CurrencySymbol ?? '£'\n }${product.Price.toFixed(\n globalThis.globalSettings?.CurrencyExponent ?? 2\n )}`}</span>\n </div>\n </div>\n );\n}\n\nListing.propTypes = {\n /** Array of products to list */\n products: PropTypes.array,\n /** Boolean to indicate if there are more products to load */\n isMore: PropTypes.bool,\n /** Set of selected ids */\n selected: PropTypes.instanceOf(Set),\n /** Current page */\n page: PropTypes.number,\n /** Total number of pages */\n pages: PropTypes.number,\n /** Callback function to handle events */\n callback: PropTypes.func,\n};\n\nProductRow.propTypes = {\n /** Product object to display */\n product: PropTypes.object,\n /** Boolean to indicate if the file is selected */\n selected: PropTypes.bool,\n /** Callback function to handle events */\n callback: PropTypes.func,\n};\n\nfunction InfiniteLoader() {\n return (\n <div className=\"mb-1 mt-1 flex justify-center pb-4 pt-4\">\n <div role=\"status\">\n <svg\n aria-hidden=\"true\"\n className=\"inline-block h-8 w-8 animate-spin fill-gray-600 text-gray-200 dark:fill-gray-300 dark:text-gray-600\"\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentFill\"\n />\n </svg>\n </div>\n </div>\n );\n}\n"]}
@@ -3,8 +3,8 @@ import { useState, useCallback, useEffect } from 'react';
3
3
  import { HiXMark } from 'react-icons/hi2';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
5
5
 
6
- function h({show:t,onClose:l,children:s,title:n}){let[e,d]=useState(),b=useCallback(o=>{if(o!==null){var f=o;let w={placement:"right",backdrop:!0,bodyScrolling:!1,edge:!1,edgeOffset:"",backdropClasses:"bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-30",onHide:l},i=new Drawer(f,w);return d(i),i}},[]);return useEffect(()=>{e&&(t?e.show():e.hide());},[t,e]),jsxs("div",{ref:b,id:"EKM-ui-drawer",className:"fixed right-0 top-0 z-50 h-screen w-[90%] translate-x-full overflow-y-auto bg-white transition-transform dark:bg-gray-800 sm:max-w-lg md:w-[500px]",tabIndex:-1,"aria-labelledby":"drawer-right-label",children:[jsxs("div",{className:"absolute w-full bg-white",children:[jsx("h5",{id:"drawer-js-label",className:"inline-flex w-full items-center border-b-2 p-4 text-lg font-semibold text-gray-900 dark:border-gray-900 dark:bg-gray-900 dark:text-white",children:n}),jsxs("button",{onClick:l,id:"drawer-hide-button",type:"button","aria-controls":"drawer-example",className:"absolute right-2.5 top-2.5 inline-flex items-center rounded-lg bg-transparent p-1.5 text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white",children:[jsx(HiXMark,{className:"h-auto w-6"}),jsx("span",{className:"sr-only",children:"Close menu"})]})]}),jsx("div",{className:"flex h-full flex-col p-4 pt-20",children:s})]})}h.displayName="Drawer";
6
+ function h({show:t,onClose:l,children:s,title:n}){let[e,d]=useState(),b=useCallback(o=>{if(o!==null){var p=o;let f={placement:"right",backdrop:!0,bodyScrolling:!1,edge:!1,edgeOffset:"",backdropClasses:"bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-30",onHide:l},i=new Drawer(p,f);return d(i),i}},[]);return useEffect(()=>{e&&(t?e.show():e.hide());},[t,e]),jsxs("div",{ref:b,id:"EKM-ui-drawer",className:"fixed right-0 top-0 z-50 h-screen w-[90%] translate-x-full overflow-y-auto bg-white transition-transform dark:bg-gray-800 sm:max-w-lg md:w-[500px]",tabIndex:-1,"aria-labelledby":"drawer-right-label",children:[jsxs("div",{className:"absolute w-full bg-white",children:[jsx("h5",{id:"drawer-js-label",className:"inline-flex w-full items-center border-b-2 p-4 text-lg font-semibold text-gray-900 dark:border-gray-900 dark:bg-gray-900 dark:text-white",children:n}),jsxs("button",{onClick:l,id:"drawer-hide-button",type:"button","aria-controls":"drawer-example",className:"absolute right-2.5 top-2.5 inline-flex items-center rounded-lg bg-transparent p-2 text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white",children:[jsx(HiXMark,{className:"h-auto w-6"}),jsx("span",{className:"sr-only",children:"Close menu"})]})]}),jsx("div",{className:"flex h-full flex-col pt-20 pb-4 pl-4 pr-4 mt-4",children:s})]})}h.displayName="Drawer";
7
7
 
8
8
  export { h as a };
9
9
  //# sourceMappingURL=out.js.map
10
- //# sourceMappingURL=chunk-F7AUKLLE.js.map
10
+ //# sourceMappingURL=chunk-FOPBXPMP.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/drawer.tsx"],"names":["FBDrawer","useCallback","useEffect","useState","HiXMark","jsx","jsxs","Drawer","show","onClose","children","title","drawer","setDrawer","drawerCallback","node","element","options"],"mappings":"AAGA,OAAS,UAAUA,MAAgB,WACnC,OAAS,eAAAC,EAAa,aAAAC,EAAW,YAAAC,MAAgB,QACjD,OAAS,WAAAC,MAAe,kBAkDhB,cAAAC,EAMA,QAAAC,MANA,oBAzCD,SAASC,EAAO,CAAE,KAAAC,EAAM,QAAAC,EAAS,SAAAC,EAAU,MAAAC,CAAM,EAAU,CAChE,GAAM,CAACC,EAAQC,CAAS,EAAIV,EAA0B,EAChDW,EAAiBb,EAAac,GAAc,CAChD,GAAIA,IAAS,KAAM,CACjB,IAAIC,EAAUD,EACd,IAAME,EAAyB,CAC7B,UAAW,QACX,SAAU,GACV,cAAe,GACf,KAAM,GACN,WAAY,GACZ,gBACE,kEACF,OAAQR,CACV,EACMG,EAAS,IAAIZ,EAASgB,EAASC,CAAO,EAC5C,OAAAJ,EAAUD,CAAM,EACTA,EAEX,EAAG,CAAC,CAAC,EAEL,OAAAV,EAAU,IAAM,CACTU,IAGDJ,EACFI,EAAO,KAAK,EAEZA,EAAO,KAAK,EAEhB,EAAG,CAACJ,EAAMI,CAAM,CAAC,EAGfN,EAAC,OACC,IAAKQ,EACL,GAAG,gBACH,UAAU,qJACV,SAAU,GACV,kBAAgB,qBAEhB,UAAAR,EAAC,OAAI,UAAU,2BACb,UAAAD,EAAC,MACC,GAAG,kBACH,UAAU,6IAET,SAAAM,EACH,EACAL,EAAC,UACC,QAASG,EACT,GAAG,qBACH,KAAK,SACL,gBAAc,iBACd,UAAU,+LAEV,UAAAJ,EAACD,EAAA,CAAQ,UAAU,aAAa,EAChCC,EAAC,QAAK,UAAU,UAAU,sBAAU,GACtC,GACF,EACAA,EAAC,OAAI,UAAU,iCAAkC,SAAAK,EAAS,GAC5D,CAEJ,CAEAH,EAAO,YAAc","sourcesContent":["// THIS DRAWER IS FROM THE FLOWBITE LIBRARY PAGE\n\nimport type { DrawerInterface, DrawerOptions } from \"flowbite\";\nimport { Drawer as FBDrawer } from \"flowbite\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { HiXMark } from \"react-icons/hi2\";\n\ntype Props = {\n show: boolean;\n onClose: () => void;\n children: JSX.Element;\n title: string;\n};\n\nexport function Drawer({ show, onClose, children, title }: Props) {\n const [drawer, setDrawer] = useState<DrawerInterface>();\n const drawerCallback = useCallback((node: any) => {\n if (node !== null) {\n var element = node;\n const options: DrawerOptions = {\n placement: \"right\",\n backdrop: true,\n bodyScrolling: false,\n edge: false,\n edgeOffset: \"\",\n backdropClasses:\n \"bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-30\",\n onHide: onClose,\n };\n const drawer = new FBDrawer(element, options);\n setDrawer(drawer);\n return drawer;\n }\n }, []);\n\n useEffect(() => {\n if (!drawer) {\n return;\n }\n if (show) {\n drawer.show();\n } else {\n drawer.hide();\n }\n }, [show, drawer]);\n\n return (\n <div\n ref={drawerCallback}\n id=\"EKM-ui-drawer\"\n className=\"fixed right-0 top-0 z-50 h-screen w-[90%] translate-x-full overflow-y-auto bg-white transition-transform dark:bg-gray-800 sm:max-w-lg md:w-[500px]\"\n tabIndex={-1}\n aria-labelledby=\"drawer-right-label\"\n >\n <div className=\"absolute w-full bg-white\">\n <h5\n id=\"drawer-js-label\"\n className=\"inline-flex w-full items-center border-b-2 p-4\t text-lg font-semibold text-gray-900 dark:border-gray-900 dark:bg-gray-900 dark:text-white\"\n >\n {title}\n </h5>\n <button\n onClick={onClose}\n id=\"drawer-hide-button\"\n type=\"button\"\n aria-controls=\"drawer-example\"\n className=\"absolute right-2.5 top-2.5 inline-flex items-center rounded-lg bg-transparent p-1.5 text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white\"\n >\n <HiXMark className=\"h-auto w-6\" />\n <span className=\"sr-only\">Close menu</span>\n </button>\n </div>\n <div className=\"flex h-full flex-col p-4 pt-20\">{children}</div>\n </div>\n );\n}\n\nDrawer.displayName = \"Drawer\";\n"]}
1
+ {"version":3,"sources":["../src/drawer.tsx"],"names":["FBDrawer","useCallback","useEffect","useState","HiXMark","jsx","jsxs","Drawer","show","onClose","children","title","drawer","setDrawer","drawerCallback","node","element","options"],"mappings":"AAGA,OAAS,UAAUA,MAAgB,WACnC,OAAS,eAAAC,EAAa,aAAAC,EAAW,YAAAC,MAAgB,QACjD,OAAS,WAAAC,MAAe,kBAkDhB,cAAAC,EAMA,QAAAC,MANA,oBAzCD,SAASC,EAAO,CAAE,KAAAC,EAAM,QAAAC,EAAS,SAAAC,EAAU,MAAAC,CAAM,EAAU,CAChE,GAAM,CAACC,EAAQC,CAAS,EAAIV,EAA0B,EAChDW,EAAiBb,EAAac,GAAc,CAChD,GAAIA,IAAS,KAAM,CACjB,IAAIC,EAAUD,EACd,IAAME,EAAyB,CAC7B,UAAW,QACX,SAAU,GACV,cAAe,GACf,KAAM,GACN,WAAY,GACZ,gBACE,kEACF,OAAQR,CACV,EACMG,EAAS,IAAIZ,EAASgB,EAASC,CAAO,EAC5C,OAAAJ,EAAUD,CAAM,EACTA,EAEX,EAAG,CAAC,CAAC,EAEL,OAAAV,EAAU,IAAM,CACTU,IAGDJ,EACFI,EAAO,KAAK,EAEZA,EAAO,KAAK,EAEhB,EAAG,CAACJ,EAAMI,CAAM,CAAC,EAGfN,EAAC,OACC,IAAKQ,EACL,GAAG,gBACH,UAAU,qJACV,SAAU,GACV,kBAAgB,qBAEhB,UAAAR,EAAC,OAAI,UAAU,2BACb,UAAAD,EAAC,MACC,GAAG,kBACH,UAAU,2IAET,SAAAM,EACH,EACAL,EAAC,UACC,QAASG,EACT,GAAG,qBACH,KAAK,SACL,gBAAc,iBACd,UAAU,6LAEV,UAAAJ,EAACD,EAAA,CAAQ,UAAU,aAAa,EAChCC,EAAC,QAAK,UAAU,UAAU,sBAAU,GACtC,GACF,EACAA,EAAC,OAAI,UAAU,iDAAkD,SAAAK,EAAS,GAC5E,CAEJ,CAEAH,EAAO,YAAc","sourcesContent":["// THIS DRAWER IS FROM THE FLOWBITE LIBRARY PAGE\n\nimport type { DrawerInterface, DrawerOptions } from \"flowbite\";\nimport { Drawer as FBDrawer } from \"flowbite\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { HiXMark } from \"react-icons/hi2\";\n\ntype Props = {\n show: boolean;\n onClose: () => void;\n children: JSX.Element;\n title: string;\n};\n\nexport function Drawer({ show, onClose, children, title }: Props) {\n const [drawer, setDrawer] = useState<DrawerInterface>();\n const drawerCallback = useCallback((node: any) => {\n if (node !== null) {\n var element = node;\n const options: DrawerOptions = {\n placement: \"right\",\n backdrop: true,\n bodyScrolling: false,\n edge: false,\n edgeOffset: \"\",\n backdropClasses:\n \"bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-30\",\n onHide: onClose,\n };\n const drawer = new FBDrawer(element, options);\n setDrawer(drawer);\n return drawer;\n }\n }, []);\n\n useEffect(() => {\n if (!drawer) {\n return;\n }\n if (show) {\n drawer.show();\n } else {\n drawer.hide();\n }\n }, [show, drawer]);\n\n return (\n <div\n ref={drawerCallback}\n id=\"EKM-ui-drawer\"\n className=\"fixed right-0 top-0 z-50 h-screen w-[90%] translate-x-full overflow-y-auto bg-white transition-transform dark:bg-gray-800 sm:max-w-lg md:w-[500px]\"\n tabIndex={-1}\n aria-labelledby=\"drawer-right-label\"\n >\n <div className=\"absolute w-full bg-white\">\n <h5\n id=\"drawer-js-label\"\n className=\"inline-flex w-full items-center border-b-2 p-4\ttext-lg font-semibold text-gray-900 dark:border-gray-900 dark:bg-gray-900 dark:text-white\"\n >\n {title}\n </h5>\n <button\n onClick={onClose}\n id=\"drawer-hide-button\"\n type=\"button\"\n aria-controls=\"drawer-example\"\n className=\"absolute right-2.5 top-2.5 inline-flex items-center rounded-lg bg-transparent p-2 text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white\"\n >\n <HiXMark className=\"h-auto w-6\" />\n <span className=\"sr-only\">Close menu</span>\n </button>\n </div>\n <div className=\"flex h-full flex-col pt-20 pb-4 pl-4 pr-4 mt-4\">{children}</div>\n </div>\n );\n}\n\nDrawer.displayName = \"Drawer\";\n"]}
@@ -1,6 +1,6 @@
1
1
  import { a as a$3 } from './chunk-DSJ5TRZW.js';
2
2
  import { a as a$2 } from './chunk-E4USZ2Q3.js';
3
- import { a as a$4 } from './chunk-BLUJNMXF.js';
3
+ import { a as a$4 } from './chunk-2I24LCEG.js';
4
4
  import { a } from './chunk-6LHL364H.js';
5
5
  import { d, e, b as b$1, a as a$1 } from './chunk-Z4LPO673.js';
6
6
  import { createContext, useState, useRef, useEffect, useMemo } from 'react';
@@ -13,4 +13,4 @@ var P=d((Ft,X)=>{function Le(e){var t=typeof e;return e!=null&&(t=="object"||t==
13
13
 
14
14
  export { qe as a };
15
15
  //# sourceMappingURL=out.js.map
16
- //# sourceMappingURL=chunk-YOHYKIR3.js.map
16
+ //# sourceMappingURL=chunk-HQIKNKIV.js.map
@@ -1,4 +1,4 @@
1
- import { a } from './chunk-BLUJNMXF.js';
1
+ import { a } from './chunk-2I24LCEG.js';
2
2
  import i from 'clsx';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
 
@@ -6,4 +6,4 @@ function x({title:s,text:p,buttonText:e,position:r}){return jsxs("div",{classNam
6
6
 
7
7
  export { x as a };
8
8
  //# sourceMappingURL=out.js.map
9
- //# sourceMappingURL=chunk-FPELMAZN.js.map
9
+ //# sourceMappingURL=chunk-JNHB4YNM.js.map
@@ -0,0 +1,9 @@
1
+ import s from 'clsx';
2
+ import { useMemo } from 'react';
3
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
+
5
+ function b(t,d=0){return [...Array(t).keys()].map(r=>r+d)}function k({pageSize:t,total:d,current:r,onChange:l,loading:h}){let y=Math.min((r-1)*t+1,d),p=Math.min(y+t-1,d),a=Math.ceil(d/t),v=useMemo(()=>a>5&&r>=4,[a,r]),x=useMemo(()=>a>5&&r<a-3,[a,r]),n=[];return a<=5?n=b(a,1):x?n=b(5,Math.max(r-2,1)):n=b(5,a-4),jsx("div",{id:"paginationControl",className:"w-full",children:jsx("div",{className:"relative overflow-hidden rounded-b-lg bg-white dark:bg-gray-800",children:jsxs("nav",{className:" flex flex-wrap items-start justify-between gap-x-4 gap-y-2 md:items-center","aria-label":"Table navigation",children:[jsxs("div",{className:"flex w-full justify-between md:hidden",children:[jsxs("button",{id:"btnPreviousM",disabled:r===1,className:s(r===1&&"cursor-not-allowed","ml-0 flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(r-1,t),children:[jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",clipRule:"evenodd"})}),jsx("span",{className:"leading-none",children:"Previous"})]}),jsxs("button",{id:"btnNextM",disabled:r===a,className:s(r===a&&"cursor-not-allowed","flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(r+1,t),children:[jsx("span",{children:"Next"}),jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})]})]}),jsxs("div",{id:"rowsPerPageSection",className:"hidden items-center space-x-3 md:flex",children:[jsx("label",{htmlFor:"rows",className:"text-sm font-normal text-gray-500 dark:text-gray-400",children:"Rows per page"}),jsxs("select",{id:"rows",className:"block rounded-lg border border-gray-300 bg-gray-50 py-1.5 pl-3.5 pr-6 text-sm text-gray-900 focus:border-primary-500 focus:ring-primary-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-primary-500 dark:focus:ring-primary-500",onChange:i=>l(1,Number(i.target.value)),value:t,children:[jsx("option",{value:10,children:"10"}),jsx("option",{value:25,children:"25"}),jsx("option",{value:50,children:"50"}),jsx("option",{value:100,children:"100"})]}),jsx("span",{className:"pt-1 text-sm font-normal text-gray-500 dark:text-gray-400",children:!h&&jsxs(Fragment,{children:[jsxs("span",{className:"font-semibold text-gray-900 dark:text-white",children:["Showing ",jsx(Fragment,{children:d===0?0:y})," to ",jsx(Fragment,{children:p})]})," ","of"," ",jsx("span",{className:"font-semibold text-gray-900 dark:text-white",children:d})]})})]}),jsxs("ul",{className:"hidden items-stretch -space-x-px md:inline-flex",children:[jsx("li",{children:jsxs("button",{id:"btnPrevious",disabled:r===1,className:s(r===1&&"cursor-not-allowed","ml-0 flex h-full items-center justify-center rounded-l-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(r-1,t),children:[jsx("span",{className:"sr-only",children:"Previous"}),jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",clipRule:"evenodd"})})]})}),v&&jsxs(Fragment,{children:[jsx("li",{children:jsx("button",{id:"btnLast",className:s(r===1&&"cursor-not-allowed","flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(1,t),children:"1"})}),jsx("li",{className:"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400",children:"..."})]}),n.map(i=>jsx("li",{children:jsx("button",{id:`btnPage${i}`,onClick:()=>l(i,t),className:s("flex items-center justify-center border px-3 py-2 text-sm leading-tight",i===r?"z-10 border-primary-300 bg-primary-50 text-primary-600 hover:bg-primary-100 hover:text-primary-700 dark:border-gray-700 dark:bg-gray-700 dark:text-white st-pageCurrent":"border-gray-300 bg-white text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),children:i})},i)),x&&jsxs(Fragment,{children:[jsx("li",{className:"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400",children:"..."}),jsx("li",{children:jsx("button",{id:"btnLast",className:"flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white",onClick:()=>l(a,t),children:a})})]}),jsx("li",{children:jsxs("button",{id:"btnNext",disabled:r===a,onClick:()=>l(r+1,t),className:s(r===a&&"cursor-not-allowed","flex h-full items-center justify-center rounded-r-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),children:[jsx("span",{className:"sr-only",children:"Next"}),jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})]})})]})]})})})}
6
+
7
+ export { k as a };
8
+ //# sourceMappingURL=out.js.map
9
+ //# sourceMappingURL=chunk-KRMPO53Y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/pagination/pagination.tsx"],"names":["clsx","useMemo","Fragment","jsx","jsxs","range","size","startAt","i","Pagination","pageSize","total","current","onChange","loading","from","to","totalPages","showJumpPrev","showJumpNext","pages","e","page"],"mappings":"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","sourcesContent":["import clsx from \"clsx\";\nimport { useMemo } from \"react\";\n\nexport type PaginationProps = {\n pageSize: number;\n total: number;\n current: number;\n onChange: (page: number, pageSize: number) => void;\n loading?: boolean;\n};\n\nfunction range(size: number, startAt = 0): number[] {\n return [...Array(size).keys()].map((i) => i + startAt);\n}\n\nexport function Pagination({\n pageSize,\n total,\n current,\n onChange,\n loading,\n}: PaginationProps) {\n // Calculate the values that are displayed\n const from = Math.min((current - 1) * pageSize + 1, total);\n const to = Math.min(from + pageSize - 1, total);\n const totalPages = Math.ceil(total / pageSize);\n\n const showJumpPrev = useMemo(() => {\n return totalPages > 5 && current >= 4;\n }, [totalPages, current]);\n\n const showJumpNext = useMemo(() => {\n return totalPages > 5 && current < totalPages - 3;\n }, [totalPages, current]);\n\n let pages: number[] = [];\n\n if (totalPages <= 5) {\n pages = range(totalPages, 1);\n } else if (showJumpNext) {\n pages = range(5, Math.max(current - 2, 1));\n } else {\n pages = range(5, totalPages - 4);\n }\n\n return (\n <div id=\"paginationControl\" className=\"w-full\">\n <div className=\"relative overflow-hidden rounded-b-lg bg-white dark:bg-gray-800\">\n <nav\n className=\" flex flex-wrap items-start justify-between gap-x-4 gap-y-2 md:items-center\"\n aria-label=\"Table navigation\"\n >\n <div className=\"flex w-full justify-between md:hidden\">\n <button\n id=\"btnPreviousM\"\n disabled={current === 1}\n className={clsx(\n current === 1 && \"cursor-not-allowed\",\n \"ml-0 flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(current - 1, pageSize)}\n >\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n <span className=\"leading-none\">Previous</span>\n </button>\n\n <button\n id=\"btnNextM\"\n disabled={current === totalPages}\n className={clsx(\n current === totalPages && \"cursor-not-allowed\",\n \"flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(current + 1, pageSize)}\n >\n <span>Next</span>\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </div>\n <div id=\"rowsPerPageSection\" className=\"hidden items-center space-x-3 md:flex\">\n <label\n htmlFor=\"rows\"\n className=\"text-sm font-normal text-gray-500 dark:text-gray-400\"\n >\n Rows per page\n </label>\n <select\n id=\"rows\"\n className=\"block rounded-lg border border-gray-300 bg-gray-50 py-1.5 pl-3.5 pr-6 text-sm text-gray-900 focus:border-primary-500 focus:ring-primary-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-primary-500 dark:focus:ring-primary-500\"\n onChange={(e) => onChange(1, Number(e.target.value))}\n value={pageSize}\n >\n <option value={10}>10</option>\n <option value={25}>25</option>\n <option value={50}>50</option>\n <option value={100}>100</option>\n </select>\n <span className=\"pt-1 text-sm font-normal text-gray-500 dark:text-gray-400\">\n {!loading && (\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Showing <>{total === 0 ? 0 : from}</> to <>{to}</>\n </span>{\" \"}\n of{\" \"}\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n {total}\n </span>\n </>\n )}\n </span>\n </div>\n <ul className=\"hidden items-stretch -space-x-px md:inline-flex\">\n <li>\n <button\n id=\"btnPrevious\"\n disabled={current === 1}\n className={clsx(\n current === 1 && \"cursor-not-allowed\",\n \"ml-0 flex h-full items-center justify-center rounded-l-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(current - 1, pageSize)}\n >\n <span className=\"sr-only\">Previous</span>\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </li>\n {showJumpPrev && (\n <>\n <li>\n <button\n id=\"btnLast\"\n className={clsx(\n current === 1 && \"cursor-not-allowed\",\n \"flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(1, pageSize)}\n >\n 1\n </button>\n </li>\n <li className=\"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400\">\n ...\n </li>\n </>\n )}\n {pages.map((page) => (\n <li key={page}>\n <button\n id={`btnPage${page}`}\n onClick={() => onChange(page, pageSize)}\n className={clsx(\n \"flex items-center justify-center border px-3 py-2 text-sm leading-tight\",\n page === current\n ? \"z-10 border-primary-300 bg-primary-50 text-primary-600 hover:bg-primary-100 hover:text-primary-700 dark:border-gray-700 dark:bg-gray-700 dark:text-white st-pageCurrent\"\n : \"border-gray-300 bg-white text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n >\n {page}\n </button>\n </li>\n ))}\n {showJumpNext && (\n <>\n <li className=\"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400\">\n ...\n </li>\n <li>\n <button\n id=\"btnLast\"\n className=\"flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n onClick={() => onChange(totalPages, pageSize)}\n >\n {totalPages}\n </button>\n </li>\n </>\n )}\n <li>\n <button\n id=\"btnNext\"\n disabled={current === totalPages}\n onClick={() => onChange(current + 1, pageSize)}\n className={clsx(\n current === totalPages && \"cursor-not-allowed\",\n \"flex h-full items-center justify-center rounded-r-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n >\n <span className=\"sr-only\">Next</span>\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n );\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import n from 'clsx';
2
+ import { HiExclamation, HiInformationCircle } from 'react-icons/hi';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+
5
+ function m({text:o,type:e,hasBackground:l,centerText:t,id:i}){return jsxs("div",{id:i||void 0,className:n(`flex items-center ${t?"justify-center":null}`,{info:`text-blue-500 dark:text-blue-200 ${l?"rounded-md border border-purple-200 bg-blue-50 p-4 pl-0":null}`,warning:` text-yellow-500 dark:text-yellow-200 ${l?"rounded-md border border-orange-200 bg-yellow-50 p-4 pl-0":null}`}[e]),children:[e=="warning"&&jsx(HiExclamation,{className:"ml-4 mr-4 h-auto w-5 flex-shrink-0 "}),e=="info"&&jsx(HiInformationCircle,{className:"ml-4 mr-4 h-auto w-5 flex-shrink-0 "}),jsx("p",{className:n("text-sm font-medium",{info:" text-gray-500 dark:bg-gray-400 ",warning:""}[e]),children:o})]})}m.displayName="Alert";
6
+
7
+ export { m as a };
8
+ //# sourceMappingURL=out.js.map
9
+ //# sourceMappingURL=chunk-MBACKGWE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/alert.tsx"],"names":["clsx","HiInformationCircle","HiExclamation","jsx","jsxs","Alert","text","type","hasBackground","centerText","id"],"mappings":"AAAA,OAAOA,MAAU,OACjB,OAAS,uBAAAC,EAAqB,iBAAAC,MAAqB,iBAY/C,OAmBI,OAAAC,EAnBJ,QAAAC,MAAA,oBAFG,SAASC,EAAM,CAAE,KAAAC,EAAM,KAAAC,EAAM,cAAAC,EAAe,WAAAC,EAAY,GAAAC,CAAG,EAAU,CAC1E,OACEN,EAAC,OACC,GAAIM,GAAM,OACV,UAAWV,EACT,qBAAqBS,EAAa,iBAAmB,OACrD,CACE,KAAM,qCACJD,EACI,0DACA,OAEN,QAAS,yCACPA,EACI,4DACA,MAER,EAAED,CAAI,CACR,EAEC,UAAAA,GAAQ,WACPJ,EAACD,EAAA,CAAc,UAAU,sCAAsC,EAEhEK,GAAQ,QACPJ,EAACF,EAAA,CAAoB,UAAU,sCAAsC,EAEvEE,EAAC,KACC,UAAWH,EACT,sBACA,CACE,KAAM,mCACN,QAAS,EACX,EAAEO,CAAI,CACR,EAEC,SAAAD,EACH,GACF,CAEJ,CAEAD,EAAM,YAAc","sourcesContent":["import clsx from \"clsx\";\nimport { HiInformationCircle, HiExclamation } from \"react-icons/hi\";\n\ntype Props = {\n text: string;\n type: \"warning\" | \"info\";\n hasBackground: boolean;\n centerText: boolean;\n id: string;\n};\n\nexport function Alert({ text, type, hasBackground, centerText, id }: Props) {\n return (\n <div\n id={id || undefined}\n className={clsx(\n `flex items-center ${centerText ? \"justify-center\" : null}`,\n {\n info: `text-blue-500 dark:text-blue-200 ${\n hasBackground\n ? \"rounded-md border border-purple-200 bg-blue-50 p-4 pl-0\"\n : null\n }`,\n warning: ` text-yellow-500 dark:text-yellow-200 ${\n hasBackground\n ? \"rounded-md border border-orange-200 bg-yellow-50 p-4 pl-0\"\n : null\n }`,\n }[type]\n )}\n >\n {type == \"warning\" && (\n <HiExclamation className=\"ml-4 mr-4 h-auto w-5 flex-shrink-0 \" />\n )}\n {type == \"info\" && (\n <HiInformationCircle className=\"ml-4 mr-4 h-auto w-5 flex-shrink-0 \" />\n )}\n <p\n className={clsx(\n \"text-sm font-medium\",\n {\n info: \" text-gray-500 dark:bg-gray-400 \",\n warning: \"\",\n }[type]\n )}\n >\n {text}\n </p>\n </div>\n );\n}\n\nAlert.displayName = \"Alert\";\n"]}
@@ -3,8 +3,8 @@ import { e, b, a as a$1 } from './chunk-Z4LPO673.js';
3
3
  import { forwardRef, useState, useImperativeHandle, useEffect, useRef, useCallback } from 'react';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
 
6
- var r=e(a(),1);function H(w,n,t){let l=useRef(0),s=useRef(null),u=useCallback(w,t);useEffect(()=>(l.current===0?l.current=1:s.current=setTimeout(()=>{u();},n),()=>{clearTimeout(s.current);}),[u,n]);}var S=forwardRef(function({id:n,categories:t=[],delay:l=1500,placeholder:s="Enter a keyword to search...",callback:u,disabled:R=!1,initialValue:c=""},x){let[o,h]=useState({text:null,category:(t==null?void 0:t.length)>0?t[0]:null}),[C,y]=useState(c),[N,b$1]=useState(!0);useImperativeHandle(x,()=>({clear:()=>{y(""),h(b(a$1({},o),{text:""}));},removeFocus:()=>{document.getElementById(`${n}-search-input`).blur();}}));let D=e=>{y(e.target.value),h(b(a$1({},o),{text:e.target.value}));},E=(e,d)=>{e.preventDefault(),h(b(a$1({},o),{category:d})),b$1(!0);},T=e=>{(e.charCode||e.keyCode)===13&&e.preventDefault();};H(()=>{u(o);},l,[o.text,o.category]),useEffect(()=>{c!==C&&y(c);},[c]);let p=useRef(null);useEffect(()=>{let e=d=>{p.current&&!p.current.contains(d.target)&&b$1(!0);};return document.addEventListener("click",e,!0),()=>{document.removeEventListener("click",e,!0);}},[]);let $=()=>jsxs(Fragment,{children:[jsxs("button",{id:`${n}-dropdown-button`,"data-dropdown-toggle":"dropdown",className:"absolute right-0 top-0 z-10 inline-flex flex-shrink-0 items-center rounded-r-lg border border-gray-300 bg-white p-2.5 px-4 py-2.5 text-center text-sm font-medium text-gray-900 hover:bg-gray-200 focus:outline-none focus:ring-4 focus:ring-gray-300 dark:border-gray-700 dark:bg-gray-600 dark:text-white dark:hover:bg-gray-700 dark:focus:ring-gray-800",type:"button",onClick:()=>b$1(!N),children:[o.category.display,jsx("svg",{className:"ml-2.5 h-2.5 w-2.5","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 10 6",children:jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"m1 1 4 4 4-4"})})]}),jsx("div",{id:`${n}-dropdown`,ref:p,className:`z-10 ${N?"hidden":""} absolute right-0 w-44 divide-y divide-gray-100 rounded-r-lg bg-white shadow dark:bg-gray-700`,children:jsx("ul",{className:"py-2 text-sm text-gray-700 dark:text-gray-200","aria-labelledby":"dropdown-button",children:(t||[]).map(e=>jsx("li",{children:jsx("a",{href:"#",className:"block px-4 py-2 hover:bg-gray-100 dark:hover:bg-gray-600 dark:hover:text-white",onClick:d=>E(d,e),children:e.display})},`gst-${e.display}`))})})]});return jsx("div",{className:"flex",children:jsxs("div",{className:"relative w-full",children:[jsx("input",{ref:x,placeholder:s,value:C,"aria-label":"search","aria-describedby":"Search",onChange:D,onKeyDown:T,disabled:R,id:`${n}-search-input`,className:"block w-full rounded-lg border border-r-2 border-gray-300 border-r-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-blue-500"}),(t==null?void 0:t.length)>0&&$()]})})});S.propTypes={categories:r.default.arrayOf(r.default.shape({display:r.default.string.isRequired,value:r.default.oneOfType([r.default.string,r.default.number]).isRequired})),delay:r.default.number,placeholder:r.default.string,callback:r.default.func.isRequired,disabled:r.default.bool,initialValue:r.default.string};S.displayName="Search";
6
+ var r=e(a(),1);function H(w,n,t){let l=useRef(0),s=useRef(null),u=useCallback(w,t);useEffect(()=>(l.current===0?l.current=1:s.current=setTimeout(()=>{u();},n),()=>{clearTimeout(s.current);}),[u,n]);}var S=forwardRef(function({id:n,categories:t=[],delay:l=1500,placeholder:s="Enter a keyword to search...",callback:u,disabled:R=!1,initialValue:c=""},x){let[o,h]=useState({text:null,category:(t==null?void 0:t.length)>0?t[0]:null}),[C,y]=useState(c),[N,b$1]=useState(!0);useImperativeHandle(x,()=>({clear:()=>{y(""),h(b(a$1({},o),{text:""}));},removeFocus:()=>{document.getElementById(`${n}-search-input`).blur();}}));let D=e=>{y(e.target.value),h(b(a$1({},o),{text:e.target.value}));},E=(e,d)=>{e.preventDefault(),h(b(a$1({},o),{category:d})),b$1(!0);},T=e=>{(e.charCode||e.keyCode)===13&&e.preventDefault();};H(()=>{u(o);},l,[o.text,o.category]),useEffect(()=>{c!==C&&y(c);},[c]);let p=useRef(null);useEffect(()=>{let e=d=>{p.current&&!p.current.contains(d.target)&&b$1(!0);};return document.addEventListener("click",e,!0),()=>{document.removeEventListener("click",e,!0);}},[]);let $=()=>jsxs(Fragment,{children:[jsxs("button",{id:`${n}-dropdown-button`,"data-dropdown-toggle":"dropdown",className:"absolute right-0 top-0 z-10 inline-flex flex-shrink-0 items-center rounded-r-lg border border-gray-300 bg-white p-2.5 px-4 py-2.5 text-center text-sm font-medium text-gray-900 hover:bg-gray-200 focus:outline-none focus:ring-4 focus:ring-gray-300 dark:border-gray-700 dark:bg-gray-600 dark:text-white dark:hover:bg-gray-700 dark:focus:ring-gray-800",type:"button",onClick:()=>b$1(!N),children:[o.category.display,jsx("svg",{className:"ml-2.5 h-2.5 w-2.5","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 10 6",children:jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"m1 1 4 4 4-4"})})]}),jsx("div",{id:`${n}-dropdown`,ref:p,className:`z-10 ${N?"hidden":""} absolute right-0 w-44 divide-y divide-gray-100 rounded-r-lg bg-white shadow dark:bg-gray-700`,children:jsx("ul",{className:"py-2 text-sm text-gray-700 dark:text-gray-200","aria-labelledby":"dropdown-button",children:(t||[]).map(e=>jsx("li",{children:jsx("a",{href:"#",className:"block px-4 py-2 hover:bg-gray-100 dark:hover:bg-gray-600 dark:hover:text-white",onClick:d=>E(d,e),children:e.display})},`gst-${e.display}`))})})]});return jsx("div",{className:"flex",children:jsxs("div",{className:"relative w-full",children:[jsx("input",{ref:x,placeholder:s,value:C,"aria-label":"search","aria-describedby":"Search",onChange:D,onKeyDown:T,disabled:R,id:`${n}-search-input`,className:"block w-full rounded-lg border border-r-2 border-gray-300 border-r-gray-300 bg-gray-50 p-2 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-blue-500"}),(t==null?void 0:t.length)>0&&$()]})})});S.propTypes={categories:r.default.arrayOf(r.default.shape({display:r.default.string.isRequired,value:r.default.oneOfType([r.default.string,r.default.number]).isRequired})),delay:r.default.number,placeholder:r.default.string,callback:r.default.func.isRequired,disabled:r.default.bool,initialValue:r.default.string};S.displayName="Search";
7
7
 
8
8
  export { S as a };
9
9
  //# sourceMappingURL=out.js.map
10
- //# sourceMappingURL=chunk-N7JQ6EAC.js.map
10
+ //# sourceMappingURL=chunk-R47VIYM2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/search/search.tsx"],"names":["import_prop_types","forwardRef","useCallback","useEffect","useImperativeHandle","useRef","useState","Fragment","jsx","jsxs","useDebounceEffect","effect","delay","deps","instanceRef","handlerRef","callback","Search","id","categories","placeholder","disabled","initialValue","reference","state","setState","currentSearchValue","setCurrentSearchValue","hidden","setHidden","__spreadProps","__spreadValues","handleSearchChange","handleTypeChange","selection","handleKeyDown","ref","handleClickOutside","e","renderDropdown","x","PropTypes"],"mappings":"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","sourcesContent":["//@ts-nocheck\nimport PropTypes from \"prop-types\";\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\n\nfunction useDebounceEffect(effect, delay, deps) {\n const instanceRef = useRef(0);\n const handlerRef = useRef(null);\n const callback = useCallback(effect, deps);\n\n useEffect(() => {\n if (instanceRef.current === 0) {\n instanceRef.current = 1;\n } else {\n handlerRef.current = setTimeout(() => {\n callback();\n }, delay);\n }\n return () => {\n clearTimeout(handlerRef.current);\n };\n }, [callback, delay]);\n}\n\nexport const Search = forwardRef(function Search(\n {\n id,\n categories = [],\n delay = 1500,\n placeholder = \"Enter a keyword to search...\",\n callback,\n disabled = false,\n initialValue = \"\",\n },\n reference\n) {\n // Create state based on config\n const [state, setState] = useState({\n text: null,\n category: categories?.length > 0 ? categories[0] : null,\n });\n const [currentSearchValue, setCurrentSearchValue] = useState(initialValue);\n const [hidden, setHidden] = useState(true);\n\n useImperativeHandle(reference, () => ({\n clear: () => {\n setCurrentSearchValue(\"\");\n setState({ ...state, text: \"\" });\n },\n removeFocus: () => {\n document.getElementById(`${id}-search-input`).blur();\n },\n }));\n\n const handleSearchChange = (e) => {\n setCurrentSearchValue(e.target.value);\n setState({ ...state, text: e.target.value });\n };\n\n const handleTypeChange = (e, selection) => {\n e.preventDefault();\n setState({ ...state, category: selection });\n setHidden(true);\n };\n\n const handleKeyDown = (e) => {\n if ((e.charCode || e.keyCode) === 13) {\n e.preventDefault();\n }\n };\n\n useDebounceEffect(\n () => {\n callback(state);\n },\n delay,\n [state.text, state.category]\n );\n useEffect(() => {\n if (initialValue !== currentSearchValue)\n setCurrentSearchValue(initialValue);\n }, [initialValue]);\n\n const ref = useRef(null);\n useEffect(() => {\n const handleClickOutside = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setHidden(true);\n }\n };\n\n document.addEventListener(\"click\", handleClickOutside, true);\n return () => {\n document.removeEventListener(\"click\", handleClickOutside, true);\n };\n }, []);\n\n const renderDropdown = () => (\n <>\n <button\n id={`${id}-dropdown-button`}\n data-dropdown-toggle=\"dropdown\"\n className=\"absolute right-0 top-0 z-10 inline-flex flex-shrink-0 items-center rounded-r-lg border border-gray-300 bg-white p-2.5 px-4 py-2.5 text-center text-sm font-medium text-gray-900 hover:bg-gray-200 focus:outline-none focus:ring-4 focus:ring-gray-300 dark:border-gray-700 dark:bg-gray-600 dark:text-white dark:hover:bg-gray-700 dark:focus:ring-gray-800\"\n type=\"button\"\n onClick={() => setHidden(!hidden)}\n >\n {state.category.display}\n <svg\n className=\"ml-2.5 h-2.5 w-2.5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 10 6\"\n >\n <path\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"m1 1 4 4 4-4\"\n />\n </svg>\n </button>\n <div\n id={`${id}-dropdown`}\n ref={ref}\n className={`z-10 ${\n hidden ? \"hidden\" : \"\"\n } absolute right-0 w-44 divide-y divide-gray-100 rounded-r-lg bg-white shadow dark:bg-gray-700`}\n >\n <ul\n className=\"py-2 text-sm text-gray-700 dark:text-gray-200\"\n aria-labelledby=\"dropdown-button\"\n >\n {(categories || []).map((x) => {\n return (\n <li key={`gst-${x.display}`}>\n <a\n href=\"#\"\n className=\"block px-4 py-2 hover:bg-gray-100 dark:hover:bg-gray-600 dark:hover:text-white\"\n onClick={(e) => handleTypeChange(e, x)}\n >\n {x.display}\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n </>\n );\n\n return (\n <div className=\"flex\">\n <div className=\"relative w-full\">\n <input\n ref={reference}\n placeholder={placeholder}\n value={currentSearchValue}\n aria-label=\"search\"\n aria-describedby=\"Search\"\n onChange={handleSearchChange}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n id={`${id}-search-input`}\n className=\"block w-full rounded-lg border border-r-2 border-gray-300 border-r-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-blue-500\"\n />\n {categories?.length > 0 && renderDropdown()}\n </div>\n </div>\n );\n});\n\nSearch.propTypes = {\n /** Optional List of categories that the search term can be applied to. If supplied\n * the categories appear on the far right of the search input in a drop down list, otherwise it is hidden.\n */\n categories: PropTypes.arrayOf(\n PropTypes.shape({\n /**\n * The text shown to the user in the dropdown.\n */\n display: PropTypes.string.isRequired,\n /**\n * The value set when the item is selected.\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .isRequired,\n })\n ),\n /**\n * The delay between requests made to the server when typing in milliseconds.\n */\n delay: PropTypes.number,\n /**\n * Optional placeholder for the search field.\n */\n placeholder: PropTypes.string,\n /**\n * Callback with the search object for use in the application the format is:\n * { text: '', category: {display:\"\", value:\"\"} }. Note: category is null if no options are provided.\n */\n callback: PropTypes.func.isRequired,\n /**\n * If set to true, the text in the search box cannot be changed\n */\n disabled: PropTypes.bool,\n /**\n * If set, will be the value in the search bar when it first loads.\n * If not set, the search bar will just be empty.\n */\n initialValue: PropTypes.string,\n};\n\nSearch.displayName = \"Search\";\n"]}
1
+ {"version":3,"sources":["../src/search/search.tsx"],"names":["import_prop_types","forwardRef","useCallback","useEffect","useImperativeHandle","useRef","useState","Fragment","jsx","jsxs","useDebounceEffect","effect","delay","deps","instanceRef","handlerRef","callback","Search","id","categories","placeholder","disabled","initialValue","reference","state","setState","currentSearchValue","setCurrentSearchValue","hidden","setHidden","__spreadProps","__spreadValues","handleSearchChange","handleTypeChange","selection","handleKeyDown","ref","handleClickOutside","e","renderDropdown","x","PropTypes"],"mappings":"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","sourcesContent":["//@ts-nocheck\nimport PropTypes from \"prop-types\";\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\n\nfunction useDebounceEffect(effect, delay, deps) {\n const instanceRef = useRef(0);\n const handlerRef = useRef(null);\n const callback = useCallback(effect, deps);\n\n useEffect(() => {\n if (instanceRef.current === 0) {\n instanceRef.current = 1;\n } else {\n handlerRef.current = setTimeout(() => {\n callback();\n }, delay);\n }\n return () => {\n clearTimeout(handlerRef.current);\n };\n }, [callback, delay]);\n}\n\nexport const Search = forwardRef(function Search(\n {\n id,\n categories = [],\n delay = 1500,\n placeholder = \"Enter a keyword to search...\",\n callback,\n disabled = false,\n initialValue = \"\",\n },\n reference\n) {\n // Create state based on config\n const [state, setState] = useState({\n text: null,\n category: categories?.length > 0 ? categories[0] : null,\n });\n const [currentSearchValue, setCurrentSearchValue] = useState(initialValue);\n const [hidden, setHidden] = useState(true);\n\n useImperativeHandle(reference, () => ({\n clear: () => {\n setCurrentSearchValue(\"\");\n setState({ ...state, text: \"\" });\n },\n removeFocus: () => {\n document.getElementById(`${id}-search-input`).blur();\n },\n }));\n\n const handleSearchChange = (e) => {\n setCurrentSearchValue(e.target.value);\n setState({ ...state, text: e.target.value });\n };\n\n const handleTypeChange = (e, selection) => {\n e.preventDefault();\n setState({ ...state, category: selection });\n setHidden(true);\n };\n\n const handleKeyDown = (e) => {\n if ((e.charCode || e.keyCode) === 13) {\n e.preventDefault();\n }\n };\n\n useDebounceEffect(\n () => {\n callback(state);\n },\n delay,\n [state.text, state.category]\n );\n useEffect(() => {\n if (initialValue !== currentSearchValue)\n setCurrentSearchValue(initialValue);\n }, [initialValue]);\n\n const ref = useRef(null);\n useEffect(() => {\n const handleClickOutside = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setHidden(true);\n }\n };\n\n document.addEventListener(\"click\", handleClickOutside, true);\n return () => {\n document.removeEventListener(\"click\", handleClickOutside, true);\n };\n }, []);\n\n const renderDropdown = () => (\n <>\n <button\n id={`${id}-dropdown-button`}\n data-dropdown-toggle=\"dropdown\"\n className=\"absolute right-0 top-0 z-10 inline-flex flex-shrink-0 items-center rounded-r-lg border border-gray-300 bg-white p-2.5 px-4 py-2.5 text-center text-sm font-medium text-gray-900 hover:bg-gray-200 focus:outline-none focus:ring-4 focus:ring-gray-300 dark:border-gray-700 dark:bg-gray-600 dark:text-white dark:hover:bg-gray-700 dark:focus:ring-gray-800\"\n type=\"button\"\n onClick={() => setHidden(!hidden)}\n >\n {state.category.display}\n <svg\n className=\"ml-2.5 h-2.5 w-2.5\"\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 10 6\"\n >\n <path\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"m1 1 4 4 4-4\"\n />\n </svg>\n </button>\n <div\n id={`${id}-dropdown`}\n ref={ref}\n className={`z-10 ${\n hidden ? \"hidden\" : \"\"\n } absolute right-0 w-44 divide-y divide-gray-100 rounded-r-lg bg-white shadow dark:bg-gray-700`}\n >\n <ul\n className=\"py-2 text-sm text-gray-700 dark:text-gray-200\"\n aria-labelledby=\"dropdown-button\"\n >\n {(categories || []).map((x) => {\n return (\n <li key={`gst-${x.display}`}>\n <a\n href=\"#\"\n className=\"block px-4 py-2 hover:bg-gray-100 dark:hover:bg-gray-600 dark:hover:text-white\"\n onClick={(e) => handleTypeChange(e, x)}\n >\n {x.display}\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n </>\n );\n\n return (\n <div className=\"flex\">\n <div className=\"relative w-full\">\n <input\n ref={reference}\n placeholder={placeholder}\n value={currentSearchValue}\n aria-label=\"search\"\n aria-describedby=\"Search\"\n onChange={handleSearchChange}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n id={`${id}-search-input`}\n className=\"block w-full rounded-lg border border-r-2 border-gray-300 border-r-gray-300 bg-gray-50 p-2 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-blue-500\"\n />\n {categories?.length > 0 && renderDropdown()}\n </div>\n </div>\n );\n});\n\nSearch.propTypes = {\n /** Optional List of categories that the search term can be applied to. If supplied\n * the categories appear on the far right of the search input in a drop down list, otherwise it is hidden.\n */\n categories: PropTypes.arrayOf(\n PropTypes.shape({\n /**\n * The text shown to the user in the dropdown.\n */\n display: PropTypes.string.isRequired,\n /**\n * The value set when the item is selected.\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .isRequired,\n })\n ),\n /**\n * The delay between requests made to the server when typing in milliseconds.\n */\n delay: PropTypes.number,\n /**\n * Optional placeholder for the search field.\n */\n placeholder: PropTypes.string,\n /**\n * Callback with the search object for use in the application the format is:\n * { text: '', category: {display:\"\", value:\"\"} }. Note: category is null if no options are provided.\n */\n callback: PropTypes.func.isRequired,\n /**\n * If set to true, the text in the search box cannot be changed\n */\n disabled: PropTypes.bool,\n /**\n * If set, will be the value in the search bar when it first loads.\n * If not set, the search bar will just be empty.\n */\n initialValue: PropTypes.string,\n};\n\nSearch.displayName = \"Search\";\n"]}